Spaces:
Sleeping
Sleeping
| import re | |
| from model import call_llm | |
| def parse_score(result: str) -> float: | |
| # Look for a number between 0 and 1 | |
| match = re.search(r'0\.\d+|1\.0|0', result) | |
| if match: | |
| return float(match.group()) | |
| return 0.5 # Neutral fallback | |
| def self_verify(answer: str) -> float: | |
| prompt = f""" | |
| Evaluate the factual correctness of the following answer. | |
| Give a confidence score from 0 to 1 representing the likelihood that the answer is factually correct. | |
| Include the score on a new line and briefly list possible issues if any. | |
| Answer: | |
| {answer} | |
| """ | |
| # We use a relatively low temperature for analytical tasks | |
| result = call_llm(prompt, temperature=0.1) | |
| print(f"[DEBUG] Verification raw output: {result[:100].replace(chr(10), ' ')}") | |
| return parse_score(result) | |