Spaces:
Sleeping
Sleeping
import openai | |
import os | |
# Configura la tua chiave API in modo sicuro | |
api_key = os.getenv("OPENAI_API_KEY") # Imposta la chiave come variabile d'ambiente | |
if not api_key: | |
raise ValueError("Chiave API OpenAI non trovata. Assicurati di aver impostato OPENAI_API_KEY.") | |
# Crea il client utilizzando la chiave API | |
client = openai.Client(api_key=api_key) | |
def riassumi_testo(testo, max_token_riassunto): | |
""" | |
Utilizza l'API di OpenAI per riassumere un testo con un numero massimo di token specificato. | |
:param testo: Il testo da riassumere | |
:param max_token_riassunto: Numero massimo di token per il riassunto | |
:return: Riassunto del testo | |
""" | |
try: | |
# Esegui la chiamata all'API di OpenAI | |
risposta = client.chat.completions.create( | |
model="gpt-3.5-turbo", # Modello specifico | |
messages=[ | |
{"role": "system", "content": "Sei un assistente che riassume i testi in modo chiaro e conciso."}, | |
{"role": "user", "content": f"Riassumi il seguente testo: {testo}"} | |
], | |
max_tokens=max_token_riassunto, # Limita i token | |
temperature=0.5, # Imposta la creatività | |
) | |
# Estrai il riassunto dalla risposta | |
riassunto = risposta.choices[0].message['content'] # Correzione nella lettura del riassunto | |
return riassunto | |
except openai.error.BadRequestError as e: # Gestisci errore nella richiesta | |
return f"Errore nella richiesta: {e}" | |
except openai.error.AuthenticationError: | |
return "Errore di autenticazione: chiave API non valida." | |
except Exception as e: | |
return f"Errore durante il riassunto: {str(e)}" | |
# Test del codice | |
if __name__ == "__main__": | |
testo_originale = ( | |
"OpenAI ha sviluppato modelli linguistici avanzati come GPT-3.5 che sono in grado di generare testo, tradurre lingue, " | |
"e risolvere problemi complessi. Questi modelli possono essere utilizzati in molte applicazioni, inclusi chatbot, " | |
"strumenti di scrittura e sistemi di supporto decisionale." | |
) | |
max_token = 50 # Numero massimo di token per il riassunto | |
riassunto = riassumi_testo(testo_originale, max_token) | |
print("Testo originale:") | |
print(testo_originale) | |
print("\nRiassunto:") | |
print(riassunto) | |