Esquema ràpid
Aquesta publicació demostrarà el següent:
Com replicar el sistema MRKL mitjançant agents a LangChain
- Pas 1: instal·lació de marcs
- Pas 2: Configuració de l'entorn OpenAI
- Pas 3: importació de biblioteques
- Pas 4: Creació de la base de dades
- Pas 5: càrrega de la base de dades
- Pas 6: Configuració d'eines
- Pas 7: Creació i prova de l'agent
- Pas 8: Replica el sistema MRKL
- Pas 9: Ús de ChatModel
- Pas 10: prova l'agent MRKL
- Pas 11: Replica el sistema MRKL
Com replicar el sistema MRKL mitjançant agents a LangChain?
LangChain permet a l'usuari crear agents que es poden utilitzar per realitzar múltiples tasques per als models d'idioma o els chatbots. Els agents emmagatzemen el seu treball amb tots els passos a la memòria adjunta al model de llenguatge. Amb aquestes plantilles, l'agent pot replicar el funcionament de qualsevol sistema com MRKL per obtenir els resultats optimitzats sense haver de construir-los de nou.
Per conèixer el procés de replicació del sistema MRKL mitjançant agents a LangChain, només cal seguir els passos indicats:
Pas 1: instal·lació de marcs
En primer lloc, instal·leu els mòduls experimentals LangChain utilitzant el pip amb l'ordre langchain-experimental:
pip install langchain-experimental
Instal·leu el mòdul OpenAI per crear el model d'idioma per al sistema MRKL:
pip install openai
Pas 2: Configuració de l'entorn OpenAI
Importeu les biblioteques OS i getpass per accedir a l'operativa per demanar a l'usuari que proporcioni les claus API per als comptes OpenAI i SerpAPi:
importar vostèimportar getpass
vostè . aproximadament [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Clau de l'API OpenAI:' )
vostè . aproximadament [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Clau de l'API Serpapi:' )
Pas 3: importació de biblioteques
Utilitzeu les dependències de LangChain per importar les biblioteques necessàries per crear el model de llenguatge, les eines i els agents:
des de langchain. cadenes importar LLMMathChaindes de langchain. llms importar OpenAI
des de langchain. utilitats importar SerpAPIWrapper
des de langchain. utilitats importar Base de dades SQL
des de langchain_experimental. sql importar SQLDatabaseChain
des de langchain. agents importar initialize_agent , Eina
des de langchain. agents importar Tipus d'agent
Pas 4: Creació de la base de dades
El MRKL utilitza fonts de coneixement externes per extreure informació de les dades. Aquesta publicació utilitza SQLite que es pot descarregar amb això guia per construir la base de dades. L'ordre següent confirma el procés de descàrrega de SQLite mostrant la seva versió instal·lada:
sqlite3
Utilitzeu les ordres següents dins d'un directori per crear la base de dades mitjançant l'indicador d'ordres:
cd Escriptoricd mydb
sqlite3 Chinook. db
Descarrega't el Base de dades fitxer i deseu-lo al directori per utilitzar l'ordre següent per crear el ' .db ' dossier:
. llegir Chinook_Sqlite. sqlSELECCIONA * DEL LÍMIT DE L'ARTISTA 10 ;
Pas 5: càrrega de la base de dades
Un cop creada la base de dades correctament, carregueu el fitxer a la col·laboració de Google:
des de Google. ET AL importar Fitxerscarregat = Fitxers. carregar ( )
L'usuari pot accedir al fitxer penjat a la llibreta per copiar-ne el camí des del seu menú desplegable:
Pas 6: Configuració d'eines
Després de crear la base de dades, configureu el model d'idioma, les eines i les cadenes per als agents:
cerca = SerpAPIWrapper ( )llm = OpenAI ( temperatura = 0 )
llm_cadena_matemàtiques = LLMMathChain ( llm = llm , verbosa = És cert )
db = Base de dades SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
cadena_db = SQLDatabaseChain. de_llm ( llm , db , verbosa = És cert )
eines = [
Eina (
nom = 'Cerca' ,
func = cerca. correr ,
descripció = 'Pregunteu a les indicacions dirigides per obtenir respostes sobre assumptes recents'
) ,
Eina (
nom = 'Calculadora' ,
func = llm_cadena_matemàtiques. correr ,
descripció = 'Útil per respondre/resoldre problemes matemàtics'
) ,
Eina (
nom = 'FooBar DB' ,
func = cadena_db. correr ,
descripció = 'Útil per respondre consultes d'una base de dades i la pregunta d'entrada ha de tenir el context complet'
)
]
- Definiu el llm variable utilitzant la OpenAI() mètode per obtenir el model lingüístic.
- El cerca és l'eina que anomena SerpAPIWrapper() mètode per accedir al seu entorn.
- El LLMMathChain() S'utilitza el mètode per obtenir les respostes relacionades amb problemes matemàtics.
- Definiu el db variable amb la ruta del fitxer dins del fitxer Base de dades SQL() mètode.
- El SQLDatabaseChain() Es pot utilitzar el mètode per obtenir la informació de la base de dades.
- Definir eines com cerca , calculadora , i FooBar DB per crear l'agent per extreure dades de diferents fonts:
Pas 7: Creació i prova de l'agent
Inicieu el sistema MRKL utilitzant les eines, llm i l'agent per obtenir les respostes a les preguntes formulades per l'usuari:
mrkl = initialize_agent ( eines , llm , agent = Tipus d'agent. ZERO_SHOT_REACT_DESCRIPTION , verbosa = És cert )Executeu el sistema MRKL mitjançant el mètode run() amb la pregunta com a argument:
mrkl. correr ( 'Quina és l'edat actual de Leo DiCaprio i la seva xicota també diuen la seva diferència d'edat' )Sortida
L'agent ha produït la resposta final amb el camí complet utilitzat pel sistema per extreure la resposta final:
Pas 8: Replica el sistema MRKL
Ara, només cal que utilitzeu mrkl paraula clau amb el mètode run() per obtenir respostes de diferents fonts com bases de dades:
mrkl. correr ( 'Quin és el nom complet de l'artista l'àlbum del qual s'anomena 'The Storm Before the Calm' ha publicat recentment i estan a la base de dades FooBar i quins dels seus àlbums estan a la base de dades? )L'agent ha transformat automàticament la pregunta en la consulta SQL per obtenir la resposta de la base de dades. L'agent cerca la font correcta per obtenir la resposta i després munta la consulta per extreure la informació:
Pas 9: Ús de ChatModel
L'usuari simplement pot canviar el model d'idioma utilitzant el mètode ChatOpenAI() per convertir-lo en un ChatModel i utilitzar el sistema MRKL amb ell:
des de langchain. chat_models importar ChatOpenAIcerca = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatura = 0 )
llm1 = OpenAI ( temperatura = 0 )
llm_cadena_matemàtiques = LLMMathChain ( llm = llm1 , verbosa = És cert )
db = Base de dades SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
cadena_db = SQLDatabaseChain. de_llm ( llm1 , db , verbosa = És cert )
eines = [
Eina (
nom = 'Cerca' ,
func = cerca. correr ,
descripció = 'Pregunteu a les indicacions dirigides per obtenir respostes sobre assumptes recents'
) ,
Eina (
nom = 'Calculadora' ,
func = llm_cadena_matemàtiques. correr ,
descripció = 'Útil per respondre/resoldre problemes matemàtics'
) ,
Eina (
nom = 'FooBar DB' ,
func = cadena_db. correr ,
descripció = 'Útil per respondre consultes d'una base de dades i la pregunta d'entrada ha de tenir el context complet'
)
]
Pas 10: prova l'agent MRKL
Després d'això, creeu l'agent i inicialitzeu-lo a la variable mrkl mitjançant el mètode initialize_agent(). Afegiu el paràmetre del mètode per integrar els components com ara eines, llm, agent i verbose per obtenir el procés complet a la sortida:
mrkl = initialize_agent ( eines , llm , agent = Tipus d'agent. XAT_ZERO_SHOT_REACT_DESCRIPTION , verbosa = És cert )Executeu la pregunta executant el sistema mrkl tal com es mostra a la captura de pantalla següent:
mrkl. correr ( 'Qui és la xicota de Leo DiCaprio? Quina és la seva edat actual' )
Sortida
El fragment següent mostra la resposta final extreta per l'agent:
Pas 11: Replica el sistema MRKL
Utilitzeu el sistema MRKL cridant al mètode run() amb la pregunta en llenguatge natural per extreure informació de la base de dades:
mrkl. correr ( 'Quin és el nom complet de l'artista l'àlbum del qual s'anomena 'The Storm Before the Calm' ha publicat recentment i estan a la base de dades FooBar i quins dels seus àlbums estan a la base de dades? )Sortida
L'agent ha mostrat la resposta final extreta de la base de dades tal com es mostra a la captura de pantalla següent:
Això és tot sobre el procés de replicació del sistema MRKL mitjançant agents a LangChain:
Conclusió
Per replicar el sistema MRKL mitjançant agents a LangChain, instal·leu els mòduls per obtenir les dependències per importar les biblioteques. Les biblioteques han de crear el model d'idioma o el model de xat per obtenir les respostes de diverses fonts utilitzant les eines. Els agents estan configurats per utilitzar les eines per extreure resultats de diferents fonts com Internet, bases de dades, etc. Aquesta guia ha elaborat el procés de replicació del sistema MRKL mitjançant agents a LangChain.