Example Selector
En este penúltimo ejemplo de LangChain , usamos los Example Selector, que son plantillas para traducir las respuestas de OpenAi o otro modelo en el formato que necesitemos:
from langchain_core.prompts import PromptTemplate, FewShotPromptTemplate
from langchain.llms import OpenAI
import config
api = config.OPENAI_API_KEY
ejemplos = [
{'pregunta': '¿Cuál es el ingrediente principal de la pizza', 'respuesta': 'La masa y salsa de tomate'},
{'pregunta': '¿Cuál es el ingrediente principal de la hamburguesa?', 'respuesta': 'La carne y el pan'},
{'pregunta': '¿Cuál es el ingrediente principal del burrito', 'respuesta': 'Tortilla y carne'}
]
prompt_temp_ejemplos = PromptTemplate(
input_variables=["pregunta", "respuesta"],
template="Pregunta:{pregunta}\nRespuesta:{respuesta}"
)
prompt_ejemplos = FewShotPromptTemplate(
example_prompt=prompt_temp_ejemplos,
examples=ejemplos,
prefix="Eres un asistente culinario que responde a las preguntas de manera muy breve",
suffix="Pregunta: {pregunta}\nRespuesta: ",
input_variables=["pregunta"]
)
prompt_value = prompt_ejemplos.format(pregunta="¿Cual es el ingrediente de la tortilla de patata")
De esta manera podemos establecer un contexto, y hacer que OpenAI nos devuelva un resultado contextualizado con los ejemplos que le hemos introducido en FewShotPromptTemplate, y nos devuelva una respuesta en un formato conocido o prefabricado por nosotros.