Haystack-KI-Framework
Deploye Haystack von deepset auf Clore.ai — baue produktionsreife RAG-Pipelines, semantische Suche und LLM-Agenten-Workflows auf günstiger GPU-Infrastruktur.
Haystack ist deepsets quelloffenes KI-Orchestrierungsframework zum Erstellen produktionsreifer LLM-Anwendungen. Mit über 18.000 GitHub-Sternen bietet es eine flexible pipelinebasierte Architektur die Dokumentenspeicher, Retriever, Reader, Generatoren und Agents miteinander verbindet — alles in sauberem, komponierbarem Python. Egal, ob Sie RAG über private Dokumente, semantische Suche oder mehrstufige Agenten-Workflows benötigen, Haystack übernimmt die ganze Infrastruktur, damit Sie sich auf die Anwendungslogik konzentrieren können.
Auf Clore.ai glänzt Haystack, wenn Sie eine GPU für die lokale Modellinferenz über Hugging Face Transformers oder sentence-transformers benötigen. Wenn Sie sich ausschließlich auf externe APIs (OpenAI, Anthropic) verlassen, können Sie es auf reinen CPU-Instanzen betreiben — aber für die Erzeugung von Embeddings und lokale LLMs senkt eine GPU die Latenz drastisch.
Alle Beispiele laufen auf GPU-Servern, die über die CLORE.AI-Marktplatz.
Überblick
Projekt
Lizenz
Apache 2.0
GitHub-Sterne
18K+
Version
v2.x (haystack-ai)
Primärer Anwendungsfall
RAG, semantische Suche, Dokumenten-QA, Agenten-Workflows
GPU-Unterstützung
Optional — erforderlich für lokale Embeddings / lokale LLMs
Schwierigkeitsgrad
Mittel
API-Bereitstellung
Hayhooks (auf FastAPI-Basis, REST)
Wichtige Integrationen
Ollama, OpenAI, Anthropic, HuggingFace, Elasticsearch, Pinecone, Weaviate, Qdrant
Was Sie bauen können
RAG-Pipelines — Dokumente einlesen, Embeddings erzeugen, Kontext abrufen, Fragen beantworten
Semantische Suche — Dokumente nach Bedeutung statt nach Schlüsselwörtern abfragen
Dokumentenverarbeitung — PDFs, HTML, Word-Dokumente analysieren; Inhalte aufteilen, bereinigen und indizieren
Agenten-Workflows — mehrstufiges Schlussfolgern mit Tool-Nutzung (Websuche, Rechner, APIs)
REST-API-Dienste — jede Haystack-Pipeline über Hayhooks als Endpunkt bereitstellen
Anforderungen
Hardware-Anforderungen
Nur API-Modus (OpenAI/Anthropic)
Keine / CPU
—
4 GB
20 GB
~0,01–0,05 $/h
Lokale Embeddings (sentence-transformers)
RTX 3060
8 GB
16 GB
30 GB
0,03–0,07 $/Std.
Lokale Embeddings + kleines LLM (7B)
RTX 3090
24 GB
16 GB
50 GB
ca. 0,07–0,21 $/h
Lokales LLM (13B–34B)
RTX 4090
24 GB
32 GB
80 GB
ca. 0,14–0,42 $/h
Software-Anforderungen
Docker (vorinstalliert auf Clore.ai-Servern)
NVIDIA-Treiber + CUDA (vorinstalliert auf Clore.ai-GPU-Servern)
Python 3.10+ (im Container)
CUDA 11.8 oder 12.x
Schnellstart
1. Mieten Sie einen Clore.ai-Server
Im Clore.ai-Marktplatz, filtern Sie nach:
VRAM: ≥ 8 GB für Embedding-Workloads, ≥ 24 GB für lokale LLMs
Docker: Aktiviert (standardmäßig bei den meisten Angeboten)
Image:
nvidia/cuda:12.8.1-devel-ubuntu22.04oderpytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime
Notieren Sie die öffentliche IP-Adresse und den SSH-Port des Servers aus Meine Bestellungen.
2. Verbinden und GPU prüfen
3. Das Haystack-Docker-Image erstellen
Für Haystack v2 wird die Installation per pip empfohlen. Erstellen Sie ein benutzerdefiniertes Dockerfile:
4. Haystack mit Hayhooks ausführen
Hayhooks macht automatisch jede Haystack-Pipeline zu einer REST-API:
Erwartete Antwort:
5. Erstellen Sie Ihre erste RAG-Pipeline
Schreiben Sie eine Pipeline-YAML, die Hayhooks als Endpunkt bereitstellen wird:
Hayhooks entdeckt und bereitgestellt diese Pipeline automatisch. Testen Sie sie:
Konfiguration
Umgebungsvariablen
OPENAI_API_KEY
OpenAI-API-Schlüssel für GPT-Modelle
sk-...
ANTHROPIC_API_KEY
Anthropic-API-Schlüssel für Claude
sk-ant-...
HF_TOKEN
Hugging-Face-Token für gesperrte Modelle
hf_...
HAYSTACK_TELEMETRY_ENABLED
Nutzungs-Telemetrie deaktivieren
false
CUDA_VISIBLE_DEVICES
Bestimmte GPU auswählen
0
TRANSFORMERS_CACHE
Cache-Pfad für HF-Modelle
/workspace/hf-cache
Mit vollständiger Konfiguration ausführen
Dokumenten-Ingestions-Pipeline
Erstellen Sie eine separate Indexierungs-Pipeline, um Dokumente einzulesen:
Vektordatenbanken verwenden (Produktion)
Für Produktions-Workloads ersetzen Sie den In-Memory-Speicher durch eine persistente Vektordatenbank:
GPU-Beschleunigung
Haystack nutzt GPU-Beschleunigung in zwei Hauptszenarien:
1. Erzeugung von Embeddings (Sentence Transformers)
Eine GPU ist sehr vorteilhaft für das Einbetten großer Dokumentensammlungen:
2. Lokale LLM-Inferenz (Hugging Face Transformers)
Zum direkten Ausführen von LLMs in Haystack ohne Ollama:
3. Mit Ollama kombinieren (empfohlener Ansatz)
Für die beste Kombination aus Einfachheit und Leistung führen Sie Ollama für die LLM-Inferenz und Haystack für die Orchestrierung aus:
GPU-Auslastung in beiden Containern überwachen:
Tipps & bewährte Praktiken
Das richtige Embedding-Modell auswählen
BAAI/bge-small-en-v1.5
~0,5 GB
Am schnellsten
Gut
Indexierung mit hohem Durchsatz
BAAI/bge-base-en-v1.5
~1 GB
Schnell
Besser
Allgemeines RAG
BAAI/bge-large-en-v1.5
~2 GB
Mittel
Am besten
Höchste Genauigkeit
nomic-ai/nomic-embed-text-v1
~1,5 GB
Schnell
Hervorragend
Lange Dokumente
Tipps für das Pipeline-Design
Dokumente sinnvoll aufteilen — 200–400-Wort-Abschnitte mit 10–15 % Überlappung funktionieren für die meisten RAG-Anwendungsfälle gut
Embeddings zwischenspeichern — speichern Sie Ihren Dokumentenspeicher auf der Festplatte; erneutes Einbetten ist teuer
Verwende
warm_up()— aufrufencomponent.warm_up()vor dem produktiven Einsatz, um Modelle in den GPU-Speicher zu ladenBatch-Indexierung — Dokumente in Batches von 32–64 verarbeiten, um die GPU optimal auszulasten
Mit Metadaten filtern — verwenden Sie die Metadatenfilterung von Haystack, um den Abruf einzugrenzen (z. B. nach Datum, Quelle, Kategorie)
Kostenoptimierung
Hayhooks für externen Zugriff absichern
Fehlerbehebung
ModuleNotFoundError: haystack
Paket nicht installiert
Docker-Image neu erstellen; prüfen pip install haystack-ai erfolgreich
CUDA-Speicher erschöpft
Embedding-Modell zu groß
Verwende bge-small-en-v1.5 oder die Batch-Größe reduzieren
Hayhooks gibt für die Pipeline einen 404 zurück
YAML-Datei nicht gefunden
Prüfen Sie das Volume-Mount; die Pipeline-Datei muss sich in befinden /app/pipelines/
Langsames Embedding auf der CPU
GPU nicht erkannt
Überprüfen Sie --gpus all Flag; prüfen Sie torch.cuda.is_available()
Ollama-Verbindung abgelehnt
Falscher Hostname
Verwende --add-host=host.docker.internal:host-gateway; setzen Sie die URL auf http://host.docker.internal:11434
HuggingFace-Download schlägt fehl
Fehlendes Token oder Rate-Limit
Setze HF_TOKEN Umgebungsvariable; stellen Sie sicher, dass das Modell nicht eingeschränkt ist
YAML-Parsing-Fehler in der Pipeline
Ungültige Syntax
YAML validieren; verwenden Sie python3 -c "import yaml; yaml.safe_load(open('pipeline.yml'))"
Container beendet sich sofort
Startfehler
Prüfe docker logs haystack; stellen Sie sicher, dass das CMD im Dockerfile korrekt ist
Port 1416 ist extern nicht erreichbar
Firewall / Portweiterleitung
Stellen Sie den Port in den Bestell-Einstellungen von Clore.ai frei; prüfen Sie die offenen Ports des Servers
Debug-Befehle
Weiterführende Lektüre
Haystack-Dokumentation — offizielle v2-Dokumentation
Hayhooks-GitHub — Bereitstellung der REST-API für Pipelines
Haystack-Kochbuch — End-to-End-Tutorials (RAG, Agenten, Suche)
deepset-ai/haystack auf GitHub — Quellcode, Issues, Releases
Haystack-Integrationen — vollständige Liste unterstützter Vektorspeicher, LLMs und Tools
Ollama auf Clore.ai — Haystack mit Ollama für lokale LLM-Inferenz kombinieren
vLLM auf Clore.ai — High-Throughput-Backend für die Bereitstellung von LLMs für Haystack
GPU-Vergleichsleitfaden — Wählen Sie die richtige Clore.ai-GPU für Ihre Arbeitslast
CLORE.AI-Marktplatz — GPU-Server mieten
Zuletzt aktualisiert
War das hilfreich?