Wissensdatenbanken
Wissensdatenbanken per API erstellen, Dokumente hochladen, RAG-Suche durchführen.
Wissensdatenbanken per API erstellen, Dokumente hochladen, RAG-Suche durchführen.
Erstelle vollständig verwaltete RAG-Wissensdatenbanken per API. Wir übernehmen Vektorisierung, Embedding-Modelle und Reranking — du musst dich um nichts kümmern.
Lade verschiedene Dokumenttypen und YouTube-Videos in deine Wissensdatenbank hoch.
Folgende Limits gelten für Knowledge Bases.
| Ressource | Limit |
|---|---|
| Dateigröße | 100 MB |
| Dateien pro KB | 30 |
| KBs pro Nutzer | ∞ |
| Tokens pro KB | 1,000,000 |
Credits
In vier Schritten zur RAG-fähigen Wissensdatenbank:
Erstelle eine neue Wissensdatenbank, um Dokumente zu organisieren und per RAG durchsuchbar zu machen.
/api/v1/knowledge-bases| Parameter | Type | Description |
|---|---|---|
namerequired | string | Name der Wissensdatenbank |
description | string | Optionale Beschreibung |
1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"name": "Product Documentation",6 #86efac">"description": "All product docs"7 }'Bei Erfolg wird die erstellte Wissensdatenbank mit ihrer ID zurückgegeben.
{
"success": true,
"knowledgeBase": {
"id": "kb_abc123",
"name": "Product Documentation",
"description": "All product docs",
"rag_status": "pending",
"rag_progress": 0,
"doc_count": 0,
"created_at": "2025-01-15T10: 30: 00Z"
}
}Listet alle Wissensdatenbanken auf, die dir gehören oder auf die du Zugriff hast.
/api/v1/knowledge-basesNutze deinen API-Key im Authorization-Header.
Hinweis
Gibt ein Array aller Wissensdatenbanken mit Status und Statistiken zurück.
{
"list": [
{
"id": "kb_abc123",
"name": "Product Documentation",
"description": "All product docs",
"rag_status": "completed",
"rag_progress": 100,
"doc_count": 5,
"chunk_count": 234,
"total_tokens": 45200,
"role": "owner",
"created_at": "2025-01-15T10: 30: 00Z"
}
],
"total": 1
}Jede Wissensdatenbank enthält folgende Felder.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Eindeutige ID der Wissensdatenbank |
name | string | Name der Wissensdatenbank |
description | string | Beschreibung der Wissensdatenbank |
rag_status | string | Verarbeitungsstatus (pending, processing, completed, failed) |
rag_progress | number | Fortschritt in Prozent (0–100) |
doc_count | number | Anzahl der Dokumente |
chunk_count | number | Anzahl der erstellten Chunks |
total_tokens | number | Gesamtzahl der Tokens |
role | string | Deine Rolle (owner, editor, viewer) |
created_at | string | Erstellungszeitpunkt |
1curl https://app.anymize.ai/api/v1/knowledge-bases \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Ruft Details einer Wissensdatenbank ab, einschließlich Dokumentliste, Chunk-Statistiken und Gesundheitsstatus.
/api/v1/knowledge-bases/{id}| Parameter | Type | Description |
|---|---|---|
idrequired | string | ID der Wissensdatenbank |
Gibt die Wissensdatenbank mit Dokumenten und Chunk-Statistiken zurück.
{
"knowledgeBase": {
"id": "kb_abc123",
"name": "Product Documentation",
"description": "All product docs",
"summary": "Contains product guides, API references, and FAQ documents.",
"rag_status": "completed",
"health": "healthy",
"documents": [
{
"id": "doc_xyz789",
"name": "getting-started.pdf",
"status": "processed",
"chunk_count": 42,
"token_count": 8500,
"created_at": "2025-01-15T10: 35: 00Z"
}
],
"chunkStats": {
"total_chunks": 234,
"total_tokens": 45200,
"avg_tokens_per_chunk": 193
},
"created_at": "2025-01-15T10: 30: 00Z",
"updated_at": "2025-01-16T14: 20: 00Z"
}
}1curl https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123 \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Aktualisiere Name oder Beschreibung einer Wissensdatenbank.
/api/v1/knowledge-bases/{id}| Parameter | Type | Description |
|---|---|---|
idrequired | string | ID der Wissensdatenbank |
name | string | Neuer Name |
description | string | Neue Beschreibung |
{
"knowledgeBase": {
"id": "kb_abc123",
"name": "Updated Documentation",
"description": "Revised product docs",
"rag_status": "completed",
"updated_at": "2025-01-17T09: 15: 00Z"
}
}1curl -X PATCH https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123 \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"name": "Updated Documentation",6 #86efac">"description": "Revised product docs"7 }'Löscht eine Wissensdatenbank und alle zugehörigen Embeddings. Nur der Eigentümer kann löschen.
/api/v1/knowledge-bases/{id}Achtung
| Parameter | Type | Description |
|---|---|---|
idrequired | string | ID der Wissensdatenbank |
{
"success": true
}1curl -X DELETE https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123 \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Lade Dateien oder YouTube-Videos in eine Wissensdatenbank hoch. Unterstützt multipart/form-data für Dateien und application/json für YouTube-URLs.
/api/v1/knowledge-bases/:id/uploadDer Endpoint unterstützt zwei Modi: Datei-Upload (multipart/form-data) und YouTube-URL (application/json).
Unterstützte Dateitypen
Sende die Datei als multipart/form-data mit folgenden Feldern.
| Parameter | Type | Description |
|---|---|---|
filerequired | File | Die hochzuladende Datei (max. 100 MB) |
with_anonymization | string | Datei vor dem Hinzufügen zur KB anonymisieren. Kostet Credits. |
auto_process | string | RAG-Verarbeitung automatisch starten, wenn alle Dokumente bereit sind. |
Credits
1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/upload \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -F #86efac">"file=@product-guide.pdf" \4 -F #86efac">"with_anonymization=false" \5 -F #86efac">"auto_process=true"Gibt die Job-ID und den Status zurück. Nutze den Status-Endpoint, um den Fortschritt zu prüfen.
{
"job_id": "job_abc123",
"status": "pending",
"filename": "product-guide.pdf",
"with_anonymization": false,
"message": "File uploaded to knowledge base"
}Sende die YouTube-URL als JSON-Body.
| Parameter | Type | Description |
|---|---|---|
youtube_urlrequired | string | Vollständige YouTube-URL (youtube.com/watch?v=..., youtu.be/...) |
auto_process | boolean | RAG-Verarbeitung automatisch starten |
Tipp
1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/upload \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"youtube_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",6 #86efac">"auto_process": true7 }'Gibt die Job-ID, den Titel des Videos und den Status zurück.
{
"job_id": "job_def456",
"status": "completed",
"title": "Product Overview Video",
"message": "YouTube video added to knowledge base"
}Listet alle Dokumente einer Wissensdatenbank mit Chunk-Zählung und Anonymisierungsstatus auf.
/api/v1/knowledge-bases/:id/documentsGibt ein Array der Dokumente mit Metadaten zurück.
{
"documents": [
{
"id": "job_abc123",
"filename": "product-guide.pdf",
"status": "completed",
"is_anonymized": false,
"chunk_count": 45,
"added_at": "2025-01-15T10: 30: 00Z"
}
],
"total": 1
}Jedes Dokument enthält folgende Felder.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Eindeutige Dokument-ID |
filename | string | Dateiname des Dokuments |
status | string | Verarbeitungsstatus (pending, completed, failed) |
is_anonymized | boolean | Ob das Dokument anonymisiert wurde |
chunk_count | number | Anzahl der erstellten Chunks |
added_at | string | Zeitpunkt des Hinzufügens zur KB |
1curl https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/documents \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Entfernt Dokumente aus einer Wissensdatenbank und löscht die zugehörigen Embeddings.
/api/v1/knowledge-bases/:id/documents| Parameter | Type | Description |
|---|---|---|
jobIdsrequired | string[] | Array von Dokument-IDs, die entfernt werden sollen |
Achtung
1curl -X DELETE https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/documents \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"jobIds": ["job_abc123", "job_def456"]6 }'Gibt die Anzahl entfernter und verbleibender Dokumente zurück.
{
"success": true,
"removed": 1,
"remaining": 4
}Startet die RAG-Verarbeitung für eine Wissensdatenbank. Erstellt Chunks, Embeddings und die Hierarchie.
/api/v1/knowledge-bases/:id/process| Parameter | Type | Description |
|---|---|---|
buildHierarchy | boolean | Mehrstufige Chunk-Hierarchie erstellen (Level 1/2/3) |
generateSummary | boolean | KI-generierte Zusammenfassung der KB erstellen |
Gibt den Verarbeitungsstatus zurück. Nutze GET, um den Fortschritt zu prüfen.
{
"success": true,
"status": "processing",
"message": "Processing started. Use GET to poll status."
}Hinweis
1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/process \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"buildHierarchy": true,6 #86efac">"generateSummary": true7 }'Ruft den aktuellen Verarbeitungsstatus einer Wissensdatenbank ab.
/api/v1/knowledge-bases/:id/processGibt Fortschritt, Token-Anzahl und Chunk-Statistiken zurück.
{
"status": "completed",
"progress": 100,
"total_docs": 5,
"processed_docs": 5,
"total_tokens": 45200,
"chunk_count": 234,
"has_summary": true,
"error": null
}1curl https://app.anymize.ai/api/v1/knowledge-bases/kb_abc123/process \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Tipp
Führe eine semantische Suche mit Vektorsuche, Reranking und hierarchischer Anreicherung durch.
/api/v1/rag/search| Parameter | Type | Description |
|---|---|---|
knowledgeBaseIdrequired | string | ID der zu durchsuchenden Wissensdatenbank |
queryrequired | string | Suchanfrage in natürlicher Sprache |
topK | number | Anzahl der Ergebnisse (Standard: 5) |
useHierarchy | boolean | Hierarchische Chunk-Anreicherung für mehr Kontext |
useReranking | boolean | Voyage Reranker für bessere Relevanz |
Voraussetzung
Gibt Suchergebnisse mit Relevanz-Scores, Quellenangaben und Timing-Statistiken zurück.
{
"query": "How does the product authentication work?",
"results": [
{
"content": "Authentication is handled via OAuth 2.0...",
"relevance_score": 0.92,
"metadata": {
"source_file": "auth-guide.pdf",
"document_title": "Authentication Guide",
"page": 3
}
}
],
"total": 3,
"stats": {
"vector_search_time_ms": 45,
"reranking_time_ms": 120,
"total_time_ms": 180
}
}1curl -X POST https://app.anymize.ai/api/v1/rag/search \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -H #86efac">"Content-Type: application/json" \4 -d '{5 #86efac">"knowledgeBaseId": "kb_abc123",6 #86efac">"query": "How does authentication work?",7 #86efac">"topK": 5,8 #86efac">"useHierarchy": true,9 #86efac">"useReranking": true10 }'Binde deine Wissensdatenbanken direkt in MCP-fähige Clients ein (Claude, Cursor, Windsurf, eigene Agents): Der gehostete MCP-Server exponiert genau dieselbe Retrieval-Pipeline wie der anymize-Chat — Vektor-Suche, Reranking, erweiterter Kontext und Zitat-Metadaten. Transport ist MCP Streamable HTTP; jede Anfrage wird als einzelne JSON-Antwort beantwortet.
/api/mcpAuthentifizierung
Trage den Server mit URL und Authorization-Header in deinem MCP-Client ein:
1{2 "mcpServers": {3 "anymize-knowledge": {4 "url": "https://app.anymize.ai/api/mcp",5 "headers": {6 "Authorization": "Bearer YOUR_API_KEY"7 }8 }9 }10}Der Endpunkt spricht JSON-RPC 2.0 — du kannst ihn ohne MCP-Client direkt mit cURL ausprobieren. Jeder Request ist ein POST mit deinem API-Key im Authorization-Header.
1# 1) Handshake (optional bei stateless Clients)2curl -X POST https://app.anymize.ai/api/mcp \3 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \4 -H #86efac">"Content-Type: application/json" \5 -d #86efac">'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'67# 2) Tools auflisten8curl -X POST https://app.anymize.ai/api/mcp \9 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \10 -H #86efac">"Content-Type: application/json" \11 -d #86efac">'{"jsonrpc":"2.0","id":2,"method":"tools/list"}'1213# 3) Wissensdatenbanken auflisten14curl -X POST https://app.anymize.ai/api/mcp \15 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \16 -H #86efac">"Content-Type: application/json" \17 -d #86efac">'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_knowledge_bases","arguments":{}}}'1819# 4) Suchen (alle bereiten Datenbanken)20curl -X POST https://app.anymize.ai/api/mcp \21 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \22 -H #86efac">"Content-Type: application/json" \23 -d #86efac">'{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"search_knowledge_base","arguments":{"query":"Wie funktioniert die Authentifizierung?","top_k":5}}}'Der Server stellt drei Tools bereit. Typischer Ablauf: erst list_knowledge_bases, dann search_knowledge_base.
| Parameter | Type | Description |
|---|---|---|
list_knowledge_bases | tool | Listet alle Wissensdatenbanken, auf die dein API-Key zugreifen darf (eigene + geteilte), mit Verarbeitungsstatus. |
get_knowledge_base | tool | Lädt eine Wissensdatenbank mit ihrer Dokumentliste (Dateinamen + Status). |
search_knowledge_base | tool | Semantische Suche — Parameter: query (Pflicht), knowledge_base_id (optional, sonst alle bereiten Datenbanken), top_k (1-20, Standard 5). Liefert bewertete Textstellen mit citation_id. |
Jede Textstelle trägt citation_id (Dokument-UUID), source (Dateiname), chunk_index und score — dieselben Zitat-Metadaten wie im Chat. Die citation_instruction im Ergebnis sagt dem Modell, wie es korrekt zitiert (immer per citation_id, nie per Dateiname).
{
"status": "success",
"query": "How does authentication work?",
"results": [
{
"index": 1,
"content": "Authentication is handled via OAuth 2.0...",
"score": 0.92,
"source": "auth-guide.pdf",
"chunk_index": 3,
"citation_id": "550e8400-e29b-41d4-a716-446655440000",
"knowledge_base_id": "kb_abc123"
}
],
"total": 1,
"searched_knowledge_bases": 2,
"citation_instruction": "Use metadata.citation_id (UUID) for chunk_source_id …"
}