Home
Login

Ferramenta de perguntas e respostas inteligentes sobre documentos de código aberto baseada na tecnologia RAG, que permite a interação conversacional com seus documentos.

Apache-2.0Python 22.5kCinnamon Last Updated: 2025-06-11

Kotaemon - Ferramenta de Perguntas e Respostas Inteligentes sobre Documentos RAG de Código Aberto

Visão Geral do Projeto

Kotaemon é uma ferramenta RAG (Retrieval-Augmented Generation - Geração Aumentada por Recuperação) de código aberto, projetada especificamente para interação conversacional com documentos. O projeto visa fornecer aos usuários finais e desenvolvedores uma interface de usuário RAG completa, que atenda às necessidades dos usuários de perguntas e respostas sobre documentos e ajude os desenvolvedores a construir seus próprios pipelines RAG.

Principais Características

Funcionalidades para Usuários Finais

  • Interface de Usuário Simples e Bonita: Fornece uma interface amigável para perguntas e respostas RAG.
  • Suporte a Múltiplos LLMs: Compatível com vários provedores de API LLM (OpenAI, AzureOpenAI, Cohere, etc.) e LLMs locais (via ollama e llama-cpp-python).
  • Instalação Fácil: Fornece scripts simples para inicialização rápida.
  • Suporte a Múltiplos Usuários: Suporta login de múltiplos usuários, pode criar coleções de documentos privadas/públicas, suporta colaboração e compartilhamento.

Funcionalidades para Desenvolvedores

  • Framework de Pipeline RAG: Fornece ferramentas para construir pipelines de perguntas e respostas sobre documentos RAG.
  • UI Personalizável: Construída com base em Gradio, permite visualizar os efeitos reais do pipeline RAG.
  • Pipeline RAG Híbrido: Adota um recuperador híbrido (texto completo e vetorial) e reordenação, garantindo a melhor qualidade de recuperação.
  • Escalabilidade: Suporta elementos de UI personalizados e várias estratégias de indexação e recuperação de documentos.

Funcionalidades Avançadas

  • Suporte a Perguntas e Respostas Multimodais: Suporta perguntas e respostas sobre múltiplos documentos contendo gráficos e tabelas, suporta análise de documentos multimodais.
  • Funcionalidade de Citação Avançada: Fornece informações de citação detalhadas para garantir a correção das respostas do LLM, pode visualizar diretamente o conteúdo citado com destaque no visualizador de PDF do navegador.
  • Métodos de Raciocínio Complexos: Suporta a decomposição de problemas para responder a perguntas complexas/multi-hop, suporta raciocínio baseado em Agentes, como ReAct, ReWOO, etc.
  • Interface de Configurações Configurável: Permite ajustar aspectos importantes do processo de recuperação e geração na UI (incluindo prompts).

Arquitetura Técnica

Formatos de Documento Suportados

  • PDF, HTML, MHTML, XLSX
  • Suporta mais formatos através da biblioteca Unstructured (.doc, .docx, etc.)

Opções de Armazenamento de Dados

  • Armazenamento de Documentos: Elasticsearch, LanceDB, SimpleFileDocumentStore
  • Armazenamento de Vetores: ChromaDB, LanceDB, InMemory, Milvus, Qdrant

Suporte a Modelos LLM

  • Provedores de API: OpenAI, Azure OpenAI, Cohere, Groq, etc.
  • Modelos Locais: Suporta modelos no formato GGUF através de Ollama e llama-cpp-python.

Integração GraphRAG

O projeto suporta duas implementações GraphRAG:

NanoGraphRAG (Recomendado)

  • Integração mais direta com Kotaemon
  • Reconhece automaticamente o LLM padrão e o modelo de incorporação

MS GraphRAG

  • Implementação oficial do Microsoft GraphRAG
  • Suporta apenas OpenAI ou Ollama API
  • Suporta modelos locais e configurações personalizadas

Instalação e Implantação

Implantação com Docker (Recomendado)

Fornece imagens Docker Lite e Full:

  • Lite: Suporta tipos de arquivo básicos, imagem menor
  • Full: Inclui o pacote unstructured, suporta mais tipos de arquivo

Instalação Local

  1. Baixe a versão mais recente do arquivo de release
  2. Configure o arquivo .env
  3. Execute python app.py para iniciar o serviço
  4. O nome de usuário e senha padrão são admin

Personalização e Extensão

Personalizar Pipeline de Raciocínio

  • Pode adicionar novas implementações .py em libs/ktem/ktem/reasoning/
  • Habilite o novo pipeline de raciocínio através de flowsettings

Personalizar Pipeline de Indexação

  • Consulte o exemplo de implementação em libs/ktem/ktem/index/file/graph
  • Suporta pipeline de indexação GraphRAG

Arquivos de Configuração

  • flowsettings.py: Configuração da aplicação
  • .env: Configuração de modelos e credenciais

Casos de Uso

  1. Gestão de Conhecimento Empresarial: Construir um sistema interno de perguntas e respostas sobre documentos
  2. Pesquisa Acadêmica: Realizar perguntas e respostas inteligentes sobre literatura de pesquisa
  3. Análise de Documentos Jurídicos: Recuperar e analisar rapidamente documentos jurídicos
  4. Suporte a Documentação Técnica: Fornecer consulta inteligente de documentação técnica para usuários
  5. Base de Conhecimento Pessoal: Gerenciar e consultar coleções de documentos pessoais

Vantagens do Projeto

  • Código Aberto e Gratuito: Totalmente de código aberto, pode ser usado e modificado livremente
  • Funcionalidade Completa: Desde perguntas e respostas simples até raciocínio complexo, a funcionalidade é abrangente
  • Fácil de Usar: Interface Web intuitiva, pode ser usada sem conhecimento técnico
  • Altamente Personalizável: Suporta várias opções de configuração e extensão
  • Comunidade Ativa: Atualizações contínuas e suporte da comunidade

Características Técnicas

  • Desenvolvido em Python
  • Usa Gradio para construir a interface Web
  • Suporta implantação em contêineres Docker
  • Design de arquitetura modular
  • Suporta aceleração por GPU (modelos locais)

Resumo

Kotaemon é uma ferramenta RAG UI poderosa que permite aos usuários interagir com documentos de forma conversacional. Ele não apenas fornece aos usuários finais uma interface de perguntas e respostas sobre documentos simples e fácil de usar, mas também fornece aos desenvolvedores uma estrutura completa para construir sistemas RAG personalizados. Através de recuperação híbrida, suporte multimodal, citações avançadas e outros recursos, Kotaemon oferece uma solução abrangente e profissional no campo de perguntas e respostas inteligentes sobre documentos.