You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
2.3 KiB
40 lines
2.3 KiB
import uno |
|
from openai import OpenAI |
|
|
|
client = OpenAI(api_key="sk-proj-hrV9Se3D3Vn6ro66AoMFT3BlbkFJ3kgB6P9xQFpcaymQQHFI") |
|
|
|
def Generation_Appreciations( ): |
|
|
|
promptCol = -1 |
|
answerCol = 8 |
|
|
|
oDoc = XSCRIPTCONTEXT.getDocument() |
|
sheet = oDoc.getCurrentController().getActiveSheet() |
|
row = 1 |
|
|
|
content_t1 = "rédige un commentaire de bulletin de collégien pour la fin du trimestre 2 de l'année (3 trimestres en tout), maximum 300 caractères, tutoiement de l'élève, commentaire sur la moyenne trimestrielle, ne pas indiquer de valeur chiffrée." |
|
|
|
content_t2 = "rédige un commentaire de bulletin de collégien pour la fin du trimestre 2 de l'année (3 trimestres en tout), maximum 300 caractères, tutoiement de l'élève, commentaire sur la moyenne du trimestre 2, ne pas indiquer de valeur chiffrée, indiquer évolution avec trimestre 1." |
|
|
|
content_t3 = "rédige un commentaire de bulletin de collégien pour la fin du trimestre 3 de l'année (3 trimestres en tout), maximum 300 caractères, tutoiement de l'élève, commentaire sur la moyenne du trimestre 3, ne pas indiquer de valeur chiffrée, indiquer évolution avec trimestre 2 et faire un commentaire éventuel sur la moyenne annuelle." |
|
|
|
#A modifier en fonction du trimestre |
|
content=content_t3 |
|
|
|
while sheet[row,0].String!="": |
|
prompt = sheet[row,0].String+", moyenne annuelle "+sheet[row,1].String+"/20, moyenne trimestre 1 "+sheet[row,2].String+"/20, moyenne trimestre 2 "+sheet[row,3].String+"/20, moyenne trimestre 3 "+sheet[row,4].String+", comportement en classe niveau "+sheet[row,5].String+"/3, participation orale niveau "+sheet[row,6].String+"/3, travail fourni niveau "+sheet[row,7].String+"/3" |
|
if promptCol != -1: |
|
sheet[row,promptCol].String = prompt |
|
if answerCol != -1: |
|
chat_completion = client.chat.completions.create( |
|
messages=[ |
|
{"role": "system","content": content}, |
|
{"role": "user","content": prompt}], |
|
model="ft:gpt-4o-2024-08-06:personal:appreciatios-v2-1:AY8UPkjm", |
|
temperature=0.7, |
|
presence_penalty=0.6, |
|
frequency_penalty=0.6, |
|
top_p=0.5); |
|
sheet[row,answerCol].String = chat_completion.choices[0].message.content |
|
row = row+1 |
|
return None
|
|
|