LangChain - Parte2

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.