DeepSeek-RAG-Chatbot: локально работающий чатбот DeepSeek RAG

Общее введение

Чатбот DeepSeek-RAG представляет собой систему, основанную на DeepSeek R1 - проект чатбота с открытым исходным кодом, размещенный на GitHub, созданный разработчиком SaiAkhil066. Он сочетает в себе технологию Retrieval Augmented Generation (RAG), позволяющую пользователям загружать документы (например, PDF, DOCX или TXT) для эффективного поиска документов и интеллектуальных вопросов и ответов при локальном запуске. В проекте используются такие передовые функции, как гибридный поиск (BM25 + FAISS), нейронная реорганизация и граф знаний (GraphRAG) для обеспечения извлечения из документов контекстно точной и релевантной информации. Он подходит для сценариев, требующих защиты конфиденциальности или автономного использования, таких как управление персональными знаниями и обработка корпоративных документов. Проект обеспечивает поддержку интерфейса Docker и Streamlit, который легко установить, и пользователи могут легко приступить к работе.

DeepSeek-RAG-Chatbot:本地运行的 DeepSeek RAG 聊天机器人

 

Список функций

  • Загрузка и обработка документовПоддержка загрузки файлов в форматах PDF, DOCX, TXT и т.д., автоматическое разбиение документов и генерация векторных вкраплений.
  • Гибридный механизм поиска: в сочетании с BM25 и технологии FAISS для быстрого извлечения релевантного содержимого из документов.
  • Поддержка графиков знаний (GraphRAG): Постройте граф знаний документов, чтобы понять взаимосвязи между объектами и повысить контекстную точность ответов.
  • нейронная перестройка: Упорядочивание результатов поиска с помощью модели кросс-кодера, чтобы обеспечить отображение наиболее релевантной информации в первую очередь.
  • Расширение запросов (HyDE): Генерирование гипотетических ответов для расширения пользовательских запросов и повышения эффективности поиска.
  • Прогоны локальных моделей: через Оллама адъювант DeepSeek R1 и другие модели развертываются локально для обеспечения конфиденциальности данных.
  • Потоковая передача ответов в режиме реального времениЧтобы пользователи могли мгновенно увидеть сгенерированные результаты, предусмотрен потоковый вывод.
  • Поддержка Docker: Упрощение установки и эксплуатации с помощью контейнерного развертывания Docker.
  • Интерфейс Streamlit: Интуитивно понятный графический интерфейс для удобной загрузки файлов и интерактивного общения.

 

Использование помощи

Процесс установки

DeepSeek-RAG-Chatbot поддерживает локальную работу и требует некоторой настройки среды. Ниже приведены подробные шаги по установке:

предварительные условия

  • операционная система: Windows, macOS или Linux.
  • требования к оборудованию: Не менее 8 ГБ оперативной памяти (рекомендуется 16 ГБ) и видеокарта с поддержкой CUDA, если используется ускорение GPU.
  • зависимость от программного обеспечения: Python 3.8+, Git, Docker (опционально).

Шаг 1: Клонирование проекта

  1. Откройте терминал и выполните следующую команду, чтобы клонировать ваш репозиторий GitHub:
git clone https://github.com/SaiAkhil066/DeepSeek-RAG-Chatbot.git
  1. Перейдите в каталог проектов:
cd DeepSeek-RAG-Chatbot

Шаг 2: Настройка среды Python

  1. Создайте виртуальную среду:
python -m venv venv
  1. Активируйте виртуальную среду:
  • Окна:venv\Scripts\activate
  • macOS/Linux:source venv/bin/activate
  1. Обновление pip и установка зависимостей:
pip install --upgrade pip
pip install -r requirements.txt

Зависимости включают streamlit, иlangchain, иfaiss-gpu(если есть GPU) и т.д.

Шаг 3: Установка и настройка Ollama

  1. Загрузите и установите Ollama (установочный пакет можно найти на сайте ollama.com).
  2. Возьмите модель DeepSeek R1 (параметры по умолчанию 7B, при необходимости доступны другие версии, например 1,5B или 32B):
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
  1. Убедитесь, что служба Ollama запущена и что адрес прослушивания по умолчанию localhost:11434.

Шаг 4: (необязательно) Развертывание Docker

Если вы не хотите настраивать среду вручную, можно использовать Docker:

  1. Установите Docker (см. docker.com).
  2. Запустите его в корневом каталоге проекта:
docker-compose up
  1. Docker автоматически извлекает сервисы Ollama и chatbot, запускает их, а затем получает доступ к http://localhost:8501.

Шаг 5: Запустите приложение

  1. Запустите Streamlit в виртуальной среде:

streamlit run app.py

  1. Браузер автоматически откроет http://localhost:8501Войдите в экран чата.

Функции управления

Функция 1: Загрузка документов

  1. Переход к интерфейсу: После запуска в интерфейсе Streamlit в левой части экрана появится боковая панель "Загрузка документов".
  2. Выберите файлНажмите на кнопку "Обзор файлов", чтобы выбрать локальный файл PDF, DOCX или TXT.
  3. Обработка документовПосле загрузки система автоматически разбивает документ на небольшие фрагменты, генерирует векторные вкрапления и сохраняет их в FAISS. Время обработки зависит от размера файла и обычно составляет от нескольких секунд до нескольких минут.
  • привлекать внимание к чему-л.: На боковой панели отображается подтверждающее сообщение "Обработка файла завершена".

Функция 2: постановка вопросов и поиск

  1. Вопросы ввода: Введите вопрос в поле чата на китайском или английском языке, например, "Каково назначение GraphRAG, о котором говорится в документации?". в документации.
  2. процесс извлечения::
  • Система использует BM25 и FAISS для извлечения релевантных фрагментов документов.
  • GraphRAG анализирует отношения сущностей между фрагментами.
  • Нейронная переупорядочивание оптимизирует порядок результатов.
  • HyDE расширяет запрос, чтобы охватить более релевантный контент.
  1. Генерировать ответыDeepSeek R1 генерирует ответы на основе результатов поиска, которые выводятся в потоковом формате и пошагово отображаются в интерфейсе.
  • типичный примерЕсли вы спросите: "Что такое гибридный поиск?" вам ответят: "Гибридный поиск сочетает в себе BM25 и FAISS, BM25 отвечает за подбор ключевых слов, а FAISS быстро находит контент благодаря векторному сходству".

Функция 3: Применение графика знаний

  1. Включить GraphRAG: Включено по умолчанию, никаких дополнительных действий не требуется.
  2. Задавать сложные вопросыНапример, "Каковы отношения сотрудничества между компанией A и компанией B?". .
  3. Витрина результатов: Система не только возвращает текст, но и предоставляет реляционные ответы, основанные на графе знаний, например, "Компания A и компания B подписали соглашение о техническом сотрудничестве в 2023 году".

Функция 4: Корректировка моделей и параметров

  1. Сменная модель: в .env Измените в файле MODEL параметр, например, к deepseek-r1:1.5b.
  2. оптимизировать производительность: Если поддерживается оборудованием, установите faiss-gpu При использовании GPU-ускорения скорость поиска может увеличиться в 3 раза.

Советы и рекомендации

  • Поддержка нескольких документов: Можно одновременно загружать несколько файлов, и система будет интегрировать содержимое для ответа на вопросы.
  • ясность в вопросах: Задавая вопросы, будьте максимально конкретны и избегайте расплывчатых формулировок, чтобы повысить точность ваших ответов.
  • Проверьте журналы: Если вы столкнулись с ошибкой, вы можете проверить журналы терминала, чтобы устранить проблему, например, модель не загружена или порт занят.

предостережение

  • КонфиденциальностьДля локальной работы не требуется подключение к Интернету, а данные не загружаются в облако.
  • занятость ресурсов: Большие модели и высокоразмерные векторные расчеты требуют много памяти, поэтому рекомендуется закрывать неактуальные программы.
  • Обновление модели: Регулярная эксплуатация ollama pull Получите последнюю версию модели DeepSeek.

После выполнения вышеуказанных действий пользователи могут взаимодействовать с DeepSeek-RAG-Chatbot через браузер и наслаждаться эффективным тестированием документов.

© заявление об авторских правах

Похожие статьи

Luma Labs:Luma 系列视觉模型,使用丰富的自然语言描述来生成高质量图像和视频
AI Hedge Fund:开源自动化交易系统,利用多智能体进行复杂对冲基金交易决策

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...