Cung cấp ví dụ few-shot
Mặc dù structured outputs mô tả cách bạn muốn dữ liệu được trả về, vẫn còn nhiều chỗ có thể bị diễn giải khác nhau về việc cần trả về những gì.
Lớp Field cho phép bạn cung cấp các giá trị ví dụ để giúp LLM hiểu thế nào là một lần trích xuất tốt. Đây là một ví dụ về few-shot prompting cho structured outputs.
Bạn sẽ mở rộng lớp Character để có thêm trường id nhằm định danh duy nhất các nhân vật. Bạn muốn cung cấp cho mô hình hai ví dụ để tham khảo: "romeo-montague" và "lady-capulet".
Bài tập này là một phần của khóa học
Graph RAG với LangChain và Neo4j
Hướng dẫn bài tập
- Chỉ định từ khóa để cung cấp các giá trị ví dụ cho thuộc tính
id.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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."""})