Contorno rapido
Questo post dimostrerà quanto segue:
Come replicare il sistema MRKL utilizzando gli agenti in LangChain
- Passaggio 1: installazione dei framework
- Passaggio 2: impostazione dell'ambiente OpenAI
- Passaggio 3: importazione delle librerie
- Passaggio 4: creazione del database
- Passaggio 5: caricamento del database
- Passaggio 6: configurazione degli strumenti
- Passaggio 7: creazione e test dell'agente
- Passaggio 8: replicare il sistema MRKL
- Passaggio 9: utilizzo di ChatModel
- Passaggio 10: testare l'agente MRKL
- Passaggio 11: replicare il sistema MRKL
Come replicare il sistema MRKL utilizzando gli agenti in LangChain?
LangChain consente all'utente di creare agenti che possono essere utilizzati per eseguire più attività per i modelli linguistici o i chatbot. Gli agenti archiviano il loro lavoro con tutti i passaggi nella memoria collegata al modello linguistico. Utilizzando questi modelli, l'agente può replicare il funzionamento di qualsiasi sistema come MRKL per ottenere risultati ottimizzati senza doverli ricostruire.
Per apprendere il processo di replica del sistema MRKL utilizzando gli agenti in LangChain, segui semplicemente i passaggi elencati:
Passaggio 1: installazione dei framework
Innanzitutto installa i moduli sperimentali di LangChain utilizzando il pip con il comando langchain-experimental:
pip installa langchain-sperimentale
Installa il modulo OpenAI per creare il modello linguistico per il sistema MRKL:
pip installa openai
Passaggio 2: impostazione dell'ambiente OpenAI
Importa le librerie os e getpass per accedere al funzionamento per richiedere all'utente di fornire le chiavi API per gli account OpenAI e SerpAPi:
importare Voiimportare getpass
Voi . circa [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Chiave API OpenAI:' )
Voi . circa [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Chiave API Serpapi:' )
Passaggio 3: importazione delle librerie
Utilizza le dipendenze di LangChain per importare le librerie richieste per creare il modello linguistico, gli strumenti e gli agenti:
da langchain. Catene importare LLMMathChainda langchain. llms importare OpenAI
da langchain. utilità importare SerpAPIWrapper
da langchain. utilità importare SQLDatabase
da langchain_experimental. mq importare SQLDatabaseChain
da langchain. agenti importare inizializza_agente , Attrezzo
da langchain. agenti importare Tipo agente
Passaggio 4: creazione del database
L'MRKL utilizza fonti di conoscenza esterne per estrarre informazioni dai dati. Questo post utilizza SQLite che può essere scaricato utilizzando questo guida per costruire il database. Il seguente comando conferma il processo di download di SQLite visualizzando la sua versione installata:
sqlite3
Utilizzare i seguenti comandi all'interno di una directory per creare il database utilizzando il prompt dei comandi:
CD DesktopCD mydb
sqlite3 Chinook. db
Scarica il Banca dati file e memorizzarlo nella directory per utilizzare il seguente comando per creare il ' .db ' file:
. Leggere Chinook_Sqlite. mqSELEZIONA * DA LIMITE artista 10 ;
Passaggio 5: caricamento del database
Una volta creato correttamente il database, carica il file nella collaborazione di Google:
da Google. ET AL importare Filecaricato = File. caricamento ( )
L'utente può accedere al file caricato sul notebook per copiarne il percorso dal menu a discesa:
Passaggio 6: configurazione degli strumenti
Dopo aver creato il database, configura il modello linguistico, gli strumenti e le catene per gli agenti:
ricerca = SerpAPIWrapper ( )llm = OpenAI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( 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 = 'Chiedi suggerimenti mirati per ottenere risposte 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 da un database e la domanda di input deve avere il contesto completo'
)
]
- Definire il llm variabile utilizzando il OpenAI() metodo per ottenere il modello linguistico.
- IL ricerca è lo strumento che chiama il file SerpAPIWrapper() metodo per accedere al suo ambiente.
- IL LLMMathChain() Il metodo viene utilizzato per ottenere risposte relative a problemi matematici.
- Definire il db variabile con il percorso del file all'interno del file DatabaseSQL() metodo.
- IL SQLDatabaseChain() metodo può essere utilizzato per ottenere informazioni dal database.
- Definire strumenti come ricerca , calcolatrice , E FooBarDB per creare l'agente per estrarre dati da diverse fonti:
Passaggio 7: creazione e test dell'agente
Inizializza il sistema MRKL utilizzando gli strumenti, llm e l'agente per ottenere le risposte alle domande poste dall'utente:
mrkl = inizializza_agente ( utensili , llm , agente = Tipo agente. ZERO_SHOT_REACT_DESCRIPTION , prolisso = VERO )Esegui il sistema MRKL utilizzando il metodo run() con la domanda come argomento:
mrkl. correre ( 'L'età attuale di Leo DiCaprio e della sua ragazza rivela anche la loro differenza d'età' )Produzione
L'agente ha prodotto la risposta finale con il percorso completo utilizzato dal sistema per estrarre la risposta finale:
Passaggio 8: replicare il sistema MRKL
Ora, usa semplicemente il file mrkl parola chiave con il metodo run() per ottenere risposte da diverse fonti come i database:
mrkl. correre ( 'Qual è il nome completo dell'artista il cui album intitolato 'The Storm Before the Calm' è stato pubblicato di recente e sono presenti nel database FooBar e quali dei loro album sono presenti nel database' )L'agente ha trasformato automaticamente la domanda nella query SQL per recuperare la risposta dal database. L'agente cerca la fonte corretta per ottenere la risposta e quindi assembla la query per estrarre le informazioni:
Passaggio 9: utilizzo di ChatModel
L'utente può semplicemente modificare il modello linguistico utilizzando il metodo ChatOpenAI() per renderlo un ChatModel e utilizzare con esso il sistema MRKL:
da langchain. chat_models importare ChatOpenAIricerca = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatura = 0 )
llm1 = OpenAI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , prolisso = VERO )
db = SQLDatabase. da_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. da_llm ( llm1 , db , prolisso = VERO )
utensili = [
Attrezzo (
nome = 'Ricerca' ,
funz = ricerca. correre ,
descrizione = 'Chiedi suggerimenti mirati per ottenere risposte 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 da un database e la domanda di input deve avere il contesto completo'
)
]
Passaggio 10: testare l'agente MRKL
Successivamente, crea l'agente e inizializzalo nella variabile mrkl utilizzando il metodo inizializzare_agent(). Aggiungi il parametro del metodo per integrare i componenti come tools, llm, agent e verbose per ottenere il processo completo nell'output:
mrkl = inizializza_agente ( utensili , llm , agente = Tipo agente. CHAT_ZERO_SHOT_REACT_DESCRIPTION , prolisso = VERO )Esegui la domanda eseguendo il sistema mrkl come mostrato nello screenshot seguente:
mrkl. correre ( 'Chi è la fidanzata di Leo DiCaprio? Qual è la loro età attuale' )
Produzione
Il seguente snippet mostra la risposta finale estratta dall'agente:
Passaggio 11: replicare il sistema MRKL
Utilizza il sistema MRKL chiamando il metodo run() con la domanda in linguaggio naturale per estrarre informazioni dal database:
mrkl. correre ( 'Qual è il nome completo dell'artista il cui album intitolato 'The Storm Before the Calm' è stato pubblicato di recente e sono presenti nel database FooBar e quali dei loro album sono presenti nel database' )Produzione
L'agente ha visualizzato la risposta finale estratta dal database come mostrato nello screenshot seguente:
Questo è tutto incentrato sul processo di replica del sistema MRKL utilizzando gli agenti in LangChain:
Conclusione
Per replicare il sistema MRKL utilizzando gli agenti in LangChain, installare i moduli per ottenere le dipendenze per l'importazione delle librerie. Le biblioteche sono tenute a costruire il modello linguistico o il modello di chat per ottenere risposte da più fonti utilizzando gli strumenti. Gli agenti sono configurati per utilizzare gli strumenti per estrarre output da diverse fonti come Internet, database, ecc. Questa guida ha elaborato il processo di replica del sistema MRKL utilizzando gli agenti in LangChain.