cv_quality / spelling_grammar_checker.py
Nassiraaa's picture
Update spelling_grammar_checker.py
8f7745b verified
import json
from openai_utils import get_ai_response
from cv_prompt import get_spelling_grammar_prompt
# Load the error scoring data
with open('error_scoring.json', 'r') as f:
error_scoring = json.load(f)
def check_spelling_and_grammar(text):
prompt = get_spelling_grammar_prompt(text)
messages = [
{"role": "user", "content": prompt}
]
response = get_ai_response(messages)
if not response:
print("Unexpected response from OpenAI API")
return 100, -10 # Assume 100% errors if we can't get a response
try:
result = json.loads(response)
error_percentage = result.get('error_percentage', 100)
return min(max(float(error_percentage), 0), 100) # Ensure the percentage is between 0 and 100
except (json.JSONDecodeError, ValueError):
print(f"Unable to parse error percentage from API response: {response}")
return 100, -10 # Assume 100% errors if we can't parse the response
def get_error_score(error_percentage):
for error_score in error_scoring['error_scores']:
if error_score['min'] <= error_percentage <= error_score['max']:
return error_score['score']
return -10 # Default score if no matching range is found
def evaluate_cv_text(text):
error_percentage = check_spelling_and_grammar(text)
error_score = get_error_score(error_percentage)
return error_percentage, error_score