For the complete documentation index, see llms.txt. This page is also available as Markdown.

Фреймворк 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 значительно снижает задержку.

Это руководство охватывает Haystack v2.x (пакет haystack-ai ). API v2 существенно отличается от v1 (farm-haystack). Если у вас уже есть существующие пайплайны v1, см. руководство по миграции.

Обзор

Параметр
Подробности

Лицензия

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

Требования

Требования к оборудованию

Сценарий использования
GPU
VRAM
ОЗУ
Диск
Цена Clore.ai

Только режим 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/ч

Большая локальная LLM (70B, квантованная)

A100 80 ГБ

80 ГБ

64 ГБ

150 ГБ

Для большинства сценариев RAG RTX 3090 по цене $0.07–0.21/час — оптимальный вариант: 24 ГБ VRAM позволяют одновременно работать с эмбеддингами sentence-transformer и локальной LLM 7B–13B.

Требования к ПО

  • 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 в обоих контейнерах:

Советы и лучшие практики

Выберите подходящую модель эмбеддингов

Модель
VRAM
Скорость
Качество
Лучше всего для

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; проверьте открытые порты сервера

Команды отладки

Дополнительное чтение

Последнее обновление

Это было полезно?