Jak korzystać z pamięci jednostek w LangChain?

Jak Korzystac Z Pamieci Jednostek W Langchain



LangChain to moduł umożliwiający tworzenie modeli przetwarzających języki naturalne, czyli języki używane przez ludzi do komunikacji. LangChain zawiera wszystkie wymagane moduły i zależności, które można wykorzystać do budowy dużych modeli językowych lub chatbotów. Modele te należy przeszkolić, aby uczyły się języka naturalnego w celu generowania tekstów na podstawie zapytań zadanych przez użytkownika.

Ten przewodnik zilustruje proces wykorzystania pamięci encji w LangChain.

Jak korzystać z pamięci jednostek w LangChain?

Jednostka służy do przechowywania kluczowych faktów przechowywanych w pamięci w celu wydobycia ich na żądanie człowieka za pomocą zapytań/podpowiedzi. Aby poznać proces wykorzystania pamięci encji w LangChain wystarczy odwiedzić poniższy poradnik:







Krok 1: Zainstaluj moduły

Najpierw zainstaluj moduł LangChain za pomocą polecenia pip, aby uzyskać jego zależności:



pip zainstaluj langchain



Następnie zainstaluj moduł OpenAI, aby uzyskać biblioteki do budowania LLM i modeli czatów:





pip zainstaluj openai

Skonfiguruj środowisko OpenAI za pomocą klucza API, który można wyodrębnić z konta OpenAI:



import Ty

import przejść dalej

Ty . około [ „OPENAI_API_KEY” ] = przejść dalej . przejść dalej ( „Klucz API OpenAI:” )

Krok 2: Korzystanie z pamięci jednostek

Aby skorzystać z pamięci encji, zaimportuj wymagane biblioteki do zbudowania LLM przy użyciu metody OpenAI():

z łańcuch językowy. llms import OpenAI

z łańcuch językowy. pamięć import Pamięć jednostki konwersacji

llm = OpenAI ( temperatura = 0 )

Następnie zdefiniuj pamięć zmienną przy użyciu metody ConversationEntityMemory() w celu uczenia modelu przy użyciu zmiennych wejściowych i wyjściowych:

pamięć = Pamięć jednostki konwersacji ( llm = llm )

_wejście = { 'wejście' : „Joe Are Root robi projekt” }

pamięć. zmienne_pamięci_ładowania ( _wejście )

pamięć. zapisz_kontekst (

_wejście ,

{ 'wyjście' : „Świetnie! Co to za projekt?” }

)

Teraz przetestuj pamięć za pomocą zapytania/podpowiedzi w pliku wejście zmienną, wywołując metodę loading_memory_variables():

pamięć. zmienne_pamięci_ładowania ( { 'wejście' : „kto jest rootem” } )

Teraz podaj trochę więcej informacji, aby model mógł dodać do pamięci jeszcze kilka elementów:

pamięć = Pamięć jednostki konwersacji ( llm = llm , wiadomości_powrotne = PRAWDA )

_wejście = { 'wejście' : „Joe Are Root robi projekt” }

pamięć. zmienne_pamięci_ładowania ( _wejście )

pamięć. zapisz_kontekst (

_wejście ,

{ 'wyjście' : „Świetnie! Co to za projekt” }

)

Wykonaj następujący kod, aby uzyskać dane wyjściowe przy użyciu jednostek przechowywanych w pamięci. Jest to możliwe poprzez wejście zawierający zachętę:

pamięć. zmienne_pamięci_ładowania ( { 'wejście' : „kim jest Joe” } )

Krok 3: Używanie pamięci jednostek w łańcuchu

Aby użyć pamięci encji po zbudowaniu łańcucha, po prostu zaimportuj wymagane biblioteki, korzystając z następującego bloku kodu:

z łańcuch językowy. więzy import Łańcuch Rozmów

z łańcuch językowy. pamięć import Pamięć jednostki konwersacji

z łańcuch językowy. pamięć . podpowiedź import ENTITY_MEMORY_CONVERSATION_TEMPLATE

z pydantyczny import Model podstawowy

z pisanie na maszynie import Lista , Dykt , Każdy

Zbuduj model konwersacji za pomocą metody ConversationChain(), używając argumentów takich jak llm:

rozmowa = Łańcuch Rozmów (

llm = llm ,

gadatliwy = PRAWDA ,

podpowiedź = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

pamięć = Pamięć jednostki konwersacji ( llm = llm )

)

Wywołaj metodę konwersacji.predict() z danymi wejściowymi zainicjowanymi przez zachętę lub zapytanie:

rozmowa. przewidywać ( wejście = „Joe Are Root robi projekt” )

Teraz uzyskaj osobne dane wyjściowe dla każdej jednostki opisujące informacje na jej temat:

rozmowa. pamięć . sklep_encji . sklep

Użyj danych wyjściowych modelu, aby podać dane wejściowe, aby model mógł przechowywać więcej informacji o tych jednostkach:

rozmowa. przewidywać ( wejście = „Próbują dodać do Langchain bardziej złożone struktury pamięci” )

Po podaniu informacji przechowywanych w pamięci wystarczy zadać pytanie, aby wydobyć konkretne informacje o podmiotach:

rozmowa. przewidywać ( wejście = „Co wiesz o Joe i Roocie” )

Krok 4: Testowanie magazynu pamięci

Użytkownik może bezpośrednio sprawdzić zasoby pamięci, aby uzyskać przechowywane w nich informacje, korzystając z następującego kodu:

z wydrukować import wydrukować

wydrukować ( rozmowa. pamięć . sklep_encji . sklep )

Podaj więcej informacji do zapisania w pamięci, ponieważ więcej informacji daje dokładniejsze wyniki:

rozmowa. przewidywać ( wejście = „Root założył firmę o nazwie HJRS” )

Wyodrębnij informacje z magazynu pamięci po dodaniu większej ilości informacji o jednostkach:

z wydrukować import wydrukować

wydrukować ( rozmowa. pamięć . sklep_encji . sklep )

Pamięć zawiera informacje o wielu jednostkach, takich jak HJRS, Joe, LangChain i Root:

Teraz wyodrębnij informacje o konkretnym obiekcie za pomocą zapytania lub podpowiedzi zdefiniowanych w zmiennej wejściowej:

rozmowa. przewidywać ( wejście = „Co wiesz o Root” )

Chodzi o wykorzystanie pamięci jednostek przy użyciu frameworka LangChain.

Wniosek

Aby korzystać z pamięci encji w LangChain, wystarczy zainstalować wymagane moduły, aby zaimportować biblioteki wymagane do budowy modeli po skonfigurowaniu środowiska OpenAI. Następnie zbuduj model LLM i przechowuj encje w pamięci, podając informacje o encjach. Użytkownik może również wyodrębnić informacje za pomocą tych bytów i zbudować te wspomnienia w łańcuchach z mieszanymi informacjami o bytach. W tym poście szczegółowo omówiono proces wykorzystania pamięci encji w LangChain.