Marco de comprensión de documentos y recuperación semántica basado en modelos de lenguaje grandes, diseñado para bases de conocimiento empresariales y aplicaciones RAG.
WeKnora - Marco empresarial de preguntas y respuestas para documentos de código abierto de Tencent
Resumen del Proyecto
WeKnora es un marco de comprensión de documentos y recuperación semántica de código abierto de Tencent, basado en Modelos de Lenguaje Grandes (LLM), diseñado específicamente para escenarios de documentos con estructuras complejas y contenido heterogéneo. Este marco adopta una arquitectura modular, fusionando el preprocesamiento multimodal, la indexación de vectores semánticos, la recuperación inteligente y la inferencia generativa de modelos grandes, para construir un proceso eficiente y controlable de preguntas y respuestas para documentos.
Sitio web oficial: https://weknora.weixin.qq.com
Dirección de GitHub: https://github.com/Tencent/WeKnora
Licencia de código abierto: MIT License
Características Principales
🔍 Comprensión Precisa
- Soporta la extracción de contenido estructurado de múltiples formatos de documentos como PDF, Word e imágenes.
- Construye una vista semántica unificada, compatible con contenido mixto de texto e imágenes y reconocimiento óptico de caracteres (OCR).
- Análisis inteligente de documentos, capaz de procesar estructuras complejas y contenido heterogéneo.
🧠 Inferencia Inteligente
- Basado en la tecnología RAG (Generación Aumentada por Recuperación).
- Utiliza Modelos de Lenguaje Grandes para comprender el contexto del documento y la intención del usuario.
- Soporta preguntas y respuestas precisas y diálogos multivuelta.
🔧 Extensibilidad Flexible
- Desacoplamiento de todo el proceso: desde el análisis, la incrustación, la recuperación hasta la generación.
- Diseño modular, cada componente es flexiblemente configurable y extensible.
- Fácil de integrar y desarrollar a medida.
⚡ Recuperación Eficiente
- Combina múltiples estrategias de recuperación: palabras clave, vectores, grafos de conocimiento.
- Soporta mecanismos de recuperación como BM25, Dense Retrieve, GraphRAG.
- Permite la combinación libre de flujos de recuperación-reordenamiento-generación.
🎯 Fácil de Usar
- Interfaz web intuitiva y API RESTful estándar.
- Rápido de empezar sin barreras técnicas.
- Arrastrar y soltar documentos, implementación del servicio con un solo clic.
🔒 Seguro y Controlable
- Soporta implementación local y en la nube privada.
- Control total y autónomo de los datos.
- Cumple con los requisitos de seguridad de nivel empresarial.
Escenarios de Aplicación
| Escenario de Aplicación | Aplicación Específica | Valor Clave |
|---|---|---|
| Gestión del conocimiento empresarial | Recuperación de documentos internos, preguntas y respuestas sobre normativas, consulta de manuales de operación | Mejora la eficiencia de búsqueda de conocimiento, reduce los costos de capacitación |
| Análisis de literatura científica | Recuperación de artículos, análisis de informes de investigación, organización de materiales académicos | Acelera la investigación bibliográfica, apoya la toma de decisiones de investigación |
| Soporte técnico de productos | Preguntas y respuestas sobre manuales de productos, recuperación de documentación técnica, resolución de problemas | Mejora la calidad del servicio al cliente, reduce la carga de soporte técnico |
| Revisión de cumplimiento legal | Recuperación de cláusulas contractuales, consulta de políticas y regulaciones, análisis de casos | Aumenta la eficiencia del cumplimiento, reduce los riesgos legales |
| Asistencia de conocimiento médico | Recuperación de literatura médica, consulta de guías de diagnóstico y tratamiento, análisis de casos clínicos | Asiste en la toma de decisiones clínicas, mejora la calidad del diagnóstico y tratamiento |
Detalle de los Módulos Funcionales
Capacidades de Procesamiento de Documentos
- Formatos soportados: PDF, Word, Txt, Markdown, imágenes (incluyendo OCR y subtítulos).
- Análisis inteligente: Identificación automática de la estructura del documento, extracción de contenido central.
- Procesamiento multimodal: Comprensión unificada de contenido mixto de texto e imágenes.
Vectorización y Recuperación
- Modelos de incrustación: Soporta modelos locales, BGE, GTE API, etc.
- Bases de datos vectoriales: PostgreSQL (pgvector), Elasticsearch.
- Estrategias de recuperación: Recuperación dispersa BM25, recuperación densa Dense Retrieve, recuperación de grafo de conocimiento GraphRAG.
Integración de Modelos Grandes
- Modelos soportados: Qwen (Tongyi Qianwen), DeepSeek y otros modelos grandes principales.
- Métodos de implementación: Implementación local (Ollama) o llamada a API externa.
- Modos de inferencia: Soporta el cambio entre modo de pensamiento/no pensamiento.
Funcionalidad de Grafo de Conocimiento
WeKnora soporta la transformación de documentos en grafos de conocimiento, mostrando las relaciones entre diferentes párrafos del documento. Al activar la funcionalidad de grafo de conocimiento, el sistema analiza y construye una red de asociaciones semánticas internas del documento, lo que no solo ayuda a los usuarios a comprender el contenido del documento, sino que también proporciona un soporte estructurado para la indexación y recuperación.
Arquitectura Técnica
Estructura del Proyecto
WeKnora/
├── cmd/ # Puntos de entrada de la aplicación
├── internal/ # Lógica de negocio central
├── config/ # Archivos de configuración
├── migrations/ # Scripts de migración de base de datos
├── scripts/ # Scripts de inicio y herramientas
├── services/ # Implementación de servicios secundarios
├── frontend/ # Proyecto frontend
└── docs/ # Documentación del proyecto
Módulos Principales
- Módulo de análisis de documentos: Extracción y estructuración de contenido de documentos en múltiples formatos.
- Módulo de procesamiento de vectorización: Vectorización semántica del contenido del documento.
- Módulo de motor de recuperación: Recuperación y selección con múltiples estrategias.
- Módulo de inferencia de modelos grandes: Generación inteligente de preguntas y respuestas basada en el contexto.
Inicio Rápido
Requisitos del Entorno
- Docker
- Docker Compose
- Git
Pasos de Instalación
- Clonar el repositorio
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
- Configurar variables de entorno
cp .env.example .env
# Edite el archivo .env y complete las configuraciones relevantes según los comentarios.
- Iniciar servicios
# Iniciar todos los servicios con un solo comando
./scripts/start_all.sh
# O usar el comando make
make start-all
- Acceder a los servicios Una vez iniciado con éxito, puede acceder a las siguientes direcciones:
- Interfaz de usuario web: http://localhost
- API de backend: http://localhost:8080
- Rastreo de enlaces (Jaeger): http://localhost:16686
Detener servicios
./scripts/start_all.sh --stop
# O
make stop-all
Integración con el Ecosistema de WeChat
WeKnora, como marco tecnológico central de la Plataforma Abierta de Diálogo de WeChat, ofrece las siguientes capacidades:
- Implementación sin código: Simplemente cargue el conocimiento para implementar rápidamente servicios inteligentes de preguntas y respuestas en el ecosistema de WeChat.
- Gestión eficiente de preguntas: Soporta la gestión clasificada independiente de preguntas frecuentes.
- Cobertura del ecosistema de WeChat: Se puede integrar sin problemas en escenarios de WeChat como cuentas oficiales y mini programas.
Interfaces API
WeKnora proporciona interfaces API RESTful completas, que soportan:
- Carga y gestión de documentos
- Operaciones de la base de conocimiento
- Consultas de preguntas y respuestas
- Configuración del sistema
Para obtener documentación detallada de la API, consulte: API Documentation
Desarrollo y Contribución
Tipos de Contribución
- 🐛 Corrección de errores (Bugs): Descubrir y corregir defectos del sistema.
- ✨ Nuevas funcionalidades: Proponer e implementar nuevas características.
- 📚 Mejoras en la documentación: Perfeccionar la documentación del proyecto.
- 🧪 Casos de prueba: Escribir pruebas unitarias y de integración.
- 🎨 Optimización de UI/UX: Mejorar la interfaz y la experiencia del usuario.
Pautas de Desarrollo
- Seguir Go Code Review Comments.
- Usar
gofmtpara formatear el código. - Añadir pruebas unitarias necesarias.
- Actualizar la documentación relevante.
- Usar la especificación Conventional Commits.
Proceso de Envío
- Hacer un 'fork' del proyecto a su cuenta personal de GitHub.
- Crear una rama de característica:
git checkout -b feature/amazing-feature. - Confirmar los cambios:
git commit -m 'Add amazing feature'. - Empujar la rama:
git push origin feature/amazing-feature. - Crear una Pull Request y describir detalladamente los cambios.
Ventajas Destacadas
- Estabilidad de nivel empresarial: Desarrollado por el equipo de Tencent, verificado en entornos de producción a gran escala.
- Listo para usar: Implementación con Docker con un solo clic, operación intuitiva desde la interfaz web.
- Tecnología avanzada: Basado en la última tecnología RAG y las capacidades de los modelos grandes.
- Altamente personalizable: Diseño modular, soporta extensión e integración flexibles.
- Seguridad de los datos: Soporta implementación privada, control total y autónomo de los datos.
- Integración con el ecosistema: Profundamente integrado con el ecosistema de WeChat, soporta múltiples escenarios de aplicación.
Resumen
WeKnora es un marco de preguntas y respuestas para documentos de nivel empresarial potente y tecnológicamente avanzado. No solo proporciona una pila tecnológica RAG completa, sino que también cuenta con una excelente facilidad de uso y escalabilidad. Ya sea para la gestión interna del conocimiento empresarial, el análisis de literatura científica o el soporte al cliente, WeKnora puede ofrecer soluciones eficientes y precisas.
A través de su código abierto, WeKnora proporciona a los desarrolladores y empresas un punto de partida de alta calidad, haciendo que la construcción de sistemas inteligentes de preguntas y respuestas para documentos sea sencilla y eficiente.