Come replicare il sistema MRKL utilizzando gli agenti in LangChain?

Come Replicare Il Sistema Mrkl Utilizzando Gli Agenti In Langchain



Il sistema Modular Reasoning, Knowledge, and Language (MRKL) è un’architettura in grado di estrarre risposte con le ragioni della sua verifica. Integra modelli linguistici, ragionamento discreto e fonti di conoscenza esterne. I modelli linguistici producono il testo nelle lingue umane in base alle domande poste dall'utente. MRKL (pronunciato: miracolo) aggiunge il ragionamento mentre produce le risposte per rendere la risposta accurata e valida.

Contorno rapido

Questo post dimostrerà quanto segue:







Come replicare il sistema MRKL utilizzando gli agenti in LangChain



Conclusione



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 Voi

importare 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 LLMMathChain

da 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 Desktop

CD 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. mq

SELEZIONA * 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 File

caricato = 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 ChatOpenAI

ricerca = 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.