n8n-nodes-embeddings-local-api
v1.0.0
Published
N8N Community Node for local text embeddings - use your own models instead of cloud APIs
Downloads
27
Maintainers
Readme
N8N Nodes: Embeddings Local API
Community node для n8n, позволяющий использовать локальные embedding модели вместо облачных провайдеров.
🚀 Описание
Эта нода позволяет интегрировать собственные embedding модели, запущенные локально, в ваши n8n workflow. Вместо использования платных API (OpenAI, Cohere, etc.) вы можете использовать свои модели для генерации векторных представлений текста.
✨ Возможности
- Локальная обработка: Данные не покидают вашу инфраструктуру
- Экономия: Нет затрат на API calls к внешним сервисам
- Гибкость: Поддержка любых моделей через HTTP API
- Производительность: Оптимизированные локальные модели
- Безопасность: Полный контроль над данными
📦 Установка
Через npm (рекомендуется)
npm install @n8n-community/n8n-nodes-embeddings-local-apiЛокальная установка
# Скачайте репозиторий
git clone https://github.com/your-repo/n8n-nodes-embeddings-local-api.git
cd n8n-nodes-embeddings-local-api
# Установите зависимости
npm install
# Соберите
npm run build
# Установите в n8n
cd /path/to/n8n
npm install /path/to/n8n-nodes-embeddings-local-api🔧 Настройка
1. Запуск локального embedding API
Используйте предоставленный embedding API:
cd embedding-api
pip install -r requirements.txt
python app.pyAPI будет доступен по адресу: http://localhost:8080
2. Настройка ноды в n8n
- Добавьте ноду "Embeddings Local API" в workflow
- Укажите Base URL:
http://localhost:8080 - Настройте параметры (опционально):
- Normalize:
true - Batch Size:
32
- Normalize:
3. Подключение к Vector Store
Embeddings Local API → Postgres PGVector Store📚 Использование
Базовый пример
{
"nodes": [
{
"name": "Local Embeddings",
"type": "@n8n-community/n8n-nodes-embeddings-local-api.embeddingsLocalAPI",
"parameters": {
"baseURL": "http://localhost:8080",
"options": {
"normalize": true,
"batchSize": 32
}
}
}
]
}С Vector Store
{
"nodes": [
{
"name": "Document Input",
"type": "n8n-nodes-base.manualTrigger"
},
{
"name": "Local Embeddings",
"type": "@n8n-community/n8n-nodes-embeddings-local-api.embeddingsLocalAPI",
"parameters": {
"baseURL": "http://localhost:8080"
}
},
{
"name": "Vector Store",
"type": "n8n-nodes-langchain.vectorStorePGVector",
"parameters": {
"mode": "insert",
"tableName": "documents"
}
}
],
"connections": {
"Document Input": { "main": [[{ "node": "Local Embeddings" }]] },
"Local Embeddings": { "ai_embedding": [[{ "node": "Vector Store" }]] }
}
}🔌 API спецификация
Endpoint: POST /embed
Запрос:
{
"input": "Текст для векторизации",
"normalize": true
}Ответ:
{
"embeddings": [[0.123, 0.456, ...]],
"count": 1,
"dimensions": 312,
"processing_time": 0.234,
"cached": false
}Batch обработка
{
"input": ["Текст 1", "Текст 2", "Текст 3"],
"normalize": true
}⚙️ Параметры
| Параметр | Тип | По умолчанию | Описание | |----------|-----|-------------|----------| | Base URL | string | http://localhost:8080 | URL API сервера | | Normalize Embeddings | boolean | true | Нормализация векторов | | Batch Size | number | 32 | Размер пакета |
🐛 Устранение неполадок
"Connection refused"
# Проверьте статус API
curl http://localhost:8080/health
# Проверьте порт
netstat -tlnp | grep :8080"Invalid response format"
- Убедитесь, что API возвращает правильный JSON
- Проверьте логи embedding сервера
"Timeout"
- Увеличьте timeout в настройках n8n
- Проверьте производительность API
🔒 Безопасность
- Используйте HTTPS в продакшене
- Ограничьте доступ к API endpoint
- Регулярно обновляйте зависимости
- Мониторьте логи доступа
📊 Производительность
- Модель: RuBERT-tiny2
- Размерность: 312 измерений
- Время обработки: ~0.2-0.5 сек на текст
- Batch processing: До 1000 текстов за раз
🤝 Совместимость
- n8n: >= 1.0.0
- Node.js: >= 18.0.0
- Python: >= 3.8 (для API сервера)
📄 Лицензия
MIT License - см. файл LICENSE для деталей.
🆘 Поддержка
- 📧 Email: [email protected]
- 🐛 Issues: GitHub Issues
- 📖 Docs: Полная документация
Примечание: Эта нода не заменяет встроенные embedding ноды n8n, а дополняет их, предоставляя возможность использования локальных моделей.
