Szybki zarys
Ten post pokaże, co następuje:
- Jak dodać pamięć do agenta funkcji OpenAI w LangChain
- Krok 1: Instalowanie frameworków
- Krok 2: Konfigurowanie środowisk
- Krok 3: Importowanie bibliotek
- Krok 4: Budowa bazy danych
- Krok 5: Przesyłanie bazy danych
- Krok 6: Konfigurowanie modelu języka
- Krok 7: Dodawanie pamięci
- Krok 8: Inicjowanie agenta
- Krok 9: Testowanie agenta
- Wniosek
Jak dodać pamięć do agenta funkcji OpenAI w LangChain?
OpenAI to organizacja zajmująca się sztuczną inteligencją (AI), która powstała w 2015 roku i na początku była organizacją non-profit. Od 2020 r. Microsoft zainwestował mnóstwo fortun, ponieważ przetwarzanie języka naturalnego (NLP) za pomocą sztucznej inteligencji kwitnie dzięki chatbotom i modelom językowym.
Budowanie agentów OpenAI umożliwia programistom uzyskanie bardziej czytelnych i konkretnych wyników z Internetu. Dodanie pamięci agentom pozwala im lepiej zrozumieć kontekst czatu i zapisać w pamięci również poprzednie rozmowy. Aby poznać proces dodawania pamięci do agenta funkcji OpenAI w LangChain, wystarczy wykonać następujące kroki:
Krok 1: Instalowanie frameworków
Przede wszystkim zainstaluj zależności LangChain z pliku „langchain-eksperymentalny” framework przy użyciu następującego kodu:
pip zainstaluj langchain - eksperymentalny
Zainstaluj „wyniki-wyszukiwania Google” moduł do pobierania wyników wyszukiwania z serwera Google:
pip zainstaluj Google - szukaj - wyniki
Zainstaluj także moduł OpenAI, którego można używać do budowania modeli językowych w LangChain:
pip zainstaluj openai
Krok 2: Konfigurowanie środowisk
Po pobraniu modułów skonfiguruj środowiska przy użyciu kluczy API z pliku OpenAI I SerpAPi konta:
import Tyimport przejść dalej
Ty. około [ „OPENAI_API_KEY” ] = przejść dalej. przejść dalej ( „Klucz API OpenAI:” )
Ty. około [ „KLUCZ_SERPAPI_API” ] = przejść dalej. przejść dalej ( „Klucz API Serpapi:” )
Wykonaj powyższy kod, aby wprowadzić klucze API umożliwiające dostęp do środowiska i naciśnij klawisz Enter, aby potwierdzić:
Krok 3: Importowanie bibliotek
Po zakończeniu konfiguracji użyj zależności zainstalowanych z LangChain, aby zaimportować wymagane biblioteki do zbudowania pamięci i agentów:
z Langchaina. więzy import LLMMathChainz Langchaina. llms import OpenAI
#get biblioteka do wyszukiwania w Google przez Internet
z Langchaina. narzędzia import SerpAPIWrapper
z Langchaina. narzędzia import Baza danych SQL
z langchain_experimental. sql import Łańcuch bazy danych SQL
#get biblioteka do tworzenia narzędzi Do inicjowanie agenta
z Langchaina. agenci import Typ agenta , Narzędzie , zainicjuj_agent
z Langchaina. chat_models import CzatOpenAI
Krok 4: Budowa bazy danych
Aby kontynuować pracę z tym przewodnikiem, musimy zbudować bazę danych i połączyć się z agentem, aby wyodrębnić z niej odpowiedzi. Aby zbudować bazę danych, wymagane jest pobranie SQLite za jej pomocą przewodnik i potwierdź instalację za pomocą następującego polecenia:
sqlite3Uruchomienie powyższego polecenia w pliku Terminal Windowsowy wyświetla zainstalowaną wersję SQLite (3.43.2):
Następnie po prostu przejdź do katalogu na swoim komputerze, w którym zostanie zbudowana i przechowywana baza danych:
Pulpit CDcd mydb
sqlite3 Chinook. pierś
Użytkownik może po prostu pobrać z tego zawartość bazy danych połączyć w katalogu i wykonaj następujące polecenie, aby zbudować bazę danych:
. Czytać Chinook_Sqlite. sqlWYBIERAĆ * Z LIMITÓW Artystycznych 10 ;
Baza danych została pomyślnie zbudowana i użytkownik może wyszukiwać w niej dane za pomocą różnych zapytań:
Krok 5: Przesyłanie bazy danych
Po pomyślnym zbudowaniu bazy danych prześlij plik „.db” plik do Google Collaboratory, używając następującego kodu:
z Google'a. i wsp import aktazaładowany = akta. wgrywać ( )
Wybierz plik z systemu lokalnego klikając na 'Wybierz pliki' przycisk po wykonaniu powyższego kodu:
Po przesłaniu pliku po prostu skopiuj ścieżkę pliku, która zostanie wykorzystana w następnym kroku:
Krok 6: Konfigurowanie modelu języka
Zbuduj model języka, łańcuchy, narzędzia i łańcuchy, używając następującego kodu:
llm = CzatOpenAI ( temperatura = 0 , Model = „gpt-3.5-turbo-0613” )szukaj = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. od_llm ( llm = llm , gadatliwy = PRAWDA )
pierś = Baza danych SQL. z_uri ( „sqlite:///../../../../../content/Chinook.db” )
łańcuch_db = Łańcuch bazy danych SQL. od_llm ( llm , pierś , gadatliwy = PRAWDA )
narzędzia = [
Narzędzie (
nazwa = 'Szukaj' ,
funk = szukaj. uruchomić ,
opis = „Zadawaj ukierunkowane pytania, aby uzyskać odpowiedzi na pytania dotyczące ostatnich spraw” ,
) ,
Narzędzie (
nazwa = 'Kalkulator' ,
funk = llm_math_chain. uruchomić ,
opis = „przydatny do odpowiadania/rozwiązywania problemów matematycznych” ,
) ,
Narzędzie (
nazwa = „FooBar-DB” ,
funk = łańcuch_db. uruchomić ,
opis = „przydatne przy odpowiadaniu na pytania dotyczące FooBar, a dane wejściowe powinny mieć formę pytania zawierającego pełny kontekst” ,
) ,
]
- The llm zmienna zawiera konfiguracje modelu językowego przy użyciu metody ChatOpenAI() z nazwą modelu.
- Poszukiwanie zmienna zawiera metodę SerpAPIWrapper() służącą do budowania narzędzi dla agenta.
- Zbuduj llm_math_chain aby uzyskać odpowiedzi związane z dziedziną Matematyka za pomocą metody LLMMathChain().
- Zmienna db zawiera ścieżkę do pliku zawierającego zawartość bazy danych. Użytkownik musi zmienić tylko ostatnią część, która jest „treść/Chinook.db” ścieżki prowadzącej „sqlite:///../../../../../” ten sam.
- Zbuduj kolejny łańcuch do odpowiadania na zapytania z bazy danych za pomocą łańcuch_db zmienny.
- Skonfiguruj narzędzia takie jak szukaj , kalkulator , I FooBar-DB do wyszukiwania odpowiedzi, odpowiadania na pytania matematyczne i zapytania z bazy danych:
Krok 7: Dodawanie pamięci
Po skonfigurowaniu funkcji OpenAI wystarczy zbudować i dodać pamięć do agenta:
z Langchaina. monity import Symbol zastępczy Wiadomościz Langchaina. pamięć import Pamięć bufora konwersacji
agent_kwargs = {
„dodatkowe_wiadomości_promptowe” : [ Symbol zastępczy Wiadomości ( nazwa_zmiennej = 'pamięć' ) ] ,
}
pamięć = Pamięć bufora konwersacji ( klucz_pamięci = 'pamięć' , wiadomości_powrotne = PRAWDA )
Krok 8: Inicjowanie agenta
Ostatnim komponentem do zbudowania i zainicjowania jest agent zawierający wszystkie komponenty takie jak llm , narzędzie , OPENAI_FUNKCJE i inne, które można wykorzystać w tym procesie:
agent = zainicjuj_agent (narzędzia ,
llm ,
agent = Typ agenta. OPENAI_FUNKCJE ,
gadatliwy = PRAWDA ,
agent_kwargs = agent_kwargs ,
pamięć = pamięć ,
)
Krok 9: Testowanie agenta
Na koniec przetestuj agenta, inicjując czat za pomocą przycisku „ Cześć ' wiadomość:
agent. uruchomić ( 'Cześć' )
Dodaj trochę informacji do pamięci, uruchamiając z nią agenta:
agent. uruchomić ( „nazywam się John Snow” )
Teraz przetestuj pamięć, zadając pytanie dotyczące poprzedniego czatu:
agent. uruchomić ( 'jak mam na imię' )Agent odpowiedział, podając nazwę pobraną z pamięci, więc pamięć działa pomyślnie z agentem:
To wszystko na teraz.
Wniosek
Aby dodać pamięć do agenta funkcji OpenAI w LangChain, zainstaluj moduły, aby uzyskać zależności do importowania bibliotek. Następnie po prostu zbuduj bazę danych i prześlij ją do notatnika Pythona, aby można było jej używać z modelem. Skonfiguruj model, narzędzia, łańcuchy i bazę danych przed dodaniem ich do agenta i zainicjuj go. Przed przetestowaniem pamięci zbuduj pamięć za pomocą metody ConversationalBufferMemory() i dodaj ją do agenta przed przetestowaniem. W tym przewodniku szczegółowo opisano, jak dodać pamięć do agenta funkcji OpenAI w LangChain.