Sobre el proyecto

Langchain-Chatchat (originalmente Langchain-ChatGLM) es un proyecto de aplicación de código abierto de RAG (Generación Aumentada por Recuperación) y Agent, implementado sobre el framework Langchain y grandes modelos de lenguaje como ChatGLM, Qwen, Llama, que se puede implementar sin conexión. Su objetivo es establecer una solución de preguntas y respuestas sobre base de conocimiento que sea amigable con los escenarios en chino y los modelos de código abierto, y que pueda ejecutarse completamente sin conexión. El flujo del principio central es: cargar archivos, leer texto, dividir texto, vectorizar texto, vectorizar preguntas, buscar los top k textos más similares en la base de vectores, usar los textos coincidentes como contexto junto con la pregunta en el prompt, y enviarlo al LLM para generar la respuesta. El proyecto en sí no implica fine-tuning ni entrenamiento, pero se puede optimizar mediante fine-tuning. Las funciones de la versión 0.3.x incluyen: diálogo con LLM, diálogo con base de conocimiento, diálogo con motor de búsqueda, diálogo con archivos (unificado como File RAG, compatible con múltiples métodos de recuperación como BM25+KNN), diálogo con base de datos, diálogo con imágenes multimodales, diálogo con literatura ARXIV, diálogo con Wolfram, generación de imágenes a partir de texto, gestión de base de conocimiento local y WebUI. Las funciones principales son implementadas por Agent, y el usuario también puede realizar llamadas a herramientas manualmente, con soporte para diferentes modos como llamada automática de herramientas, solo análisis de parámetros de herramientas, y llenado manual de parámetros. En cuanto a la integración de modelos, 0.3.x ya no carga modelos directamente por ruta local, sino a través de marcos de inferencia de modelos convencionales, incluyendo Xinference, LocalAI, Ollama, FastChat, y el marco de API en línea One API (compatible con OpenAI, Azure OpenAI, Anthropic Claude, Zhipu Qingyan, Baichuan, etc.). Todas las integraciones de modelos son compatibles con el SDK de OpenAI. El despliegue ofrece instalación mediante pip (pip install langchain-chatchat -U), instalación desde código fuente/desarrollo, y despliegue con Docker. El flujo de uso incluye: iniciar el marco de inferencia de modelos y cargar el modelo, ejecutar chatchat init para inicializar la configuración y el directorio de datos, modificar archivos de configuración como model_settings.yaml, ejecutar chatchat kb -r para inicializar la base de conocimiento, y ejecutar chatchat start -a para iniciar el proyecto. El proyecto soporta Python 3.8-3.11, puede ejecutarse en Windows, macOS y Linux, y el hardware soporta CPU, GPU, NPU y MPS. El código del proyecto sigue el protocolo Apache-2.0. Los hitos incluyen el lanzamiento de 0.1.0 en abril de 2023, el cambio de nombre y lanzamiento de 0.2.0 en agosto de 2023, más de 20K estrellas en diciembre de 2023, y el lanzamiento de la nueva arquitectura 0.3.0 en junio de 2024.