QDrant Loader

Um kit de ferramentas para carregar dados no banco de dados vetorial Qdrant, suportando fluxos de trabalho de desenvolvimento com IA.

Documentação

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 melhorias e correções de bugs

Um kit de ferramentas abrangente para carregar dados no banco de dados vetorial Qdrant com suporte avançado a servidor MCP para fluxos de trabalho de desenvolvimento com IA.

🎯 O que é o QDrant Loader?

O QDrant Loader é um sistema de ingestão e recuperação de dados que coleta conteúdo de múltiplas fontes, processa e vetoriza, e então fornece recursos inteligentes de busca através de um servidor Model Context Protocol (MCP) para ferramentas de desenvolvimento com IA.

Perfeito para:

  • 🤖 Desenvolvimento com IA com Cursor, Windsurf e outras ferramentas compatíveis com MCP
  • 📚 Criação de base de conhecimento a partir de documentação técnica
  • 🔍 Assistência inteligente de código com informações contextuais
  • 🏢 Integração de conteúdo empresarial de múltiplas fontes de dados

📦 Pacotes

Este monorepo contém três pacotes complementares:

🔄 QDrant Loader

Mecanismo de ingestão e processamento de dados

Coleta e vetoriza conteúdo de múltiplas fontes no banco de dados vetorial QDrant.

Principais recursos:

  • Conectores multi-fonte: Git, Confluence (Cloud e Data Center), JIRA (Cloud e Data Center), Documentos Públicos, Arquivos Locais
  • Conversão de arquivos: PDF, documentos Office (Word, Excel, PowerPoint), imagens, áudio, EPUB, ZIP e mais usando MarkItDown
  • Fragmentação inteligente: Estratégias modulares de fragmentação com processamento inteligente de documentos e contexto hierárquico
  • Atualizações incrementais: Detecção de alterações e sincronização eficiente
  • Suporte a múltiplos projetos: Organize fontes em projetos com coleções compartilhadas
  • LLM independente de provedor: OpenAI, Azure OpenAI, Ollama e endpoints personalizados com configuração unificada

⚙️ QDrant Loader Core

Biblioteca principal e camada de abstração de LLM

Fornece os componentes fundamentais e a interface LLM independente de provedor usada por outros pacotes.

Principais recursos:

  • Abstração de provedor LLM: Interface unificada para OpenAI, Azure OpenAI, Ollama e endpoints personalizados
  • Gerenciamento de configuração: Configurações centralizadas e validação para provedores de LLM
  • Limitação de taxa: Limitação de taxa integrada e gerenciamento de requisições
  • Tratamento de erros: Tratamento robusto de erros e mecanismos de repetição
  • Registro de logs: Registro estruturado com níveis configuráveis

🔌 QDrant Loader MCP Server

Camada de integração para desenvolvimento com IA

Servidor Model Context Protocol que fornece recursos de busca para ferramentas de desenvolvimento com IA.

Principais recursos:

  • Protocolo MCP 2025-06-18: Conformidade com o protocolo mais recente com suporte a transporte duplo (stdio + HTTP)
  • Ferramentas avançadas de busca: Busca semântica, busca com consciência hierárquica, descoberta de anexos e detecção de conflitos
  • Inteligência entre documentos: Similaridade de documentos, agrupamento, análise de relacionamentos e grafos de conhecimento
  • Recursos de streaming: Server-Sent Events (SSE) para resultados de busca em tempo real
  • Pronto para produção: Transporte HTTP com segurança, gerenciamento de sessão e verificações de integridade

🚀 Início Rápido

Instalação

# 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

Configuração em 5 Minutos

  1. Crie um espaço de trabalho

    mkdir my-workspace && cd my-workspace
    
  2. Inicialize o espaço de trabalho com modelos

    qdrant-loader init --workspace .
    
  3. Configure seu ambiente (edite .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. Configure as fontes de dados (edite 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. Carregue seus dados

    qdrant-loader ingest --workspace .
    
  6. Inicie o servidor MCP

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

🔧 Configuração para IDEs Compatíveis com MCP

O QDrant Loader funciona com qualquer IDE/ferramenta que suporte MCP, incluindo Cursor, Windsurf e Claude Desktop.

Entrada mínima do servidor MCP (adapte o caminho/formato à sua ferramenta):

{
  "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: Use arquivo de configuração (recomendado para configurações complexas):

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

Para configuração específica por ferramenta e formato exato de configuração:

Exemplos de consultas em ferramentas de IA:

  • "Encontre documentação sobre autenticação em nossa API"
  • "Mostre-me exemplos de padrões de tratamento de erros"
  • "Quais são os requisitos de implantação para este serviço?"
  • "Encontre todos os anexos relacionados ao esquema do banco de dados"

📚 Documentação

Primeiros Passos

Guias do Usuário

🛠️ Recursos para Desenvolvedores

  • Central do desenvolvedor - Guias para desenvolvedores sobre arquitetura, testes, implantação e fluxos de contribuição.
  • Arquitetura - Visão geral do design do sistema
  • Testes - Guia de testes e melhores práticas

🆘 Suporte

  • Problemas - Relatórios de bugs e solicitações de recursos
  • Discussões - Perguntas e respostas da comunidade

🤝 Contribuindo

Aceitamos contribuições! Consulte nosso Guia de Contribuição para:

  • Configuração do ambiente de desenvolvimento
  • Padrões de código e estilo
  • Processo de pull request

Configuração Rápida para Desenvolvimento

# 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

📄 Licença

Este projeto é licenciado sob a Apache License 2.0 - consulte o arquivo LICENSE para detalhes.


Pronto para começar? Consulte nosso Guia de Início Rápido ou navegue pela documentação completa.