Система вопросов и ответов локальной базы знаний 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.1 Одноэтапный поиск (встраивание)

Название модели

Retrieval

STS

PairClassification

Classification

Reranking

Clustering

средний

bge-base-en-v1.5

37.14

55.06

75.45

59.73

43.05

37.74

47.20

bge-base-zh-v1.5

47.60

63.72

77.40

63.38

54.85

32.56

53.60

bge-large-en-v1.5

37.15

54.09

75.00

59.24

42.68

37.32

46.82

bge-large-zh-v1.5

47.54

64.73

79.14

64.19

55.88

33.26

54.21

jina-embeddings-v2-base-en

31.58

54.28

74.84

58.42

41.16

34.67

44.29

m3e-base

46.29

63.93

71.84

64.08

52.38

37.84

53.54

m3e-large

34.85

59.74

67.69

60.07

48.99

31.62

46.78

bce-embedding-base_v1

57.60

65.73

74.96

69.00

57.29

38.95

59.43

1.2 Двухэтапное восстановление (повторное ранжирование)

Название модели

Reranking

средний

bge-reranker-base

57.78

57.78

bge-reranker-large

59.69

59.69

bce-reranker-base_v1

60.06

60.06

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.1 Быстрый старт

необходимые условия

  • For Linux |System| Required item | Minimum Requirement | Note | |---------------------------|--------------------------|---------------------------|-------------------------------------------------------------------------| |Linux | Single NVIDIA GPU Memoryundefined or Double NVIDIA GPU Memory | >= 16GB = 11GB + 5G | NVIDIA 3090 x 1 recommended NVIDIA 2080TI × 2 recommended | | | NVIDIA Driver Version | >= 525.105.17 | | | | CUDA Version | >= 12.0 | | | | Docker version | >= 20.10.5 | Docker install | | | docker compose version | >= 2.23.3 | docker compose install |
  • For Winodws 11 with WSL 2 |System| Required item | Minimum Requirement | Note | |---------------------------|--------------------------|---------------------------|-----------------------------------------------------------------------------------------------| |Windows 11 with WSL 2| Single NVIDIA GPU Memory or Double NVIDIA GPU Memory | >= 16GB = 11GB + 5G | NVIDIA 3090 NVIDIA 2080TI × 2 | | | | GEFORCE EXPERIENCE | >= 546.33 |GEFORCE EXPERIENCE download | | | | Docker Desktop | >= 4.26.1(131620) | Docker Desktop for Windows |

Загрузите и установите

  • step1: Загрузите этот проект git clone https://github.com/netease-youdao/QAnything.gitcd QAnything bash run.sh # По умолчанию запускается на графическом процессоре № 0.
  • Шаг 2. Введите корневой каталог проекта для выполнения сценария запуска. Если вы используете систему Windows, сначала войдите в среду wsl.
  • Укажите запуск одного графического процессора
Язык кода:shell
копировать
cd QAnything
bash run.sh 0  # Для запуска укажите графический процессор № 0. Номера графических процессоров начинаются с 0 Компьютеры с ОС Windows обычно имеют только одну карту, поэтому можно указать только графический процессор № 0.
  • Укажите запуск с несколькими графическими процессорами
Язык кода:shell
копировать
cd QAnything
bash run.sh 0,1 # указано ГПУ №0,1 запускается,Пожалуйста, подтвердите, что доступно несколько графических процессоров.,Поддерживает до двух карт для запуска

Начните испытывать

  • Главная страница После успешного запуска вы можете ввести следующий адрес в браузере, чтобы испытать его.
  • Фронтальный адрес: http://your_host:5052/qanything/
  • API Если вы хотите получить доступ к интерфейсу API, перейдите по следующему адресу:
  • API address: http://your_host:8777/api/
  • Подробную документацию по API см. в разделе QAnything API документ.
  • Закрыть сервис bash close.sh

3. демонстрационный дисплей

Ссылка на видео:https://blog.csdn.net/sinat_39620217/article/details/135743659

извлечение информации

Веб-вопросы и ответы

Сборная солянка из файлов

4. Часто задаваемые вопросы

  • При выполнении команды 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.
      • git clone https://www.wisemodel.cn/Netease_Youdao/qanything.git
      • cd qanything
      • git reset --hard 79b3da3bbb35406f0b2da3acfcdb4c96c2837faf
      • unzip models.zip
      • Заменить существующий каталог моделей
      • 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
    • Причина: Проверьте, соответствует ли версия драйвера видеокарты NVIDIA требованиям. Рекомендуется также выполнить обновление до последней версии под Windows; Container Toolkit, Необходимо войти в среду wsl2 под Windows,Ссылка еще разlinuxСпособ установки:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
  • Ошибка запуска службы: nvidia-container-cli: mount error: file creation failed: /var/lib/docker/overlay2/xxxxxx/libnvidia-ml.s0.1: file exists: unknown
    • Причина: Начните использовать docker-compose-linux.yaml в системе Windows.
    • Решение. Начните использовать docker-compose-windows.yaml.

Справочные ссылки:

https://github.com/netease-youdao/QAnything/blob/master

Для получения дополнительной информации обратите внимание на:

Для получения более качественного контента обратите внимание на официальный аккаунт: Ting, Искусственный интеллект; некоторые сопутствующие ресурсы и качественные статьи будут предоставлены для бесплатного чтения.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose