Esquema rápido
Esta publicación demostrará lo siguiente:
Cómo replicar el sistema MRKL usando agentes en LangChain
- Paso 1: instalar marcos
- Paso 2: configurar el entorno OpenAI
- Paso 3: Importar bibliotecas
- Paso 4: crear una base de datos
- Paso 5: cargar la base de datos
- Paso 6: Configurar herramientas
- Paso 7: crear y probar el agente
- Paso 8: replicar el sistema MRKL
- Paso 9: Usar ChatModel
- Paso 10: Pruebe el agente MRKL
- Paso 11: replicar el sistema MRKL
¿Cómo replicar el sistema MRKL utilizando agentes en LangChain?
LangChain permite al usuario crear agentes que se pueden utilizar para realizar múltiples tareas para los modelos de lenguaje o chatbots. Los agentes almacenan su trabajo con todos los pasos en la memoria adjunta al modelo de lenguaje. Usando estas plantillas, el agente puede replicar el funcionamiento de cualquier sistema como MRKL para obtener resultados optimizados sin tener que construirlos nuevamente.
Para conocer el proceso de replicación del sistema MRKL utilizando agentes en LangChain, simplemente siga los pasos enumerados:
Paso 1: instalar marcos
En primer lugar, instale los módulos experimentales de LangChain usando el pip con el comando langchain-experimental:
instalación de pip langchain-experimental
Instale el módulo OpenAI para crear el modelo de lenguaje para el sistema MRKL:
instalación de pip en openai
Paso 2: configurar el entorno OpenAI
Importe las bibliotecas os y getpass para acceder a la operación y solicitar al usuario que proporcione las claves API para las cuentas OpenAI y SerpAPi:
importar túimportar conseguir pase
tú . alrededor de [ 'OPENAI_API_KEY' ] = conseguir pase . conseguir pase ( 'Clave API de OpenAI:' )
tú . alrededor de [ 'SERPAPI_API_KEY' ] = conseguir pase . conseguir pase ( 'Clave API de Serpapi:' )
Paso 3: Importar bibliotecas
Utilice las dependencias de LangChain para importar las bibliotecas necesarias para crear el modelo de lenguaje, las herramientas y los agentes:
de cadena larga. cadenas importar LLMMathChainde cadena larga. llms importar AbiertoAI
de cadena larga. utilidades importar SerpAPIWrapper
de cadena larga. utilidades importar Base de datos SQL
de langchain_experimental. SQL importar Cadena de base de datos SQL
de cadena larga. agentes importar agente_inicializar , Herramienta
de cadena larga. agentes importar Tipo de agente
Paso 4: crear una base de datos
El MRKL utiliza fuentes de conocimiento externas para extraer información de los datos. Esta publicación usa SQLite que se puede descargar usando este guía para construir la base de datos. El siguiente comando confirma el proceso de descarga de SQLite mostrando su versión instalada:
sqlite3
Utilice los siguientes comandos dentro de un directorio para crear la base de datos utilizando el símbolo del sistema:
cd Escritoriocd mibd
sqlite3 Chinook. base de datos
Descargar el Base de datos archivo y guárdelo en el directorio para usar el siguiente comando para crear el ' .db ' archivo:
. leer Chinook_Sqlite. SQLSELECCIONAR * DEL Artista LÍMITE 10 ;
Paso 5: cargar la base de datos
Una vez creada la base de datos exitosamente, cargue el archivo en el colaboratorio de Google:
de Google. Y AL importar archivossubido = archivos. subir ( )
El usuario puede acceder al archivo cargado en el cuaderno para copiar su ruta desde su menú desplegable:
Paso 6: Configurar herramientas
Después de crear la base de datos, configure el modelo de lenguaje, las herramientas y las cadenas para los agentes:
buscar = SerpAPIWrapper ( )llm = AbiertoAI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( llm = llm , verboso = Verdadero )
base de datos = Base de datos SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
cadena_db = SQLDatabaseChain. de_llm ( llm , base de datos , verboso = Verdadero )
herramientas = [
Herramienta (
nombre = 'Buscar' ,
función = buscar. correr ,
descripción = 'Pregunte a las indicaciones específicas para obtener respuestas sobre asuntos recientes'
) ,
Herramienta (
nombre = 'Calculadora' ,
función = llm_math_chain. correr ,
descripción = 'útil para responder/resolver problemas matemáticos'
) ,
Herramienta (
nombre = 'FooBar DB' ,
función = cadena_db. correr ,
descripción = 'útil para responder consultas de una base de datos y la pregunta de entrada debe tener el contexto completo'
)
]
- Definir el llm variable utilizando el AbrirAI() Método para obtener el modelo de lenguaje.
- El buscar es la herramienta que llama al SerpAPIWrapper() método para acceder a su entorno.
- El LLMMathChain() El método se utiliza para obtener respuestas relacionadas con problemas matemáticos.
- Definir el base de datos variable con la ruta del archivo dentro del Base de datos SQL() método.
- El SQLDatabaseChain() El método se puede utilizar para obtener la información de la base de datos.
- Definir herramientas como buscar , calculadora , y FooBar DB para construir el agente para extraer datos de diferentes fuentes:
Paso 7: crear y probar el agente
Inicialice el sistema MRKL utilizando las herramientas, llm y agente para obtener las respuestas a las preguntas del usuario:
mrkl = agente_inicializar ( herramientas , llm , agente = Tipo de agente. ZERO_SHOT_REACT_DESCRIPTION , verboso = Verdadero )Ejecute el sistema MRKL usando el método run() con la pregunta como argumento:
mrkl. correr ( '¿Cuál es la edad actual de Leo DiCaprio y su novia? También indica su diferencia de edad' )Producción
El agente ha producido la respuesta final con la ruta completa utilizada por el sistema para extraer la respuesta final:
Paso 8: replicar el sistema MRKL
Ahora simplemente usa el mrkl palabra clave con el método run() para obtener respuestas de diferentes fuentes como bases de datos:
mrkl. correr ( '¿Cuál es el nombre completo del artista cuyo álbum llamado 'The Storm Before the Calm' se lanzó recientemente? ¿Están en la base de datos de FooBar y cuáles de sus álbumes están en la base de datos?' )El agente ha transformado automáticamente la pregunta en una consulta SQL para obtener la respuesta de la base de datos. El agente busca la fuente correcta para obtener la respuesta y luego ensambla la consulta para extraer la información:
Paso 9: Usar ChatModel
El usuario puede simplemente cambiar el modelo de lenguaje usando el método ChatOpenAI() para convertirlo en ChatModel y usar el sistema MRKL con él:
de cadena larga. modelos_chat importar ChatOpenAIbuscar = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatura = 0 )
llm1 = Abierto AI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , verboso = Verdadero )
base de datos = Base de datos SQL. de_uri ( 'sqlite:///../../../../../content/Chinook.db' )
cadena_db = SQLDatabaseChain. de_llm ( llm1 , base de datos , verboso = Verdadero )
herramientas = [
Herramienta (
nombre = 'Buscar' ,
función = buscar. correr ,
descripción = 'Pregunte a las indicaciones específicas para obtener respuestas sobre asuntos recientes'
) ,
Herramienta (
nombre = 'Calculadora' ,
función = llm_math_chain. correr ,
descripción = 'útil para responder/resolver problemas matemáticos'
) ,
Herramienta (
nombre = 'FooBar DB' ,
función = cadena_db. correr ,
descripción = 'útil para responder consultas de una base de datos y la pregunta de entrada debe tener el contexto completo'
)
]
Paso 10: Pruebe el agente MRKL
Después de eso, cree el agente e inicialícelo en la variable mrkl usando el método inicialize_agent(). Agregue el parámetro del método para integrar los componentes como herramientas, llm, agente y detallado para obtener el proceso completo en el resultado:
mrkl = agente_inicializar ( herramientas , llm , agente = Tipo de agente. CHAT_ZERO_SHOT_REACT_DESCRIPTION , verboso = Verdadero )Ejecute la pregunta ejecutando el sistema mrkl como se muestra en la siguiente captura de pantalla:
mrkl. correr ( '¿Quién es la novia de Leo DiCaprio? ¿Cuál es su edad actual?' )
Producción
El siguiente fragmento muestra la respuesta final extraída por el agente:
Paso 11: replicar el sistema MRKL
Utilice el sistema MRKL llamando al método run() con la pregunta en lenguaje natural para extraer información de la base de datos:
mrkl. correr ( '¿Cuál es el nombre completo del artista cuyo álbum llamado 'The Storm Before the Calm' se lanzó recientemente? ¿Están en la base de datos de FooBar y cuáles de sus álbumes están en la base de datos?' )Producción
El agente ha mostrado la respuesta final extraída de la base de datos como se muestra en la siguiente captura de pantalla:
Se trata del proceso de replicar el sistema MRKL utilizando agentes en LangChain:
Conclusión
Para replicar el sistema MRKL usando agentes en LangChain, instale los módulos para obtener las dependencias para importar las bibliotecas. Las bibliotecas deben crear el modelo de lenguaje o el modelo de chat para obtener respuestas de múltiples fuentes utilizando las herramientas. Los agentes están configurados para utilizar las herramientas para extraer resultados de diferentes fuentes como Internet, bases de datos, etc. Esta guía ha detallado el proceso de replicación del sistema MRKL utilizando agentes en LangChain.