Esquema rápido
Esta publicación demostrará lo siguiente:
¿Qué son los agentes en el procesamiento del lenguaje natural (PNL)?
Comenzando con los agentes en LangChain
- Instalación de marcos
- Configurar modelo de chat
- Agente de construcción
- Invocar al agente
- Configurar herramientas del agente
- Probar el agente
¿Qué son los agentes en el procesamiento del lenguaje natural (PLN)?
Los agentes son los componentes vitales de la aplicación de lenguaje natural y utilizan la comprensión del lenguaje natural (NLU) para comprender las consultas. Estos agentes son programas que actúan como una plantilla conversacional para interactuar con humanos utilizando la secuencia de tareas. Los agentes utilizan múltiples herramientas a las que el agente puede llamar para realizar múltiples acciones o especificar la siguiente tarea a realizar.
Comenzando con los agentes en LangChain
Inicie el proceso de creación de agentes para tener una conversación con humanos extrayendo resultados utilizando los agentes en LangChain. Para conocer el proceso de introducción a los agentes en LangChain, simplemente siga los pasos que se enumeran a continuación:
Paso 1: instalar marcos
Primero, comience con el proceso de instalación del marco LangChain usando el ' pepita ”comando para obtener las dependencias requeridas para usar agentes:
pip instalar cadena larga
Instale el módulo OpenAI para crear el LLM y utilícelo para configurar los agentes en LangChain:
instalación de pip en openai
Configurar el entorno para el módulo OpenAI usando su clave API de la cuenta ejecutando el siguiente código:
importar túimportar conseguir pase
tú . alrededor de [ 'OPENAI_API_KEY' ] = conseguir pase . conseguir pase ( 'Clave API de OpenAI:' )
Paso 2: configurar el modelo de chat
Importe el módulo ChatOpenAI de LangChain para construir el LLM usando su función:
de cadena larga. modelos_chat importar ChatOpenAIllm = ChatOpenAI ( temperatura = 0 )
Importe herramientas para que el agente configure las tareas o acciones que debe realizar el agente. El siguiente código utiliza el método get_word_length() para obtener la longitud de la palabra proporcionada por el usuario:
de cadena larga. agentes importar herramienta@ herramienta
definición obtener_longitud_palabra ( palabra: cadena ) - > En t :
'''obteniendo la longitud de la palabra'''
devolver solo ( palabra )
herramientas = [ obtener_longitud_palabra ]
Configure la plantilla o estructura del modelo de chat para crear una interfaz para tener un chat:
de cadena larga. indicaciones importar Plantilla de solicitud de chat , MensajesMarcador de posicióninmediato = Plantilla de solicitud de chat. de_mensajes ( [
( 'sistema' , 'Tu asistente es bastante sorprendente, pero necesita mejorar en el cálculo de longitudes' ) ,
( 'usuario' , '{aporte}' ) ,
MensajesMarcador de posición ( nombre de la variable = 'agente_scratchpad' ) ,
] )
Paso 3: agente de construcción
Importe la biblioteca de herramientas para construir el LLM con herramientas que utilizan las funciones OpenAI del módulo LangChain:
de cadena larga. herramientas . prestar importar format_tool_to_openai_functionllm_con_herramientas = llm. unir (
funciones = [ format_tool_to_openai_function ( t ) para t en herramientas ]
)
Configure el agente usando el agente de función OpenAI para usar el analizador de salida para configurar las secuencias de acciones/tareas:
de cadena larga. agentes . formato_scratchpad importar format_to_openai_functionsde cadena larga. agentes . analizadores_de_salida importar OpenAIFunctionsAgentOutputParser
agente = {
'aporte' : lambda x:x [ 'aporte' ] ,
'agente_scratchpad' : lambda x: format_to_openai_functions ( X [ 'pasos_intermedios' ] )
} | rápido | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
Paso 4: invocar al agente
El siguiente paso utiliza la función invoke() para llamar al agente usando los argumentos de entrada y pasos_intermedios:
agente. invocar ( {'aporte' : 'cuantas letras tiene la palabra bueno' ,
'pasos_intermedios' : [ ]
} )
Paso 5: configurar las herramientas del agente
Después de eso, simplemente importe la biblioteca AgentFinish para configurar los pasos_intermedios integrando todos los pasos en una secuencia para completar la actividad:
de cadena larga. esquema . agente importar AgenteFinalizarpasos_intermedios = [ ]
mientras Verdadero :
producción = agente. invocar ( {
'aporte' : 'letras en buen estado' ,
'pasos_intermedios' : pasos_intermedios
} )
si es instancia ( producción , AgenteFinalizar ) :
resultado final = producción. valores_retorno [ 'producción' ]
romper
demás :
imprimir ( producción. herramienta , producción. entrada_herramienta )
herramienta = {
'obtener_longitud_palabra' : get_word_length
} [ producción. herramienta ]
observación = herramienta. correr ( producción. entrada_herramienta )
pasos_intermedios. adjuntar ( ( producción , observación ) )
imprimir ( resultado final )
Paso 6: probar el agente
Ahora, ejecute el agente llamando al método AgentExecutor() después de importar su biblioteca desde LangChain:
de cadena larga. agentes importar AgentExecutoragente_ejecutor = AgentExecutor ( agente = agente , herramientas = herramientas , verboso = Verdadero )
Al final, invoque al agente_ejecutor con el argumento de entrada para ingresar la consulta para el agente:
agente_ejecutor. invocar ( { 'aporte' : 'cuantas letras tiene la palabra bueno' } )El agente ha mostrado la respuesta a la pregunta proporcionada en el argumento de entrada después de finalizar la cadena:
Se trata de comenzar con los agentes en el marco de LangChain.
Conclusión
Para comenzar con los agentes en LangChain, simplemente instale los módulos necesarios para configurar el entorno utilizando la clave API de OpenAI. Después de eso, configure el modelo de chat estableciendo la plantilla de solicitud para crear el agente con la secuencia de pasos intermedios. Una vez que el agente esté configurado, simplemente cree las herramientas especificando las tareas después de proporcionar la cadena de entrada al usuario. Este blog ha demostrado el proceso de uso de los agentes en LangChain.