Files
task2-structured-output/README.md
T

51 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Задание 2: Сырой текст задания → плоская карточка
## Описание
Модуль разбора одного формулировки задания в компактную структурированную сводку.
Использует LLM-цепочку (LangChain) + PydanticOutputParser для извлечения полей из неструктурированного текста.
## Стек
- Python 3.10+
- langchain-core, langchain-openai, pydantic, python-dotenv
## Установка
```bash
pip install -r requirements.txt
cp .env.example .env
# Заполнить OPENAI_API_KEY в .env
```
## Запуск
```bash
python main.py
```
## Что делает
1. Описывает Pydantic-модель `TaskCard` с полями: `title`, `subject`, `deadline_hint`, `deliverable_type`, `grading_hints`
2. Собирает цепочку: шаблон промпта → LLM → PydanticOutputParser
3. В промпте явно просит модель вернуть данные в формате, ожидаемом парсером
4. Выводит валидированный объект (`model_dump()`) и краткую человекочитаемую сводку
5. Один запрос — один проход, без уточняющих вопросов
## Пример вывода
```
📝 Входной текст:
"Сдайте к пятнице мини-отчёт по LangChain: 2 страницы, упор на агентов. Оценка: за полноту и за пример кода."
=== Карточка задания ===
Название: Мини-отчёт по LangChain
Предмет: LangChain
Дедлайн: к пятнице
Тип результата: отчёт
Критерии: полнота, пример кода
=== JSON (model_dump) ===
{'title': 'Мини-отчёт по LangChain', 'subject': 'LangChain', ...}
```