Was macht deepset? Haystack, RAG und die KI-Plattform
Was macht deepset?
deepset ist das Berliner Unternehmen hinter Haystack, einem der meistgenutzten Open-Source-Frameworks für Anwendungen mit großen Sprachmodellen (LLMs). Wer ein Frage-Antwort-System für eigene Dokumente, eine Suche über eine interne Wissensdatenbank oder einen RAG-basierten KI-Agenten baut, landet bei der Recherche fast immer bei diesem Namen. Die folgenden Abschnitte klären, was die Firma anbietet, wie Haystack technisch aufgebaut ist und wann sich das kommerzielle Angebot lohnt – inklusive einer lauffähigen RAG-Pipeline zum Nachbauen.
Firma, Gründer, Finanzierung
deepset wurde 2018 in Berlin von Milos Rusic, Malte Pietsch und Timo Möller gegründet (das Unternehmen schreibt sich selbst konsequent klein). Der Fokus liegt auf produktionsreifer Sprachverarbeitung: Suche, Retrieval-Augmented Generation (RAG) und zunehmend Agenten-Workflows.
Finanziert wird das Ganze durch mehrere Wagniskapital-Runden: eine Series A von 14 Mio. US-Dollar (April 2022, angeführt von GV/Google Ventures) und eine Series B von 30 Mio. US-Dollar (August 2023, angeführt von Balderton Capital, mit Beteiligung von GV, System.One, Lunar Ventures und Harpoon Ventures). Diese beiden Runden summieren sich auf 44 Mio. US-Dollar; ob es davor eine Seed-Finanzierung gab oder danach weitere Runden folgten, ist öffentlich nicht dokumentiert. Bekannt wurde deepset weniger über Marketing als über das Framework selbst: Haystack hat 2026 auf GitHub die Marke von 25.000 Sternen überschritten.
Haystack: das Kernprodukt
Haystack ist ein Python-Framework, mit dem Sie modulare KI-Pipelines aus einzelnen Bausteinen zusammensetzen. Der entscheidende Punkt: Sie beschreiben Ihre Anwendung als gerichteten Graphen aus Komponenten. Jede Komponente erledigt genau eine Aufgabe – Dokumente abrufen, Text in Vektoren umwandeln, einen Prompt bauen, das Sprachmodell aufrufen –, und Sie verdrahten deren Ein- und Ausgänge explizit. Dadurch lässt sich jeder Schritt einzeln testen: Liefert die Pipeline eine falsche Antwort, prüfen Sie zuerst die Ausgabe des Retrievers, dann den zusammengebauten Prompt, erst danach das Modell – statt eine Blackbox-Kette komplett neu debuggen zu müssen.
Wichtig für die Praxis: Es gibt zwei Generationen. Die alte 1.x-Reihe wird über das Paket farm-haystack installiert, die aktuelle, komplett neu geschriebene 2.x-Reihe über haystack-ai. Für neue Projekte ist ausschließlich 2.x relevant – Tutorials und Import-Pfade der beiden Versionen sind nicht kompatibel. Achten Sie also darauf, welche Version eine Anleitung voraussetzt.
pip install haystack-ai
Wie eine Pipeline aufgebaut ist
Die zentralen Komponententypen, die Ihnen immer wieder begegnen:
- Document Store – die Datenbank, in der Ihre Textbausteine liegen (z. B.
InMemoryDocumentStorefür Tests, dazu Anbindungen an OpenSearch, Elasticsearch, Weaviate, Pinecone, Qdrant, pgvector oder Chroma). - Retriever – holt zu einer Anfrage die passenden Dokumente, entweder per Stichwort (BM25) oder per Vektorsuche (Embeddings).
- Embedder – wandelt Text in Vektoren um, damit semantische Ähnlichkeit gemessen werden kann.
- PromptBuilder / ChatPromptBuilder – setzt aus Vorlage und abgerufenen Dokumenten den finalen Prompt zusammen (mit Jinja-Templating).
- Generator – der eigentliche LLM-Aufruf, etwa
OpenAIChatGeneratoroder lokale Modelle.
Ein RAG-Beispiel in Code
Das folgende Beispiel zeigt eine minimale, aber vollständige RAG-Pipeline mit Haystack 2.x: Dokumente ablegen, den passenden Kontext per Stichwortsuche abrufen, einen Prompt bauen und das Modell antworten lassen. Für den LLM-Aufruf muss die Umgebungsvariable OPENAI_API_KEY gesetzt sein.
from haystack import Pipeline, Document
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
from haystack.components.builders import ChatPromptBuilder
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage
# 1. Dokumente ablegen
store = InMemoryDocumentStore()
store.write_documents([
Document(content="deepset wurde 2018 in Berlin gegruendet."),
Document(content="Haystack ist ein Open-Source-Framework fuer LLM-Anwendungen."),
])
# 2. Komponenten definieren
retriever = InMemoryBM25Retriever(document_store=store)
template = [ChatMessage.from_user(
"Beantworte die Frage nur anhand des Kontexts.\n"
"Kontext:\n{% for d in documents %}{{ d.content }}\n{% endfor %}\n"
"Frage: {{ query }}"
)]
builder = ChatPromptBuilder(template=template, required_variables=["query", "documents"])
generator = OpenAIChatGenerator(model="gpt-4o-mini")
# 3. Pipeline verdrahten
pipe = Pipeline()
pipe.add_component("retriever", retriever)
pipe.add_component("builder", builder)
pipe.add_component("generator", generator)
pipe.connect("retriever.documents", "builder.documents")
pipe.connect("builder.prompt", "generator.messages")
# 4. Ausfuehren
frage = "Wo wurde deepset gegruendet?"
result = pipe.run({"retriever": {"query": frage}, "builder": {"query": frage}})
print(result["generator"]["replies"][0].text)
Hinweis: Import-Pfade und Klassennamen ändern sich mitunter zwischen Minor-Versionen von haystack-ai. Bricht der Code mit ImportError oder ModuleNotFoundError ab, lohnt sich zuerst ein Blick ins Changelog der installierten Version, bevor Sie an der Pipeline-Logik suchen.
Für einen echten Betrieb würden Sie den InMemoryBM25Retriever durch einen Embedding-Retriever plus Vektor-Store ersetzen und die Dokumente vorab per Embedder indizieren. Das Prinzip – Komponenten hinzufügen und ihre Sockets verbinden – bleibt identisch. Wenn Ihnen der Begriff RAG noch fremd ist: Er beschreibt das Muster, ein Sprachmodell nicht raten zu lassen, sondern ihm passende Quelltexte mitzugeben. Warum das für belastbare Ergebnisse wichtig ist, ordnet auch unser Beitrag zur Rolle künstlicher Intelligenz in der Datenanalyse ein.
Eigene Komponenten schreiben
Haystack ist bewusst erweiterbar. Eine eigene Komponente ist jede Python-Klasse mit dem Dekorator @component, die eine run()-Methode besitzt; über @component.output_types(...) deklarieren Sie die Ausgabetypen. Damit lassen sich beliebige Schritte einhängen – etwa ein Filter, der personenbezogene Daten aus dem Kontext entfernt, oder ein Aufruf einer internen API vor dem eigentlichen LLM-Schritt. Für Teams mit eigenen Compliance- oder Datenschutzanforderungen ist genau das der Hebel: Jede Pipeline-Stufe lässt sich einzeln kontrollieren, testen und bei Bedarf austauschen, statt auf eine fertige Blackbox angewiesen zu sein.
Die kommerzielle Plattform: Haystack Enterprise
Das Open-Source-Framework ist kostenlos. Daneben verkauft deepset eine kommerzielle Ebene in drei Stufen: das offene Haystack-Framework selbst, Haystack Enterprise Starter (Support, fertige Pipeline-Vorlagen, priorisierter Zugang) und die Haystack Enterprise Platform als volles SaaS- oder Self-Hosting-Angebot mit visuellem Pipeline-Editor, Nutzerverwaltung, Monitoring und Evaluations-Werkzeugen. Die Plattform hieß zuvor deepset Cloud bzw. deepset AI Platform und wurde im Dezember 2025 in Haystack Enterprise Platform umbenannt – Teil einer Vereinheitlichung der Produktmarke unter dem Namen Haystack. Konkrete Preise veröffentlicht deepset nicht; laut eigenen Angaben richtet sich die Staffelung nach Unternehmensgröße, Details gibt es nur auf Anfrage.
Der Unterschied zum reinen Framework liegt im Drumherum: eine Oberfläche zum Bauen und Testen von Pipelines, ohne alles selbst zu deployen, dazu Nutzerverwaltung, Monitoring, Evaluations-Werkzeuge und Support. Für ein Wochenendprojekt ist das überflüssig – das Framework allein genügt. Sobald mehrere Teams produktiv Pipelines betreiben, Compliance-Anforderungen im Spiel sind oder Sie eine selbst gehostete, „souveräne” KI-Umgebung brauchen, wird die Plattform interessant. deepset positioniert sich bewusst im Enterprise-Segment und pflegt Integrationen mit Meta Llama Stack, NVIDIA, AWS und MongoDB.
Typische Stolpersteine beim Einstieg
- Falsche Version installiert.
pip install haystack(ohne-ai) oder ein 1.x-Tutorial führt zuImportError, weil die Modulpfade sich geändert haben. Für 2.x immerhaystack-aiverwenden. - Leere oder falsche Antworten. Häufig liegt es nicht am Modell, sondern am Retriever: Werden keine relevanten Dokumente gefunden, hat das LLM keinen Kontext. Prüfen Sie zuerst die Retriever-Ausgabe isoliert, bevor Sie am Prompt schrauben.
- API-Key fehlt.
OpenAIChatGeneratorerwartet standardmäßigOPENAI_API_KEYin der Umgebung. Fehlt der Schlüssel, bricht die Pipeline erst beim Generator-Schritt ab. - Vektorsuche ohne Indizierung. Ein Embedding-Retriever findet nichts, wenn die Dokumente nicht vorher mit demselben Embedding-Modell indiziert wurden. Das Modell in Indizierung und Abfrage muss identisch sein.
FAQ
Ist Haystack kostenlos?
Ja. Das Framework haystack-ai steht unter der Apache-2.0-Lizenz und ist frei nutzbar, auch kommerziell. Kosten entstehen nur durch die genutzten Modelle (z. B. OpenAI-Aufrufe), eine Vektordatenbank oder die optionale Haystack Enterprise Platform von deepset.
Was ist der Unterschied zwischen deepset und Haystack? deepset ist die Firma, Haystack ist deren Open-Source-Produkt. Zusätzlich verkauft deepset eine kommerzielle Plattform, die auf Haystack aufsetzt. „Haystack” meint also die Technik, „deepset” das Unternehmen dahinter.
Haystack oder LangChain – was soll ich nehmen? Beide bauen LLM-Pipelines. Haystack punktet mit dem klaren, typgeprüften Pipeline-Modell und starkem Fokus auf Such-/RAG-Anwendungen im Produktivbetrieb; LangChain ist breiter und schnelllebiger. Für wartbare, gut dokumentierte Retrieval-Systeme greifen viele Teams zu Haystack. Die endgültige Wahl hängt von Ihrem Team und Ökosystem ab – bauen Sie einen kleinen Prototyp in beiden.