- TTS: xtts-v2 integration with voice cloning support
- Document: docling integration for PDF/DOCX/PPTX processing
- Memory Service: added /facts/upsert, /facts/{key}, /facts endpoints
- Added required dependencies (TTS, docling)
111 lines
2.7 KiB
Markdown
111 lines
2.7 KiB
Markdown
# 🔌 API для ембендінгу
|
||
|
||
**Дата:** 2026-01-12
|
||
|
||
---
|
||
|
||
## 📋 Знайдені API для ембендінгу
|
||
|
||
### 1. **Vision Encoder Service** (OpenCLIP)
|
||
**Призначення:** Текст та зображення embeddings
|
||
|
||
- **Порт:** 8001
|
||
- **Технологія:** OpenCLIP (ViT-L-14)
|
||
- **Модель:** OpenAI pretrained
|
||
- **Функції:**
|
||
- Текст embeddings
|
||
- Зображення embeddings
|
||
- Multimodal embeddings
|
||
- Інтеграція з Qdrant
|
||
|
||
**Endpoints:**
|
||
- `POST /embed` - генерація embeddings
|
||
- `GET /health` - health check
|
||
|
||
**Конфігурація:**
|
||
```yaml
|
||
vision-encoder:
|
||
ports:
|
||
- "8001:8001"
|
||
environment:
|
||
- DEVICE=cpu # або cuda для GPU
|
||
- MODEL_NAME=ViT-L-14
|
||
- MODEL_PRETRAINED=openai
|
||
- NORMALIZE_EMBEDDINGS=true
|
||
- QDRANT_HOST=qdrant
|
||
- QDRANT_PORT=6333
|
||
```
|
||
|
||
---
|
||
|
||
### 2. **Memory Service Embedding Layer** (Cohere)
|
||
**Призначення:** Текст embeddings через Cohere API
|
||
|
||
- **Технологія:** Cohere API
|
||
- **Модель:** `embed-multilingual-v3.0`
|
||
- **Розмірність:** 1024
|
||
- **Функції:**
|
||
- Текст embeddings
|
||
- Batch embeddings
|
||
- Search document embeddings
|
||
- Search query embeddings
|
||
|
||
**Використання:**
|
||
```python
|
||
from services.memory-service.app.embedding import get_embeddings
|
||
|
||
embeddings = await get_embeddings(
|
||
texts=["текст для embedding"],
|
||
input_type="search_document" # або "search_query"
|
||
)
|
||
```
|
||
|
||
---
|
||
|
||
### 3. **Memory Orchestrator Embedding Client**
|
||
**Призначення:** Простий клієнт для embeddings
|
||
|
||
- **Endpoint:** `http://localhost:8001/embed` (Vision Encoder)
|
||
- **Fallback:** Stub embeddings якщо сервіс недоступний
|
||
|
||
**Використання:**
|
||
```python
|
||
from services.memory-orchestrator.embedding_client import EmbeddingClient
|
||
|
||
client = EmbeddingClient(endpoint="http://vision-encoder:8001/embed")
|
||
embedding = await client.embed("текст")
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 Інтеграція з Helion
|
||
|
||
### Через Router:
|
||
Router має доступ до Vision Encoder через:
|
||
- `VISION_ENCODER_URL=http://vision-encoder:8001`
|
||
|
||
### Через Memory Service:
|
||
Memory Service використовує Cohere API для embeddings документів.
|
||
|
||
### Через Qdrant:
|
||
Vision Encoder автоматично зберігає embeddings в Qdrant для векторного пошуку.
|
||
|
||
---
|
||
|
||
## 📝 Конфігурація для НОДА1
|
||
|
||
В `docker-compose.node1.yml` додано:
|
||
```yaml
|
||
vision-encoder:
|
||
ports:
|
||
- "8001:8001"
|
||
environment:
|
||
- DEVICE=cpu # НОДА1 без GPU
|
||
- QDRANT_HOST=qdrant
|
||
- QDRANT_PORT=6333
|
||
```
|
||
|
||
---
|
||
|
||
**Оновлено:** 2026-01-12
|