SuiAgentic
🧠 SuiAgentic
SuiAgentic ist eine FastAPI-basierte Anwendung für die Einbettung von Dokumenten und die semantische Abfrage, basierend auf der Qdrant-Vektordatenbank. Sie ermöglicht die Konvertierung von Dokumenten (aus URLs oder lokalen Dateien) in Einbettungen, deren effiziente Speicherung und den Abruf relevanter Inhalte mithilfe natürlicher Sprachabfragen. Sie unterstützt KI-gestützte Tools wie Cursor, Copilot, Claude und andere MCP-kompatible Clients.
💡 Warum SuiAgentic? Viele Organisationen müssen Kontext aus internen Dokumenten (z. B. PRDs, Design-Spezifikationen, Wikis) in die Tools von Entwicklern und Wissensarbeitern integrieren. Die Konsolidierung von Dokumenten aus verschiedenen Quellen in einer zentralen, durchsuchbaren Wissensdatenbank ist jedoch komplex und fragmentiert.
SuiAgentic löst dieses Problem durch einen zentralen Kontextserver, der Ihre Inhalte aufnimmt, aufteilt, einbettet und indexiert und sie über eine einfache REST-API und Weboberfläche verfügbar macht. Er unterstützt auch die Verwendung als MCP-Server für KI-Agenten.
🚀 Hauptfunktionen: Dokumenteinbettung: Extrahiert Inhalte aus URLs (mit oder ohne Authentifizierung), teilt sie in Blöcke auf, generiert Einbettungen und speichert sie in Qdrant.
Semantische Suche: Fragen Sie Ihre Wissensdatenbank mit natürlicher Sprache ab und rufen Sie relevante Abschnitte oder Dokumente ab.
Web-Benutzeroberfläche: Benutzerfreundliche Weboberfläche zum Einbetten und Suchen.
REST-API: Vollständig zugänglich über HTTP-Endpunkte für Automatisierung oder Integration.
MCP-Server-fähig: Verwenden Sie es mit MCP-kompatiblen Clients wie Cursor, Copilot, Claude usw.
Authentifizierungsunterstützung: Unterstützt Basic Auth und Bearer Token für geschützte Dokumente.
⚙️ Schnellstart
Klonen Sie das Repository
git clone https://github.com/AnhQuan2004/mcp_agent.git
cd mcp_agentPython-Umgebung einrichten
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activateAbhängigkeiten installieren
pip install -r requirements.txtErstellen Sie eine .env-Datei (oder verwenden Sie das bereitgestellte .env.example).
QDRANT_URL=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION_NAME=documentsStarten Sie Qdrant (Vektor-DB)
Docker verwenden:
docker run -p 6333:6333 qdrant/qdrantOder mithilfe des Hilfsskripts:
./runqdrant.shAusführen der Agentic-App
uvicorn app.main:app --reload
# or:
python run.pyBesuchen Sie http://localhost:8000
🌐 Webschnittstelle und API
Web-Benutzeroberfläche:
/ - Heim
/embed – Dokumente über die Benutzeroberfläche einbetten
/retrieve – Semantische Such-UI
🔍 POST /abrufen
{
"query": "What is the architecture of Sui?",
"top_k": 5,
"group_by_doc": true
}🌍 Einbetten von URLs
Öffentliche URLs:
Geben Sie einfach die URL über die API oder Benutzeroberfläche an – keine Authentifizierung erforderlich.
🤖 Verwendung als MCP-Server
So verwenden Sie sui als MCP-Server:
{
"mcpServers": {
"suiAgentic": {
"url": "http://localhost:8000/mcp"
}
}
}Tools zum Hochladen von Dokumenten
Dieses Verzeichnis enthält Tools zum Massenhochladen von Dokumenten in Ihre SuiAgentic Qdrant-Datenbank.
Verfügbare Tools
upload_folder.py- Ein einfaches Skript zum Hochladen von PDF-Dateien aus einem Ordnerupload_documents.py– Ein erweitertes Skript zum Hochladen von PDF-, DOCX- und TXT-Dateien mit mehr Optionen
Related MCP server: Qdrant MCP Server
Voraussetzungen
Python 3.8+
SuiAgentic-Anwendung installiert und konfiguriert
Qdrant-Server, der lokal ausgeführt wird oder über das Netzwerk zugänglich ist
Erforderliche Abhängigkeiten installiert (PyPDF2, python-docx)
Grundlegende Verwendung
PDF-Dateien aus einem Ordner hochladen
# Upload all PDFs from a folder
python upload_folder.py /path/to/pdf/folder
# Upload with a prefix (useful for categorizing documents)
python upload_folder.py /path/to/pdf/folder --prefix "Research Papers"Erweiterter Dokument-Upload
# Upload all supported documents from a folder and subfolders
python upload_documents.py /path/to/documents --recursive
# Add metadata tags to all documents
python upload_documents.py /path/to/documents --tag category=research --tag project=alpha
# Specify collection name (if not using default)
python upload_documents.py /path/to/documents --collection my_collection
# Complete example with all options
python upload_documents.py /path/to/documents --recursive --prefix "Project X" --tag department=marketing --tag status=finalWas diese Tools leisten
Finden Sie unterstützte Dokumente im angegebenen Ordner
Extrahieren Sie Textinhalte aus jedem Dokument
Teilen Sie Text in überschaubare Abschnitte auf
Generieren Sie 3072-dimensionale Einbettungen für jeden Block
Speichern Sie Chunks und Einbettungen in Qdrant
Verfolgen Sie Metadaten für jedes Dokument
Befehlszeilenargumente
upload_folder.py
folder- Pfad zum Ordner mit den PDF-Dateien--prefix– Präfix, das den Dokumentnamen hinzugefügt werden soll
upload_documents.py
folder- Pfad zum Ordner mit den Dokumenten--prefix– Präfix, das den Dokumentnamen hinzugefügt werden soll--recursive– Rekursive Suche nach Dateien in Unterordnern--collection– Name der zu verwendenden Qdrant-Sammlung--tag– Metadaten-Tags zu Dokumenten hinzufügen (kann mehrfach verwendet werden:--tag key=value)
Beispiele
Dokumente nach Projekt organisieren
python upload_documents.py /path/to/projects/project1 --recursive --prefix "Project 1" --tag project=alpha
python upload_documents.py /path/to/projects/project2 --recursive --prefix "Project 2" --tag project=betaDokumente kategorisieren
python upload_documents.py /path/to/contracts --prefix "Legal" --tag department=legal --tag confidential=true
python upload_documents.py /path/to/manuals --prefix "Technical" --tag department=engineeringFehlerbehebung
Wenn bei großen Dokumenten Speicherfehler auftreten, versuchen Sie, sie in kleinere Dateien aufzuteilen
Bei großen Dokumentensammlungen ist die Verarbeitung in kleineren Stapeln zu erwägen.
Überprüfen Sie die Protokollausgabe auf etwaige Fehler während der Verarbeitung
🪪 Lizenz
Lizenziert unter der Apache-Lizenz 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Turn documents into structured, AI-ready data by parsing, enriching, chunking, and embedding.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceThis server enables semantic search capabilities using Qdrant vector database and OpenAI embeddings, allowing users to query collections, list available collections, and view collection information.7-
- AlicenseNot gradedqualityCmaintenanceEnables semantic search and document management using a local Qdrant vector database with OpenAI embeddings. Supports natural language queries, metadata filtering, and collection management for AI-powered document retrieval.70 npm37MIT
- FlicenseNot gradedqualityDmaintenanceA Retrieval-Augmented Generation system that enables uploading, processing, and semantic search of PDF documents using vector embeddings and FAISS indexing for context-aware question answering.-
- AlicenseNot gradedqualityCmaintenanceA local Retrieval-Augmented Generation system that enables AI agents to query and retrieve information from document collections using ChromaDB vector search and Ollama LLMs through a FastAPI interface.126MIT