Tests
from openai.types.chat import ChatCompletion, ChatCompletionMessage
from openai.types.chat.chat_completion import Choice
from openai.types import CompletionUsage
resp = ChatCompletion(
id='chatcmpl-test1',
choices=[Choice(finish_reason='stop', index=0, message=ChatCompletionMessage(role='assistant', content='Salut!'))],
created=1000000000,
model='gpt-4o-mini',
object='chat.completion',
usage=CompletionUsage(completion_tokens=3, prompt_tokens=7, total_tokens=10)
)
infos = extraire_infos(resp)
assert infos['texte'] == 'Salut!', 'Le texte doit etre Salut!'
assert infos['modèle'] == 'gpt-4o-mini', 'Le modèle doit etre gpt-4o-mini'
assert infos['tokens_total'] == 10, 'Le total de tokens doit etre 10'
assert infos['raison_arret'] == 'stop', 'La raison d arret doit etre stop'
resp2 = ChatCompletion(
id='chatcmpl-test2',
choices=[Choice(finish_reason='length', index=0, message=ChatCompletionMessage(role='assistant', content='Texte coupe'))],
created=1000000000,
model='gpt-4o',
object='chat.completion',
usage=CompletionUsage(completion_tokens=50, prompt_tokens=100, total_tokens=150)
)
infos2 = extraire_infos(resp2)
assert infos2['raison_arret'] == 'length', 'Doit reconnaitre la raison length'
assert infos2['tokens_total'] == 150, 'Doit lire le bon total de tokens'