LangChain to platforma do budowania modeli czatów i LLM w celu uzyskania informacji ze zbioru danych lub Internetu za pomocą środowiska OpenAI. Parser ustrukturyzowanych wyników wyjściowych służy do uzyskiwania wielu pól lub odpowiedzi, takich jak rzeczywista odpowiedź i dodatkowe powiązane informacje. Biblioteki wyjściowego parsera można używać z LangChain do wyodrębniania danych przy użyciu modeli zbudowanych jako LLM lub modele czatu.
W tym poście zademonstrowano proces korzystania z parsera uporządkowanego wyjścia w LangChain.
Jak korzystać z analizatora składni wyjściowej w LangChain?
Aby użyć parsera uporządkowanego wyjścia w LangChain, po prostu wykonaj następujące kroki:
Krok 1: Zainstaluj wymagania wstępne
Rozpocznij proces od zainstalowania frameworku LangChain, jeśli nie jest on jeszcze zainstalowany w Twoim środowisku Python:
pypeć zainstalować łańcuch językowy
Zainstaluj framework OpenAI, aby uzyskać dostęp do jego metod budowania parsera w LangChain:
pypeć zainstalować otwórz
Następnie wystarczy połączyć się ze środowiskiem OpenAI za pomocą jego klucza API, aby uzyskać dostęp do środowiska za pomocą „ Ty ” i podaj klucz API, korzystając z „ przejść dalej ' biblioteka:
importuj naszaimportuj getpass
os.środowisko [ „OPENAI_API_KEY” ] = getpass.getpass ( „Klucz API OpenAI:” )
Krok 2: Zbuduj schemat dla wyniku/odpowiedzi
Po uzyskaniu połączenia z OpenAI po prostu zaimportuj biblioteki, aby zbudować schemat generowania danych wyjściowych:
z langchain.output_parsers import StructuredOutputParser, ResponseSchemaz langchain.prompts importuj PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
z langchain.llms importuje OpenAI
z langchain.chat_models importuj ChatOpenAI
Określ schemat odpowiedzi zgodnie z wymaganiami, aby model odpowiednio wygenerował odpowiedź:
schematy_odpowiedzi = [Schemat odpowiedzi ( nazwa = 'odpowiedź' , opis = „odpowiedź na zapytanie” ) ,
Schemat odpowiedzi ( nazwa = 'źródło' , opis = „źródło witryny internetowej używane do uzyskania odpowiedzi” )
]
Output_parser = StructuredOutputParser.from_response_schemas ( schematy_odpowiedzi )
Krok 3: Sformatuj szablon
Po skonfigurowaniu schematu danych wyjściowych wystarczy ustawić szablon danych wejściowych w języku naturalnym, aby model mógł zrozumieć pytania przed pobraniem odpowiedzi:
format_instructions = Output_parser.get_format_instructions ( )zachęta = szablon podpowiedzi (
szablon = „Udziel odpowiedzi na pytanie użytkownika. \N {szablon} \N {zapytanie}' ,
zmienne_wejściowe = [ 'zapytanie' ] ,
częściowe_zmienne = { 'szablon' : instrukcje_formatu }
)
Metoda 1: Korzystanie z modelu językowego
Po skonfigurowaniu szablonów formatu pytań i odpowiedzi wystarczy zbudować model za pomocą funkcji OpenAI():
model = OpenAI ( temperatura = 0 )
Ustaw monit w „ zapytanie ” i przekaż ją do format_prompt() pełnić funkcję danych wejściowych, a następnie zapisać odpowiedź w polu „ wyjście ' zmienny:
_input = zachęta.format_prompt ( zapytanie = „ile jest kontynentów na świecie” )wyjście = model ( _input.to_string ( ) )
Zadzwoń do analizować() funkcję ze zmienną wyjściową jako argumentem, aby uzyskać odpowiedź z modelu:
parser_wyjściowy.parse ( wyjście )
Parser wyjściowy pobiera odpowiedź na zapytanie i wyświetla szczegółową odpowiedź wraz z linkiem do strony witryny, z której uzyskano odpowiedź:
Metoda 2: Korzystanie z modelu czatu
Aby uzyskać wyniki z parsera wyjściowego w LangChain, użyj metody model_czatu zmienna poniżej:
chat_model = ChatOpenAI ( temperatura = 0 )
Aby zrozumieć monit, skonfiguruj szablon podpowiedzi dla modelu czatu. Następnie wygeneruj odpowiedź zgodnie z danymi wejściowymi:
zachęta = ChatPromptTemplate (wiadomości = [
HumanMessagePromptTemplate.from_template ( „Udziel odpowiedzi na pytanie użytkownika. \N {format_instrukcje} \N {zapytanie}' )
] ,
zmienne_wejściowe = [ 'zapytanie' ] ,
częściowe_zmienne = { „format_instrukcje” : instrukcje_formatu }
)
Następnie po prostu wprowadź dane w polu „ zapytanie ”, a następnie przekaż ją do model_czatu() funkcja, aby uzyskać wynik z modelu:
_input = zachęta.format_prompt ( zapytanie = „USA oznacza” )wyjście = model_czatu ( _input.to_messages ( ) )
Aby uzyskać odpowiedź z modelu czatu, użyj parsera wyjściowego, który przechowuje wynik z „ wyjście ' zmienny:
parser_wyjściowy.parse ( treść.wyjściowa )
Model czatu wyświetlał odpowiedź na zapytanie oraz nazwę strony internetowej, z której pobierana jest odpowiedź z Internetu:
Chodzi o użycie ustrukturyzowanego parsera wyjściowego w LangChain.
Wniosek
Aby użyć parsera danych wyjściowych w LangChain, wystarczy zainstalować moduły LangChain i OpenAI, aby rozpocząć proces. Następnie połącz się ze środowiskiem OpenAI za pomocą jego klucza API, a następnie skonfiguruj szablony podpowiedzi i odpowiedzi dla modelu. Parser wyjściowy może być używany zarówno z modelem języka, jak i modelem czatu. W tym przewodniku wyjaśniono użycie parsera wyjściowego w obu metodach.