Greitas kontūras
Šis įrašas parodys šiuos dalykus:
Kas yra natūralios kalbos apdorojimo (NLP) agentai
Darbo su „LangChain“ agentais pradžia
- Frameworkų diegimas
- Konfigūruokite pokalbių modelį
- Statybos agentas
- Agento iškvietimas
- Konfigūruokite agento įrankius
- Agento testavimas
Kas yra natūralios kalbos apdorojimo (NLP) agentai?
Agentai yra gyvybiškai svarbūs natūralios kalbos programos komponentai ir jie naudoja natūralios kalbos supratimą (NLU), kad suprastų užklausas. Šie agentai yra programos, kurios veikia kaip pokalbio šablonas, skirtas bendrauti su žmonėmis naudojant užduočių seką. Agentai naudoja kelis įrankius, kuriuos agentas gali iškviesti, kad atliktų kelis veiksmus arba nurodytų kitą atliktiną užduotį.
Darbo su „LangChain“ agentais pradžia
Pradėkite agentų kūrimo procesą, kad galėtumėte kalbėtis su žmonėmis, ištraukdami išvestį naudodami „LangChain“ agentus. Norėdami sužinoti, kaip pradėti dirbti su agentais LangChain, tiesiog atlikite toliau nurodytus veiksmus.
1 veiksmas: „Frameworks“ diegimas
Pirmiausia pradėkite nuo „LangChain“ sistemos diegimo proceso naudodami „ pip “ komandą, kad gautumėte reikiamas priklausomybes naudojant agentus:
pip įdiegti langchain
Įdiekite OpenAI modulį, kad sukurtumėte LLM, ir naudokite jį agentams konfigūruoti LangChain:
pip install openai
Sutvarkykite aplinką OpenAI moduliui, naudojant jo API raktą iš paskyros, paleisdami šį kodą:
importuoti tuimportuoti gauti pasą
tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( 'OpenAI API raktas:' )
2 veiksmas: sukonfigūruokite pokalbių modelį
Importuokite ChatOpenAI modulį iš „LangChain“, kad sukurtumėte LLM naudodami jo funkciją:
iš langchain. pokalbių_modeliai importuoti ChatOpenAIllm = ChatOpenAI ( temperatūros = 0 )
Importuokite agento įrankius, kad sukonfigūruotumėte užduotis arba veiksmus, kuriuos turi atlikti agentas. Šis kodas naudoja get_word_length() metodą, kad gautų vartotojo pateikto žodžio ilgį:
iš langchain. agentai importuoti įrankis@ įrankis
def gauti_žodžio_ilgį ( žodis: str ) - > tarpt :
'''gauti žodžio ilgį'''
grąžinti tik ( žodį )
įrankiai = [ gauti_žodžio_ilgį ]
Sukonfigūruokite pokalbių modelio šabloną arba struktūrą, kad sukurtumėte sąsają pokalbiui:
iš langchain. raginimai importuoti ChatPromptTemplate , MessagesPlaceholderparaginti = ChatPromptTemplate. from_messages ( [
( 'sistema' , „Jūsų asistentas yra nuostabus, bet reikia patobulinti ilgį skaičiuojant“ ) ,
( 'Vartotojas' , „{input}“ ) ,
MessagesPlaceholder ( kintamojo_pavadinimas = 'agent_scratchpad' ) ,
] )
3 veiksmas: statybos agentas
Importuokite įrankių biblioteką, kad sukurtumėte LLM su įrankiais, naudojant OpenAI funkcijas iš LangChain modulio:
iš langchain. įrankiai . pateikti importuoti format_tool_to_openai_functionllm_with_tools = llm. įpareigoti (
funkcijas = [ format_tool_to_openai_function ( t ) dėl t in įrankiai ]
)
Sukonfigūruokite agentą naudodami OpenAI funkcijos agentą, kad naudotumėte išvesties analizatorių veiksmų / užduočių sekoms nustatyti:
iš langchain. agentai . format_scratchpad importuoti format_to_openai_functionsiš langchain. agentai . išvesties_analizatoriai importuoti OpenAIFunctionsAgentOutputParser
agentas = {
'įvestis' : lambda x: x [ 'įvestis' ] ,
'agent_scratchpad' : lambda x: format_to_openai_functions ( x [ „tarpiniai_žingsniai“ ] )
} | paraginti | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
4 veiksmas: agento iškvietimas
Kitas veiksmas naudoja invoke() funkciją agentui iškviesti naudojant įvesties ir intermediate_steps argumentus:
agentas. prisišaukti ( {'įvestis' : 'kiek raidžių žodyje geras' ,
'tarpiniai_žingsniai' : [ ]
} )
5 veiksmas: konfigūruokite agento įrankius
Po to tiesiog importuokite AgentFinish biblioteką, kad sukonfigūruotumėte intermediate_steps, integruodami visus veiksmus iš eilės, kad užbaigtumėte veiklą:
iš langchain. schema . agentas importuoti AgentFinishtarpiniai_žingsniai = [ ]
kol Tiesa :
išvestis = agentas. prisišaukti ( {
'įvestis' : 'Laiškai gerai' ,
'tarpiniai_žingsniai' : tarpiniai_žingsniai
} )
jeigu instancija ( išvestis , AgentFinish ) :
galutinis_rezultatas = išvestis. return_values [ 'išvestis' ]
pertrauka
Kitas :
spausdinti ( išvestis. įrankis , išvestis. tool_input )
įrankis = {
'gauti_žodžio_ilgį' : gauti_žodžio_ilgį
} [ išvestis. įrankis ]
stebėjimas = įrankis. paleisti ( išvestis. tool_input )
tarpiniai_žingsniai. pridėti ( ( išvestis , stebėjimas ) )
spausdinti ( galutinis_rezultatas )
6 veiksmas: agento patikrinimas
Dabar paleiskite agentą iškviesdami metodą AgentExecutor() importavę jo biblioteką iš LangChain:
iš langchain. agentai importuoti Agentas Vykdytojasagentas_vykdytojas = Agentas Vykdytojas ( agentas = agentas , įrankiai = įrankiai , žodinis = Tiesa )
Pabaigoje iškvieskite agent_executor su įvesties argumentu, kad įvestumėte agento užklausą:
agentas_vykdytojas. prisišaukti ( { 'įvestis' : 'kiek raidžių žodyje geras' } )Agentas, baigęs grandinę, parodė atsakymą į įvesties argumente pateiktą klausimą:
Tai viskas apie darbo pradžią su agentais „LangChain“ sistemoje.
Išvada
Norėdami pradėti dirbti su agentais LangChain, tiesiog įdiekite modulius, reikalingus aplinkai nustatyti naudojant OpenAI API raktą. Po to sukonfigūruokite pokalbio modelį nustatydami agento kūrimo raginimo šabloną su tarpinių veiksmų seka. Kai agentas sukonfigūruotas, tiesiog sukurkite įrankius nurodydami užduotis, vartotojui suteikę įvesties eilutę. Šis tinklaraštis demonstravo agentų naudojimo procesą „LangChain“.