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

Список функций
- Загрузка и обработка документовПоддержка загрузки файлов в форматах 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: Клонирование проекта
- Откройте терминал и выполните следующую команду, чтобы клонировать ваш репозиторий GitHub:
git clone https://github.com/SaiAkhil066/DeepSeek-RAG-Chatbot.git
- Перейдите в каталог проектов:
cd DeepSeek-RAG-Chatbot
Шаг 2: Настройка среды Python
- Создайте виртуальную среду:
python -m venv venv
- Активируйте виртуальную среду:
- Окна:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Обновление pip и установка зависимостей:
pip install --upgrade pip
pip install -r requirements.txt
Зависимости включают streamlit
, иlangchain
, иfaiss-gpu
(если есть GPU) и т.д.
Шаг 3: Установка и настройка Ollama
- Загрузите и установите Ollama (установочный пакет можно найти на сайте ollama.com).
- Возьмите модель DeepSeek R1 (параметры по умолчанию 7B, при необходимости доступны другие версии, например 1,5B или 32B):
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
- Убедитесь, что служба Ollama запущена и что адрес прослушивания по умолчанию
localhost:11434
.
Шаг 4: (необязательно) Развертывание Docker
Если вы не хотите настраивать среду вручную, можно использовать Docker:
- Установите Docker (см. docker.com).
- Запустите его в корневом каталоге проекта:
docker-compose up
- Docker автоматически извлекает сервисы Ollama и chatbot, запускает их, а затем получает доступ к
http://localhost:8501
.
Шаг 5: Запустите приложение
- Запустите Streamlit в виртуальной среде:
streamlit run app.py
- Браузер автоматически откроет
http://localhost:8501
Войдите в экран чата.
Функции управления
Функция 1: Загрузка документов
- Переход к интерфейсу: После запуска в интерфейсе Streamlit в левой части экрана появится боковая панель "Загрузка документов".
- Выберите файлНажмите на кнопку "Обзор файлов", чтобы выбрать локальный файл PDF, DOCX или TXT.
- Обработка документовПосле загрузки система автоматически разбивает документ на небольшие фрагменты, генерирует векторные вкрапления и сохраняет их в FAISS. Время обработки зависит от размера файла и обычно составляет от нескольких секунд до нескольких минут.
- привлекать внимание к чему-л.: На боковой панели отображается подтверждающее сообщение "Обработка файла завершена".
Функция 2: постановка вопросов и поиск
- Вопросы ввода: Введите вопрос в поле чата на китайском или английском языке, например, "Каково назначение GraphRAG, о котором говорится в документации?". в документации.
- процесс извлечения::
- Система использует BM25 и FAISS для извлечения релевантных фрагментов документов.
- GraphRAG анализирует отношения сущностей между фрагментами.
- Нейронная переупорядочивание оптимизирует порядок результатов.
- HyDE расширяет запрос, чтобы охватить более релевантный контент.
- Генерировать ответыDeepSeek R1 генерирует ответы на основе результатов поиска, которые выводятся в потоковом формате и пошагово отображаются в интерфейсе.
- типичный примерЕсли вы спросите: "Что такое гибридный поиск?" вам ответят: "Гибридный поиск сочетает в себе BM25 и FAISS, BM25 отвечает за подбор ключевых слов, а FAISS быстро находит контент благодаря векторному сходству".
Функция 3: Применение графика знаний
- Включить GraphRAG: Включено по умолчанию, никаких дополнительных действий не требуется.
- Задавать сложные вопросыНапример, "Каковы отношения сотрудничества между компанией A и компанией B?". .
- Витрина результатов: Система не только возвращает текст, но и предоставляет реляционные ответы, основанные на графе знаний, например, "Компания A и компания B подписали соглашение о техническом сотрудничестве в 2023 году".
Функция 4: Корректировка моделей и параметров
- Сменная модель: в
.env
Измените в файлеMODEL
параметр, например, кdeepseek-r1:1.5b
. - оптимизировать производительность: Если поддерживается оборудованием, установите
faiss-gpu
При использовании GPU-ускорения скорость поиска может увеличиться в 3 раза.
Советы и рекомендации
- Поддержка нескольких документов: Можно одновременно загружать несколько файлов, и система будет интегрировать содержимое для ответа на вопросы.
- ясность в вопросах: Задавая вопросы, будьте максимально конкретны и избегайте расплывчатых формулировок, чтобы повысить точность ваших ответов.
- Проверьте журналы: Если вы столкнулись с ошибкой, вы можете проверить журналы терминала, чтобы устранить проблему, например, модель не загружена или порт занят.
предостережение
- КонфиденциальностьДля локальной работы не требуется подключение к Интернету, а данные не загружаются в облако.
- занятость ресурсов: Большие модели и высокоразмерные векторные расчеты требуют много памяти, поэтому рекомендуется закрывать неактуальные программы.
- Обновление модели: Регулярная эксплуатация
ollama pull
Получите последнюю версию модели DeepSeek.
После выполнения вышеуказанных действий пользователи могут взаимодействовать с DeepSeek-RAG-Chatbot через браузер и наслаждаться эффективным тестированием документов.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...