2026-05-27 13:36:02 +00:00
2026-05-27 13:32:34 +00:00
2026-05-27 13:36:02 +00:00
2026-05-27 13:32:54 +00:00
2026-05-27 13:31:45 +00:00

Task 6a1484a292f7bbc573321443 "сырой текст задания → плоская карточка"

Что делает проект

Этот репозиторий содержит решение задачи «Преобразовать свободный текст описания задания в структурированную карточку». В качестве примера используется LangChain и Pydantic для генерации JSON‑объекта, который можно дальше использовать в пайплайне.

Структура репозитория

Файл Назначение
main.py Точка входа. Содержит модель данных, цепочку LangChain и примеры использования.
requirements.txt Зависимости проекта (без точных версий).
README.md Текущий файл – описание проекта, инструкции по установке и запуску.

Установка

# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\activate

# Установите зависимости
pip install -r requirements.txt

Как запустить

python main.py

Скрипт выполнит три примера преобразования текста в карточку и выведет результат.

Архитектура решения

  1. Pydantic‑модель TaskCard описывает структуру выходных данных: название, предмет, подсказка по сроку, тип сдачи и список критериев оценки.
  2. PromptTemplate + PydanticOutputParser – шаблон запроса к LLM с инструкцией вернуть JSON в соответствии с моделью.
  3. ChatOpenAI – подключение к модели BroJS (см. model, base_url и переменную окружения JOURNAL_MCP_PAT).
  4. Асинхронная функция parse_task() объединяет цепочку: шаблон → LLM → парсер.
  5. В блоке __main__ три примера текста, которые проходят через parse_task() и печатаются в читаемом виде.

Пример вывода

Example 1:
Raw text:
Сдайте к пятнице мини‑отчёт по LangChain: 2 страницы, упор на агентов. Оценка: за полноту и за пример кода.

Parsed card:
{
  "title": "Мини‑отчёт по LangChain",
  "subject": null,
  "deadline_hint": "к пятнице",
  "deliverable_type": "отчёт",
  "grading_hints": [
    "полнота",
    "пример кода"
  ]
}

Зависимости

  • langchain-core>=0.3.0
  • langchain-openai>=0.3.0
  • pydantic>=2.0
  • python-dotenv>=1.0.0

Все версии указаны с оператором >=, как требуется в задании.

S
Description
No description provided
Readme 36 KiB
Languages
Python 100%