Об этом проекте
Langchain-Chatchat (ранее Langchain-ChatGLM) — это открытый проект приложения RAG (Retrieval-Augmented Generation) и Agent, реализованный на основе фреймворка Langchain и больших языковых моделей ChatGLM, Qwen, Llama и других, который можно развертывать офлайн. Его цель — создать решение для вопросов-ответов по базе знаний, дружественное к китайскому языку и открытым моделям, полностью работающее офлайн.
Основной принцип работы: загрузка файлов, чтение текста, разделение текста, векторизация текста, векторизация вопроса, поиск top k наиболее похожих текстов в векторной базе, добавление найденных текстов в промпт вместе с вопросом в качестве контекста и отправка в LLM для генерации ответа. Сам проект не включает тонкую настройку или обучение, но эффект можно оптимизировать с помощью тонкой настройки.
Функции версии 0.3.x включают: диалог с LLM, диалог с базой знаний, диалог с поисковой системой, диалог с файлами (объединенный как File RAG, поддерживает различные методы поиска, такие как BM25+KNN), диалог с базой данных, мультимодальный диалог с изображениями, диалог с литературой arXiv, диалог Wolfram, генерация изображений по тексту, управление локальной базой знаний и WebUI. Основные функции реализованы через Agent, пользователь также может вызывать инструменты вручную; поддерживаются режимы автоматического вызова инструментов, только разбора параметров инструментов, ручного заполнения параметров и другие.
Что касается подключения моделей, в 0.3.x модели больше не загружаются напрямую по локальному пути, а подключаются через основные фреймворки вывода моделей, включая Xinference, LocalAI, Ollama, FastChat, а также онлайн-API фреймворк One API (поддерживает OpenAI, Azure OpenAI, Anthropic Claude, Zhipu Qingyan, Baichuan и др.). Все подключения моделей совместимы с OpenAI SDK.
Способы развертывания: установка через pip (pip install langchain-chatchat -U), установка из исходного кода / разработка и развертывание, а также развертывание через Docker. Процесс использования: запустить фреймворк вывода моделей и загрузить модель, выполнить chatchat init для инициализации конфигурации и каталога данных, изменить файлы конфигурации, такие как model_settings.yaml, выполнить chatchat kb -r для инициализации базы знаний, выполнить chatchat start -a для запуска проекта. Проект поддерживает Python 3.8-3.11, работает на Windows, macOS, Linux, аппаратная поддержка: CPU, GPU, NPU, MPS.
Код проекта распространяется под лицензией Apache-2.0. Вехи: в апреле 2023 года выпущена версия 0.1.0, в августе 2023 года проект переименован и выпущена версия 0.2.0, в декабре 2023 года получено более 20 000 звезд, в июне 2024 года выпущена версия 0.3.0 с новой архитектурой.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.