Фреймворк Haystack AI
Разверните Haystack от deepset на Clore.ai — создавайте production RAG-пайплайны, семантический поиск и рабочие процессы LLM-агентов на доступной GPU-инфраструктуре.
Haystack — это open-source фреймворк deepset для оркестрации ИИ, предназначенный для создания LLM-приложений промышленного уровня. Имея более 18 тыс. звёзд на GitHub, он предоставляет гибкую архитектуру на основе пайплайнов которая объединяет хранилища документов, ретриверы, ридеры, генераторы и агентов — всё на чистом, композиционном Python. Нужен ли вам RAG по приватным документам, семантический поиск или многошаговые рабочие процессы агентов — Haystack берёт на себя всю техническую обвязку, чтобы вы могли сосредоточиться на логике приложения.
На Clore.ai Haystack особенно хорош, когда вам нужен GPU для локального инференса модели через Hugging Face Transformers или sentence-transformers. Если вы полагаетесь только на внешние API (OpenAI, Anthropic), его можно запускать на инстансах только с CPU — но для генерации эмбеддингов и локальных LLM GPU значительно снижает задержку.
Все примеры работают на GPU-серверах, арендованных через маркетплейс CLORE.AI.
Обзор
Проект
Лицензия
Apache 2.0
Звёзды на GitHub
18 тыс.+
Версия
v2.x (пакет haystack-ai)
Основной сценарий использования
RAG, семантический поиск, QA по документам, рабочие процессы агентов
Поддержка GPU
Опционально — требуется для локальных эмбеддингов / локальных LLM
Сложность
Средне
Публикация API
Hayhooks (на базе FastAPI, REST)
Ключевые интеграции
Ollama, OpenAI, Anthropic, HuggingFace, Elasticsearch, Pinecone, Weaviate, Qdrant
Что вы можете создать
RAG-пайплайны — загружайте документы, генерируйте эмбеддинги, извлекайте контекст, отвечайте на вопросы
Семантический поиск — ищите по документам по смыслу, а не по ключевым словам
Обработка документов — парсите PDF, HTML, Word-документы; разбивайте, очищайте и индексируйте контент
Рабочие процессы агентов — многошаговое рассуждение с использованием инструментов (веб-поиск, калькуляторы, API)
Сервисы REST API — публикуйте любой пайплайн Haystack как конечную точку через Hayhooks
Требования
Требования к оборудованию
Только режим API (OpenAI/Anthropic)
Нет / CPU
—
4 ГБ
20 ГБ
~$0.01–0.05/час
Локальные эмбеддинги (sentence-transformers)
RTX 3060
8 ГБ
16 ГБ
30 ГБ
$0.03–0.07/час
Локальные эмбеддинги + небольшая LLM (7B)
RTX 3090
24 ГБ
16 ГБ
50 ГБ
$0.07–0.21/ч
Локальная LLM (13B–34B)
RTX 4090
24 ГБ
32 ГБ
80 ГБ
$0.14–0.42/ч
Требования к ПО
Docker (предустановлен на серверах Clore.ai)
Драйверы NVIDIA + CUDA (предустановлены на GPU-серверах Clore.ai)
Python 3.10+ (в контейнере)
CUDA 11.8 или 12.x
Быстрый старт
1. Арендуйте сервер Clore.ai
В Маркетплейс Clore.ai, отфильтруйте по:
VRAM: ≥ 8 ГБ для задач эмбеддингов, ≥ 24 ГБ для локальных LLM
Docker: Включено (по умолчанию в большинстве объявлений)
Образ:
nvidia/cuda:12.8.1-devel-ubuntu22.04илиpytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime
Запишите публичный IP и SSH-порт сервера из Мои заказы.
2. Подключитесь и проверьте GPU
3. Соберите Docker-образ Haystack
Haystack v2 рекомендует установку через pip. Создайте пользовательский Dockerfile:
4. Запустите Haystack с Hayhooks
Hayhooks автоматически превращает любой пайплайн Haystack в REST API:
Ожидаемый ответ:
5. Создайте свой первый RAG-пайплайн
Напишите YAML пайплайна, который Hayhooks будет обслуживать как конечную точку:
Hayhooks автоматически обнаруживает и обслуживает этот пайплайн. Проверьте его:
Конфигурация
Переменные окружения
OPENAI_API_KEY
API-ключ OpenAI для моделей GPT
sk-...
ANTHROPIC_API_KEY
API-ключ Anthropic для Claude
sk-ant-...
HF_TOKEN
Токен Hugging Face для закрытых моделей
hf_...
HAYSTACK_TELEMETRY_ENABLED
Отключить телеметрию использования
false
CUDA_VISIBLE_DEVICES
Выберите конкретный GPU
0
TRANSFORMERS_CACHE
Путь к кэшу для моделей HF
/workspace/hf-cache
Запуск с полной конфигурацией
Пайплайн загрузки документов
Создайте отдельный пайплайн индексации для загрузки документов:
Использование векторных баз данных (Production)
Для рабочих нагрузок в продакшене замените in-memory-хранилище на постоянную векторную базу данных:
Ускорение на GPU
Haystack использует ускорение на GPU в двух основных сценариях:
1. Генерация эмбеддингов (Sentence Transformers)
GPU очень полезен для эмбеддинга больших коллекций документов:
2. Локальный инференс LLM (Hugging Face Transformers)
Для запуска LLM прямо в Haystack без Ollama:
3. Используйте вместе с Ollama (рекомендуемый подход)
Для лучшего сочетания удобства и производительности используйте Ollama для инференса LLM и Haystack для оркестрации:
Следите за использованием GPU в обоих контейнерах:
Советы и лучшие практики
Выберите подходящую модель эмбеддингов
BAAI/bge-small-en-v1.5
~0.5 ГБ
Самый быстрый
Хорошо
Индексация с высокой пропускной способностью
BAAI/bge-base-en-v1.5
~1 ГБ
Быстро
Лучше
Общий RAG
BAAI/bge-large-en-v1.5
~2 ГБ
Средне
Лучше всего
Наивысшая точность
nomic-ai/nomic-embed-text-v1
~1.5 ГБ
Быстро
Отлично
Длинные документы
Советы по проектированию пайплайнов
Разбивайте документы разумно — фрагменты по 200–400 слов с перекрытием 10–15% хорошо подходят для большинства сценариев RAG
Кэшируйте эмбеддинги — сохраняйте хранилище документов на диск; повторное создание эмбеддингов дорогостояще
Используйте
warm_up()— вызовитеcomponent.warm_up()перед использованием в продакшене, чтобы загрузить модели в память GPUПакетная индексация — обрабатывайте документы пакетами по 32–64 для оптимального использования GPU
Фильтрация по метаданным — используйте фильтрацию метаданных Haystack, чтобы ограничить область поиска (например, по дате, источнику, категории)
Оптимизация затрат
Защитите Hayhooks для внешнего доступа
Устранение неполадок
ModuleNotFoundError: haystack
Пакет не установлен
Пересоберите Docker-образ; проверьте pip install haystack-ai Успешно
CUDA out of memory
Модель эмбеддингов слишком велика
Используйте bge-small-en-v1.5 или уменьшите размер пакета
Hayhooks возвращает 404 на pipeline
Файл YAML не найден
Проверьте подключение тома; файл pipeline должен быть в /app/pipelines/
Медленное построение эмбеддингов на CPU
GPU не обнаружен
Проверьте --gpus all флаг; проверьте torch.cuda.is_available()
Соединение с Ollama отклонено
Неверное имя хоста
Используйте --add-host=host.docker.internal:host-gateway; установите URL в http://host.docker.internal:11434
Загрузка с HuggingFace не удаётся
Отсутствует токен или превышен лимит запросов
Установите HF_TOKEN переменная окружения; убедитесь, что модель не ограничена
Ошибка разбора YAML pipeline
Недопустимый синтаксис
Проверьте YAML; используйте python3 -c "import yaml; yaml.safe_load(open('pipeline.yml'))"
Контейнер немедленно завершается
Ошибка запуска
Проверьте docker logs haystack; убедитесь, что CMD в Dockerfile указан правильно
Порт 1416 недоступен извне
Брандмауэр / переадресация портов
Откройте порт в настройках заказа Clore.ai; проверьте открытые порты сервера
Команды отладки
Дополнительное чтение
Документация Haystack — официальная документация v2
GitHub Hayhooks — REST API для обслуживания pipeline
Книга рецептов Haystack — полные руководства (RAG, агенты, поиск)
deepset-ai/haystack на GitHub — исходный код, issues, релизы
Интеграции Haystack — полный список поддерживаемых векторных хранилищ, LLM и инструментов
Ollama на Clore.ai — используйте Haystack вместе с Ollama для локального инференса LLM
vLLM на Clore.ai — бэкенд обслуживания LLM с высокой пропускной способностью для Haystack
Руководство по сравнению GPU — выберите подходящий GPU Clore.ai для вашей нагрузки
маркетплейс CLORE.AI — арендуйте GPU-серверы
Последнее обновление
Это было полезно?