Fornecendo exemplos few-shot
Embora as saídas estruturadas descrevam como você gostaria que os dados fossem retornados, ainda fica muita margem para interpretação sobre o que exatamente deve ser retornado.
A classe Field permite fornecer valores de exemplo que dão ao LLM uma referência do que é uma boa extração. Isso é um exemplo de few-shot prompting para saídas estruturadas.
Você vai estender a classe Character para conter um campo id para identificar personagens de forma exclusiva. Você quer fornecer ao modelo dois exemplos para ele se basear: "romeo-montague" e "lady-capulet".
Este exercicio faz parte do curso
Graph RAG com LangChain e Neo4j
Instruções do exercicio
- Especifique a palavra-chave para fornecer valores de exemplo para a propriedade
id.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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."""})