¿Cómo utilizar el analizador de salida estructurado en LangChain?

Como Utilizar El Analizador De Salida Estructurado En Langchain



LangChain es el marco para crear modelos de chat y LLM para obtener información del conjunto de datos o de Internet utilizando el entorno OpenAI. El analizador de salida estructurado se utiliza para obtener múltiples campos o respuestas, como la respuesta real y alguna información adicional relacionada. Las bibliotecas del analizador de salida se pueden utilizar con LangChain para extraer datos utilizando los modelos creados como LLM o modelos de chat.

Esta publicación demostró el proceso de uso del analizador de salida estructurado en LangChain.







¿Cómo utilizar el analizador de salida estructurado en LangChain?

Para utilizar el analizador de salida estructurado en LangChain, simplemente siga estos pasos:



Paso 1: instalar los requisitos previos



Inicie el proceso instalando el marco LangChain si aún no está instalado en su entorno Python:





pepita instalar cadena larga

 



Instale el marco OpenAI para acceder a sus métodos para crear un analizador en LangChain:

pepita instalar abierto

 

Después de eso, simplemente conéctese al entorno OpenAI usando su clave API para acceder a su entorno usando el botón ' ' Biblioteca y proporcione la clave API utilizando el ' conseguir pase ' biblioteca:

importarnos
importar obtener pase

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

 

Paso 2: crear un esquema para la salida/respuesta

Después de obtener la conexión a OpenAI, simplemente importe las bibliotecas para crear el esquema para generar el resultado:

desde langchain.output_parsers importe StructuredOutputParser, ResponseSchema
desde langchain.prompts importe PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
desde langchain.llms importar OpenAI
desde langchain.chat_models importar ChatOpenAI

 

Especifique el esquema para la respuesta según el requisito para que el modelo genere la respuesta en consecuencia:

esquemas_respuesta = [
Esquema de respuesta ( nombre = 'respuesta' , descripción = 'responder a la consulta' ) ,
Esquema de respuesta ( nombre = 'fuente' , descripción = 'fuente del sitio web que se utiliza para obtener la respuesta' )
]
output_parser = StructuredOutputParser.from_response_schemas ( esquemas_respuesta )

 

Paso 3: Formatear la plantilla

Después de configurar el esquema para la salida, simplemente configure la plantilla para la entrada en el lenguaje natural para que el modelo pueda comprender las preguntas antes de buscar la respuesta:

format_instructions = salida_parser.get_format_instructions ( )
aviso = Plantilla de aviso (
    plantilla = 'Dar respuesta a la pregunta del usuario. \norte {plantilla} \norte {consulta}' ,
    variables_entrada = [ 'consulta' ] ,
    variables_parciales = { 'plantilla' : instrucciones_formato }
)

 

Método 1: utilizar el modelo de lenguaje

Después de configurar las plantillas de formato para preguntas y respuestas, simplemente cree el modelo usando la función OpenAI():

modelo = OpenAI ( temperatura = 0 )

 

Establezca el mensaje en el ' consulta ”variable y pasarla a la formato_prompt() funciona como entrada y luego almacena la respuesta en el archivo ' producción ' variable:

_input = solicitud.formato_prompt ( consulta = 'cuantos continentes hay en el mundo' )
salida = modelo ( _entrada.a_cadena ( ) )

 

Llama a analizar gramaticalmente() funciona con la variable de salida como argumento para obtener la respuesta del modelo:

salida_parser.parse ( producción )

 

El analizador de salida obtiene la respuesta a la consulta y muestra una respuesta detallada con el enlace a la página del sitio web que se utiliza para obtener la respuesta:

Método 2: usar el modelo de chat

Para obtener resultados del analizador de salida en LangChain, use el modelo_chat variable a continuación:

chat_model = ChatOpenAI ( temperatura = 0 )

 

Para comprender el mensaje, configure la plantilla de mensaje para el modelo de chat. Luego, genere la respuesta según la entrada:

mensaje = ChatPromptTemplate (
    mensajes = [
HumanMessagePromptTemplate.from_template ( 'Dar respuesta a la pregunta del usuario. \norte {formato_instrucciones} \norte {consulta}' )  
    ] ,
    variables_entrada = [ 'consulta' ] ,
    variables_parciales = { 'instrucciones_formato' : instrucciones_formato }
)

 

Después de eso, simplemente proporcione la entrada en el cuadro ' consulta ”variable y luego pasarla a la modelo_chat() función para obtener la salida del modelo:

_input = solicitud.formato_prompt ( consulta = 'Estados Unidos representa' )
salida = modelo_chat ( _entrada.a_mensajes ( ) )

 

Para obtener la respuesta del modelo de chat, utilice el output_parser que almacena el resultado del ' producción ' variable:

salida_parser.parse ( salida.contenido )

 

El modelo de chat mostró la respuesta a la consulta y el nombre del sitio web que se utiliza para obtener la respuesta de Internet:

Se trata de utilizar un analizador de salida estructurado en LangChain.

Conclusión

Para utilizar el analizador de salida estructurado en LangChain, simplemente instale los módulos LangChain y OpenAI para comenzar con el proceso. Después de eso, conéctese al entorno OpenAI usando su clave API y luego configure las plantillas de solicitud y respuesta para el modelo. El analizador de salida se puede utilizar con un modelo de lenguaje o con un modelo de chat. Esta guía explica el uso del analizador de salida con ambos métodos.