Система вопросов и ответов локальной базы знаний QAnything: на основе двухэтапного поиска расширенного генеративного приложения (RAG), поддержка больших объемов данных, вопросы и ответы на разных языках.
Система вопросов и ответов локальной базы знаний QAnything: на основе двухэтапного поиска расширенного генеративного приложения (RAG), поддержка больших объемов данных, вопросы и ответы на разных языках.
Система вопросов и ответов локальной базы знаний QAnything: на основе двухэтапного поиска расширенного генеративного приложения (RAG), поддержка больших объемов данных, вопросы и ответы на разных языках.
QAnything (Question and Answer based on Anything) Это локальная система вопросов и ответов базы знаний, предназначенная для поддержки файлов или баз данных в любом формате, которую можно установить и использовать в автономном режиме.
Вы можете загрузить в него свои локальные файлы в любом формате, чтобы получить точный, быстрый и надежный опыт вопросов и ответов.
В настоящее время поддерживаются форматы: PDF,Word(doc/docx),PPT,Markdown,Eml,TXT,Картинки (jpg, png и т. д.),Веб-ссылка,Больше форматов,Следите за обновлениями...
Функции
Безопасность данных, поддержка отключения сетевого кабеля во время установки и использования.
Он поддерживает вопросы и ответы на разных языках, и вы можете по желанию переключаться между вопросами и ответами на китайском и английском языках, независимо от языка файла.
Поддержка больших объемов данных, вопросы и ответы,Двухэтапная векторная сортировка,Решена проблема деградации крупномасштабного поиска данных.,Чем больше данных, тем лучше результаты。
Высокопроизводительная система производственного уровня, позволяющая напрямую развертывать корпоративные приложения.
Простота использования, отсутствие необходимости в громоздкой настройке, установка и развертывание в один клик, просто используйте.
Поддерживает выбор нескольких баз знаний для вопросов и ответов.
Архитектура
1. Преимущества двухэтапного поиска
Преимущества двух этапов очень очевидны в сценариях с большими объемами данных базы знаний.,Если вы используете только одноэтапное встраивание извлечения,По мере увеличения объема данных возникнет проблема ухудшения качества поиска.,Как показано зеленой линией на рисунке ниже.,Рерангирование на втором этапе позволяет добиться стабильного роста точности.,Прямо сейчасЧем больше данных, тем лучше результаты。
BCEmbedding — это китайско-английская двуязычная и межъязыковая библиотека моделей алгоритмов семантического представления, разработанная NetEase Youdao, которая включает в себя две базовые модели: EmbeddingModel и RerankerModel. EmbeddingModel специально используется для генерации семантических векторов и играет ключевую роль в семантическом поиске, а также в вопросах и ответах, тогда как RerankerModel хорош для оптимизации результатов семантического поиска и уточнения семантически связанного порядка.
BCEmbedding является краеугольным камнем генеративных приложений с расширенными возможностями поиска (RAG) Youdao, особенно играющих важную роль в QAnything github. Будучи проектом NetEase Youdao с открытым исходным кодом, QAnything имеет хорошие практики применения во многих продуктах Youdao, таких как Youdao Speed Reading и Youdao Translation.
QAnythingИспользуемый компонент поискаBCEmbeddingИметь очень сильные двуязычные и межъязыковые способности.,Может устранить различия между китайским и английским языками при семантическом поиске.,
Чтобы достичь:
Сильные возможности двуязычного и межъязыкового семантического представления.【<a href="https://github.com/netease-youdao/BCEmbedding/tree/master?tab=readme-ov-file#semantic-representation-evaluations-in-mteb" target="\_Self">на основеMTEBИндекс оценки семантического представления</a>】。
Оценка RAG на основе LlamaIndex,ПроизводительностьSOTA【<a href="https://github.com/netease-youdao/BCEmbedding/tree/master?tab=readme-ov-file#rag-evaluations-in-llamaindex" target="\_Self">Оценка RAG на основе LlamaIndexиндекс</a>】。
Двуязычные и межъязыковые преимущества
Существующие модели единого семантического представления часто плохо работают в двуязычных и межъязыковых сценариях, особенно в китайском, английском и их межъязыковых задачах. BCEmbedding в полной мере использует преимущества механизма перевода Youdao для достижения превосходной производительности в одноязычных, двуязычных и межъязыковых сценариях с помощью всего одной модели.
EmbeddingModel поддерживает китайский и английский языки (в будущем будет поддерживаться больше языков), RerankerModel поддерживает китайский, английский, японский и корейский.
1.3 Оценка RAG на основе LlamaIndex (встраивание и переранжирование)
NOTE:
В столбце WithoutReranker наша модель bce-embedding-base_v1 превосходит все другие модели внедрения.
Благодаря фиксированной модели внедрения наша модель bce-reranker-base_v1 достигает наилучшей производительности.
Комбинация bce-embedding-base_v1 и bce-reranker-base_v1 — это SOTA.
Если вы хотите использовать его отдельноembeddingиrerankВидеть:BCEmbedding
2.LLM
Большая модель версии с открытым исходным кодом QAnything основана на Tongyi Qianwen и настроена на большое количество профессиональных наборов данных вопросов и ответов на основе Qianwen, возможности вопросов и ответов были значительно расширены;
Если вам необходимо коммерческое использование, следуйте лицензии Qianwen.,具体Видеть:Тонги Цяньвэнь
Шаг 2. Введите корневой каталог проекта для выполнения сценария запуска.
Если вы используете систему Windows, сначала войдите в среду wsl.
Укажите запуск одного графического процессора
Язык кода:shell
копировать
cd QAnything
bash run.sh 0 # Для запуска укажите графический процессор № 0. Номера графических процессоров начинаются с 0 Компьютеры с ОС Windows обычно имеют только одну карту, поэтому можно указать только графический процессор № 0.
Укажите запуск с несколькими графическими процессорами
Язык кода:shell
копировать
cd QAnything
bash run.sh 0,1 # указано ГПУ №0,1 запускается,Пожалуйста, подтвердите, что доступно несколько графических процессоров.,Поддерживает до двух карт для запуска
Начните испытывать
Главная страница
После успешного запуска вы можете ввести следующий адрес в браузере, чтобы испытать его.
При выполнении команды docker-compose в Windows при запуске возникает ошибка: /bin/bash^M: плохой интерпретатор: нет такого файла или каталога# Используйте команду, чтобы проверить, находится ли файл сценария в формате dos или unix. Конец строки файла формата dos — ^M$ , строка файла, заканчивающаяся в формате unix, — $:
cat -A scripts/run_for_local.sh # Проверка формата файла
sed -i "s/\r//" скрипты/run_for_local.sh
sed -i "s/^M//" скрипты/run_for_local.sh
cat -A scripts/run_for_local.sh # Проверка формата файла
- Причина: сценарий оболочки, созданный и редактируемый в Windows, имеет формат DOS, но Linux может выполнять сценарии только в формате Unix, поэтому файлы, редактируемые в Windows, обычно находятся в среде после выполнения wsl в Windows. Также Linux) сообщит об ошибке, когда казнен.
— Решение: замените возврат каретки пустыми строками.
После ввода вопроса на главной странице результат возвращается с ошибкой: Triton Inference Error (error_code: 4)
Причина: Недостаточно видеопамяти. В настоящее время в процессе вопросов и ответов видеопамять, занимаемая большими моделями и Paddleocr, постепенно увеличивается и не освобождается, что может привести к нехватке видеопамяти.
Решение: Перезапустить службу и оптимизировать видеопамять уже запланировано.
Причина 2. Если вы обнаружите, что видеопамяти достаточно, это связано с тем, что новая модель несовместима с некоторыми моделями видеокарт.
Решение: выберите совместимую модель и изображение, вручную загрузите файл модели, распакуйте его и замените каталог моделей, а затем перезапустите службу.
Измените freeren/qanyxxx:v1.0.9 в docker-compose-xxx.yaml на freeren/qanyxxx:v1.0.8.
echo "v2.1.0" > models/version.txt # Вручную обойти проверку версии
После ввода вопроса на главной странице возвращаемый результат похож на следующий искаженный код: omiteatures.scrollHeight㎜eaturesodo Curse.streaming pulumiпещераIDI贶椤贶.scrollHeight崴崴崶eaturesголоволомка.scrollHeightона
Причина: модель видеокарты не поддерживается, например V100. Используйте видеокарты 3080, 3090, 4080, 4090 и другие. Объем графической памяти должен быть больше 16 ГБ.
При запуске службы сообщается об ошибке, которая отображается в api.log: mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'mysql-container-local:3306' (111)
Причина: после удаления предыдущего кода QAnything.,копировать отправил копию кода на другой адрес,Один из томов является локальным томом данных по умолчанию для mivlus и mysql.,копирование может вызвать конфликт томов данных MySQL,В результате MySQL не может быть запущен.
Решение. Удалите конфликтующие тома данных и перезапустите службу.
Ошибка запуска службы: ОШИБКА: for qanything-container-local Cannot start service qanything_local: could not select device driver "nvidia" with capabilities: gpu
Для получения дополнительной информации обратите внимание на:
Для получения более качественного контента обратите внимание на официальный аккаунт: Ting, Искусственный интеллект; некоторые сопутствующие ресурсы и качественные статьи будут предоставлены для бесплатного чтения.