diff --git a/README.md b/README.md index 9a7b0ed..b18683b 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,46 @@ -# Task 69dd4221f309a98be0006b2e +# Парсер заданий: сырой текст -> TaskCard -## Задача +## Описание +Инструмент для преобразования неформального описания учебного задания в структурированную карточку TaskCard. -Разработать модуль, который принимает неформальное описание задания и преобразует его в -структурированный объект с полями: `title`, `subject`, `deadline_hint`, `deliverable_type`, `grading_hints`. - -## Как использовать +## Структура TaskCard +| Поле | Тип | Описание | +|------|-----|----------| +| title | str | Краткое название | +| subject | str | Тема/предмет | +| deadline | str? | Срок сдачи | +| deliverable | str | Что сдавать | +| requirements | list[str] | Требования | +| difficulty | str | Сложность | +| grading_criteria | str? | Критерии оценки | +| tags | list[str] | Теги | +## Установка ```bash -python main.py "Сдайте к пятнице мини-отчёт по LangChain: 2 страницы, упор на агентов. Оценка: за полноту и за пример кода." +pip install -r requirements.txt ``` -## Требования -- Python 3.10+ -- `langchain-core`, `langchain-openai`, `pydantic`, `python-dotenv` +## Использование +```bash +python main.py +``` -## Структура репозитория -- `main.py` – основной скрипт -- `requirements.txt` – зависимости -- `README.md` – данное описание +Или программно: +```python +from parser import TaskParser +parser = TaskParser() +card = parser.parse("Напишите отчёт по LangChain до пятницы, 5 страниц") +print(card.to_markdown()) +``` + +## Пример вывода +```markdown +## Отчёт по LangChain +**Предмет:** LangChain / Python +**Дедлайн:** пятница +**Сдать:** отчёт (5 страниц) +**Требования:** +- Объём 5 страниц +**Сложность:** средне +**Теги:** langchain, отчёт, python +```