Proporcionar ejemplos few-shot
Aunque los resultados estructurados describen cómo te gustaría que se devolvieran los datos, aún dejan mucho margen de interpretación sobre qué se debe devolver.
La clase Field te permite proporcionar valores de ejemplo que dan al LLM información sobre cómo es una buena extracción. Esto es un ejemplo de few-shot prompting para resultados estructurados.
Vas a extender la clase Character para que incluya un campo id que identifique de forma única a los personajes. Quieres proporcionar al modelo dos ejemplos de los que pueda aprender: "romeo-montague" y "lady-capulet".
Este ejercicio forma parte del curso
Graph RAG con LangChain y Neo4j
Instrucciones del ejercicio
- Especifica la palabra clave para proporcionar valores de ejemplo para la propiedad
id.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
class Character(BaseModel):
id: str = Field(
description="A unique identifer consisting of the Character's given name and their family name in slug case.",
# Provide example values of an ID
____=["romeo-montague", "lady-capulet"]
)
name: str = Field(description="The name of the character")
chain = prompt | llm.with_structured_output(Character)
chain.invoke({"text": """JULIET.
O Romeo, Romeo, wherefore art thou Romeo? Deny thy father and refuse thy name. Or if thou wilt not, be but sworn my love, And I’ll no longer be a Capulet."""})