SuiAgentic

by AnhQuan2004
  • Linux
  • Apple

Integrations

  • Uses .env files for configuration management of connection parameters and application settings

  • Supports Docker for running the Qdrant vector database component, simplifying deployment and setup

  • Built on FastAPI to provide REST API endpoints for document embedding and semantic retrieval capabilities

🧠 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

  1. Klonen Sie das Repository
git clone https://github.com/AnhQuan2004/mcp_agent.git cd mcp_agent
  1. Python-Umgebung einrichten
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate
  1. Abhängigkeiten installieren
pip install -r requirements.txt
  1. Erstellen Sie eine .env-Datei (oder verwenden Sie das bereitgestellte .env.example).
QDRANT_URL=localhost QDRANT_PORT=6333 QDRANT_COLLECTION_NAME=documents
  1. Starten Sie Qdrant (Vektor-DB)

Docker verwenden:

docker run -p 6333:6333 qdrant/qdrant

Oder mithilfe des Hilfsskripts:

./runqdrant.sh
  1. Ausführen der Agentic-App
uvicorn app.main:app --reload # or: python run.py

Besuchen 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

  1. upload_folder.py - Ein einfaches Skript zum Hochladen von PDF-Dateien aus einem Ordner
  2. upload_documents.py – Ein erweitertes Skript zum Hochladen von PDF-, DOCX- und TXT-Dateien mit mehr Optionen

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=final

Was diese Tools leisten

  1. Finden Sie unterstützte Dokumente im angegebenen Ordner
  2. Extrahieren Sie Textinhalte aus jedem Dokument
  3. Teilen Sie Text in überschaubare Abschnitte auf
  4. Generieren Sie 3072-dimensionale Einbettungen für jeden Block
  5. Speichern Sie Chunks und Einbettungen in Qdrant
  6. 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=beta

Dokumente 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=engineering

Fehlerbehebung

  • 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.

-
security - not tested
F
license - not found
-
quality - not tested

Eine FastAPI-basierte Anwendung, die das Einbetten von Dokumenten und die semantische Abfrage mithilfe der Qdrant-Vektordatenbank ermöglicht, sodass Benutzer Dokumente in Einbettungen konvertieren und relevante Inhalte über Abfragen in natürlicher Sprache abrufen können.

  1. Verfügbare Tools
    1. Voraussetzungen
      1. Grundlegende Verwendung
        1. PDF-Dateien aus einem Ordner hochladen
        2. Erweiterter Dokument-Upload
      2. Was diese Tools leisten
        1. Befehlszeilenargumente
          1. upload_folder.py
          2. upload_documents.py
        2. Beispiele
          1. Dokumente nach Projekt organisieren
          2. Dokumente kategorisieren
        3. Fehlerbehebung

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            Enables LLMs to perform semantic search and document management using ChromaDB, supporting natural language queries with intuitive similarity metrics for retrieval augmented generation applications.
            Last updated -
            Python
            • Apple
          • -
            security
            A
            license
            -
            quality
            Provides RAG capabilities for semantic document search using Qdrant vector database and Ollama/OpenAI embeddings, allowing users to add, search, list, and delete documentation with metadata support.
            Last updated -
            5
            4
            TypeScript
            Apache 2.0
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables semantic search capabilities by providing tools to manage Qdrant vector database collections, process and embed documents using various embedding services, and perform semantic searches across vector embeddings.
            Last updated -
            89
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            Enables semantic search across multiple Qdrant vector database collections, supporting multi-query capability and providing semantically relevant document retrieval with configurable result counts.
            Last updated -
            46
            TypeScript
            MIT License

          View all related MCP servers

          ID: k89urpzdu5