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:
- Installare la libreria OpenAI con il comando “pip install openai“.
- Importare la libreria OpenAI all’interno del proprio programma.
- Ipostare il prompt ossia la domanda da porre al sistema.
- Definire il ruolo associato al prompt.
- Indicare la propria chiave per l’urilizzo della libreria.
- Inoltrare la richiesta.
- 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
- [1] Corso “ChatGPT Prompt Engineering for Developers” di Andrew Ng e Isa Fulford.
- [2] Interfaccia web di ChatGPT (GPT-4).
- [3] Sito ufficiale di Open AI.
- [4] OpenAI: API reference.
- [5] OpenaAI: Esempi dell’utilizzo della API.
- [6] Costi dell’uso della libreria oOpenAI.
- [7] Dowload di PyCharm Community Edition.
- [8] Interprete Python per Windows o installazione dell’interprete tramite Anaconda.
- [9] Tutorial: “How to create OpenAI API keys“.
- [10] Repository aiexamples.
- [11] Brevi corsi su AI, ChatGPT and Large Language Models su DeepLearning.io.