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

Framework de IA Haystack

Despliega Haystack de deepset en Clore.ai: crea canalizaciones RAG de producción, búsqueda semántica y flujos de trabajo de agentes LLM en infraestructura GPU asequible.

Haystack es el framework de orquestación de IA de código abierto de deepset para crear aplicaciones de LLM de nivel de producción. Con más de 18 mil estrellas en GitHub, ofrece una arquitectura basada en pipelines que conecta almacenes de documentos, recuperadores, lectores, generadores y agentes, todo en Python limpio y componible. Tanto si necesitas RAG sobre documentos privados, búsqueda semántica o flujos de trabajo de agentes de varios pasos, Haystack se encarga de la infraestructura para que puedas centrarte en la lógica de la aplicación.

En Clore.ai, Haystack brilla cuando necesitas una GPU para la inferencia local de modelos mediante Hugging Face Transformers o sentence-transformers. Si dependes únicamente de APIs externas (OpenAI, Anthropic), puedes ejecutarlo en instancias solo con CPU; pero para la generación de embeddings y los LLM locales, una GPU reduce drásticamente la latencia.

Esta guía cubre Haystack v2.x (haystack-ai paquete). La API v2 difiere significativamente de la v1 (farm-haystack). Si ya tienes pipelines v1 existentes, consulta la guía de migración.

Descripción general

Propiedad
Detalles

Licencia

Apache 2.0

Estrellas en GitHub

18 mil+

Versión

v2.x (haystack-ai)

Caso de uso principal

RAG, búsqueda semántica, preguntas y respuestas sobre documentos, flujos de trabajo de agentes

Compatibilidad con GPU

Opcional — necesaria para embeddings locales / LLMs locales

Dificultad

Medio

Exposición de API

Hayhooks (basado en FastAPI, REST)

Integraciones clave

Ollama, OpenAI, Anthropic, HuggingFace, Elasticsearch, Pinecone, Weaviate, Qdrant

Lo que puedes crear

  • Pipelines RAG — ingiere documentos, genera embeddings, recupera contexto, responde preguntas

  • Búsqueda semántica — consulta documentos por su significado, no por palabras clave

  • Procesamiento de documentos — analiza PDFs, HTML, documentos de Word; divide, limpia e indexa el contenido

  • Flujos de trabajo de agentes — razonamiento en varios pasos con uso de herramientas (búsqueda web, calculadoras, APIs)

  • Servicios REST API — expón cualquier pipeline de Haystack como un endpoint mediante Hayhooks

Requisitos

Requisitos de hardware

Caso de uso
GPU
VRAM
RAM
Disco
Precio de Clore.ai

Solo modo API (OpenAI/Anthropic)

Ninguna / CPU

4 GB

20 GB

~$0.01–0.05/h

Embeddings locales (sentence-transformers)

RTX 3060

8 GB

16 GB

30 GB

$0.03–0.07/h

Embeddings locales + LLM pequeño (7B)

RTX 3090

24 GB

16 GB

50 GB

$0.07–0.21/h

LLM local (13B–34B)

RTX 4090

24 GB

32 GB

80 GB

$0.14–0.42/h

LLM local grande (70B, cuantizado)

A100 80GB

80 GB

64 GB

150 GB

Para la mayoría de los casos de uso de RAG, una RTX 3090 a $0.07–0.21/h es el punto ideal: 24 GB de VRAM permiten manejar a la vez embeddings con sentence-transformers + un LLM local de 7B–13B.

Requisitos de software

  • Docker (preinstalado en los servidores de Clore.ai)

  • Controladores NVIDIA + CUDA (preinstalados en los servidores GPU de Clore.ai)

  • Python 3.10+ (dentro del contenedor)

  • CUDA 11.8 o 12.x

Inicio rápido

1. Alquila un servidor de Clore.ai

En la Marketplace de Clore.ai, filtra por:

  • VRAM: ≥ 8 GB para cargas de trabajo de embeddings, ≥ 24 GB para LLMs locales

  • Docker: habilitado (predeterminado en la mayoría de las listas)

  • Imagen: nvidia/cuda:12.8.1-devel-ubuntu22.04 o pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime

Anota la IP pública y el puerto SSH del servidor en Mis pedidos.

2. Conéctate y verifica la GPU

3. Construye la imagen Docker de Haystack

Haystack v2 recomienda la instalación con pip. Crea un Dockerfile personalizado:

4. Ejecuta Haystack con Hayhooks

Hayhooks convierte automáticamente cualquier pipeline de Haystack en una API REST:

Respuesta esperada:

5. Crea tu primer pipeline RAG

Escribe un YAML de pipeline que Hayhooks servirá como endpoint:

Hayhooks descubre y sirve automáticamente este pipeline. Pruébalo:

Configuración

Variables de entorno

Variable
Descripción
Ejemplo

OPENAI_API_KEY

Clave API de OpenAI para modelos GPT

sk-...

ANTHROPIC_API_KEY

Clave API de Anthropic para Claude

sk-ant-...

HF_TOKEN

Token de Hugging Face para modelos restringidos

hf_...

HAYSTACK_TELEMETRY_ENABLED

Desactivar la telemetría de uso

false

CUDA_VISIBLE_DEVICES

Seleccionar GPU específica

0

TRANSFORMERS_CACHE

Ruta de caché para modelos HF

/workspace/hf-cache

Ejecuta con configuración completa

Pipeline de ingesta de documentos

Crea un pipeline de indexación separado para ingerir documentos:

Uso de bases de datos vectoriales (producción)

Para cargas de trabajo de producción, reemplaza el almacén en memoria por una base de datos vectorial persistente:

Aceleración GPU

Haystack usa aceleración por GPU en dos escenarios principales:

1. Generación de embeddings (sentence transformers)

La GPU es muy beneficiosa para generar embeddings de grandes colecciones de documentos:

2. Inferencia local de LLM (Hugging Face Transformers)

Para ejecutar LLMs directamente en Haystack sin Ollama:

3. Combínalo con Ollama (enfoque recomendado)

Para la mejor combinación de facilidad y rendimiento, ejecuta Ollama para la inferencia del LLM y Haystack para la orquestación:

Supervisa el uso de la GPU en ambos contenedores:

Consejos y mejores prácticas

Elige el modelo de embeddings adecuado

Modelo
VRAM
Velocidad
Calidad
Ideal para

BAAI/bge-small-en-v1.5

~0.5 GB

El más rápido

Bueno

Indexación de alto rendimiento

BAAI/bge-base-en-v1.5

~1 GB

Rápido

Mejor

RAG general

BAAI/bge-large-en-v1.5

~2 GB

Medio

Mejor

Máxima precisión

nomic-ai/nomic-embed-text-v1

~1.5 GB

Rápido

Excelente

Documentos largos

Consejos de diseño de pipelines

  • Divide los documentos de forma inteligente — fragmentos de 200–400 palabras con 10–15% de solapamiento funcionan bien para la mayoría de los casos de uso de RAG

  • Almacena en caché los embeddings — persiste tu almacén de documentos en disco; recalcular embeddings es costoso

  • Usa warm_up() — llama a component.warm_up() antes del uso en producción para cargar los modelos en la memoria de la GPU

  • Indexación por lotes — procesa documentos en lotes de 32–64 para un uso óptimo de la GPU

  • Filtra con metadatos — usa el filtrado de metadatos de Haystack para acotar la recuperación (por ejemplo, por fecha, fuente, categoría)

Optimización de costos

Protege Hayhooks para acceso externo

Solución de problemas

Problema
Causa probable
Solución

ModuleNotFoundError: haystack

Paquete no instalado

Reconstruye la imagen Docker; comprueba pip install haystack-ai Logrado

CUDA sin memoria

El modelo de incrustación es demasiado grande

Usa bge-small-en-v1.5 o reduzca el tamaño del lote

Hayhooks devuelve 404 en el pipeline

Archivo YAML no encontrado

Compruebe el montaje del volumen; el archivo del pipeline debe estar en /app/pipelines/

Incrustación lenta en CPU

GPU no detectada

Verifique --gpus all bandera; compruebe torch.cuda.is_available()

Conexión a Ollama rechazada

Nombre de host incorrecto

Usa --add-host=host.docker.internal:host-gateway; establezca la URL en http://host.docker.internal:11434

La descarga de HuggingFace falla

Falta el token o se alcanzó el límite de velocidad

Establece HF_TOKEN variable de entorno; asegúrese de que el modelo no esté restringido

Error al analizar YAML del pipeline

Sintaxis no válida

Valide el YAML; use python3 -c "import yaml; yaml.safe_load(open('pipeline.yml'))"

El contenedor se cierra inmediatamente

Error de inicio

Consulta docker logs haystack; asegúrese de que el CMD del Dockerfile sea correcto

El puerto 1416 no es accesible externamente

Firewall / reenvío de puertos

Exponga el puerto en la configuración del pedido de Clore.ai; compruebe los puertos abiertos del servidor

Comandos de depuración

Lecturas adicionales

Última actualización

¿Te fue útil?