À propos du projet
Langchain-Chatchat (anciennement Langchain-ChatGLM) est un projet open source d'application RAG (Retrieval-Augmented Generation) et Agent, basé sur le framework Langchain et les grands modèles de langage tels que ChatGLM, Qwen, Llama. Il est déployable hors ligne. Son objectif est de fournir une solution de questions-réponses sur base de connaissances entièrement hors ligne, adaptée aux scénarios chinois et aux modèles open source.
Le principe de fonctionnement principal est le suivant : charger les fichiers, lire le texte, diviser le texte, vectoriser le texte, vectoriser la question, rechercher les top k textes les plus similaires dans la base vectorielle, ajouter ces textes comme contexte avec la question dans le prompt, puis soumettre le tout au LLM pour générer la réponse. Le projet n'implique pas de fine-tuning ni d'entraînement, mais un fine-tuning peut optimiser les résultats.
Les fonctionnalités de la version 0.3.x incluent : dialogue LLM, dialogue sur base de connaissances, dialogue via moteur de recherche, dialogue sur fichiers (unifié en File RAG, prenant en charge plusieurs méthodes de recherche comme BM25+KNN), dialogue sur bases de données, dialogue d'images multimodales, dialogue de littérature ARXIV, dialogue Wolfram, génération d'images à partir de texte, gestion de base de connaissances locale et WebUI. Les fonctions principales sont implémentées par l'Agent ; l'utilisateur peut également appeler les outils manuellement, avec différents modes : appel automatique d'outils, analyse des paramètres uniquement, saisie manuelle des paramètres.
Côté intégration de modèles, la version 0.3.x ne charge plus les modèles directement par chemin local, mais passe par des frameworks d'inférence de modèles courants, notamment Xinference, LocalAI, Ollama, FastChat, ainsi que le framework d'API en ligne One API (prenant en charge OpenAI, Azure OpenAI, Anthropic Claude, Zhipu Qingyan, Baichuan, etc.). Toutes les intégrations de modèles sont compatibles avec le SDK OpenAI.
Le déploiement est possible via pip (pip install langchain-chatchat -U), installation depuis les sources / déploiement de développement, ou déploiement Docker. Le processus d'utilisation comprend : démarrer le framework d'inférence de modèles et charger le modèle, exécuter chatchat init pour initialiser la configuration et les répertoires de données, modifier les fichiers de configuration comme model_settings.yaml, exécuter chatchat kb -r pour initialiser la base de connaissances, puis exécuter chatchat start -a pour démarrer le projet. Le projet prend en charge Python 3.8-3.11 et fonctionne sur Windows, macOS, Linux, avec un support matériel pour CPU, GPU, NPU, MPS.
Le code du projet suit la licence Apache-2.0. Les étapes clés incluent : publication de la version 0.1.0 en avril 2023, changement de nom et publication de la version 0.2.0 en août 2023, dépassement de 20 000 étoiles en décembre 2023, et publication de la version 0.3.0 avec une nouvelle architecture en juin 2024.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.