Il problema
Voglio integrare l'API di OpenAI in Python per generare testi personalizzati, ma non ho uno script pronto. In 2 righe, risolvo questo con un codice semplice che chiama l'API e restituisce output.Cosa costruiamo
In questo tutorial creiamo uno script Python che usa l'API di OpenAI per generare testi da prompt, in circa 30 righe di codice.Prerequisiti
- Account OpenAI con API key attiva
- Python 3.8 o superiore installato
- Libreria openai installata via pip
Step-by-step
Installa le dipendenze
Prima, installa la libreria openai con questo comando. Dopo questo step, hai la libreria pronta per l'uso.pip install openai
Configura l'API key
Nel mio setup, carico l'API key da una variabile di ambiente per sicurezza. Ecco come lo faccio: dopo questo step, hai la chiave configurata nel codice.import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
Assumi di aver impostato la variabile OPENAI_API_KEY nel tuo ambiente.
Crea la funzione per generare testo
Ora, scrivo una funzione che chiama l'API per generare testo. Questa funzione prende un prompt e restituisce il testo generato. Dopo questo step, hai una funzione che produce output in 5 secondi per prompt semplice.def generate_text(prompt):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=100
)
return response.choices[0].text.strip()
Integra e testa lo script
Nel mio codice, integro la funzione in uno script principale e la testo con un prompt. Dopo questo step, hai uno script che genera testo, ad esempio: "Ciao mondo" da un prompt come "Saluta in inglese".# Script completo
if __name__ == "__main__":
prompt = "Scrivi una breve descrizione di un gatto"
generated_text = generate_text(prompt)
print("Testo generato:", generated_text)
Esegui lo script e ottieni un output come: "Il gatto è un animale domestico affettuoso e indipendente.".
Gestisci errori e miglioramenti
Aggiungo gestione errori per evitare crash. Dopo questo step, hai uno script robusto che gestisce il 90% dei casi comuni.import traceback
def generate_text(prompt):
try:
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=100
)
return response.choices[0].text.strip()
except Exception as e:
print("Errore:", str(e))
traceback.print_exc()
return "Generazione fallita"