- Published on
KI-Server-RAG: Vom PDF zur abfragebereiten Wissensdatenbank
- Authors

- Name
- Phillip Pham
- @ddppham
RAG: Von PDF zu abfragebereitem Wissen
Die RAG-Pipeline verbindet firmeneigene Dokumente mit einem LLM — so antwortet die KI nicht mit Halluzinationen, sondern mit Fakten aus Ihren Dokumenten.
Die 5 Schritte der RAG-Pipeline
1. Dokumenten-Extraktion
from langchain_community.document_loaders import PyPDFLoader, DocxLoader, UnstructuredMarkdownLoader
def load_document(file_path):
if file_path.endswith('.pdf'):
return PyPDFLoader(file_path).load()
elif file_path.endswith('.docx'):
return DocxLoader(file_path).load()
elif file_path.endswith('.md'):
return UnstructuredMarkdownLoader(file_path).load()
2. Chunking (Aufteilung in kleinere Abschnitte)
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=500, # 500 Tokens pro Chunk
chunk_overlap=50, # 50 Tokens Overlap
length_function=len,
)
chunks = splitter.split_documents(docs)
# 1000 Seiten → ~500 Chunks
3. Embedding (Vektor-Erstellung)
from langchain_community.embeddings import OllamaEmbeddings
embeddings = OllamaEmbeddings(model="nomic-embed-text")
for chunk in chunks:
embedding = embeddings.embed_query(chunk.page_content)
4. Speicherung in Qdrant
from qdrant_client import QdrantClient, models
client = QdrantClient(path="./qdrant_wissen")
client.create_collection("firmen_wissen",
vectors_config=models.VectorParams(
size=768,
distance=models.Distance.COSINE
))
client.upsert(
collection_name="firmen_wissen",
points=models.Batch(
ids=list(range(len(chunks))),
vectors=[embeddings.embed_query(c.page_content) for c in chunks]
)
)
5. Abfrage (Retrieval + Generation)
from langchain_community.llms import Ollama
from langchain.chains import RetrievalQA
llm = Ollama(model="llama3.3:70b")
qa = RetrievalQA.from_chain_type(
llm=llm,
retriever=client.as_retriever(search_kwargs={"k": 5})
)
result = qa.invoke("Was sagt die Dokumentation über Wartung?")
print(result["result"])
Chunking-Strategien
|| Strategie | Chunk Size | Overlap | Einsatz | ||---|---|---|---| || Recursive | 500 | 50 | General Purpose | || Markdown | Variable | 0 | Markdown-Dokumente | || Semantic | ~1000 | 100 | Semantisch sinnvolle Blöcke | || Fixed | 300 | 50 | Kurze Texte |
Performance
|| Schritt | Zeit (100 PDFs) | Hardware | ||---|---|---| || Dokumenten-Extraktion | ~2 min | RTX 4090 | || Chunking | ~1 min | CPU | || Embedding | ~3 min | RTX 4090 | || Speicherung Qdrant | ~30s | SSD | || RAG-Abfrage | ~2s | RTX 4090 |
Fazit
Eine RAG-Pipeline ist in einem Nachmittag implementiert — und transformiert Ihr firmeninternes Wissen in eine KI-abfragebare Wissensdatenbank.
👉 RAG mit LangChain: Python Guide 👉 Qdrant Cluster: Enterprise RAG 👉 Pexon Consulting: RAG-Implementierung
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
Qdrant-Cluster: Skalierbare Vektorsuche für RAG im Enterprise
Qdrant-Cluster aufsetzen: Hochverfügbare Vektorsuche für RAG-Pipelines im Enterprise — Architektur, Replikation und Betrieb auf deutschen Servern.
RAG mit LangChain: Python-Guide für den deutschen Mittelstand
RAG mit LangChain in Python: Von PDF zu abfragebereitem Wissensbestand — vollständiger Guide für den deutschen Mittelstand mit Open-Source-LLMs.
Qdrant-Cluster aufsetzen: skalierbare Vektorsuche
Qdrant-Cluster on-premise aufsetzen: hochverfügbare Vektorsuche für RAG und Bildklassifizierung. Architektur, Replikation und Betrieb Schritt für Schritt.
Bereit für KI im Mittelstand?
Nutzen Sie unsere 10 kostenlosen KI-Tools und Praxis-Guides – oder sprechen Sie direkt mit unseren Experten.
Pexon Consulting – KI-Beratung für den Mittelstand | Scaly Academy – Geförderte KI-Weiterbildung (KI-Spezialist, KI-Experte, Workflow-Automatisierung)