Fournir des exemples en few-shot
Même si les sorties structurées décrivent la façon dont vous voulez que les données soient retournées, elles laissent encore place à l'interprétation quant à ce qui doit être retourné.
La classe Field vous permet de fournir des valeurs d'exemple qui indiquent au LLM à quoi ressemble une bonne extraction. Il s'agit d'un exemple de « few-shot prompting » pour des sorties structurées.
Vous allez étendre la classe Character pour y ajouter un champ id permettant d'identifier les personnages de façon unique. Vous voulez fournir au modèle deux exemples dont il pourra s'inspirer : "romeo-montague" et "lady-capulet".
Cette activité fait partie du cours
Graph RAG avec LangChain et Neo4j
Instructions de l’exercice
- Indiquez le mot-clé qui permet de fournir des valeurs d'exemple pour la propriété
id.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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."""})