Skip to content

VOCCDC AI ChatBot - интеллектуальный чат-бот с RAG системой для сайта vodc.ru

Notifications You must be signed in to change notification settings

FreejackRus/AIChatBotVodc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Локальный чатбот на базе LM Studio

Проект создан по мотивам статьи с Хабра - локальный чатбот без ограничений на базе LM Studio и открытых LLM моделей.

Возможности

  • 🔒 Приватность - все данные обрабатываются локально
  • 🎯 Гибкость - поддержка различных режимов работы
  • 💾 История - сохранение и загрузка разговоров
  • 🎨 Настройка - системные промпты для различных задач
  • 📊 Статистика - отслеживание использования
  • 📚 RAG (Retrieval-Augmented Generation) - используйте собственную базу знаний

Установка

1. Установка LM Studio

  1. Скачайте LM Studio с официального сайта: https://lmstudio.ai/
  2. Установите приложение на ваш компьютер
  3. Запустите LM Studio

2. Установка моделей

  1. В LM Studio перейдите во вкладку "Discover"
  2. Найдите и скачайте одну из рекомендуемых моделей:
    • Mistral 7B - быстрая и универсальная
    • LLaMA 3 8B - качественная общая модель
    • DeepSeek-Coder - специализированная для программирования
    • CodeGemma - еще одна модель для кода

3. Настройка сервера

  1. В LM Studio выберите вкладку "Local Server"
  2. Выберите скачанную модель
  3. Нажмите "Start Server" (по умолчанию сервер запускается на порту 1234)
  4. Убедитесь, что сервер запущен и показывает зеленый индикатор

4. Установка Python-скриптов

# Клонируйте репозиторий или скачайте файлы
git clone <repository-url>
cd AIChatBotVodc

# Установите зависимости
pip install -r requirements.txt

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

Базовый чатбот

python chatbot.py

Расширенный чатбот

python advanced_chatbot.py

Чатбот с базой знаний (RAG)

python rag_chatbot.py

Демонстрация RAG

python demo_rag.py

Доступные режимы работы

Базовый и расширенный чатбот

  • code_assistant - помощник программиста
  • creative_writer - творческий писатель
  • teacher - преподаватель
  • analyst - аналитик данных
  • general_assistant - общий ассистент
  • debug_helper - помощник по отладке
  • code_reviewer - ревьюер кода

RAG-чатбот (rag_chatbot.py)

  • Все режимы базового чатбота
  • Собственная база знаний - добавляйте свои документы
  • Векторный поиск - находит релевантную информацию
  • Контекстные ответы - использует знания из документов
  • Поддержка форматов - TXT, PDF, MD (в разработке)

Команды

Базовые команды

  • /clear - очистить историю разговора
  • /save [имя_файла] - сохранить разговор
  • /exit - выйти из программы

Расширенные команды

  • /mode <ключ> - сменить режим работы
  • /load <имя_файла> - загрузить сохраненный разговор
  • /list - показать список сохраненных разговоров
  • /stats - показать статистику текущего разговора
  • /help - показать справку

📚 Работа с базой знаний (RAG)

Что такое RAG?

RAG (Retrieval-Augmented Generation) - это технология, которая позволяет чатботу использовать ваши собственные документы для ответов. Вместо обучения модели заново, система:

  1. Создает векторные представления ваших документов
  2. При получении вопроса находит наиболее релевантные части
  3. Использует найденную информацию для генерации ответа

Как использовать RAG

  1. Запустите демонстрацию:

    python demo_rag.py
  2. Добавьте свои документы:

    python rag_chatbot.py
    # В чате используйте команду: /add_document путь_к_файлу.txt
  3. Поддерживаемые форматы:

    • TXT (текстовые файлы)
    • PDF (в разработке)
    • MD (Markdown, в разработке)

Примеры документов для базы знаний

  • Инструкции и руководства
  • Техническая документация
  • Учебные материалы
  • Заметки и статьи
  • FAQ и ответы на частые вопросы

Команды RAG-чатбота

  • /add_document <путь> - добавить документ в базу знаний
  • /search <запрос> - найти информацию в документах
  • /list_documents - показать список добавленных документов
  • /clear_kb - очистить базу знаний
  • /help - показать все команды

Программирование

/mode code_assistant
Помоги мне написать функцию для сортировки массива в Python

Использование базы знаний (RAG)

# Добавляем документ о компании
/add_document company_info.txt

# Задаем вопрос по содержимому документа
Пользователь: Какие продукты предлагает компания?
Ассистент: Согласно информации из базы знаний, компания предлагает следующие продукты:

1. Программное обеспечение для автоматизации бизнеса
2. Облачные решения для хранения данных
3. Консультационные услуги по цифровой трансформации
4. Обучающие курсы и вебинары

# Ищем информацию в документах
/search политика безопасности

Обучение

/mode teacher
Объясни, что такое рекурсия в программировании

Отладка

/mode debug_helper
У меня ошибка IndexError: list index out of range, что это значит?

Анализ кода

/mode code_reviewer
Проанализируй этот код и скажи, как его можно улучшить

📁 Структура проекта

AIChatBotVodc/
├── chatbot.py              # Основной скрипт чатбота
├── advanced_chatbot.py     # Расширенная версия с дополнительными функциями
├── rag_chatbot.py          # Чатбот с поддержкой RAG и базой знаний
├── system_prompts.py       # Системные промпты для разных режимов
├── knowledge_base.py       # Система векторизации и хранения знаний
├── embedding_api.py        # API для работы с эмбеддингами
├── demo_rag.py             # Демонстрационный скрипт RAG
├── example_knowledge.txt   # Пример документа для базы знаний
├── requirements.txt        # Зависимости Python
├── README.md              # Этот файл
└── conversations/         # Директория для сохраненных разговоров

Технические требования

  • Python 3.8+
  • LM Studio (последняя версия)
  • Минимум 8 ГБ ОЗУ (рекомендуется 16 ГБ)
  • Место на диске: 5-10 ГБ для моделей

Рекомендации по моделям

Для начала

  • Mistral 7B - быстрая и хорошо работает на большинстве задач

Для программирования

  • DeepSeek-Coder - специально обучена для кода
  • CodeGemma - отлично подходит для отладки и ревью

Для общих задач

  • LLaMA 3 8B - высокое качество ответов
  • Mistral 7B - хороший баланс скорости и качества

Решение проблем

Не подключается к LM Studio

  1. Убедитесь, что LM Studio запущен
  2. Проверьте, что сервер активен (зеленый индикатор)
  3. Проверьте порт (по умолчанию 1234)
  4. Попробуйте перезапустить сервер в LM Studio

Медленные ответы

  1. Попробуйте более легкую модель
  2. Уменьшите параметр max_tokens в коде
  3. Проверьте загрузку системы

Ошибки памяти

  1. Убедитесь, что у вас достаточно ОЗУ
  2. Попробуйте модель меньшего размера
  3. Закройте другие требовательные приложения

Безопасность

  • Все данные обрабатываются локально
  • Никакие данные не отправляются внешним сервисам
  • История разговоров хранится только на вашем компьютере

Развитие проекта

Возможные улучшения:

  • Веб-интерфейс
  • Поддержка RAG (Retrieval-Augmented Generation)
  • Интеграция с VS Code
  • Поддержка голосового ввода
  • Экспорт разговоров в различные форматы

Лицензия

Этот проект является открытым и доступен для свободного использования.

Поддержка

Если у вас возникли вопросы или проблемы:

  1. Проверьте этот README
  2. Убедитесь, что все зависимости установлены
  3. Проверьте, что LM Studio правильно настроен
  4. Попробуйте перезапустить сервер в LM Studio

Проект создан по мотивам статьи с Хабра: https://habr.com/ru/articles/922340/

About

VOCCDC AI ChatBot - интеллектуальный чат-бот с RAG системой для сайта vodc.ru

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published