Szybki zarys
Ten post pokaże, co następuje:
Kim są agenci w przetwarzaniu języka naturalnego (NLP)
Pierwsze kroki z agentami w LangChain
- Instalowanie frameworków
- Skonfiguruj model czatu
- Agent budowlany
- Wywołanie Agenta
- Skonfiguruj narzędzia agenta
- Testowanie agenta
Kim są agenci w przetwarzaniu języka naturalnego (NLP)?
Agenci są istotnymi składnikami aplikacji języka naturalnego i wykorzystują technologię rozumienia języka naturalnego (NLU) do rozumienia zapytań. Agenci ci to programy działające jak szablon konwersacyjny umożliwiający interakcję z ludźmi przy użyciu sekwencji zadań. Agenci korzystają z wielu narzędzi, które mogą wywołać w celu wykonania wielu czynności lub określenia kolejnego zadania do wykonania.
Pierwsze kroki z agentami w LangChain
Rozpocznij proces budowania agentów do rozmowy z ludźmi, wyodrębniając dane wyjściowe za pomocą agentów w LangChain. Aby poznać proces rozpoczynania pracy z agentami w LangChain, wykonaj po prostu poniższe kroki:
Krok 1: Instalowanie frameworków
Najpierw rozpocznij proces instalacji frameworka LangChain za pomocą „ pypeć ”, aby uzyskać wymagane zależności do korzystania z agentów:
pip zainstaluj langchain
Zainstaluj moduł OpenAI do budowy LLM i użyj go do skonfigurowania agentów w LangChain:
pip zainstaluj openai
Skonfiguruj środowisko dla modułu OpenAI przy użyciu jego klucza API z konta, uruchamiając następujący kod:
import Tyimport przejść dalej
Ty . około [ „OPENAI_API_KEY” ] = przejść dalej . przejść dalej ( „Klucz API OpenAI:” )
Krok 2: Skonfiguruj model czatu
Zaimportuj moduł ChatOpenAI z LangChain, aby zbudować LLM przy użyciu jego funkcji:
z łańcuch językowy. chat_models import CzatOpenAIllm = CzatOpenAI ( temperatura = 0 )
Zaimportuj narzędzia dla agenta, aby skonfigurować zadania lub akcje wymagane do wykonania przez agenta. Poniższy kod wykorzystuje metodę get_word_length() w celu uzyskania długości słowa podanego przez użytkownika:
z łańcuch językowy. agenci import narzędzie@ narzędzie
def get_word_length ( słowo: ul ) - > wew :
'''uzyskiwanie długości słowa'''
powrót tylko ( słowo )
narzędzia = [ get_word_length ]
Skonfiguruj szablon lub strukturę modelu czatu, aby utworzyć interfejs do prowadzenia czatu:
z łańcuch językowy. monity import Szablon ChatPrompt , Symbol zastępczy Wiadomościpodpowiedź = Szablon ChatPrompt. z_wiadomości ( [
( 'system' , „Twój asystent jest niesamowity, ale wymaga poprawy w obliczaniu długości” ) ,
( 'użytkownik' , '{wejście}' ) ,
Symbol zastępczy Wiadomości ( nazwa_zmiennej = 'agent_zdrapek' ) ,
] )
Krok 3: Agent budowlany
Zaimportuj bibliotekę narzędzi do budowy LLM z narzędziami wykorzystującymi funkcje OpenAI z modułu LangChain:
z łańcuch językowy. narzędzia . renderowanie import format_tool_to_openai_functionllm_with_tools = llm. wiązać (
Funkcje = [ format_tool_to_openai_function ( T ) Do T W narzędzia ]
)
Skonfiguruj agenta za pomocą agenta funkcyjnego OpenAI, aby używać parsera wyjściowego do ustawiania sekwencji akcji/zadań:
z łańcuch językowy. agenci . format_scratchpad import format_to_openai_functionsz łańcuch językowy. agenci . parsery_wyjściowe import OpenAIFunctionsAgentOutputParser
agent = {
'wejście' : lambda x: x [ 'wejście' ] ,
'agent_zdrapek' : lambda x: format_to_openai_functions ( X [ „kroki_pośrednie” ] )
} | podpowiedź | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
Krok 4: Wywołanie Agenta
Następny krok wykorzystuje funkcję invoke() do wywołania agenta przy użyciu argumentów input i pośrednich kroków:
agent. odwołać się ( {'wejście' : „ile liter w słowie dobry” ,
„kroki_pośrednie” : [ ]
} )
Krok 5: Skonfiguruj narzędzia agenta
Następnie po prostu zaimportuj bibliotekę AgentFinish, aby skonfigurować kroki pośrednie, integrując wszystkie kroki w sekwencję, aby zakończyć działanie:
z łańcuch językowy. schemat . agent import AgentZakończkroki_pośrednie = [ ]
chwila PRAWDA :
wyjście = agent. odwołać się ( {
'wejście' : „litery w porządku” ,
„kroki_pośrednie” : kroki pośrednie
} )
Jeśli jest instancją ( wyjście , AgentZakończ ) :
ostateczny wynik = wyjście. wartości_powrotne [ 'wyjście' ]
przerwa
w przeciwnym razie :
wydrukować ( wyjście. narzędzie , wyjście. wejście_narzędzia )
narzędzie = {
„get_word_length” : get_word_length
} [ wyjście. narzędzie ]
obserwacja = narzędzie. uruchomić ( wyjście. wejście_narzędzia )
kroki_pośrednie. dodać ( ( wyjście , obserwacja ) )
wydrukować ( ostateczny wynik )
Krok 6: Testowanie agenta
Teraz uruchom agenta wywołując metodę AgentExecutor() po zaimportowaniu jego biblioteki z LangChain:
z łańcuch językowy. agenci import Wykonawca agentaagent_wykonawca = Wykonawca agenta ( agent = agent , narzędzia = narzędzia , gadatliwy = PRAWDA )
Na koniec wywołaj agent_executor z argumentem wejściowym, aby wprowadzić zapytanie dla agenta:
agent_wykonawca. odwołać się ( { 'wejście' : „ile liter w słowie dobry” } )Agent wyświetlił odpowiedź na pytanie podane w argumencie wejściowym po zakończeniu łańcucha:
To wszystko, jeśli chodzi o rozpoczęcie pracy z agentami w środowisku LangChain.
Wniosek
Aby rozpocząć pracę z agentami w LangChain, wystarczy zainstalować moduły wymagane do skonfigurowania środowiska przy użyciu klucza OpenAI API. Następnie skonfiguruj model czatu, ustawiając szablon podpowiedzi do budowy agenta z sekwencją kroków pośrednich. Po skonfigurowaniu agenta wystarczy zbudować narzędzia, określając zadania po podaniu użytkownikowi ciągu wejściowego. Na tym blogu zaprezentowano proces wykorzystania agentów w LangChain.