Hoe gebruik ik gestructureerde uitvoerparser in LangChain?

Hoe Gebruik Ik Gestructureerde Uitvoerparser In Langchain



LangChain is het raamwerk om chatmodellen en LLM's te bouwen om informatie uit de dataset of internet te halen met behulp van de OpenAI-omgeving. De gestructureerde uitvoerparser wordt gebruikt om meerdere velden of antwoorden te verkrijgen, zoals het daadwerkelijke antwoord en wat extra gerelateerde informatie. De uitvoerparserbibliotheken kunnen met LangChain worden gebruikt om gegevens te extraheren met behulp van de modellen die zijn gebouwd als LLM's of chatmodellen.

Dit bericht demonstreerde het proces van het gebruik van de gestructureerde uitvoerparser in LangChain.







Hoe gebruik ik gestructureerde uitvoerparser in LangChain?

Om de gestructureerde uitvoerparser in LangChain te gebruiken, doorloopt u eenvoudigweg deze stappen:



Stap 1: vereisten installeren



Start het proces door het LangChain-framework te installeren als dit nog niet in uw Python-omgeving is geïnstalleerd:





Pip installeren langketen



Installeer het OpenAI-framework om toegang te krijgen tot de methoden om een ​​parser in LangChain te bouwen:

Pip installeren openai

Maak daarna eenvoudig verbinding met de OpenAI-omgeving met behulp van de API-sleutel om toegang te krijgen tot de omgeving met behulp van de “ Jij ”-bibliotheek en geef de API-sleutel op met behulp van de “ Krijg een pas ' bibliotheek:

importeer ons
getpass importeren

os.omgeving [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API-sleutel:' )

Stap 2: Bouw een schema voor de uitvoer/reactie

Nadat u de verbinding met de OpenAI heeft gemaakt, importeert u eenvoudigweg de bibliotheken om het schema op te bouwen voor het genereren van de uitvoer:

van langchain.output_parsers importeer StructuredOutputParser, ResponseSchema
van langchain.prompts importeer PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
van langchain.llms importeer OpenAI
van langchain.chat_models importeer ChatOpenAI

Geef het schema voor het antwoord op volgens de vereiste, zodat het model het antwoord dienovereenkomstig moet genereren:

respons_schema's = [
    ResponseSchema ( naam = 'antwoord' , beschrijving = 'antwoord op de vraag' ) ,
    ResponseSchema ( naam = 'bron' , beschrijving = 'websitebron die wordt gebruikt om het antwoord te krijgen' )
]
output_parser = StructuredOutputParser.from_response_schemas ( respons_schema's )

Stap 3: Sjabloon opmaken

Nadat u het schema voor de uitvoer hebt geconfigureerd, stelt u eenvoudigweg de sjabloon voor de invoer in de natuurlijke taal in, zodat het model de vragen kan begrijpen voordat het antwoord ervoor wordt opgehaald:

format_instructions = uitvoer_parser.get_format_instructions ( )
prompt = Promptsjabloon (
sjabloon = 'Geef antwoord op de vraag van de gebruiker. \N {sjabloon} \N {vraag}' ,
invoervariabelen = [ 'vraag' ] ,
gedeeltelijke_variabelen = { 'sjabloon' : format_instructions }
)

Methode 1: Het taalmodel gebruiken

Na het configureren van de formaatsjablonen voor vragen en antwoorden, bouwt u eenvoudig het model met behulp van de OpenAI()-functie:

model = OpenAI ( temperatuur = 0 )

Stel de prompt in de “ vraag 'variabele en geef deze door aan de format_prompt() fungeren als invoer en slaan het antwoord vervolgens op in de “ uitgang ”variabele:

_input = prompt.format_prompt ( vraag = 'hoeveel continenten zijn er in de wereld' )
uitvoer = model ( _invoer.naar_string ( ) )

Bel de ontleden() functie met de uitvoervariabele als argument om het antwoord uit het model te krijgen:

uitvoer_parser.parse ( uitgang )

De uitvoerparser krijgt het antwoord op de vraag en geeft een gedetailleerd antwoord weer met de link naar de pagina van de website die wordt gebruikt om het antwoord te krijgen:

Methode 2: Het chatmodel gebruiken

Om resultaten van de uitvoerparser in LangChain te krijgen, gebruikt u de chat_model variabele hieronder:

chat_model = ChatOpenAI ( temperatuur = 0 )

Om de prompt te begrijpen, configureert u de promptsjabloon voor het chatmodel. Genereer vervolgens het antwoord op basis van de invoer:

prompt = ChatPrompt-sjabloon (
berichten = [
HumanMessagePromptTemplate.from_template ( 'Geef antwoord op de vraag van de gebruiker. \N {format_instructions} \N {vraag}' )
] ,
invoervariabelen = [ 'vraag' ] ,
gedeeltelijke_variabelen = { 'format_instructions' : format_instructions }
)

Geef daarna eenvoudigweg de invoer op in de “ vraag ”variabele en geef deze vervolgens door aan de chat_model() functie om de uitvoer van het model te verkrijgen:

_input = prompt.format_prompt ( vraag = 'VS staat voor' )
uitvoer = chat_model ( _invoer.naar_berichten ( ) )

Om het antwoord van het chatmodel te krijgen, gebruikt u de output_parser die het resultaat opslaat van de “ uitgang ”variabele:

uitvoer_parser.parse ( uitvoer.inhoud )

Het chatmodel toonde het antwoord op de vraag en de naam van de website die wordt gebruikt om het antwoord van internet te krijgen:

Dat gaat allemaal over het gebruik van een gestructureerde uitvoerparser in LangChain.

Conclusie

Om de gestructureerde uitvoerparser in LangChain te gebruiken, installeert u eenvoudig de modules LangChain en OpenAI om aan de slag te gaan met het proces. Maak daarna verbinding met de OpenAI-omgeving met behulp van de API-sleutel en configureer vervolgens de prompt- en responssjablonen voor het model. De uitvoerparser kan worden gebruikt met een taalmodel of een chatmodel. In deze handleiding wordt het gebruik van de uitvoerparser met beide methoden uitgelegd.