Zurück zum Blog
Blog

Aufbau Ihres ersten RAG-Systems: KI intelligent über Ihr Unternehmen machen

Aug 17, 2025·7 min read·Shranya Mahna
#AI knowledge base#business AI#contextual AI#RAG system#retrieval augmented generation
Aufbau Ihres ersten RAG-Systems: KI intelligent über Ihr Unternehmen machen

Teil 2 von 5: Retrieval-Augmented Generation

Willkommen zurück! Heute tauchen wir in RAG-Systeme ein — eine der praktischsten Möglichkeiten, um KI für deine spezifischen Geschäftsanforderungen nutzbar zu machen.

Was genau ist RAG?

Ich erkläre dir RAG mit einer einfachen Analogie. Stell dir vor, du machst eine Klausur mit offenen Unterlagen. Anstatt dich nur auf das zu verlassen, was du auswendig gelernt hast, kannst du in deinen Lehrbüchern nachschlagen, um bessere und präzisere Antworten zu geben. Genau das macht RAG mit KI-Modellen.

RAG = KI-Modell + Deine Custom Knowledge Base

Das KI-Modell liefert die „Intelligenz", um Fragen zu verstehen und menschenähnliche Antworten zu generieren, während deine Knowledge Base die spezifische, aktuelle Information über dein Unternehmen bereitstellt.

Warum solltest du dich für RAG interessieren?

Das ist das Ding mit großen Sprachmodellen wie ChatGPT — sie sind unglaublich intelligent, wissen aber nichts über dein spezifisches Unternehmen. Sie können Kunden nicht über deine neuesten Produktmerkmale erzählen, deine Unternehmensrichtlinien nicht erläutern oder Fragen anhand deiner internen Dokumentation nicht beantworten.

RAG löst das, indem es:

  • KI-Antworten präziser und relevanter für dein Unternehmen macht
  • Informationen aktuell hält (aktualisiere einfach deine Dokumente, kein Retraining nötig)
  • Transparenz bietet (du kannst sehen, welche Dokumente die KI verwendet hat)
  • kostengünstig ist (viel billiger als das Fine-Tuning großer Modelle)

Lass uns gemeinsam eines bauen

Ich zeige dir, wie du ein RAG-System mit Googles Gemini AI aufbaust. Wir erstellen ein System, das Fragen über „MyNextDeveloper" beantworten kann. Hier ist der Schritt-für-Schritt-Prozess:

Schritt 1: Erforderliche Tools installieren

!pip install -q -U google-generativeai langchain-google-genai langchain faiss-cpu pypdf langchain-community

Diese Bibliotheken kümmern sich um die schwere Arbeit:

  • google-generativeai: Zugang zu Googles Gemini-Modellen
  • langchain-google-genai: Gemini-Integration mit LangChain
  • LangChain: Framework für den Aufbau von KI-Anwendungen
  • FAISS: Schnelle Ähnlichkeitssuche (Auffinden relevanter Dokumente)

Schritt 2: Google AI API einrichten

import os

from google.colab import userdata

import google.generativeai as genai
GOOGLE_API_KEY = userdata.get('GOOGLE_API_KEY') genai.configure(api_key=GOOGLE_API_KEY)

Du benötigst einen kostenlosen API-Schlüssel von Google AI Studio und musst ihn zu deiner Umgebung hinzufügen.

Schritt 3: Deine Knowledge Base vorbereiten

raw_text = """

MyNextDeveloper (MND) is a remote-first tech company founded in 2022 in Mumbai. They focus on supplying pre-vetted, highly skilled developers to startups. Their mission is to solve the trust gap between startups and engineers by emphasizing empathy, communication, and transparency.The company promotes agile practices, test-driven development, and POSH-compliant culture. MND offers services like staff augmentation, API and web development, UI/UX design, and AI/ML solutions. Their tech stack includes Angular, React, Next.js, Node.js, Django, Python, Docker, and AWS.

Clients appreciate their transparency and delivery quality. Project pricing starts at $10,000 with hourly rates between $25 and $49. MND claims startups can save up to 30% through their freelance model.

They operate globally, serving startups, Y Combinator and Techstars alumni. It is headquartered in Malabar Hill, Mumbai.

"""
# In LangChain-Dokument konvertieren from langchain_core.documents import Document documents = [Document(page_content=raw_text)] print(f"Loaded {len(documents)} document(s).")

In einer echten Anwendung wäre dies deine Produktdokumentation, FAQ, Unternehmensrichtlinien oder andere textbasierte Informationen über dein Unternehmen.

Schritt 4: Die Informationen in Chunks unterteilen

from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(

chunk_size=300,

chunk_overlap=50,

length_function=len,

add_start_index=True,

)
chunks = text_splitter.split_documents(documents)

print(f"Split into {len(chunks)} chunks.")

Warum teilen wir den Text auf? KI-Modelle funktionieren besser mit kleineren, fokussierten Informationsstücken. Der chunk_overlap=50 stellt sicher, dass wir keinen Kontext an den Chunk-Grenzen verlieren, während add_start_index=True uns hilft, nachzuverfolgen, woher die Information kommt.

Schritt 5: Embeddings und Vector Store erstellen

from langchain_google_genai import GoogleGenerativeAIEmbeddings

from langchain_community.vectorstores import FAISS
embeddings = GoogleGenerativeAIEmbeddings(

model="models/embedding-001",

google_api_key=GOOGLE_API_KEY

)
print("Creating FAISS vector store...")

vector_store = FAISS.from_documents(chunks, embeddings)

print("FAISS vector store created.")

Der wichtigste Schritt. Jeder Text-Chunk wird in einen „Vektor" (numerische Darstellung) konvertiert. Wenn jemand eine Frage stellt, finden wir die Chunks mit Vektoren, die dem Vektor der Frage am ähnlichsten sind.

Schritt 6: Das Frage-Antwort-System einrichten

from langchain_google_genai import ChatGoogleGenerativeAI

from langchain.chains import RetrievalQA

from langchain_core.prompts import PromptTemplate
retriever = vector_store.as_retriever(search_kwargs={"k": 3})
llm = ChatGoogleGenerativeAI(

model="gemini-1.5-flash",

temperature=0.3,

google_api_key=GOOGLE_API_KEY

)
prompt_template = """

You are an AI assistant that answers questions based on the provided context.

If the answer is not available in the context, politely state that you don't know.
Context:

{context}
Question:

{question}
Answer:

"""

RAG_PROMPT = PromptTemplate.from_template(prompt_template)
qa_chain = RetrievalQA.from_chain_type(

llm=llm,

chain_type="stuff",

retriever=retriever,

return_source_documents=True,

chain_type_kwargs={"prompt": RAG_PROMPT}

)

Die temperature=0.3 hält Antworten fokussiert und sachlich, während search_kwargs={"k": 3} bedeutet, dass wir die 3 relevantesten Chunks für jede Frage abrufen.

Schritt 7: Testen

questions = [

"What does MyNextDeveloper (MND) do?",

"Where is MND headquartered?",

"What services does MND offer?",

"What technologies does MND use?",

"How does MND help startups save money?",

"What is the capital of France?"  # This should trigger "I don't know"

]
for i, question in enumerate(questions):

print(f"nQuestion {i+1}: {question}")

response = qa_chain.invoke({"query": question})

print(f"Answer: {response['result']}")

if 'source_documents' in response:

print("Source Documents:")

for doc in response['source_documents']:

print(f"- Content (truncated): {doc.page_content[:150]}...")

Beispielausgabe:

Question 1: What does MyNextDeveloper (MND) do?

Answer: MyNextDeveloper (MND) is a remote-first tech company that supplies pre-vetted, highly skilled developers to startups. They offer services such as staff augmentation, API and web development, UI/UX design, and AI/ML solutions. Their goal is to bridge the trust gap between startups and engineers through empathy, communication, and transparency.
Question 6: What is the capital of France?

Answer: I'm sorry, but I don't know the capital of France. The provided text is about a company called MND and doesn't contain information about France's capital.

Beachte, wie das System Fragen über MND korrekt beantwortet, aber sich höflich weigert, Fragen außerhalb seiner Knowledge Base zu beantworten.

Google Colab

Hier ist der Google-Colab-Link zu diesem Artikel, der mit einem Klick ausgeführt werden kann: Link

Praktische Anwendungen in der Realität

Hier sind einige praktische Möglichkeiten, wie du RAG-Systeme nutzen kannst:

Kundenunterstützung: Lade deine FAQ, Produkthandbücher und Support-Tickets hoch. Lass die KI rund um die Uhr häufig gestellte Fragen beantworten.

Interne Knowledge Base: Lade Unternehmensrichtlinien, Verfahren und Dokumentation hoch. Mitarbeiter können Fragen in natürlicher Sprache stellen, anstatt durch Dateien zu graben.

Verkaufsassistent: Lade Produktspezifikationen, Preisgestaltung und Fallstudien hoch. Dein Verkaufsteam hat sofortigen Zugriff auf alle Informationen, die es während Anrufen benötigt.

Inhaltserstellung: Lade deinen bestehenden Inhalt, Blog-Beiträge und Marketingmaterialien hoch. Generiere neue Inhalte, die mit deiner Markenstimme konsistent sind.

Die Einschränkungen (Lass uns ehrlich sein)

RAG ist nicht perfekt:

  • Die Qualität hängt von deinen Daten ab: Müll rein, Müll raus
  • Kann halluzinieren: Manchmal könnte die KI Informationen erfinden, die plausibel klingen
  • Erfordert Wartung: Du musst deine Knowledge Base aktuell halten
  • Kostenfaktoren: API-Aufrufe können sich bei intensiver Nutzung summieren

Wichtige Erkenntnisse zur Implementierung

Aus unserem funktionierenden Beispiel sind hier einige wichtige technische Überlegungen:

Chunk-Größe ist wichtig: Wir haben 300 Zeichen mit 50-Zeichen-Überlappung verwendet. Das balanciert die Kontextbewahrung mit der Abrufpräzision.

Embedding-Qualität: Googles embedding-001-Modell bietet gute allgemeine Embeddings, aber du benötigst möglicherweise domänenspezifische Embeddings für spezialisierte Inhalte.

Abrufstrategie: Der k=3-Parameter bedeutet, dass wir die 3 relevantesten Chunks abrufen. Du kannst das je nach deinem Anwendungsfall anpassen.

Prompt Engineering: Unser Prompt teilt der KI explizit mit, „Ich weiß nicht" zu sagen, wenn Informationen nicht verfügbar sind. Das verhindert Halluzinationen.

Tipps zum Erfolg

  1. Klein anfangen: Beginne mit einem spezifischen Anwendungsfall, anstatt alles abdecken zu wollen
  2. Dokumente aktuell halten: Veraltete Informationen führen zu frustrierten Benutzern
  3. Umfassend testen: Versuche viele verschiedene Fragen, um zu verstehen, wo dein System gut funktioniert und wo nicht
  4. Nutzung überwachen: Behalte die Fragen im Auge, die Benutzer stellen, um deine Knowledge Base zu verbessern
  5. Chunk-Größe optimieren: Experimentiere mit verschiedenen Chunk-Größen und Überlappungswerten für deine spezifischen Inhalte

Was kommt als nächstes?

In unserem nächsten Artikel werden wir Fine-Tuning erkunden — das Nehmen eines bestehenden KI-Modells und dessen spezifisches Training für deinen Anwendungsfall. Während RAG der KI Zugang zu deinen Informationen gibt, verändert Fine-Tuning tatsächlich, wie die KI über deine Domäne „denkt".

RAG ist oft der beste Startpunkt, weil es einfacher, transparenter und wartbarer ist. Aber manchmal brauchst du die zusätzliche Anpassungsstufe, die nur Fine-Tuning bieten kann.


Kommt in Kürze: Artikel 3 — „Fine-Tuning LLMs: Teaching AI to Speak Your Language"