Framework IA Haystack
Déployez Haystack de deepset sur Clore.ai — créez des pipelines RAG de production, de la recherche sémantique et des workflows d'agents LLM sur une infrastructure GPU abordable.
Haystack est le framework d'orchestration IA open source de deepset pour créer des applications LLM de niveau production. Avec plus de 18 k étoiles GitHub, il offre une architecture flexible basée sur des pipelines qui assemble des magasins de documents, des récupérateurs, des lecteurs, des générateurs et des agents — le tout en Python propre et composable. Que vous ayez besoin de RAG sur des documents privés, de recherche sémantique ou de workflows d'agents en plusieurs étapes, Haystack gère la plomberie afin que vous puissiez vous concentrer sur la logique de l'application.
Sur Clore.ai, Haystack excelle lorsque vous avez besoin d'un GPU pour l'inférence locale de modèles via Hugging Face Transformers ou sentence-transformers. Si vous vous reposez uniquement sur des API externes (OpenAI, Anthropic), vous pouvez l'exécuter sur des instances CPU uniquement — mais pour la génération d'embeddings et les LLM locaux, un GPU réduit la latence de manière spectaculaire.
Tous les exemples s’exécutent sur des serveurs GPU loués via la place de marché CLORE.AI.
Aperçu
Projet
Licence
Apache 2.0
Étoiles GitHub
18 k+
Version
v2.x (haystack-ai)
Cas d'utilisation principal
RAG, recherche sémantique, questions-réponses sur documents, flux de travail d'agents
Prise en charge du GPU
Facultatif — requis pour les embeddings locaux / LLM locaux
Difficulté
Moyen
Exposition de l'API
Hayhooks (basé sur FastAPI, REST)
Intégrations clés
Ollama, OpenAI, Anthropic, HuggingFace, Elasticsearch, Pinecone, Weaviate, Qdrant
Ce que vous pouvez créer
pipelines RAG — ingérer des documents, générer des embeddings, récupérer le contexte, répondre aux questions
Recherche sémantique — interroger des documents par sens, et non par mots-clés
Traitement de documents — analyser des PDF, du HTML, des documents Word ; découper, nettoyer et indexer le contenu
Flux de travail d'agents — raisonnement en plusieurs étapes avec utilisation d'outils (recherche web, calculatrices, API)
Services d'API REST — exposer n'importe quel pipeline Haystack comme point de terminaison via Hayhooks
Exigences
Configuration matérielle requise
Mode API uniquement (OpenAI/Anthropic)
Aucun / CPU
—
4 Go
20 Go
~0,01–0,05 $/h
Embeddings locaux (sentence-transformers)
RTX 3060
8 Go
16 Go
30 Go
$0.03–0.07/hr
Embeddings locaux + petit LLM (7B)
RTX 3090
24 Go
16 Go
50 Go
0,07–0,21 $/h
LLM local (13B–34B)
RTX 4090
24 Go
32 Go
80 Go
0,14–0,42 $/h
Prérequis logiciels
Docker (préinstallé sur les serveurs Clore.ai)
Pilotes NVIDIA + CUDA (préinstallés sur les serveurs GPU Clore.ai)
Python 3.10+ (dans le conteneur)
CUDA 11.8 ou 12.x
Démarrage rapide
1. Louez un serveur Clore.ai
Dans le Marketplace Clore.ai, filtrez selon :
VRAM: ≥ 8 Go pour les charges de travail d'embedding, ≥ 24 Go pour les LLM locaux
Docker: Activé (par défaut sur la plupart des annonces)
Image:
nvidia/cuda:12.8.1-devel-ubuntu22.04oupytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime
Notez l'IP publique du serveur et le port SSH à partir de Mes commandes.
2. Connectez-vous et vérifiez le GPU
3. Construisez l'image Docker de Haystack
Haystack v2 recommande une installation via pip. Créez un Dockerfile personnalisé :
4. Exécutez Haystack avec Hayhooks
Hayhooks transforme automatiquement n'importe quel pipeline Haystack en API REST :
Réponse attendue :
5. Créez votre premier pipeline RAG
Écrivez un YAML de pipeline que Hayhooks exposera comme point de terminaison :
Hayhooks détecte automatiquement et expose ce pipeline. Testez-le :
Configuration
Variables d’environnement
OPENAI_API_KEY
Clé API OpenAI pour les modèles GPT
sk-...
ANTHROPIC_API_KEY
Clé API Anthropic pour Claude
sk-ant-...
HF_TOKEN
Jeton Hugging Face pour les modèles à accès restreint
hf_...
HAYSTACK_TELEMETRY_ENABLED
Désactiver la télémétrie d'utilisation
false
CUDA_VISIBLE_DEVICES
Sélectionner un GPU spécifique
0
TRANSFORMERS_CACHE
Chemin de cache pour les modèles HF
/workspace/hf-cache
Exécuter avec la configuration complète
Pipeline d'ingestion de documents
Construisez un pipeline d'indexation séparé pour ingérer des documents :
Utilisation de bases de données vectorielles (production)
Pour les charges de production, remplacez le stockage en mémoire par une base de données vectorielle persistante :
Accélération GPU
Haystack utilise l'accélération GPU dans deux scénarios principaux :
1. Génération d'embeddings (Sentence Transformers)
Le GPU est très bénéfique pour générer des embeddings pour de grandes collections de documents :
2. Inférence locale de LLM (Hugging Face Transformers)
Pour exécuter des LLM directement dans Haystack sans Ollama :
3. Associez avec Ollama (approche recommandée)
Pour la meilleure combinaison de simplicité et de performance, utilisez Ollama pour l'inférence LLM et Haystack pour l'orchestration :
Surveillez l'utilisation du GPU dans les deux conteneurs :
Conseils et bonnes pratiques
Choisissez le bon modèle d'embedding
BAAI/bge-small-en-v1.5
~0,5 Go
Le plus rapide
Bon
Indexation à haut débit
BAAI/bge-base-en-v1.5
~1 Go
Rapide
Meilleur
RAG général
BAAI/bge-large-en-v1.5
~2 Go
Moyen
Meilleur
Précision maximale
nomic-ai/nomic-embed-text-v1
~1,5 Go
Rapide
Excellente
Documents longs
Conseils de conception de pipeline
Découpez les documents judicieusement — des segments de 200 à 400 mots avec 10 à 15 % de chevauchement conviennent bien à la plupart des cas d'utilisation RAG
Mettre en cache les embeddings — persistez votre magasin de documents sur disque ; la ré-indexation des embeddings est coûteuse
Utilisez
warm_up()— appelezcomponent.warm_up()avant une utilisation en production pour charger les modèles en mémoire GPUIndexation par lots — traitez les documents par lots de 32 à 64 pour une utilisation optimale du GPU
Filtrer avec des métadonnées — utilisez le filtrage des métadonnées de Haystack pour délimiter la récupération (par ex. par date, source, catégorie)
Optimisation des coûts
Sécuriser Hayhooks pour un accès externe
Dépannage
ModuleNotFoundError: haystack
Package non installé
Reconstruisez l'image Docker ; vérifiez pip install haystack-ai réussi
Mémoire CUDA insuffisante
Modèle d'embedding trop volumineux
Utilisez bge-small-en-v1.5 ou réduisez la taille du lot
Hayhooks renvoie une erreur 404 sur le pipeline
Fichier YAML introuvable
Vérifiez le montage du volume ; le fichier du pipeline doit se trouver dans /app/pipelines/
Embedding lent sur le CPU
GPU non détecté
Vérifiez --gpus all option ; vérifiez torch.cuda.is_available()
Connexion refusée par Ollama
Nom d'hôte incorrect
Utilisez --add-host=host.docker.internal:host-gateway; définissez l'URL sur http://host.docker.internal:11434
Le téléchargement depuis HuggingFace échoue
Jeton manquant ou limite de débit
Définissez HF_TOKEN variable d'environnement ; assurez-vous que le modèle n'est pas restreint
Erreur d'analyse du YAML du pipeline
Syntaxe invalide
Validez le YAML ; utilisez python3 -c "import yaml; yaml.safe_load(open('pipeline.yml'))"
Le conteneur se ferme immédiatement
Erreur de démarrage
Vérifiez docker logs haystack; assurez-vous que la commande CMD du Dockerfile est correcte
Le port 1416 n'est pas accessible de l'extérieur
Pare-feu / redirection de port
Exposez le port dans les paramètres de commande Clore.ai ; vérifiez les ports ouverts du serveur
Commandes de débogage
Pour aller plus loin
Documentation Haystack — documentation officielle v2
GitHub de Hayhooks — diffusion d'API REST pour les pipelines
Livre de recettes Haystack — tutoriels de bout en bout (RAG, agents, recherche)
deepset-ai/haystack sur GitHub — source, problèmes, versions
Intégrations Haystack — liste complète des magasins vectoriels, des LLM et des outils pris en charge
Ollama sur Clore.ai — associez Haystack à Ollama pour l'inférence locale des LLM
vLLM sur Clore.ai — backend de diffusion de LLM à haut débit pour Haystack
Guide de comparaison des GPU — choisissez le bon GPU Clore.ai pour votre charge de travail
la place de marché CLORE.AI — louez des serveurs GPU
Mis à jour
Ce contenu vous a-t-il été utile ?