Hur man använder Structured Output Parser i LangChain?

Hur Man Anvander Structured Output Parser I Langchain



LangChain är ramverket för att bygga chattmodeller och LLM:er för att få information från datasetet eller internet med hjälp av OpenAI-miljön. Den strukturerade utdataparsern används för att få flera fält eller svar som det faktiska svaret och lite extra relaterad information. Utdataparserbiblioteken kan användas med LangChain för att extrahera data med hjälp av modellerna byggda som LLM:er eller chattmodeller.

Det här inlägget demonstrerade processen att använda den strukturerade utdataparsern i LangChain.







Hur man använder Structured Output Parser i LangChain?

För att använda den strukturerade utdataparsern i LangChain, gå helt enkelt igenom dessa steg:



Steg 1: Installationsförutsättningar



Starta processen genom att installera LangChain-ramverket om det inte redan är installerat i din Python-miljö:





pip Installera långkedja



Installera OpenAI-ramverket för att komma åt dess metoder för att bygga en parser i LangChain:

pip Installera openai

Efter det ansluter du helt enkelt till OpenAI-miljön med hjälp av dess API-nyckel för att komma åt dess miljö med hjälp av ' du '-biblioteket och tillhandahåll API-nyckeln med ' getpass ” bibliotek:

importera oss
importera getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Key:' )

Steg 2: Bygg schema för utdata/svar

Efter att ha fått anslutningen till OpenAI, importera helt enkelt biblioteken för att bygga schemat för att generera utdata:

från langchain.output_parsers importera StructuredOutputParser, ResponseSchema
från langchain.prompts importera PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
från langchain.llms importera OpenAI
från langchain.chat_models importera ChatOpenAI

Ange schemat för svaret enligt kravet så att modellen bör generera svaret i enlighet med detta:

response_schemas = [
ResponseSchema ( namn = 'svar' , beskrivning = 'svara på frågan' ) ,
ResponseSchema ( namn = 'källa' , beskrivning = 'webbplatskälla som används för att få svaret' )
]
output_parser = StructuredOutputParser.from_response_schemas ( response_schemas )

Steg 3: Formatera mall

Efter att ha konfigurerat schemat för utdata, ställ helt enkelt in mallen för inmatningen på det naturliga språket så att modellen kan förstå frågorna innan du hämtar svaret för det:

format_instructions = output_parser.get_format_instructions ( )
prompt = PromptTemplate (
mall = 'Ge svar på användarens fråga. \n {mall} \n {fråga}' ,
input_variables = [ 'fråga' ] ,
partiella_variabler = { 'mall' : format_instructions }
)

Metod 1: Använda språkmodellen

Efter att ha konfigurerat formatmallarna för frågor och svar, bygg helt enkelt modellen med funktionen OpenAI():

modell = OpenAI ( temperatur = 0 )

Ställ in prompten i ' fråga ” variabel och skicka den till format_prompt() fungera som indata och lagra sedan svaret i ' produktion ' variabel:

_input = prompt.format_prompt ( fråga = 'hur många kontinenter finns det i världen' )
output = modell ( _input.to_string ( ) )

Ring parse() funktion med utdatavariabeln som argument för att få svaret från modellen:

output_parser.parse ( produktion )

Utdataparsern får svaret på frågan och visar ett detaljerat svar med länken till sidan på webbplatsen som används för att få svaret:

Metod 2: Använda chattmodellen

För att få resultat från utdataparsern i LangChain, använd chat_model variabel nedan:

chat_model = ChatOpenAI ( temperatur = 0 )

För att förstå prompten, konfigurera promptmallen för chattmodellen. Generera sedan svaret enligt inmatningen:

prompt = ChatPromptTemplate (
meddelanden = [
HumanMessagePromptTemplate.from_template ( 'Ge svar på användarens fråga. \n {format_instructions} \n {fråga}' )
] ,
input_variables = [ 'fråga' ] ,
partiella_variabler = { 'format_instructions' : format_instructions }
)

Efter det anger du bara inmatningen i ' fråga ” och skicka den sedan till chat_model() funktion för att få utdata från modellen:

_input = prompt.format_prompt ( fråga = 'USA står för' )
output = chat_model ( _input.to_messages ( ) )

För att få svaret från chattmodellen, använd output_parser som lagrar resultatet från ' produktion ' variabel:

output_parser.parse ( output.content )

Chattmodellen visade svaret för frågan och namnet på webbplatsen som används för att få svaret från internet:

Det handlar om att använda en strukturerad utdataparser i LangChain.

Slutsats

För att använda den strukturerade utdataparsern i LangChain, installera helt enkelt modulerna LangChain och OpenAI för att komma igång med processen. Därefter ansluter du till OpenAI-miljön med dess API-nyckel och konfigurerar sedan uppmanings- och svarsmallarna för modellen. Utdataparsern kan användas med antingen en språkmodell eller en chattmodell. Den här guiden förklarar användningen av utdataparsern med båda metoderna.