Files

3.6 KiB
Raw Permalink Blame History

Планирующий агент – экзаменационный проект

Описание проекта

В этом репозитории реализован планировщик задач на основе LLM (Large Language Model).
Агент принимает целевое задание и генерирует список шагов, которые необходимо выполнить для достижения цели.

Ключевые технологии:

  • langgraph – библиотека для построения графов состояний с использованием LLM.
  • langchain-openai – обёртка над OpenAI API (можно заменить на langchain-ollama, если хотите использовать локальный LLM).

Структура проекта

├── solution.py          # Основной скрипт, реализующий планировщик
└── README.md            # Текущий файл

Установка зависимостей

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

# Установите зависимости из requirements.txt (если есть) или вручную:
pip install langgraph langchain-openai openai  # для OpenAI API

Важно
Для работы с ChatOpenAI необходимо иметь переменную окружения OPENAI_API_KEY.

export OPENAI_API_KEY="sk-..."

Если вы хотите использовать Ollama вместо OpenAI, замените импорт и вызов LLM:

from langchain_ollama import ChatOllama

# ...
llm = ChatOllama(model="llama3.1", temperature=0.2)

Запуск скрипта

solution.py – это самодостаточный скрипт, который можно запустить напрямую:

python solution.py

При запуске будет предложено ввести цель (goal). После ввода агент сгенерирует список шагов и выведет их на экран.

Пример запуска

$ python solution.py
Введите цель: Создать веб‑страницу для портфолио разработчика.
Генерация плана...
Шаги:
1. Составить структуру HTML (header, main, footer).
2. Подобрать цветовую схему и шрифты.
3. Реализовать адаптивный дизайн с CSS Grid/Flexbox.
4. Добавить интерактивные элементы на JavaScript.
5. Оптимизировать загрузку ресурсов и проверить SEO.

Как использовать в другом коде

from solution import plan_steps, PlannerState

state = {"goal": "Написать научную статью по машинному обучению"}
new_state = plan_steps(state)
print(new_state["steps"])

Возможные улучшения

  • Добавить сохранение истории планов в файл.
  • Интегрировать с langgraph для более сложных цепочек действий (например, проверка корректности шагов).
  • Подключить к UI (Streamlit/Gradio) для интерактивного взаимодействия.

Лицензия

MIT © 2026