llm-agent-backend/README.md
2026-07-06 01:49:31 +03:00

64 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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**: Хранение истории взаимодействий.
## Установка
1. Убедитесь, что установлен Python 3.11.
2. Создайте виртуальное окружение в папке `env`:
```bash
python -m venv env
```
3. Активируйте окружение и установите зависимости:
```bash
env\Scripts\activate
pip install -r requirements.txt
```
## Запуск
### Вариант 1: Через батник (рекомендуется)
Запустите `run-llm-backend.bat` из корня проекта.
### Вариант 2: Вручную из терминала
```bash
python app/run.py
```
Сервер будет доступен по адресу: `http://localhost:5000`
## Ключевые возможности
- **Двустороннее общение**: Агент может инициировать запросы к Obsidian (через API плагина).
- **Инструменты (Tools)**: Поддержка вызова функций через MCP и кастомные инструменты.
- **Память**: Сохранение состояния графов, что позволяет продолжать диалог с любого места.
- **Голосовое управление**: Возможность диктовать команды напрямую в микрофон с транскрибацией в реальном времени.