Framework de compreensão de documentos e recuperação semântica baseado em grandes modelos de linguagem, projetado para bases de conhecimento corporativas e aplicações RAG
WeKnora - Estrutura de Perguntas e Respostas de Documentos de Nível Empresarial de Código Aberto da Tencent
Visão Geral do Projeto
WeKnora é uma estrutura de compreensão de documentos e recuperação semântica baseada em Grandes Modelos de Linguagem (LLM), de código aberto pela Tencent, projetada especificamente para cenários de documentos com estrutura complexa e conteúdo heterogêneo. A estrutura adota uma arquitetura modular, integrando pré-processamento multimodal, indexação de vetores semânticos, recuperação inteligente e inferência de geração de LLM, construindo um fluxo de trabalho de perguntas e respostas de documentos eficiente e controlável.
Site Oficial: https://weknora.weixin.qq.com
Endereço GitHub: https://github.com/Tencent/WeKnora
Licença de Código Aberto: MIT License
Principais Recursos
🔍 Compreensão Precisa
- Suporta extração de conteúdo estruturado de vários formatos de documentos, como PDF, Word e imagens.
- Constrói uma visão semântica unificada, suportando layouts mistos de texto e imagem e reconhecimento de texto OCR.
- Análise inteligente de documentos, lidando com estruturas complexas e conteúdo heterogêneo.
🧠 Raciocínio Inteligente
- Baseado na tecnologia RAG (Retrieval-Augmented Generation).
- Utiliza Grandes Modelos de Linguagem para compreender o contexto do documento e a intenção do usuário.
- Suporta perguntas e respostas precisas e diálogo multi-turno.
🔧 Extensão Flexível
- Desacoplamento completo do processo, desde a análise, incorporação, recuperação até a geração.
- Design modular, onde cada componente pode ser configurado e estendido de forma flexível.
- Fácil integração e desenvolvimento personalizado.
⚡ Recuperação Eficiente
- Combina múltiplas estratégias de recuperação: palavras-chave, vetores, grafos de conhecimento.
- Suporta mecanismos de recuperação como BM25, Dense Retrieve, GraphRAG.
- Permite a combinação livre de fluxos de recuperação-reordenação-geração.
🎯 Simples e Fácil de Usar
- Interface web intuitiva e API RESTful padrão.
- Rápido para começar sem barreiras técnicas.
- Arraste e solte documentos, implante o serviço com um clique.
🔒 Seguro e Controlável
- Suporta implantação local e em nuvem privada.
- Dados totalmente autônomos e controláveis.
- Atende aos requisitos de segurança de nível empresarial.
Cenários de Aplicação
| Cenário de Aplicação | Aplicação Específica | Valor Central |
|---|---|---|
| Gestão de Conhecimento Empresarial | Recuperação de documentos internos, perguntas e respostas sobre regulamentos, consulta de manuais de operação | Melhora a eficiência da busca de conhecimento, reduz os custos de treinamento |
| Análise de Literatura Científica | Recuperação de artigos, análise de relatórios de pesquisa, organização de materiais acadêmicos | Acelera a pesquisa bibliográfica, auxilia na tomada de decisões de pesquisa |
| Suporte Técnico de Produto | Perguntas e respostas sobre manuais de produto, recuperação de documentos técnicos, solução de problemas | Melhora a qualidade do atendimento ao cliente, reduz a carga de suporte técnico |
| Revisão de Conformidade Legal | Recuperação de cláusulas contratuais, consulta de políticas regulatórias, análise de casos | Aumenta a eficiência da conformidade, reduz os riscos legais |
| Assistência ao Conhecimento Médico | Recuperação de literatura médica, consulta de diretrizes de tratamento, análise de casos clínicos | Auxilia na tomada de decisões clínicas, melhora a qualidade do diagnóstico e tratamento |
Detalhes dos Módulos Funcionais
Capacidades de Processamento de Documentos
- Formatos Suportados: PDF, Word, Txt, Markdown, Imagens (incluindo OCR e Legendas)
- Análise Inteligente: Identificação automática da estrutura do documento, extração de conteúdo central
- Processamento Multimodal: Compreensão unificada de conteúdo misto de texto e imagem
Vetorização e Recuperação
- Modelos de Incorporação: Suporta modelos locais, BGE, GTE API, etc.
- Bancos de Dados Vetoriais: PostgreSQL (pgvector), Elasticsearch
- Estratégias de Recuperação: Recuperação esparsa BM25, Recuperação densa Dense Retrieve, Recuperação de grafo de conhecimento GraphRAG
Integração de Grandes Modelos
- Suporte a Modelos: Qwen (Tongyi Qianwen), DeepSeek e outros LLMs mainstream
- Métodos de Implantação: Implantação local (Ollama) ou chamada de API externa
- Modos de Inferência: Suporta alternância entre modo de pensamento/não pensamento
Funcionalidade de Grafo de Conhecimento
WeKnora suporta a conversão de documentos em grafos de conhecimento, exibindo as relações entre diferentes parágrafos do documento. Ao ativar a funcionalidade de grafo de conhecimento, o sistema analisa e constrói uma rede de associações semânticas internas do documento, o que não só ajuda os usuários a entender o conteúdo do documento, mas também fornece suporte estruturado para indexação e recuperação.
Arquitetura Técnica
Estrutura do Projeto
WeKnora/
├── cmd/ # Ponto de entrada da aplicação
├── internal/ # Lógica de negócios central
├── config/ # Arquivos de configuração
├── migrations/ # Scripts de migração de banco de dados
├── scripts/ # Scripts de inicialização e ferramentas
├── services/ # Implementações de subs serviços
├── frontend/ # Projeto frontend
└── docs/ # Documentação do projeto
Módulos Centrais
- Módulo de Análise de Documentos: Extração e estruturação de conteúdo de documentos em múltiplos formatos.
- Módulo de Processamento de Vetorização: Vetorização semântica do conteúdo do documento.
- Módulo de Motor de Recuperação: Recuperação e recall com múltiplas estratégias.
- Módulo de Inferência de Grandes Modelos: Geração inteligente de perguntas e respostas baseada em contexto.
Início Rápido
Requisitos de Ambiente
- Docker
- Docker Compose
- Git
Etapas de Instalação
Clonar o Repositório
git clone https://github.com/Tencent/WeKnora.git cd WeKnoraConfigurar Variáveis de Ambiente
cp .env.example .env # Edite o arquivo .env, preenchendo as configurações conforme os comentáriosIniciar Serviços
# Iniciar todos os serviços com um clique ./scripts/start_all.sh # Ou usar o comando make make start-allAcessar Serviços Após o início bem-sucedido, você pode acessar os seguintes endereços:
- Web UI: http://localhost
- API Backend: http://localhost:8080
- Rastreamento de Links (Jaeger): http://localhost:16686
Parar Serviços
./scripts/start_all.sh --stop
# Ou
make stop-all
Integração com o Ecossistema WeChat
WeKnora, como a estrutura tecnológica central da Plataforma Aberta de Diálogo WeChat, oferece as seguintes capacidades:
- Implantação Sem Código: Basta fazer upload do conhecimento para implantar rapidamente serviços inteligentes de perguntas e respostas no ecossistema WeChat.
- Gestão Eficiente de Perguntas: Suporta gestão independente de perguntas de alta frequência por categoria.
- Cobertura do Ecossistema WeChat: Pode ser integrado perfeitamente em cenários WeChat, como Contas Oficiais e Mini Programas.
Interface API
WeKnora fornece uma interface API RESTful completa, suportando:
- Upload e gestão de documentos
- Operações de base de conhecimento
- Consultas de perguntas e respostas
- Configuração do sistema
Para documentação detalhada da API, consulte: API Documentation
Desenvolvimento e Contribuição
Tipos de Contribuição
- 🐛 Correção de Bugs: Encontrar e corrigir defeitos do sistema
- ✨ Novas Funcionalidades: Propor e implementar novas funcionalidades
- 📚 Melhoria da Documentação: Aprimorar a documentação do projeto
- 🧪 Casos de Teste: Escrever testes unitários e de integração
- 🎨 Otimização de UI/UX: Melhorar a interface e a experiência do usuário
Padrões de Desenvolvimento
- Siga os Go Code Review Comments
- Use
gofmtpara formatar o código - Adicione testes unitários necessários
- Atualize a documentação relevante
- Use a especificação Conventional Commits
Processo de Submissão
- Faça um fork do projeto para sua conta pessoal no GitHub
- Crie um branch de funcionalidade:
git checkout -b feature/amazing-feature - Faça commit das alterações:
git commit -m 'Add amazing feature' - Envie o branch:
git push origin feature/amazing-feature - Crie um Pull Request e descreva detalhadamente as alterações
Vantagens e Características
- Estabilidade de Nível Empresarial: Desenvolvido pela equipe Tencent, verificado em ambientes de produção em larga escala.
- Pronto para Usar: Implantação com um clique via Docker, operação intuitiva via interface web.
- Tecnologia Avançada: Baseado na mais recente tecnologia RAG e capacidades de Grandes Modelos.
- Altamente Personalizável: Design modular, suporta extensão e integração flexíveis.
- Segurança de Dados: Suporta implantação privada, dados totalmente autônomos e controláveis.
- Integração com Ecossistema: Profundamente integrado com o ecossistema WeChat, suporta múltiplas aplicações.
Resumo
WeKnora é uma estrutura de perguntas e respostas de documentos de nível empresarial, poderosa e tecnologicamente avançada. Não só oferece uma pilha tecnológica RAG completa, mas também possui excelente facilidade de uso e escalabilidade. Seja para gestão interna de conhecimento empresarial, análise de literatura científica ou suporte ao cliente, WeKnora pode fornecer soluções eficientes e precisas.
Através do código aberto, WeKnora oferece um ponto de partida de alta qualidade para desenvolvedores e empresas, tornando a construção de sistemas inteligentes de perguntas e respostas de documentos simples e eficiente.