Spaces:
Sleeping
Sleeping
File size: 3,384 Bytes
e1c7a43 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
from openai import OpenAI
class LeitnerSystem:
def __init__(self):
self.compartments = [[], [], [], []] # Quatre compartiments pour cet exemple
def add_card(self, question, answer):
self.compartments[0].append({'question': question, 'answer': answer})
def compare_semantic_similarity(self, correct_answer, user_answer):
"""Utilise l'API d'OpenAI pour comparer la similarité sémantique des réponses."""
client = OpenAI()
try:
response = client.chat.completions.create(
model="gpt-4", # Utilisez "gpt-4" si vous avez accès à GPT-4
messages=[
{"role": "system", "content": "Vous êtes un assistant hautement intelligent capable d'évaluer la similarité sémantique entre deux phrases en fournissant une valeur de 0 à 10. X est un entier."},
{"role": "user", "content": f"""
Évaluez la similarité sémantique entre ces deux phrases en fournissant une note sur 10.
Exemple : 7. Cette avaleur est un entier
Phrase 1: '{correct_answer}'. Phrase 2: '{user_answer}'."
"""}
],
temperature=0.5,
max_tokens=600,
# seed=10
)
score = response.choices[0].message.content
# print(score)
# Utilisation d'une expression régulière pour extraire le score numérique
# score, analysis = self.extract_score_and_explanation(full_response)
return score
except Exception as e:
print("Erreur lors de l'évaluation de la similarité :", e)
return "0", str(e)
def compare_semantic_similarity_explanation(self, correct_answer, user_answer):
"""Utilise l'API d'OpenAI pour comparer la similarité sémantique des réponses."""
client = OpenAI()
try:
response = client.chat.completions.create(
model="gpt-4", # Utilisez "gpt-4" si vous avez accès à GPT-4
messages=[
{"role": "system", "content": "Vous êtes un assistant hautement intelligent capable d'évaluer la similarité sémantique entre deux phrases"},
{"role": "user", "content": f"Évaluez la similarité sémantique entre ces deux phrases en fournissant un explication en français. Les aspects positifs de la réponse, et les aspects négatifs. Phrase 1: '{correct_answer}'. Phrase 2: '{user_answer}'."}
],
temperature=0.5,
max_tokens=600,
# seed=10
)
explanation = response.choices[0].message.content
# print(explanation)
# Utilisation d'une expression régulière pour extraire le score numérique
# score, analysis = self.extract_score_and_explanation(full_response)
return explanation
except Exception as e:
print("Erreur lors de l'évaluation de la similarité :", e)
return "0", str(e)
|