Output Parser
Por último hemos visto los Output Parser que permite parsear la respuesta de nuestro modelo a una respuesta definida en un formato concreto.
from langchain.output_parsers import CommaSeparatedListOutputParser
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
import config
api = config.OPENAI_API_KEY
output_parser = CommaSeparatedListOutputParser()
format_instructions = output_parser.get_format_instructions()
template_basico_parser = "Cuales son los ingredientes para preparar {platillo}\n{como_parsear}"
prompt_temp_parser = PromptTemplate(
input_variables=["platillo"],
template=template_basico_parser,
partial_variables={"como_parsear": format_instructions}
)
prompt_value_parser = prompt_temp_parser.format(platillo="tortilla de patata")
llm_openai = OpenAI(api_key=api, model_name='text-davinci-003')
respuesta_openai = llm_openai(prompt_value_parser)
print(output_parser.parse(respuesta_openai))
De esta manera podemos definir el tipo de respuesta a partir de un PromptTemplate definido dando mayor versatilidad a la hora de recuperar y mostrar resultados.
A leer: https://www.comet.com/site/blog/mastering-output-parsing-in-langchain/
https://python.langchain.com/docs/modules/model_io/output_parsers/