Files
wikipedia/Hermes/hermes_hindsight_lxc_guide.md
T

140 lines
6.4 KiB
Markdown

# Настройка памяти Hindsight для ИИ-агента Hermes в LXC
Это руководство содержит инструкции по установке, конфигурированию и запуску долгосрочной памяти **Hindsight** (от Vectorize.io) для ИИ-агента **Hermes Agent** (от Nous Research) внутри изолированного контейнера LXC с использованием API-провайдера **Polza AI**.
---
## 1. Ресурсная сетка для LXC (Polza AI Оптимизация)
Так как инференс LLM и вычисление эмбеддингов полностью делегированы на сервера [Polza AI](https://polza.ai/), локальные требования к контейнеру минимальны:
* **Процессор (CPU):** 2 ядра (vCPU) — достаточно для работы PostgreSQL и маршрутизации запросов.
* **Оперативная память (RAM):** 2 ГБ — около 1 ГБ займет ОС и Hermes, еще 1 ГБ зарезервирует PostgreSQL для кэширования векторных индексов.
* **Дисковая подсистема (Storage):** 10–15 ГБ (желательно на NVMe/SSD для быстрого I/O при поиске по индексам `pgvector`).
* **Сеть:** Обязателен исходящий доступ в интернет для выполнения API-запросов к эндпоинтам Polza AI.
---
## 2. Пошаговая установка в контейнере
Зайдите в консоль вашего LXC-контейнера и выполните следующие шаги:
```bash
# 1. Обновление системы и установка зависимостей
apt update && apt upgrade -y
apt install -y python3 python3-pip postgresql postgresql-contrib git curl
# 2. Установка расширения pgvector для PostgreSQL
# (Необходимо для хранения долгосрочной векторной памяти)
apt install -y postgresql-15-pgvector || apt install -y postgresql-16-pgvector
# 3. Настройка базы данных
su - postgres -c "psql -c "CREATE USER hindsight_user WITH PASSWORD 'secure_password_here';""
su - postgres -c "psql -c "CREATE DATABASE hindsight_memory OWNER hindsight_user;""
su - postgres -c "psql -d hindsight_memory -c "CREATE EXTENSION IF NOT EXISTS vector;""
# 4. Установка Hermes Agent и плагина Hindsight
pip3 install hermes-agent-cli
hermes plugins install hindsight
```
---
## 3. Конфигурация (~/.hermes/hindsight/config.json)
Создайте или отредактируйте конфигурационный файл плагина. Замените `sk-polza-ВАШ_КЛЮЧ_ИЗ_КОНСОЛИ` на ваш реальный токен из личного кабинета Polza AI.
```json
{
"memory_enabled": false,
"hindsight": {
"mode": "local_embedded",
"database": {
"host": "127.0.0.1",
"port": 5432,
"user": "hindsight_user",
"password": "secure_password_here",
"dbname": "hindsight_memory"
},
"llm_provider": {
"type": "openai_compatible",
"base_url": "https://polza.ai/api/v1",
"api_key": "sk-polza-ВАШ_КЛЮЧ_ИЗ_КОНСОЛИ",
"model": "nousresearch/hermes-3-llama-3.1-70b"
},
"embedding_provider": {
"type": "openai_compatible",
"base_url": "https://polza.ai/api/v1",
"api_key": "sk-polza-ВАШ_КЛЮЧ_ИЗ_КОНСОЛИ",
"model": "openai/text-embedding-3-small"
},
"auto_recall": true,
"auto_retain": true
}
}
```
*Отключение стандартной памяти:* Команда `hermes tools disable memory` предотвратит дублирование контекста и сэкономит входящие токены.
---
## 4. Настройка автозапуска через systemd
Чтобы демон памяти автоматически поднимался при перезапуске LXC-контейнера, создайте системную службу.
Создайте файл `/etc/systemd/system/hindsight-daemon.service`:
```ini
[Unit]
Description=Hindsight Memory Daemon for Hermes Agent
After=postgresql.service
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/hermes memory daemon start
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user-target
```
Активируйте и запустите службу:
```bash
systemctl daemon-reload
systemctl enable hindsight-daemon.service
systemctl start hindsight-daemon.service
```
---
## 5. Использование и команды ИИ-агента
При включенных параметрах `auto_recall` и `auto_retain` Hermes работает полностью автономно. Но вы можете управлять памятью и вручную в окне чата:
* **Ручное сохранение факта:**
> *"Запомни, что тестовый сервер развернут на порту 8080 с конфигурацией дебага."*
*(Hermes вызовет инструмент `hindsight_retain`)*
* **Извлечение контекста:**
> *"На каком порту мы тестировали сервер?"*
*(Hermes выполнит поиск через `hindsight_recall`)*
* **Синтез знаний (Рефлексия):**
Периодически запускайте процесс консолидации памяти, чтобы объединить разрозненные факты и очистить базу от устаревшего "шума":
```bash
hermes memory reflect --force
```
---
## 6. Логи и Диагностика в LXC
Если агент теряет контекст, проверьте следующие точки отказа внутри контейнера:
* **Статус демона памяти:** `systemctl status hindsight-daemon.service`
* **Просмотр логов Hindsight:** `tail -f ~/.hermes/logs/hindsight-embed.log`
* **Проверка подключения к PostgreSQL:** `psql -U hindsight_user -d hindsight_memory -h 127.0.0.1`
* **Проверка доступности шлюза Polza AI:** `curl -I https://polza.ai/api/v1/models`