Hvordan man bruger Structured Output Parser i LangChain?

Hvordan Man Bruger Structured Output Parser I Langchain



LangChain er rammen til at bygge chatmodeller og LLM'er for at få information fra datasættet eller internettet ved hjælp af OpenAI-miljøet. Den strukturerede outputparser bruges til at få flere felter eller svar som det faktiske svar og nogle ekstra relaterede oplysninger. Output-parserbibliotekerne kan bruges med LangChain til at udtrække data ved hjælp af modellerne bygget som LLM'er eller chatmodeller.

Dette indlæg demonstrerede processen med at bruge den strukturerede outputparser i LangChain.







Hvordan man bruger Structured Output Parser i LangChain?

For at bruge den strukturerede output-parser i LangChain skal du blot gennemgå disse trin:



Trin 1: Installer forudsætninger



Start processen ved at installere LangChain frameworket, hvis det ikke allerede er installeret i dit Python-miljø:





pip installere langkæde



Installer OpenAI frameworket for at få adgang til dets metoder til at bygge en parser i LangChain:

pip installere openai

Derefter skal du blot oprette forbindelse til OpenAI-miljøet ved hjælp af dets API-nøgle for at få adgang til dets miljø ved hjælp af ' du '-biblioteket og angiv API-nøglen ved hjælp af ' getpass ” bibliotek:

import os
importere getpass

os.miljø [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API-nøgle:' )

Trin 2: Byg skema for output/svar

Efter at have fået forbindelsen til OpenAI, skal du blot importere bibliotekerne for at bygge skemaet til generering af output:

fra langchain.output_parsers importer StructuredOutputParser, ResponseSchema
fra langchain.prompts importer PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
fra langchain.llms importerer OpenAI
fra langchain.chat_models importerer ChatOpenAI

Angiv skemaet for svaret i henhold til kravet, så modellen skal generere svaret i overensstemmelse hermed:

response_skemaer = [
ResponseSkema ( navn = 'svar' , beskrivelse = 'svar på forespørgslen' ) ,
ResponseSkema ( navn = 'kilde' , beskrivelse = 'webstedskilde, der bruges til at få svaret' )
]
output_parser = StructuredOutputParser.from_response_schemas ( svarskemaer )

Trin 3: Formatér skabelon

Efter at have konfigureret skemaet for outputtet, skal du blot indstille skabelonen for input i det naturlige sprog, så modellen kan forstå spørgsmålene, før den henter svaret for det:

format_instructions = output_parser.get_format_instructions ( )
prompt = PromptTemplate (
skabelon = 'Giv svar på brugerens spørgsmål. \n {skabelon} \n {forespørgsel}' ,
input_variables = [ 'forespørgsel' ] ,
partielle_variabler = { 'skabelon' : format_instructions }
)

Metode 1: Brug af sprogmodellen

Efter at have konfigureret formatskabelonerne til spørgsmål og svar, skal du blot bygge modellen ved hjælp af OpenAI()-funktionen:

model = OpenAI ( temperatur = 0 )

Indstil prompten i ' forespørgsel ” variabel og videregive den til format_prompt() fungere som input og gem derefter svaret i ' produktion variabel:

_input = prompt.format_prompt ( forespørgsel = 'hvor mange kontinenter er der i verden' )
output = model ( _input.to_string ( ) )

Ring til parse() funktion med outputvariablen som argument for at få svaret fra modellen:

output_parser.parse ( produktion )

Outputparseren får svaret på forespørgslen og viser et detaljeret svar med linket til siden på webstedet, som bruges til at få svaret:

Metode 2: Brug af chatmodellen

For at få resultater fra output-parseren i LangChain skal du bruge chat_model variabel nedenfor:

chat_model = ChatOpenAI ( temperatur = 0 )

For at forstå prompten skal du konfigurere promptskabelonen for chatmodellen. Generer derefter svaret i henhold til inputtet:

prompt = ChatPromptTemplate (
Beskeder = [
HumanMessagePromptTemplate.from_template ( 'Giv svar på brugerens spørgsmål. \n {format_instructions} \n {forespørgsel}' )
] ,
input_variables = [ 'forespørgsel' ] ,
partielle_variabler = { 'format_instructions' : format_instructions }
)

Derefter skal du blot angive input i ' forespørgsel ” variabel og derefter videregive den til chat_model() funktion for at få output fra modellen:

_input = prompt.format_prompt ( forespørgsel = 'USA står for' )
output = chat_model ( _input.to_messages ( ) )

For at få svaret fra chatmodellen skal du bruge output_parser, der gemmer resultatet fra ' produktion variabel:

output_parser.parse ( output.indhold )

Chatmodellen viste svaret for forespørgslen og navnet på webstedet, som bruges til at få svaret fra internettet:

Det handler om at bruge en struktureret output-parser i LangChain.

Konklusion

For at bruge den strukturerede output-parser i LangChain skal du blot installere LangChain- og OpenAI-modulerne for at komme i gang med processen. Derefter skal du oprette forbindelse til OpenAI-miljøet ved hjælp af dets API-nøgle og derefter konfigurere prompt- og svarskabelonerne for modellen. Output-parseren kan bruges med enten en sprogmodel eller en chatmodel. Denne vejledning forklarer brugen af ​​outputparseren med begge metoder.