feat: implement TTS, Document processing, and Memory Service /facts API
- 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)
This commit is contained in:
110
HELION-EMBEDDING-API.md
Normal file
110
HELION-EMBEDDING-API.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# 🔌 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
|
||||
Reference in New Issue
Block a user