Недавно я нашел хороший проект на github: https://github.com/csunny/DB-GPT
Этот проект использует большие языковые модели с открытым исходным кодом, такие как Vicuna-13b, для создания экспертной системы баз данных. За полтора месяца с момента запуска он получил 3400 звезд.
Экспериментальный проект GPT на основе базы данных с открытым исходным кодом, который использует локализованную большую модель GPT для взаимодействия с вашими данными и средой без риска утечки данных, что делает возможности большой модели абсолютно конфиденциальными, безопасными и управляемыми.
Текущие конкретные возможности:
Архитектура DB-GPT показана на рисунке ниже:
Вот краткое введение в каждый модуль:
В качестве сценария с наибольшим текущим спросом пользователей база знаний изначально поддерживает построение и обработку базы знаний. В то же время этот проект также предоставляет различные стратегии управления базой знаний. нравиться:
Пользователям нужно только систематизировать документы знаний, а затем использовать существующие возможности для создания возможностей базы знаний, необходимых для больших моделей.
В базовом доступе к большой модели открытый интерфейс предназначен для поддержки закрепления нескольких больших моделей. В то же время существует очень строгий механизм контроля и анализа влияния модели доступа. По сравнению с ChatGPT с точки зрения возможностей больших моделей, уровень точности должен соответствовать согласованности возможностей более 85%. В проекте используются более высокие стандарты для проверки моделей в надежде, что предыдущие утомительные этапы тестирования и оценки можно будет опустить во время использования пользователем.
Для облегчения управления векторизацией знаний встроены различные механизмы хранения векторов, от Chroma на базе памяти до распределенных Milvus. Вы можете выбирать различные механизмы хранения в соответствии с требованиями вашей сцены. Все хранилище векторов знаний представляет собой единое хранилище. расширение возможностей искусственного интеллекта. Векторы, как промежуточный язык для взаимодействия человека с большими языковыми моделями, играют в этом проекте очень важную роль.
Для более удобного взаимодействия с приватной средой пользователя в проекте разработан Модуль подключения,Модуль Соединение может поддерживать подключение к различным средам, таким как базы данных, Excel, базы знаний и т. д., для реализации взаимодействия информации и данных.
Агенты и Возможности плагинов определяют возможность автоматизации больших моделей. В этом проекте изначально поддерживается режим плагинов, и большие модели могут автоматически достигать поставленных целей. В то же время, чтобы в полной мере использовать преимущества сообщества, плагины, используемые в этом проекте, изначально поддерживают экосистему плагинов Auto-GPT, то есть плагины Auto-GPT можно запускать напрямую. в нашем проекте.
3.6 Оперативная автоматическая генерация и оптимизация
Подсказка — очень важная часть процесса взаимодействия с большими моделями. В определенной степени подсказка определяет качество и точность ответов, генерируемых большой моделью. В этом проекте мы автоматически оптимизируем соответствующую подсказку на основе ввода данных пользователем. сценарии использования. Сделайте использование больших языковых моделей более простым и эффективным для пользователей.
ЗАДАЧА: На дисплее терминала мы предоставим многотерминальный интерфейс продукта. Включая ПК, мобильный телефон, командную строку, Slack и другие режимы.
Проект обладает более чем 85% возможностями ChatGPT по эффекту, поэтому имеет определенные требования к оборудованию. Но, вообще говоря, развертывание и использование проекта можно выполнить на видеокарте потребительского уровня. Конкретные инструкции по развертыванию оборудования следующие:
Модель графического процессора | Объем видеопамяти | производительность |
---|---|---|
RTX4090 | 24G | Может вести разговорную речь плавно, без задержек. |
RTX3090 | 24G | Может рассуждать плавно, с ощущением запаздывания, но лучше, чем V100. |
V100 | 16G | Способен рассуждать в разговорной форме с явными задержками. |
Чтобы развернуть этот проект, сначала необходимо приобрести ресурсы графического процессора. В настоящее время у Tencent Cloud есть облачный сервер с графическим процессором · Распродажа флэш-памяти ограничена по времени:
https://cloud.tencent.com/act/pro/gpu-study
Выберите следующую модель, имеющую 32 ГБ видеопамяти, чего достаточно для развертывания (она все равно очень дорогая по сравнению с традиционными серверами на базе ЦП):
yum -y install git
yum install git-lfs
yum install g++
yum install docker
git clone https://github.com/csunny/DB-GPT.git
git clone https://huggingface.co/Tribbiani/vicuna-13b
git clone https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
Файл модели необходимо поместить в путь к коду:
cd DB-GPT
mkdir models
cp all-MiniLM-L6-v2 models/
cp vicuna-13b models/
docker run --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=aa12345678 -dit mysql:latest
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
sh Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
source /root/.bashrc
conda create -n dbgpt_env python=3.10
conda activate dbgpt_env
pip install -r requirements.txt
nohup python pilot/server/llmserver.py > server.log 2>&1 &
nohup python pilot/server/webserver.py > logs/client.log 2>&1 &
Интерфейс такой, как показано ниже:
здравый смысл:
логика:
По сравнению с GPT3.5 разрыв очевиден:
По сравнению с GPT4 разрыв еще больше:
По сравнению с GPT3.5 разрыв очевиден:
Как показано на рисунке выше, после выбора имени библиотеки и ввода требований запроса на естественном языке можно сгенерировать и выполнить соответствующий SQL-код для возврата результатов!
Однако скорость возврата результатов очень низкая, иногда даже более 1 минуты.
Давайте проверим комбинированный запрос и обнаружим, что он выполняет запрос на корреляцию таблиц, в чем нет необходимости, и запрос на корреляцию ссылается на несуществующие поля, что странно.
https://blog.51cto.com/imysql/3250683 [MySQL Часто задаваемые вопросы] серия — Должен ли быть включен запрос в онлайн-среде? cache
Давайте преобразуем статью Лао Е о кеше запросов в PDF для загрузки:
Создается векторный файл /data/download/DB-GPT/pilot/data/.vectordb.
Задайте соответствующие вопросы в документе и посмотрите, можно ли в ответах использовать содержимое документа:
Общий эффект нормальный.
Этот проект с открытым исходным кодом имеет комплексные функции, объединяющие большие модели с открытым исходным кодом, возможности частной базы знаний, возможности генерации SQL базы данных и возможности интерактивных запросов с БД. Если эти возможности могут набрать 90 баллов, то этот проект очень достоин использования в БД. производственная среда Используется, поскольку решает проблему безопасности утечки кода.
Но у него есть несколько проблем: 1. Скорость относительно низкая, особенно при генерации SQL и взаимодействии с БД, иногда это занимает более 1 минуты. 2. Способность к рассуждению слабая и не может достичь уровня 3,5. 3. Из-за 2 иногда сгенерированный SQL не соответствует потребностям пользователя.
Но направление правильное. В будущем именно таким образом будут внедряться крупные модели в определенной области производственной среды компании.
Мы с нетерпением ждем, когда крупные модели с открытым исходным кодом догонят возможности версии 3.5 как можно скорее!