54b8c3119d21d73a84b48fbd742148cf412d49a0
Задание 2: Сырой текст задания → плоская карточка
Описание
Модуль разбора одного формулировки задания в компактную структурированную сводку. Использует LLM-цепочку (LangChain) + PydanticOutputParser для извлечения полей из неструктурированного текста.
Стек
- Python 3.10+
- langchain-core, langchain-openai, pydantic, python-dotenv
Установка
pip install -r requirements.txt
cp .env.example .env
# Заполнить OPENAI_API_KEY в .env
Запуск
python main.py
Что делает
- Описывает Pydantic-модель
TaskCardс полями:title,subject,deadline_hint,deliverable_type,grading_hints - Собирает цепочку: шаблон промпта → LLM → PydanticOutputParser
- В промпте явно просит модель вернуть данные в формате, ожидаемом парсером
- Выводит валидированный объект (
model_dump()) и краткую человекочитаемую сводку - Один запрос — один проход, без уточняющих вопросов
Пример вывода
📝 Входной текст:
"Сдайте к пятнице мини-отчёт по LangChain: 2 страницы, упор на агентов. Оценка: за полноту и за пример кода."
=== Карточка задания ===
Название: Мини-отчёт по LangChain
Предмет: LangChain
Дедлайн: к пятнице
Тип результата: отчёт
Критерии: полнота, пример кода
=== JSON (model_dump) ===
{'title': 'Мини-отчёт по LangChain', 'subject': 'LangChain', ...}
Description
Задание 2: Сырой текст задания → плоская карточка. Structured Output с Pydantic и LangChain.
Languages
Python
100%