Podawanie przykładów few-shot
Strukturyzowane dane wyjściowe określają, w jakiej formie mają być zwracane informacje, ale nadal pozostawiają sporo swobody interpretacji co do tego, co dokładnie powinno zostać zwrócone.
Klasa Field pozwala podać przykładowe wartości, które informują LLM, jak wygląda dobre wyodrębnienie danych. To przykład podejścia few-shot do strukturyzowanych danych wyjściowych.
Rozszerzysz klasę Character o pole id służące do jednoznacznej identyfikacji postaci. Chcesz dostarczyć modelowi dwa przykłady, na których może się oprzeć: "romeo-montague" i "lady-capulet".
To ćwiczenie jest częścią kursu
Graph RAG z LangChain i Neo4j
Instrukcje do ćwiczenia
- Podaj słowo kluczowe umożliwiające określenie przykładowych wartości dla właściwości
id.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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."""})