Contorno rapido
Questo post dimostrerà quanto segue:
- Come aggiungere memoria all'agente delle funzioni OpenAI in LangChain
- Passaggio 1: installazione dei framework
- Passaggio 2: configurazione degli ambienti
- Passaggio 3: importazione delle librerie
- Passaggio 4: creazione del database
- Passaggio 5: caricamento del database
- Passaggio 6: configurazione del modello linguistico
- Passaggio 7: aggiunta di memoria
- Passaggio 8: inizializzazione dell'agente
- Passaggio 9: test dell'agente
- Conclusione
Come aggiungere memoria all'agente delle funzioni OpenAI in LangChain?
OpenAI è un'organizzazione di intelligenza artificiale (AI) fondata nel 2015 e all'inizio era un'organizzazione senza scopo di lucro. Microsoft ha investito molte fortune dal 2020 poiché l’elaborazione del linguaggio naturale (NLP) con l’intelligenza artificiale è in forte espansione con chatbot e modelli linguistici.
La creazione di agenti OpenAI consente agli sviluppatori di ottenere risultati più leggibili e mirati da Internet. Aggiungere memoria agli agenti consente loro di comprendere meglio il contesto della chat e di archiviare nella loro memoria anche le conversazioni precedenti. Per apprendere il processo di aggiunta di memoria all'agente delle funzioni OpenAI in LangChain, è sufficiente seguire i seguenti passaggi:
Passaggio 1: installazione dei framework
Prima di tutto, installa le dipendenze LangChain dal file “langchain-sperimentale” framework utilizzando il seguente codice:
pip installa langchain - sperimentale
Installa il “risultati-ricerca-google” modulo per ottenere i risultati della ricerca dal server di Google:
pip installa google - ricerca - risultati
Inoltre, installa il modulo OpenAI che può essere utilizzato per creare i modelli linguistici in LangChain:
pip installa openai
Passaggio 2: configurazione degli ambienti
Dopo aver ottenuto i moduli, configura gli ambienti utilizzando le chiavi API dal file OpenAI E SerpAPi conti:
importare Voiimportare getpass
Voi. circa [ 'OPENAI_API_KEY' ] = getpass. getpass ( 'Chiave API OpenAI:' )
Voi. circa [ 'SERPAPI_API_KEY' ] = getpass. getpass ( 'Chiave API Serpapi:' )
Esegui il codice sopra per inserire le chiavi API per accedere a entrambi gli ambienti e premi Invio per confermare:
Passaggio 3: importazione delle librerie
Ora che la configurazione è completa, utilizza le dipendenze installate da LangChain per importare le librerie richieste per costruire la memoria e gli agenti:
da langchain. Catene importare LLMMathChainda langchain. llms importare OpenAI
#ottieni la libreria per effettuare ricerche da Google su Internet
da langchain. utilità importare SerpAPIWrapper
da langchain. utilità importare SQLDatabase
da langchain_experimental. mq importare SQLDatabaseChain
#ottieni la libreria per creare strumenti per inizializzare l'agente
da langchain. agenti importare Tipo agente , Attrezzo , inizializza_agente
da langchain. chat_models importare ChatOpenAI
Passaggio 4: creazione del database
Per procedere con questa guida, dobbiamo creare il database e connetterci all'agente per estrarne le risposte. Per creare il database, è necessario scaricare SQLite utilizzando questo guida e conferma l'installazione utilizzando il seguente comando:
sqlite3Eseguendo il comando precedente nel file Terminale Windows visualizza la versione installata di SQLite (3.43.2):
Successivamente, vai semplicemente alla directory del tuo computer in cui verrà creato e archiviato il database:
cdDesktopcd mydb
sqlite3 Chinook. db
Da qui l'utente può semplicemente scaricare il contenuto del database collegamento nella directory ed eseguire il comando seguente per creare il database:
. Leggere Chinook_Sqlite. mqSELEZIONARE * DAL LIMITE dell'artista 10 ;
Il database è stato creato con successo e l'utente può cercare dati al suo interno utilizzando diverse query:
Passaggio 5: caricamento del database
Una volta creato correttamente il database, caricare il file “.db” file in Google Collaboratory utilizzando il seguente codice:
da Google. ET AL importare Filecaricato = File. caricamento ( )
Scegli il file dal sistema locale facendo clic su 'Scegliere i file' pulsante dopo aver eseguito il codice sopra:
Una volta caricato il file, copia semplicemente il percorso del file che verrà utilizzato nel passaggio successivo:
Passaggio 6: configurazione del modello linguistico
Costruisci il modello linguistico, le catene, gli strumenti e le catene utilizzando il seguente codice:
llm = ChatOpenAI ( temperatura = 0 , modello = 'gpt-3.5-turbo-0613' )ricerca = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. da_llm ( llm = llm , prolisso = VERO )
db = SQLDatabase. da_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. da_llm ( llm , db , prolisso = VERO )
utensili = [
Attrezzo (
nome = 'Ricerca' ,
funz = ricerca. correre ,
descrizione = 'Poni domande mirate per ottenere risposte alle domande sugli affari recenti' ,
) ,
Attrezzo (
nome = 'Calcolatrice' ,
funz = llm_math_chain. correre ,
descrizione = 'utile per rispondere/risolvere problemi matematici' ,
) ,
Attrezzo (
nome = 'FooBar-DB' ,
funz = db_chain. correre ,
descrizione = 'utile per rispondere a domande su FooBar e l'input dovrebbe essere sotto forma di domanda contenente il contesto completo' ,
) ,
]
- IL llm La variabile contiene le configurazioni del modello linguistico utilizzando il metodo ChatOpenAI() con il nome del modello.
- La ricerca La variabile contiene il metodo SerpAPIWrapper() per creare gli strumenti per l'agente.
- Costruisci il llm_math_chain per ottenere le risposte relative al dominio della Matematica utilizzando il metodo LLMMathChain().
- La variabile db contiene il percorso del file che ha il contenuto del database. L'utente deve modificare solo l'ultima parte che è “contenuto/Chinook.db” del percorso mantenendo il “sqlite:///../../../../../” lo stesso.
- Costruisci un'altra catena per rispondere alle domande dal database utilizzando il file db_chain variabile.
- Configura strumenti come ricerca , calcolatrice , E FooBar-DB rispettivamente per cercare la risposta, rispondere a domande di matematica e query dal database:
Passaggio 7: aggiunta di memoria
Dopo aver configurato le funzioni OpenAI, crea e aggiungi semplicemente la memoria all'agente:
da langchain. richiede importare MessaggiPlaceholderda langchain. memoria importare Memoria buffer di conversazione
agent_kwargs = {
'messaggi_prompt_extra' : [ MessaggiPlaceholder ( nome_variabile = 'memoria' ) ] ,
}
memoria = Memoria buffer di conversazione ( chiave_memoria = 'memoria' , return_messages = VERO )
Passaggio 8: inizializzazione dell'agente
L'ultimo componente da creare e inizializzare è l'agente, contenente tutti i componenti come llm , attrezzo , OPENAI_FUNCTIONS e altri da utilizzare in questo processo:
agente = inizializza_agente (utensili ,
llm ,
agente = Tipo agente. OPENAI_FUNCTIONS ,
prolisso = VERO ,
agent_kwargs = agent_kwargs ,
memoria = memoria ,
)
Passaggio 9: test dell'agente
Infine, testa l'agente avviando la chat utilizzando il pulsante ' CIAO ' Messaggio:
agente. correre ( 'CIAO' )
Aggiungi alcune informazioni alla memoria eseguendo l'agente con esso:
agente. correre ( 'il mio nome è John Snow' )
Ora prova la memoria ponendo la domanda sulla chat precedente:
agente. correre ( 'qual è il mio nome' )L'agente ha risposto con il nome recuperato dalla memoria, quindi la memoria funziona correttamente con l'agente:
È tutto per ora.
Conclusione
Per aggiungere memoria all'agente delle funzioni OpenAI in LangChain, installare i moduli per ottenere le dipendenze per l'importazione delle librerie. Successivamente, crea semplicemente il database e caricalo sul notebook Python in modo che possa essere utilizzato con il modello. Configura il modello, gli strumenti, le catene e il database prima di aggiungerli all'agente e inizializzarlo. Prima di testare la memoria, creala utilizzando ConversationalBufferMemory() e aggiungila all'agente prima di testarla. Questa guida ha spiegato come aggiungere memoria all'agente delle funzioni OpenAI in LangChain.