¿Qué es DB-GPT?
Con el lanzamiento y la iteración del modelo grande, el modelo grande se vuelve cada vez más inteligente. En el proceso de uso del modelo grande, se encuentran grandes desafíos de privacidad y seguridad de datos. En el proceso de uso de capacidades de modelos grandes, nuestros datos privados y nuestro entorno deben estar en nuestras propias manos, totalmente controlables y evitar cualquier fuga de privacidad de datos y riesgos de seguridad. En base a esto, lanzamos el proyecto DB-GPT para crear un conjunto completo de soluciones de modelos privados a gran escala para todos los escenarios basados en bases de datos . Debido a que esta solución admite la implementación local, no solo se puede aplicar a entornos privados independientes, sino que también se puede implementar y aislar de forma independiente según los módulos comerciales, lo que hace que las capacidades de los modelos grandes sean absolutamente privadas, seguras y controlables. Nuestra visión es hacer que sea más fácil y conveniente construir aplicaciones de modelos grandes alrededor de bases de datos.
DB-GPT es un proyecto experimental de GPT basado en una base de datos de código abierto que utiliza modelos grandes de GPT localizados para interactuar con sus datos y su entorno, sin riesgo de fuga de datos, 100 % privado
Demostración de efectos
Ejemplos demostrados con GPU RTX 4090
dbgpt_demo.mp4
Genere gráficos de análisis basados en conversaciones en lenguaje natural
Generar SQL basado en diálogo en lenguaje natural
Diálogo con la información de metadatos de la base de datos para generar declaraciones SQL precisas
Diálogo con los datos, vea directamente los resultados de la ejecución
gestión de la base de conocimientos
Diálogo según la base de conocimiento, como pdf, csv, txt, palabras, etc.
Características de un vistazo
En la actualidad, hemos lanzado una variedad de funciones clave. Aquí enumeramos y demostramos las capacidades de la versión actual.
-
Capacidades del lenguaje SQL
- generación de SQL
- Diagnósticos de SQL
-
Preguntas y respuestas de dominio privado y procesamiento de datos
- Gestión de la base de conocimientos (actualmente admite txt, pdf, md, html, doc, ppt y url)
- Cuestionario de conocimiento de la base de datos
- procesamiento de datos
-
modelo enchufable
- Admite complementos personalizados para realizar tareas y, de forma nativa, admite complementos Auto-GPT. como:
- Ejecute automáticamente SQL para obtener resultados de consulta
- Conocimiento de aprendizaje de rastreo automático
- Admite complementos personalizados para realizar tareas y, de forma nativa, admite complementos Auto-GPT. como:
-
Índice/almacenamiento de vectores unificados de la base de conocimiento
- Compatibilidad con datos no estructurados, incluidos PDF, MarkDown, CSV, WebURL
-
Soporte de múltiples modelos
- Admite múltiples modelos de idiomas grandes, actualmente admite Vicuna (7b, 13b), ChatGLM-6b (int4, int8), guanaco (7b, 13b, 33b), Gorilla (7b, 13b)
- TODO: codet5p, codegen2
plano de arquitectura
DB-GPT crea un entorno operativo de modelo grande basado en FastChat y proporciona vicuña como un modelo de lenguaje grande basado en él. Además, proporcionamos capacidades de respuesta a preguntas de base de conocimiento de dominio privado a través de LangChain. Al mismo tiempo, admitimos el modo de complemento y admitimos de forma nativa el diseño del complemento Auto-GPT. Nuestra visión es hacer que sea más fácil y conveniente crear aplicaciones en torno a bases de datos y LLM.
La arquitectura de todo el DB-GPT se muestra en la siguiente figura
Las competencias básicas incluyen principalmente las siguientes partes.
- Capacidad de la base de conocimientos: admite la capacidad de respuesta a preguntas de la base de conocimientos de dominio privado
- Capacidad de gestión de modelos grandes: proporcione un entorno operativo de modelos grandes basado en FastChat .
- Indexación y almacenamiento vectorizado de datos unificados: proporciona una forma unificada de almacenar e indexar varios tipos de datos.
- Módulo de conexión: se utiliza para conectar diferentes módulos y fuentes de datos para realizar el flujo de datos y la interacción.
- Agente y complemento: proporcione un agente y un mecanismo de complemento para que los usuarios puedan personalizar y mejorar el comportamiento del sistema.
- Optimización y generación automática de avisos: genere automáticamente avisos de alta calidad y optimícelos para mejorar la eficiencia de respuesta del sistema.
- Interfaz de producto multiterminal: admite una variedad de diferentes productos de cliente, como aplicaciones web, móviles y de escritorio.
Instalar
Conmutación multilingüe
En el archivo de configuración .env, modifique el parámetro IDIOMA para cambiar entre diferentes idiomas, el predeterminado es inglés (chino zh, inglés en, se agregarán otros idiomas)
Instrucciones de uso
Uso multimodelo
Si encuentra errores relacionados con nltk al usar el repositorio, debe instalar el kit de herramientas nltk. Para obtener más detalles, consulte: documentación de nltk Ejecute el intérprete de Python y escriba los comandos:
>>> importar nltk >>> nltk.descargar()
Brindamos una nueva interfaz de usuario a través de la cual puede usar DB-GPT. Al mismo tiempo, hemos preparado los siguientes artículos de referencia sobre algunos códigos y principios relacionados con nuestro proyecto.
- Serie de combate de modelos grandes (1) —— Aplicación de combate con Langchain-Vicuña
- Serie de combate de modelos grandes (2) —— DB-GPT Alibaba Cloud Deployment Guide
- Serie de combate real de modelo grande (3) —— Principio y aplicación del modelo de complemento DB-GPT
agradecido
Los logros del proyecto deben agradecer a la comunidad técnica, especialmente los siguientes proyectos.
- FastChat proporciona servicio de chat
- vicuña-13b como modelo base
- langchain- cadena de herramientas
- Plantilla de complemento general Auto-GPT
- Hugging Face Gestión de modelos grandes
- Almacenamiento de vectores de croma
- Almacenamiento vectorial distribuido Milvus
- Modelo básico de ChatGLM
- llama-index realiza aprendizaje en contexto basado en la base de conocimiento existente para mejorar su conocimiento relacionado con la base de datos.
contribuir
- Ejecute antes de enviar el código.
black .
Esta es una herramienta compleja e innovadora para bases de datos. Nuestro proyecto también está en desarrollo urgente, y algunas características nuevas se lanzarán una tras otra. Si tiene alguna pregunta específica durante el uso, envíe primero un problema en el proyecto. Si es necesario, comuníquese con el siguiente WeChat y haré todo lo posible para ayudarlo. Al mismo tiempo, todos son bienvenidos a participar en el proyecto construcción.