Permet la génération automatique d'appréciations à partir d'un export de bulletin pdf pronote.
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.
 

42 lines
1.2 KiB

from PyPDF2 import PdfReader
from openai import OpenAI
def getEleve(value):
sub1 = "Trimestre"
sub2 = ""
idx1 = value.index(sub1)
idx2 = value.index(sub2)
res = ''
# récupération du nom
for idx in range(idx1 + len(sub1) + 1, idx2):
res = res + value[idx]
return res
client = OpenAI(api_key="sk-proj-hrV9Se3D3Vn6ro66AoMFT3BlbkFJ3kgB6P9xQFpcaymQQHFI")
current_eleve = ''
reader = PdfReader("sample.pdf")
#number_of_pages = len(reader.pages)
for page in reader.pages:
text = page.extract_text()
#évite les doublons dans les exports pdf
if getEleve(text) != current_eleve:
current_eleve = getEleve(text)
print("\r\n"+current_eleve)
completion = client.chat.completions.create(
model="ft:gpt-4o-2024-08-06:personal:app-gen-gangneux2:AYJecsON",
messages=[
{"role": "system", "content": "Rédige une appréciation générale (500 caractères max) en utilisant la liste suivante."},
{"role": "user", "content": text}
],
temperature=0.7,
presence_penalty=0.6,
frequency_penalty=0.6,
top_p=0.5)
print(completion.choices[0].message.content)