Interrogare ChatGPT con Python

Durante un interessante corso del prof. Andrew Ng [1] ho imparato che è possibile sfruttare le potenzialità di ChatGPT [2] anche all’interno di applicazioni software di varia natura utilizzando la libreria messa a disposizione da OpenAI [3]. L’accesso a questa funzionalità non è gratuito [6], ma neanche così costoso da impedire a chi voglia farlo di togliersi qualche sfizio facendo delle prove.

Questa, in breve, è la ricetta per fare alcune prove sul proprio pc, su un container o su una macchina virtuale configurati opportunamente.

Ingredienti

  • Interprete di Python.
  • PyCharm Community
  • Account sul sito OpenAI.
  • Inserimento della carta di credito sul sito di OpenAI e generazione di una Chiave per l’utilizzo della libreria [9].
  • (Consigliato) Attivazione di limiti di utilizzo (Billing->Usage limits) per impostare delle soglie di spesa da non oltrepassare (paragarafo sotto).

Procedura

All’interno di un programma Python:

  1. Installare la libreria OpenAI con il comando “pip install openai“.
  2. Importare la libreria OpenAI all’interno del proprio programma.
  3. Ipostare il prompt ossia la domanda da porre al sistema.
  4. Definire il ruolo associato al prompt.
  5. Indicare la propria chiave per l’urilizzo della libreria.
  6. Inoltrare la richiesta.
  7. Leggere il risultato della richiesta ed utilizzarlo, per esempio stampandolo.
#Step 1:
# pip install openai

#Step 2:
import openai

#Step 3:
prompt = f"""
 Generate a list of three made-up book titles along \ 
 with their authors and genres. 
 Provide them in JSON format with the following keys: 
 book_id, title, author, genre.
"""

#Step 4:
messages = [{"role": "user", "content": prompt}]

#Step 5:
openai.api_key  = "<my_key>"

#Step 6:
response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=messages,
  temperature=0
)

#Step 7:
result = response.choices[0].message["content"]
print(result)

 

Il risultato di questo esempio è:

 

Attivazione soglia di spesa

E’ consigliabile attivare delle soglie di spesa sul proprio account ed evitare di spendere troppo durante i test. La sezione in cui è possibile farlo è Billing->Usage limits. In questa pagina è possibile impostare una prima soglia raggiunta la quale si viene avvisati con una email ed una seconda soglia raggiunta la quale l’azzesso alla librtearia è negato. Le soglie sono mensili.

Repository con esempi

In questo repository [10] ho pubblicato alcuni esempi tratti dal corso ai quali ho apportato alcune modifiche. 

Per poter utilizzare gli esempi di questo repository è necessario definire sul sistema su cui si eseguono, la variabile d’ambiente OPENAI_API_KEY

 

Galleria

 

Fonti e riferimenti

 

11 months ago

Leave a Reply

Your email address will not be published. Required fields are marked *