RAG-Agent mit Mycelis-Wissensbasen aufbauen
Mycelis-Wissensbasen übernehmen Vektorspeicherung und Retrieval — kein Pinecone, Weaviate oder pgvector-Setup nötig. Dokumente hochladen, Wissensbasis an einen Agenten anhängen, und der Agent ruft bei jeder Anfrage automatisch relevanten Kontext ab.
Was du aufbaust
Einen Agenten, der Fragen zu hochgeladenen Dokumenten beantwortet, mit automatisch eingebezetem Retrieval-Kontext.
Schritt 1 — Wissensbasis erstellen
- Im Workspace unter Wissensbasen in der Seitenleiste navigieren
- Neue Wissensbasis klicken
- Namen vergeben (z.B.
produkt-docs) und optional eine Beschreibung - Embedding-Modell auf Standard lassen (Mycelis wählt das beste in deiner Region)
- Erstellen klicken
Schritt 2 — Dokumente hochladen
Die neue Wissensbasis öffnen, dann Hochladen klicken. Unterstützte Formate:
- Markdown (
.md) - Klartext (
.txt) - DOCX
Mehrere Dateien gleichzeitig möglich. Mycelis zerlegt die Dokumente in Chunks, erzeugt Embeddings und speichert sie automatisch. Bei großen PDFs dauert die Indexierung ein bis zwei Minuten — ein grüner Haken signalisiert den Abschluss.
Für programmatischen Upload über die REST-API:
curl -X POST "https://mycelis.ai/api/v1/knowledge-bases/{kb-id}/documents" \ -H "Authorization: Bearer dein-pat" \ -F "file=@./dein-dokument.pdf"
Schritt 3 — Wissensbasis an Agenten anhängen
- Agents im Workspace öffnen
- Neuen Agenten erstellen oder bestehenden öffnen
- Unter Wissensbasen auf Anhängen klicken und
produkt-docsauswählen - Retrieval-Strategie setzen — "Semantische Suche" funktioniert für die meisten Fälle; "Hybrid" kombiniert Keyword + Semantik für bessere Abdeckung von Produktnamen und Codes
- Max. abgerufene Chunks setzen — mit
5starten, bei unvollständigen Antworten erhöhen - Agenten speichern
Schritt 4 — Über die API abfragen
Der Agent verhält sich wie jeder OpenAI-kompatible Endpunkt, injiziert aber abgerufenen Kontext vor dem Modell-Call:
from openai import OpenAI
client = OpenAI(
base_url="https://mycelis.ai/api/proxy/v1",
api_key="dein-mycelis-pat",
)
response = client.chat.completions.create(
model="produkt-docs-agent", # dein Agent-Slug
messages=[
{
"role": "user",
"content": "Was sind die Systemanforderungen für Version 3.2?"
}
],
)
print(response.choices[0].message.content)
Der Agent ruft die relevantesten Dokument-Chunks ab und schließt sie als Kontext ein. Der Anwendungscode ist identisch mit jedem anderen OpenAI-Call.
Schritt 5 — Retrieval-Qualität optimieren
Bei unvollständigen oder falschen Antworten:
- Chunk-Anzahl erhöhen: Max. abgerufene Chunks von 5 auf 8–10 setzen
- Chunk-Größe anpassen: kleinere Chunk-Größe für granulareres Retrieval oder größere für mehr Kontext pro Chunk
- Hybrid-Retrieval wechseln: hilft bei genauen Produktnamen, Versionsnummern und Codes
- System-Prompt ergänzen: z.B.
"Du bist ein Produkt-Support-Assistent. Beantworte nur auf Basis der bereitgestellten Dokumente. Wenn die Antwort nicht in den Dokumenten steht, sage es."um Halluzinationen zu reduzieren
Streaming
Funktioniert ohne Anpassungen:
stream = client.chat.completions.create(
model="produkt-docs-agent",
messages=[{"role": "user", "content": "Fasse die Installationsschritte zusammen."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
Dokumente aktuell halten
Dokumente löschen und neu hochladen bei Änderungen — oder die REST-API nutzen, um dies als Teil der CI/CD-Pipeline zu automatisieren. Die Wissensbasis indexiert aktualisierte Dateien automatisch neu.