Com començar amb els agents a LangChain?

Com Comencar Amb Els Agents A Langchain



LangChain és el marc per resoldre el processament del llenguatge natural per crear aplicacions o programari que puguin interactuar i conversar amb humans. Els chatbots o grans models de llenguatge (LLM) estan dissenyats per crear un entorn que pugui actuar com a interfície de xat/conversa. Aquests xats es realitzen en idiomes humans anomenats idiomes naturals com l'anglès, etc. entre humans i un model d'IA.

Esquema ràpid

Aquesta publicació demostrarà el següent:







Què són els agents en el processament del llenguatge natural (PNL)



Com començar amb els agents a LangChain



Conclusió





Què són els agents en el processament del llenguatge natural (PNL)?

Els agents són els components vitals de l'aplicació de llenguatge natural i utilitzen la comprensió del llenguatge natural (NLU) per entendre les consultes. Aquests agents són programes que actuen com una plantilla de conversa per tenir una interacció amb humans mitjançant la seqüència de tasques. Els agents utilitzen diverses eines que l'agent pot cridar per dur a terme diverses accions o especificar la següent tasca a realitzar.

Com començar amb els agents a LangChain

Inicieu el procés de creació d'agents per mantenir una conversa amb humans extraient la sortida mitjançant els agents de LangChain. Per conèixer el procés per començar amb els agents de LangChain, només cal que seguiu els passos que s'indiquen a continuació:



Pas 1: instal·lació de marcs

En primer lloc, comenceu amb el procés d'instal·lació del marc LangChain mitjançant el ' pip ” ordre per obtenir les dependències necessàries per utilitzar agents:

pip install langchain

Instal·leu el mòdul OpenAI per crear el LLM i utilitzeu-lo per configurar els agents a LangChain:

pip install openai

Configura l'entorn per al mòdul OpenAI utilitzant la seva clau API del compte executant el codi següent:

importar vostè
importar getpass

vostè . aproximadament [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Clau de l'API OpenAI:' )

Pas 2: Configura el model de xat

Importeu el mòdul ChatOpenAI del LangChain per crear el LLM mitjançant la seva funció:

des de langchain. chat_models importar ChatOpenAI

llm = ChatOpenAI ( temperatura = 0 )

Importeu eines per a l'agent per configurar les tasques o accions que ha de realitzar l'agent. El codi següent utilitza el mètode get_word_length() per obtenir la longitud de la paraula proporcionada per l'usuari:

des de langchain. agents importar eina

@ eina

def get_word_length ( paraula: str ) - > int :

'''aconseguir la longitud de la paraula'''

tornar només ( paraula )

eines = [ get_word_length ]

Configureu la plantilla o l'estructura del model de xat per crear una interfície per tenir un xat:

des de langchain. indicacions importar ChatPromptTemplate , Missatges Marcador de posició

prompte = ChatPromptTemplate. de_missatges ( [

( 'sistema' , 'El teu assistent és bastant sorprenent, però necessita millores per calcular longituds' ) ,

( 'usuari' , '{entrada}' ) ,

Missatges Marcador de posició ( nom_variable = 'agent_scratchpad' ) ,

] )

Pas 3: Agent de construcció

Importeu la biblioteca d'eines per crear el LLM amb eines utilitzant les funcions OpenAI del mòdul LangChain:

des de langchain. eines . renderitzar importar format_tool_to_openai_function

llm_amb_eines = llm. lligar (

funcions = [ format_tool_to_openai_function ( t ) per t en eines ]

)

Configureu l'agent mitjançant l'agent de funció OpenAI per utilitzar l'analitzador de sortida per establir les seqüències d'accions/tasques:

des de langchain. agents . format_scratchpad importar format_a_openai_funcions

des de langchain. agents . analitzadors_de_sortida importar OpenAIFunctionsAgentOutputParser

agent = {

'entrada' : lambda x: x [ 'entrada' ] ,

'agent_scratchpad' : lambda x: format_to_openai_functions ( x [ 'passos_intermedis' ] )

} | prompte | llm_amb_eines | OpenAIFunctionsAgentOutputParser ( )

Pas 4: invocació de l'agent

El següent pas utilitza la funció invoke() per cridar l'agent mitjançant els arguments input i intermediate_steps:

agent. invocar ( {

'entrada' : 'quantes lletres de la paraula bo' ,

'passos_intermedis' : [ ]

} )

Pas 5: configureu les eines de l'agent

Després d'això, simplement importeu la biblioteca AgentFinish per configurar els intermediate_steps integrant tots els passos en una seqüència per completar l'activitat:

des de langchain. esquema . agent importar Agent acabat
passos_intermedis = [ ]
mentre És cert :
sortida = agent. invocar ( {
'entrada' : 'lletres bones' ,
'passos_intermedis' : passos_intermedis
} )
si és instància ( sortida , Agent acabat ) :
resultat_final = sortida. valors_retorn [ 'sortida' ]
trencar
altra cosa :
imprimir ( sortida. eina , sortida. entrada_eina )
eina = {
'obté_longitud_de_paraula' : obtenir_longitud_paraula
} [ sortida. eina ]
observació = eina. correr ( sortida. entrada_eina )
passos_intermedis. adjuntar ( ( sortida , observació ) )
imprimir ( resultat_final )

Pas 6: prova de l'agent

Ara, executeu l'agent cridant al mètode AgentExecutor() després d'importar la seva biblioteca del LangChain:

des de langchain. agents importar AgentExecutor

agent_executor = AgentExecutor ( agent = agent , eines = eines , verbosa = És cert )

Al final, invoqueu agent_executor amb l'argument d'entrada per introduir la consulta per a l'agent:

agent_executor. invocar ( { 'entrada' : 'quantes lletres de la paraula bo' } )

L'agent ha mostrat la resposta a la pregunta proporcionada a l'argument d'entrada després d'acabar la cadena:

Això es tracta de començar amb els agents del marc de LangChain.

Conclusió

Per començar amb els agents de LangChain, només cal que instal·leu els mòduls necessaris per configurar l'entorn mitjançant la clau de l'API OpenAI. Després d'això, configureu el model de xat configurant la plantilla de sol·licitud per crear l'agent amb la seqüència de passos intermedis. Un cop configurat l'agent, només cal que creeu les eines especificant les tasques després de donar la cadena d'entrada a l'usuari. Aquest bloc ha demostrat el procés d'ús dels agents a LangChain.