Paano Gamitin ang Structured Output Parser sa LangChain?

Paano Gamitin Ang Structured Output Parser Sa Langchain



Ang LangChain ay ang balangkas upang bumuo ng mga modelo ng chat at LLM upang makakuha ng impormasyon mula sa dataset o sa internet gamit ang kapaligiran ng OpenAI. Ang structured output parser ay ginagamit upang makakuha ng maramihang mga field o mga tugon tulad ng aktwal na sagot at ilang karagdagang nauugnay na impormasyon. Ang mga output parser library ay maaaring gamitin sa LangChain upang kunin ang data gamit ang mga modelong ginawa bilang mga LLM o mga modelo ng chat.

Ipinakita ng post na ito ang proseso ng paggamit ng structured output parser sa LangChain.







Paano Gamitin ang Structured Output Parser sa LangChain?

Para magamit ang structured output parser sa LangChain, dumaan lang sa mga hakbang na ito:



Hakbang 1: I-install ang Mga Prerequisite



Simulan ang proseso sa pamamagitan ng pag-install ng LangChain framework kung hindi pa ito naka-install sa iyong Python environment:





pip i-install langchain



I-install ang OpenAI framework para ma-access ang mga pamamaraan nito sa pagbuo ng parser sa LangChain:

pip i-install openai

Pagkatapos nito, kumonekta lang sa kapaligiran ng OpenAI gamit ang API key nito upang ma-access ang kapaligiran nito gamit ang ' ikaw ” library at ibigay ang API key gamit ang “ getpass ” library:

import sa amin
import getpass

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

Hakbang 2: Bumuo ng Schema para sa Output/Tugon

Pagkatapos makuha ang koneksyon sa OpenAI, i-import lamang ang mga aklatan upang bumuo ng schema para sa pagbuo ng output:

mula sa langchain.output_parsers import StructuredOutputParser, ResponseSchema
mula sa langchain.prompts import PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
mula sa langchain.llms import OpenAI
mula sa langchain.chat_models import ChatOpenAI

Tukuyin ang schema para sa tugon ayon sa kinakailangan upang ang modelo ay dapat bumuo ng tugon nang naaayon:

response_schemas = [
ResponseSchema ( pangalan = 'sagot' , paglalarawan = 'sagot sa tanong' ) ,
ResponseSchema ( pangalan = 'pinagmulan' , paglalarawan = 'pinagmulan ng website na ginagamit upang makuha ang sagot' )
]
output_parser = StructuredOutputParser.from_response_schemas ( response_schemas )

Hakbang 3: Format ng Template

Pagkatapos i-configure ang schema para sa output, itakda lang ang template para sa input sa natural na wika upang maunawaan ng modelo ang mga tanong bago kunin ang tugon para dito:

format_instructions = output_parser.get_format_instructions ( )
prompt = PromptTemplate (
template = 'Magbigay ng tugon sa tanong ng gumagamit. \n {template} \n {tanong}' ,
input_variables = [ 'tanong' ] ,
partial_variables = { 'template' : format_instructions }
)

Paraan 1: Paggamit ng Modelo ng Wika

Pagkatapos i-configure ang mga template ng format para sa mga tanong at sagot, buuin lang ang modelo gamit ang OpenAI() function:

modelo = OpenAI ( temperatura = 0 )

Itakda ang prompt sa “ tanong ” variable at ipasa ito sa format_prompt() function bilang input at pagkatapos ay iimbak ang sagot sa “ output ” variable:

_input = prompt.format_prompt ( tanong = 'ilang kontinente ang nasa mundo' )
output = modelo ( _input.to_string ( ) )

Tawagan ang parse() function na may output variable bilang argument nito upang makuha ang sagot mula sa modelo:

output_parser.parse ( output )

Nakukuha ng output parser ang sagot para sa query at nagpapakita ng detalyadong tugon kasama ang link sa pahina ng website na ginagamit upang makuha ang tugon:

Paraan 2: Paggamit ng Chat Model

Upang makakuha ng mga resulta mula sa output parser sa LangChain, gamitin ang chat_model variable sa ibaba:

chat_model = ChatOpenAI ( temperatura = 0 )

Upang maunawaan ang prompt, i-configure ang prompt na template para sa modelo ng chat. Pagkatapos, bumuo ng tugon ayon sa input:

prompt = ChatPromptTemplate (
mga mensahe = [
HumanMessagePromptTemplate.from_template ( 'Magbigay ng tugon sa tanong ng gumagamit. \n {format_instructions} \n {tanong}' )
] ,
input_variables = [ 'tanong' ] ,
partial_variables = { 'format_instructions' : format_instructions }
)

Pagkatapos nito, ibigay lamang ang input sa ' tanong ” variable at pagkatapos ay ipasa ito sa chat_model() function upang makuha ang output mula sa modelo:

_input = prompt.format_prompt ( tanong = 'Ang USA ay nangangahulugang' )
output = chat_model ( _input.to_messages ( ) )

Upang makuha ang tugon mula sa modelo ng chat, gamitin ang output_parser na nag-iimbak ng resulta mula sa ' output ” variable:

output_parser.parse ( output.nilalaman )

Ang modelo ng chat ay nagpakita ng sagot para sa query at ang pangalan ng website na ginagamit upang makuha ang sagot mula sa internet:

Iyon ay tungkol sa paggamit ng structured output parser sa LangChain.

Konklusyon

Para magamit ang structured output parser sa LangChain, i-install lang ang LangChain at OpenAI modules para makapagsimula sa proseso. Pagkatapos noon, kumonekta sa OpenAI environment gamit ang API key nito at pagkatapos ay i-configure ang prompt at response templates para sa modelo. Ang output parser ay maaaring gamitin sa alinman sa isang modelo ng wika o isang modelo ng chat. Ipinapaliwanag ng gabay na ito ang paggamit ng output parser sa parehong mga pamamaraan.