QDrant Loader

Un conjunto de herramientas para cargar datos en la base de datos vectorial Qdrant, compatible con flujos de trabajo de desarrollo impulsados por IA.

Documentación

QDrant Loader

PyPI - qdrant-loader PyPI - mcp-server PyPI - qdrant-loader-core CodeRabbit Pull Request Reviews Test Coverage License: Apache 2.0

📝 Changelog v1.0.4 - Últimas mejoras y correcciones de errores

Un kit de herramientas integral para cargar datos en la base de datos vectorial Qdrant con soporte avanzado de servidor MCP para flujos de trabajo de desarrollo impulsados por IA.

🎯 ¿Qué es QDrant Loader?

QDrant Loader es un sistema de ingesta y recuperación de datos que recopila contenido de múltiples fuentes, lo procesa y vectoriza, y luego proporciona capacidades de búsqueda inteligente a través de un servidor de Protocolo de Contexto de Modelo (MCP) para herramientas de desarrollo de IA.

Perfecto para:

  • 🤖 Desarrollo impulsado por IA con Cursor, Windsurf y otras herramientas compatibles con MCP
  • 📚 Creación de bases de conocimiento a partir de documentación técnica
  • 🔍 Asistencia de código inteligente con información contextual
  • 🏢 Integración de contenido empresarial desde múltiples fuentes de datos

📦 Paquetes

Este monorepo contiene tres paquetes complementarios:

🔄 QDrant Loader

Motor de ingesta y procesamiento de datos

Recopila y vectoriza contenido de múltiples fuentes en la base de datos vectorial QDrant.

Características principales:

  • Conectores de múltiples fuentes: Git, Confluence (Cloud y Data Center), JIRA (Cloud y Data Center), Documentos públicos, Archivos locales
  • Conversión de archivos: PDF, documentos de Office (Word, Excel, PowerPoint), imágenes, audio, EPUB, ZIP y más usando MarkItDown
  • Segmentación inteligente: Estrategias de segmentación modular con procesamiento inteligente de documentos y contexto jerárquico
  • Actualizaciones incrementales: Detección de cambios y sincronización eficiente
  • Soporte multiproyecto: Organiza fuentes en proyectos con colecciones compartidas
  • LLM independiente del proveedor: OpenAI, Azure OpenAI, Ollama y endpoints personalizados con configuración unificada

⚙️ QDrant Loader Core

Biblioteca principal y capa de abstracción de LLM

Proporciona los componentes fundamentales y la interfaz LLM independiente del proveedor utilizada por otros paquetes.

Características principales:

  • Abstracción de proveedor LLM: Interfaz unificada para OpenAI, Azure OpenAI, Ollama y endpoints personalizados
  • Gestión de configuración: Configuración centralizada y validación para proveedores de LLM
  • Limitación de velocidad: Limitación de velocidad integrada y gestión de solicitudes
  • Manejo de errores: Manejo robusto de errores y mecanismos de reintento
  • Registro: Registro estructurado con niveles configurables

🔌 QDrant Loader MCP Server

Capa de integración de desarrollo de IA

Servidor de Protocolo de Contexto de Modelo que proporciona capacidades de búsqueda a herramientas de desarrollo de IA.

Características principales:

  • Protocolo MCP 2025-06-18: Cumplimiento del protocolo más reciente con soporte de transporte dual (stdio + HTTP)
  • Herramientas de búsqueda avanzadas: Búsqueda semántica, búsqueda consciente de jerarquía, descubrimiento de adjuntos y detección de conflictos
  • Inteligencia entre documentos: Similitud de documentos, agrupación, análisis de relaciones y grafos de conocimiento
  • Capacidades de streaming: Eventos enviados por el servidor (SSE) para resultados de búsqueda en tiempo real
  • Listo para producción: Transporte HTTP con seguridad, gestión de sesiones y comprobaciones de salud

🚀 Inicio rápido

Instalación

# Install both packages
pip install qdrant-loader qdrant-loader-mcp-server

# Or install individually
pip install qdrant-loader          # Data ingestion only
pip install qdrant-loader-mcp-server  # MCP server only

Configuración en 5 minutos

  1. Crea un espacio de trabajo

    mkdir my-workspace && cd my-workspace
    
  2. Inicializa el espacio de trabajo con plantillas

    qdrant-loader init --workspace .
    
  3. Configura tu entorno (edita .env)

    # Qdrant connection
    QDRANT_URL=http://localhost:6333
    QDRANT_COLLECTION_NAME=my_docs
    
    # LLM provider (new unified configuration)
    OPENAI_API_KEY=your_openai_key
    LLM_PROVIDER=openai
    LLM_BASE_URL=https://api.openai.com/v1
    LLM_EMBEDDING_MODEL=text-embedding-3-small
    LLM_CHAT_MODEL=gpt-4o-mini
    
  4. Configura las fuentes de datos (edita config.yaml)

    global:
      qdrant:
        url: "http://localhost:6333"
        collection_name: "my_docs"
      llm:
        provider: "openai"
        base_url: "https://api.openai.com/v1"
        api_key: "${OPENAI_API_KEY}"
        models:
          embeddings: "text-embedding-3-small"
          chat: "gpt-4o-mini"
        embeddings:
          vector_size: 1536
    
    projects:
      my-project:
        project_id: "my-project"
        sources:
          git:
            docs-repo:
              base_url: "https://github.com/your-org/your-repo.git"
              branch: "main"
              file_types: ["*.md", "*.rst"]
    
  5. Carga tus datos

    qdrant-loader ingest --workspace .
    
  6. Inicia el servidor MCP

    mcp-qdrant-loader --env /path/tp/your/.env
    

🔧 Configuración de IDE compatible con MCP

QDrant Loader funciona con cualquier IDE/herramienta que admita MCP, incluidos Cursor, Windsurf y Claude Desktop.

Entrada mínima del servidor MCP (adapta la ruta/formato a tu herramienta):

{
  "mcpServers": {
    "qdrant-loader": {
      "command": "/path/to/venv/bin/mcp-qdrant-loader",
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "QDRANT_COLLECTION_NAME": "my_docs",
        "OPENAI_API_KEY": "your_key"
      }
    }
  }
}

Alternativa: Usa el archivo de configuración (recomendado para configuraciones complejas):

{
  "mcpServers": {
    "qdrant-loader": {
      "command": "/path/to/venv/bin/mcp-qdrant-loader",
      "args": [
        "--config",
        "/path/to/your/config.yaml",
        "--env",
        "/path/to/your/.env"
      ]
    }
  }
}

Para la configuración específica de cada herramienta y el formato exacto de configuración:

Ejemplos de consultas en herramientas de IA:

  • "Encuentra documentación sobre autenticación en nuestra API"
  • "Muéstrame ejemplos de patrones de manejo de errores"
  • "¿Cuáles son los requisitos de implementación para este servicio?"
  • "Encuentra todos los adjuntos relacionados con el esquema de la base de datos"

📚 Documentación

Primeros pasos

Guías de usuario

🛠️ Recursos para desarrolladores

  • Centro de desarrolladores - Guías para desarrolladores sobre arquitectura, pruebas, implementación y flujos de contribución.
  • Arquitectura - Descripción general del diseño del sistema
  • Pruebas - Guía de pruebas y mejores prácticas

🆘 Soporte

  • Problemas - Informes de errores y solicitudes de funciones
  • Discusiones - Preguntas y respuestas de la comunidad

🤝 Contribuciones

¡Agradecemos las contribuciones! Consulta nuestra Guía de contribución para:

  • Configuración del entorno de desarrollo
  • Estilo de código y estándares
  • Proceso de solicitudes de extracción

Configuración rápida de desarrollo

# Clone and setup
git clone https://github.com/martin-papy/qdrant-loader.git
cd qdrant-loader

# Sync workspace environment (recommended)
uv sync --all-packages --all-extras

# Add a new dependency during development
uv add fastapi
uv sync

📄 Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0; consulta el archivo LICENSE para más detalles.


¿Listo para comenzar? Consulta nuestra Guía de inicio rápido o explora la documentación completa.