Добавление примеров для метода few-shot
Структурированные выходные данные описывают желаемый формат ответа, однако оставляют много свободы в том, что именно должно быть возвращено.
Класс Field позволяет задавать примеры значений, которые помогают языковой модели понять, как должно выглядеть качественное извлечение данных. Это пример few-shot промптинга для структурированных выходных данных.
Вы расширите класс Character, добавив поле id для уникальной идентификации персонажей. Модели необходимо предоставить два примера для ориентира: "romeo-montague" и "lady-capulet".
Это упражнение является частью курса
Graph RAG с LangChain и Neo4j
Инструкции к упражнению
- Укажите ключевое слово для задания примеров значений свойства
id.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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."""})