- matrix-gateway: POST /internal/matrix/presence/online endpoint - usePresenceHeartbeat hook with activity tracking - Auto away after 5 min inactivity - Offline on page close/visibility change - Integrated in MatrixChatRoom component
131 lines
4.7 KiB
Markdown
131 lines
4.7 KiB
Markdown
# ✅ Monitor Agent - Підключення до Mistral на НОДА2 завершено
|
||
|
||
## 🎯 Що зроблено
|
||
|
||
### 1. Підключення до Mistral на НОДА2
|
||
|
||
**Конфігурація:**
|
||
- ✅ Ollama URL: `http://192.168.1.244:11434` (НОДА2)
|
||
- ✅ Модель: `mistral:7b` (4.1 GB) - менша модель для не перевантаження НОДА2
|
||
- ✅ Альтернативи: `mistral:latest` (4.1 GB), `mistral-nemo:12b` (7.1 GB)
|
||
|
||
**Чому менша модель?**
|
||
- `mistral:7b` (4.1 GB) достатня для Monitor Agent
|
||
- Не перевантажує НОДА2 при одночасній роботі з іншими агентами
|
||
- Швидша відповідь
|
||
- Ефективне використання ресурсів
|
||
|
||
### 2. Архітектура пам'яті
|
||
|
||
**Структура:**
|
||
|
||
1. **Загальна пам'ять:** `monitor`
|
||
- Всі події системи
|
||
- Агрегація з усіх НОД та мікроДАО
|
||
- Доступна всім Monitor Agent
|
||
|
||
2. **Пам'ять для НОДИ:** `monitor-node-{node_id}`
|
||
- Події конкретної НОДИ
|
||
- Доступна Monitor Agent цієї ноди
|
||
|
||
3. **Пам'ять для мікроДАО:** `monitor-microdao-{microdao_id}`
|
||
- Події конкретного мікроДАО
|
||
- Доступна Monitor Agent цього мікроДАО
|
||
|
||
**Як працює:**
|
||
- Monitor Agent отримує контекст з обох типів пам'яті
|
||
- 50% з загальної пам'яті (`monitor`)
|
||
- 50% зі специфічної пам'яті (`monitor-node-{node_id}` або `monitor-microdao-{microdao_id}`)
|
||
|
||
### 3. Збереження подій
|
||
|
||
**Автоматичне збереження:**
|
||
- Події зберігаються в обидві пам'яті:
|
||
- Специфічна пам'ять (monitor-node-{node_id} або monitor-microdao-{microdao_id})
|
||
- Загальна пам'ять (monitor) - для агрегації
|
||
|
||
**Батчинг:**
|
||
- 10 подій або 5 секунд
|
||
- Оптимізовано для збору метрик з багатьох нод
|
||
|
||
## 📊 Поточна конфігурація
|
||
|
||
### Monitor Agent Service
|
||
|
||
**Файл:** `services/monitor-agent-service/app/main.py`
|
||
|
||
**Налаштування:**
|
||
```python
|
||
OLLAMA_BASE_URL = "http://192.168.1.244:11434" # НОДА2
|
||
MISTRAL_MODEL = "mistral:7b" # Менша модель
|
||
```
|
||
|
||
### Memory Service
|
||
|
||
**Файл:** `services/memory-service/app/monitor_events.py`
|
||
|
||
**Збереження:**
|
||
- Події зберігаються в обидві пам'яті
|
||
- Специфічна пам'ять для ноди/мікроДАО
|
||
- Загальна пам'ять для агрегації
|
||
|
||
## ✅ Переваги
|
||
|
||
1. **Менше навантаження на НОДА2**
|
||
- 4.1 GB замість 7.1 GB
|
||
- Швидша відповідь
|
||
- Менше використання RAM
|
||
|
||
2. **Достатня якість**
|
||
- Mistral 7B достатня для моніторингу
|
||
- Швидкі відповіді
|
||
- Ефективне використання ресурсів
|
||
|
||
3. **Комбінована пам'ять**
|
||
- Загальна пам'ять для контексту системи
|
||
- Специфічна пам'ять для деталей
|
||
- Більш інформативні відповіді
|
||
|
||
## 🚀 Запуск
|
||
|
||
```bash
|
||
# 1. Перевірити доступність Ollama на НОДА2
|
||
curl http://192.168.1.244:11434/api/tags
|
||
|
||
# 2. Перевірити чи є mistral:7b
|
||
curl http://192.168.1.244:11434/api/tags | grep mistral
|
||
|
||
# 3. Якщо потрібно встановити
|
||
ssh user@192.168.1.244
|
||
ollama pull mistral:7b
|
||
|
||
# 4. Запустити Monitor Agent Service
|
||
cd services/monitor-agent-service
|
||
python -m uvicorn app.main:app --host 0.0.0.0 --port 9500 --reload
|
||
```
|
||
|
||
## 📋 Environment Variables
|
||
|
||
```bash
|
||
# .env файл
|
||
OLLAMA_BASE_URL=http://192.168.1.244:11434
|
||
MISTRAL_MODEL=mistral:7b
|
||
MEMORY_SERVICE_URL=http://localhost:8000
|
||
```
|
||
|
||
## ✅ Статус
|
||
|
||
| Компонент | Статус | Деталі |
|
||
|-----------|--------|--------|
|
||
| **Підключення до НОДА2** | ✅ Готово | Ollama на 192.168.1.244:11434 |
|
||
| **Модель Mistral** | ✅ Готово | mistral:7b (4.1 GB) |
|
||
| **Загальна пам'ять** | ✅ Готово | monitor - всі події |
|
||
| **Специфічна пам'ять** | ✅ Готово | monitor-node-{node_id}, monitor-microdao-{microdao_id} |
|
||
| **Комбінований контекст** | ✅ Готово | 50% загальна + 50% специфічна |
|
||
|
||
---
|
||
|
||
**Last Updated:** 2025-01-27
|
||
**Status:** ✅ Готово до використання
|
||
|