Files
2026-05-27 13:36:49 +00:00

3.3 KiB
Raw Permalink Blame History

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

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

Программа принимает неформальное описание задачи (как в переписке или на сайте курса) и превращает его в структурированный объект TaskCard. Это позволяет дальше работать с данными автоматически – фильтровать, сохранять, передавать в пайплайн.

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

Файл Назначение
models.py Pydantic‑модель TaskCard.
main.py Точка входа: демонстрация цепочки LangChain, вывод примеров.
requirements.txt Зависимости проекта.

Установка и запуск

# 1. Клонируйте репозиторий
git clone https://git.brojs.ru/KirillKutlakhmetov/task-6a1484a292f7bbc573321443.git
cd task-6a1484a292f7bbc573321443

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

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

# 4. Настройте переменную окружения с токеном BroJS
export JOURNAL_MCP_PAT=YOUR_TOKEN_HERE   # Linux/macOS
set JOURNAL_MCP_PAT=YOUR_TOKEN_HERE      # Windows CMD
$env:JOURNAL_MCP_PAT="YOUR_TOKEN_HERE"    # PowerShell

# 5. Запустите пример
python main.py

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

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

Parsed object (model_dump): {'title': 'мини‑отчёт', 'subject': 'LangChain', 'deadline_hint': 'к пятнице', 'deliverable_type': 'отчёт', 'grading_hints': ['полнота', 'пример кода']}
Human-readable summary:
Title: мини‑отчёт
Subject: LangChain
Deadline hint: к пятнице
Deliverable type: отчёт
Grading hints: полнота, пример кода

Как это работает

  1. PromptTemplate формирует запрос к LLM с инструкцией вернуть данные в формате, описанном PydanticOutputParser.
  2. ChatOpenAI (BroJS) генерирует ответ.
  3. Парсер преобразует JSON‑ответ в экземпляр TaskCard, гарантируя типизацию.
  4. В main.py выводятся как сериализованный словарь, так и человекочитаемый резюме.

Тесты

Тестов нет – проект рассчитан на демонстрацию работы цепочки. Для проверки можно запустить python main.py и убедиться в корректности вывода.


Важно: токен BroJS (JOURNAL_MCP_PAT) должен быть действительным, иначе запрос к LLM завершится ошибкой.