| .vscode | ||
| app | ||
| build | ||
| docs | ||
| .gitignore | ||
| build.bat | ||
| Compile.md | ||
| README.md | ||
| requirements.txt | ||
| run-llm-backend.bat | ||
| run-transcribe-parsing.py | ||
| run-transcribe-vosk.py | ||
LLM Agent Backend
Бэкенд-сервер на Python для обеспечения работы интеллектуального агента в Obsidian. Использует LangGraph для управления логикой рассуждений и Flask для взаимодействия с плагином.
Структура проекта
├── llm-agent-backend/ # Корневая директория бэкенда │ ├── app/ # Исходный код приложения │ │ ├── api.py # Flask сервер, HTTP эндпоинты и WebSocket (SocketIO) │ │ ├── run.py # Точка входа для запуска приложения │ │ ├── workflows.py # Определение графов LangGraph и логики потоков │ │ ├── react_agent.py # Реализация ReAct (Reasoning and Acting) агента │ │ ├── llm_client.py # Клиент для работы с моделями (OpenAI, Google, Mistral) │ │ ├── mcp_tools.py # Интеграция с Model Context Protocol (MCP) инструментами │ │ ├── graph_history_manager.py # Управление историей диалогов и состоянием графов в SQLite │ │ ├── voice_service.py # Сервис распознавания речи (Vosk) │ │ ├── title_generator.py # Генерация названий для чатов на основе контекста │ │ ├── heartbeat_monitor.py # Мониторинг активности и состояния подключения │ │ ├── models.py # Описание структур данных и схем │ │ └── services.py # Вспомогательные сервисы │ ├── docs/ # Техническая документация и скриншоты настроек │ ├── env/ # Виртуальное окружение Python (venv) │ ├── build.bat # Скрипт сборки проекта │ ├── requirements.txt # Список зависимостей Python │ ├── run-llm-backend.bat # Батник для быстрого запуска сервера │ └── graph_history.db # БД SQLite с историей графов и сообщений
Основные технологии
- Python 3.11+
- LangChain / LangGraph: Управление состоянием агента и цепочками рассуждений.
- Flask / Flask-SocketIO: API и real-time взаимодействие с Obsidian.
- Vosk / SoundDevice: Локальное распознавание речи.
- SQLite: Хранение истории взаимодействий.
Установка
- Убедитесь, что установлен Python 3.11.
- Создайте виртуальное окружение в папке
env:python -m venv env - Активируйте окружение и установите зависимости:
env\Scripts\activate pip install -r requirements.txt
Запуск
Вариант 1: Через батник (рекомендуется)
Запустите run-llm-backend.bat из корня проекта.
Вариант 2: Вручную из терминала
python app/run.py
Сервер будет доступен по адресу: http://localhost:5000
Ключевые возможности
- Двустороннее общение: Агент может инициировать запросы к Obsidian (через API плагина).
- Инструменты (Tools): Поддержка вызова функций через MCP и кастомные инструменты.
- Память: Сохранение состояния графов, что позволяет продолжать диалог с любого места.
- Голосовое управление: Возможность диктовать команды напрямую в микрофон с транскрибацией в реальном времени.