Kako koristiti Structured Output Parser u LangChainu?

Kako Koristiti Structured Output Parser U Langchainu



LangChain je okvir za izgradnju modela chata i LLM-ova za dobivanje informacija iz skupa podataka ili interneta pomoću okruženja OpenAI. Parser strukturiranog izlaza koristi se za dobivanje višestrukih polja ili odgovora poput stvarnog odgovora i nekih dodatnih povezanih informacija. Izlazne biblioteke parsera mogu se koristiti s LangChainom za izdvajanje podataka pomoću modela izgrađenih kao LLM-ovi ili chat modeli.

Ovaj post demonstrira postupak korištenja strukturiranog izlaznog parsera u LangChainu.







Kako koristiti Structured Output Parser u LangChainu?

Da biste koristili strukturirani izlazni parser u LangChainu, jednostavno prođite kroz ove korake:



Korak 1: Instalirajte preduvjete



Pokrenite postupak instaliranjem okvira LangChain ako već nije instaliran u vašem Python okruženju:





pip instalirati langchain



Instalirajte okvir OpenAI za pristup njegovim metodama za izradu parsera u LangChainu:

pip instalirati openai

Nakon toga, jednostavno se povežite s OpenAI okruženjem koristeći njegov API ključ za pristup njegovom okruženju koristeći ' vas ” biblioteku i navedite API ključ koristeći „ getpass ” knjižnica:

uvezi nas
import getpass

os.okolina [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API ključ:' )

Korak 2: Izgradite shemu za izlaz/odgovor

Nakon uspostavljanja veze s OpenAI-jem, jednostavno uvezite biblioteke za izgradnju sheme za generiranje izlaza:

iz langchain.output_parsers uvozi StructuredOutputParser, ResponseSchema
iz langchain.prompts import PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
iz langchain.llms uvozi OpenAI
iz langchain.chat_models uvesti ChatOpenAI

Navedite shemu za odgovor prema zahtjevu kako bi model trebao generirati odgovor u skladu s tim:

sheme_odgovora = [
Shema odgovora ( Ime = 'odgovor' , opis = 'odgovori na upit' ) ,
Shema odgovora ( Ime = 'izvor' , opis = 'izvor web stranice koji se koristi za dobivanje odgovora' )
]
output_parser = StructuredOutputParser.from_response_schemas ( sheme_odgovora )

Korak 3: Formatirajte predložak

Nakon konfiguriranja sheme za izlaz, jednostavno postavite predložak za unos na prirodnom jeziku kako bi model mogao razumjeti pitanja prije nego što dohvati odgovor za njega:

format_instructions = output_parser.get_format_instructions ( )
prompt = Predložak upita (
šablona = 'Odgovorite na pitanje korisnika. \n {predložak} \n {upit}' ,
ulazne_varijable = [ 'upit' ] ,
djelomične_varijable = { 'predložak' : format_instructions }
)

1. metoda: korištenje jezičnog modela

Nakon konfiguriranja predložaka formata za pitanja i odgovore, jednostavno izgradite model pomoću funkcije OpenAI():

model = OpenAI ( temperatura = 0 )

Postavite upit u ' upit ” varijabli i proslijedite je u format_prompt() funkcionirati kao ulaz, a zatim pohraniti odgovor u ' izlaz ” varijabla:

_input = prompt.format_prompt ( upit = 'koliko ima kontinenata na svijetu' )
izlaz = model ( _input.to_string ( ) )

Nazovite raščlaniti() funkcija s izlaznom varijablom kao argumentom za dobivanje odgovora iz modela:

izlaz_parser.raščlaniti ( izlaz )

Izlazni parser dobiva odgovor za upit i prikazuje detaljan odgovor s vezom na stranicu web stranice koja se koristi za dobivanje odgovora:

Metoda 2: Korištenje modela razgovora

Da biste dobili rezultate iz izlaznog parsera u LangChainu, koristite chat_model varijabla ispod:

chat_model = ChatOpenAI ( temperatura = 0 )

Da biste razumjeli upit, konfigurirajte predložak upita za model chata. Zatim generirajte odgovor prema unosu:

prompt = ChatPromptTemplate (
poruke = [
HumanMessagePromptTemplate.from_template ( 'Odgovorite na pitanje korisnika. \n {format_instructions} \n {upit}' )
] ,
ulazne_varijable = [ 'upit' ] ,
djelomične_varijable = { 'format_instructions' : format_instructions }
)

Nakon toga jednostavno unesite unos u ' upit ” varijabli i proslijedite je u chat_model() funkcija za dobivanje izlaza iz modela:

_input = prompt.format_prompt ( upit = 'SAD se zalaže za' )
izlaz = chat_model ( _input.to_messages ( ) )

Da biste dobili odgovor iz modela chata, koristite output_parser koji pohranjuje rezultat iz ' izlaz ” varijabla:

izlaz_parser.raščlaniti ( izlaz.sadržaj )

Model chata prikazao je odgovor na upit i naziv web stranice koja se koristi za dobivanje odgovora s interneta:

To je sve o korištenju strukturiranog izlaznog parsera u LangChainu.

Zaključak

Da biste koristili strukturirani izlazni parser u LangChainu, jednostavno instalirajte module LangChain i OpenAI da biste započeli s procesom. Nakon toga, spojite se na okruženje OpenAI pomoću njegovog API ključa, a zatim konfigurirajte predloške upita i odgovora za model. Parser izlaza može se koristiti ili s jezičnim modelom ili s modelom chata. Ovaj vodič objašnjava korištenje izlaznog parsera s obje metode.