AI-Powered Streaming Companion • ИИ-компаньон для стримов
Inspired by Neuro-Sama by Vedal987 • Вдохновлён Neuro-Sama от Vedal987
George-Droid is a multifunctional streaming assistant built in Python. It listens to your voice, responds with humor,
and interacts with your Twitch chat like a true co-host.
Powered by Together AI (with models like Meta's Llama 4 Scout Instruct), real-time speech recognition (Faster-Whisper),
TTS (Piper), and an advanced contextual memory system (RAG) with intelligent fact extraction and consolidation.
George-Droid — многофункциональный стриминговый ИИ-компаньон на Python. Он распознаёт речь, остроумно отвечает и
общается с чатом Twitch.
Работает через Together AI (с моделями типа Meta Llama 4 Scout), STT через Faster-Whisper, озвучка через Piper, и
продвинутую систему контекстной памяти (RAG) с умным извлечением и консолидацией фактов.
-
🧠 Multi-Model AI System • Мульти-модельная ИИ система
- Main LLM:
meta-llama/Llama-4-Scout-17B-16E-Instructfor responses - Context Analysis:
meta-llama/Llama-3.2-3B-Instruct-Turbofor screenshot detection & memory query context - Memory Processing:
meta-llama/Llama-3.3-70B-Instruct-Turbo-Freefor fact extraction & memory storage
- Main LLM:
-
🎙️ Advanced Voice Processing • Продвинутая обработка голоса
- Faster-Whisper STT with VAD (Voice Activity Detection) | Faster-Whisper STT с VAD (детекция голосовой активности)
- Configurable models (medium/large) with CUDA acceleration | Настраиваемые модели (medium/large) с ускорением CUDA
- Real-time speech recognition with noise filtering | Распознавание речи в реальном времени с фильтрацией шума
-
🗣️ High-Quality TTS • Качественная озвучка
- Piper TTS with custom voice models | Piper TTS с пользовательскими моделями голосов
- Async audio processing with device selection | Асинхронная обработка аудио с выбором устройства
- Russian voice support (ru_RU-ruslan-medium) | Поддержка русских голосов (ru_RU-ruslan-medium)
-
💬 Intelligent Chat Integration • Умная интеграция с чатом
- Twitch chat bot with smart triggers | Twitch чат-бот с умными триггерами
- Context-aware responses based on chat history | Контекстные ответы на основе истории чата
- Highlighted message prioritization | Приоритизация выделенных сообщений
-
🧠 Advanced Memory System (RAG) • Продвинутая система памяти (RAG)
- FAISS vector indexing with Sentence Transformers | FAISS векторная индексация с Sentence Transformers
- Intelligent fact extraction from conversations | Умное извлечение фактов из разговоров
- Semantic deduplication and memory consolidation | Семантическая дедупликация и консолидация памяти
- Context-aware retrieval with smart filtering | Контекстный поиск с умной фильтрацией
- Automatic categorization (personal_info, preferences, events) | Автоматическая категоризация (личная_инфо, предпочтения, события)
-
📸 Visual Context Analysis • Анализ визуального контекста
- Screenshot capture with intent detection | Захват скриншотов с определением намерений
- Multi-monitor support with target resolution scaling | Поддержка нескольких мониторов с масштабированием разрешения
- Visual reference understanding for enhanced responses | Понимание визуальных ссылок для улучшенных ответов
-
⚡ Smart Automation • Умная автоматизация
- Idle monologues during silence periods | Монологи в периоды тишины
- Hotkey controls for real-time management | Управление горячими клавишами в реальном времени
- Automatic activity detection and response prioritization | Автоматическое определение активности и приоритизация ответов
-
🔧 Advanced Configuration • Расширенные настройки
- CUDNN optimization for GPU acceleration | CUDNN оптимизация для ускорения GPU
- Configurable audio devices and parameters | Настраиваемые аудио устройства и параметры
- Customizable VAD thresholds and timing | Настраиваемые пороги VAD и тайминги
- Multiple model configurations | Конфигурации нескольких моделей
- Python 3.10+ | Python 3.10+
- NVIDIA GPU with CUDA 12.8 + CUDNN v9.8 (REQUIRED) | NVIDIA GPU с CUDA 12.8 + CUDNN v9.8 (ОБЯЗАТЕЛЬНО)
- Download CUDNN: https://developer.nvidia.com/cudnn | Скачать CUDNN: https://developer.nvidia.com/cudnn
piper.exe+ .onnx voice models |piper.exe+ .onnx модели голосов- Together AI API access | Доступ к Together AI API
git clone https://github.com/firexrwt/George-Droid.git
cd George-Droid
pip install -r requirements.txtCreate a .env file with the following variables: | Создайте файл .env со следующими переменными:
# Twitch Configuration | Конфигурация Twitch
TWITCH_ACCESS_TOKEN=your_twitch_oauth_token
TWITCH_BOT_NICK=your_twitch_bot_nick
TWITCH_CHANNEL=your_twitch_channel
TWITCH_REFRESH_TOKEN=your_refresh_token
TWITCH_CLIENT_ID=your_client_id
TWITCH_CLIENT_SECRET=your_client_secret
# Together AI Configuration | Конфигурация Together AI
TOGETHER_API_KEY=your_together_ai_api_key
TOGETHER_MODEL_ID=meta-llama/Llama-4-Scout-17B-16E-Instruct
# TTS Configuration (Piper) | Конфигурация TTS (Piper)
PIPER_EXE_PATH=piper_tts_bin/piper.exe
PIPER_VOICE_MODEL_PATH=voices/ru_RU-ruslan-medium.onnx
PIPER_VOICE_CONFIG_PATH=voices/ru_RU-ruslan-medium.onnx.json
# CUDA/CUDNN Configuration (Necessary) | Конфигурация CUDA/CUDNN (Обязательно)
CUDNN_PATH=C:\Program Files\NVIDIA\CUDNN\v9.8\bin\12.8- Piper TTS Binary: Download
piper.exeand place inpiper_tts_bin/| Piper TTS Бинарный файл: Скачайтеpiper.exeи поместите вpiper_tts_bin/ - Voice Models: Download
.onnxand.onnx.jsonvoice files and place invoices/| Модели голосов: Скачайте файлы.onnxи.onnx.jsonголосов и поместите вvoices/
- Edit
SYSTEM_PROMPTinconfig/settings.pyto change the bot's personality | ОтредактируйтеSYSTEM_PROMPTвconfig/settings.pyдля изменения личности бота - Modify
BOT_NAME_FOR_CHECKto change trigger name in chat | ИзменитеBOT_NAME_FOR_CHECKдля изменения триггерного имени в чате
- Add custom
.onnxvoice models tovoices/directory | Добавьте пользовательские.onnxмодели голосов в папкуvoices/ - Update
PIPER_VOICE_MODEL_PATHandPIPER_VOICE_CONFIG_PATHin.env| ОбновитеPIPER_VOICE_MODEL_PATHиPIPER_VOICE_CONFIG_PATHв.env
- Change
TOGETHER_MODEL_IDfor different response quality/speed | ИзменитеTOGETHER_MODEL_IDдля изменения качества/скорости ответов - Modify
INTENT_ANALYSIS_MODEL_IDandCHUNKING_MODEL_IDfor specialized tasks | ИзменитеINTENT_ANALYSIS_MODEL_IDиCHUNKING_MODEL_IDдля специализированных задач
Ctrl+;→ Toggle speech recognition (STT) |Ctrl+;→ Переключить распознавание речи (STT)Ctrl+'→ Toggle Twitch chat interaction |Ctrl+'→ Переключить взаимодействие с чатом Twitch
- The bot will prompt you to select audio output device on startup | Бот предложит выбрать устройство вывода аудио при запуске
- Monitor selection for screenshots is also configurable on startup | Выбор монитора для скриншотов также настраивается при запуске
George-Droid/
├── main.py # Main application logic | Основная логика приложения
├── requirements.txt # Python dependencies | Зависимости Python
├── .env # Environment configuration | Конфигурация окружения
├── .gitignore # Git ignore rules | Правила игнорирования Git
├── .gitattributes # Git attributes | Атрибуты Git
├── obs_ai_response.txt # Output for OBS text overlays | Вывод для текстовых оверлеев OBS
├── ai/ # AI and LLM modules | ИИ и LLM модули
│ ├── __init__.py
│ ├── llm_client.py # Together AI client implementation | Реализация клиента Together AI
│ └── memory_handler.py # Memory processing and fact extraction | Обработка памяти и извлечение фактов
├── audio/ # Audio processing modules | Модули обработки аудио
│ ├── __init__.py
│ ├── audio_processor.py # STT, TTS, and audio processing | STT, TTS и обработка аудио
│ ├── device_manager.py # Audio device selection | Выбор аудио устройств
│ └── vad.py # Voice Activity Detection | Детекция голосовой активности
├── backend/ # Backend systems | Бэкенд системы
│ └── memory_store.py # RAG memory system implementation | Реализация системы памяти RAG
├── config/ # Configuration modules | Модули конфигурации
│ ├── __init__.py
│ └── settings.py # Application settings and environment variables | Настройки приложения и переменные окружения
├── core/ # Core processing modules | Основные модули обработки
│ ├── __init__.py
│ ├── processor.py # Main processing logic and STT loop | Основная логика обработки и цикл STT
│ └── monologue.py # Idle monologue generation | Генерация монологов в тишине
├── twitch/ # Twitch integration | Интеграция с Twitch
│ ├── __init__.py
│ └── bot.py # Twitch chat bot implementation | Реализация чат-бота Twitch
├── utils/ # Utility modules | Утилиты
│ ├── __init__.py
│ ├── hotkeys.py # Hotkey management | Управление горячими клавишами
│ └── diagnostics.py # System diagnostics and monitoring | Диагностика и мониторинг системы
├── vision/ # Visual processing modules | Модули обработки изображений
│ ├── __init__.py
│ └── screenshot_handler.py # Screenshot capture and processing | Захват и обработка скриншотов
├── piper_tts_bin/ # Piper TTS binary | Бинарный файл Piper TTS
│ └── piper.exe # TTS executable | Исполняемый файл TTS
├── voices/ # Voice model files (.onnx) | Файлы моделей голосов (.onnx)
│ ├── ru_RU-ruslan-medium.onnx # Russian voice model | Русская модель голоса
│ └── ru_RU-ruslan-medium.onnx.json # Voice model config | Конфигурация модели голоса
├── data_george_memory/ # Persistent memory storage | Постоянное хранение памяти
│ ├── george_memory.index # FAISS vector index | FAISS векторный индекс
│ └── george_memory_meta.jsonl # Memory metadata | Метаданные памяти
└── screenshots_temp/ # Temporary screenshot storage | Временное хранение скриншотов
- Automatic extraction of personal info, preferences, and events | Автоматическое извлечение личной информации, предпочтений и событий
- Smart categorization with confidence scoring | Умная категоризация с оценкой уверенности
- Entity recognition (dates, names, games, etc.) | Распознавание сущностей (даты, имена, игры и т.д.)
- Duplicate prevention with semantic similarity checking | Предотвращение дубликатов с проверкой семантического сходства
personal_info- Personal facts about users |personal_info- Личные факты о пользователяхpreference- User preferences and likes/dislikes |preference- Предпочтения пользователей и симпатии/антипатииevent- Important events and milestones |event- Важные события и вехиstatement- General statements and observations |statement- Общие утверждения и наблюденияbot_response- Bot's own responses for consistency |bot_response- Собственные ответы бота для консистентности
- Context-aware query processing | Контекстная обработка запросов
- Smart filtering by relevance and recency | Умная фильтрация по релевантности и свежести
- Multi-factor scoring (similarity, author, type) | Многофакторная оценка (сходство, автор, тип)
- Automatic consolidation of related memories | Автоматическая консолидация связанных воспоминаний
- CUDA support for Faster-Whisper STT | Поддержка CUDA для Faster-Whisper STT
- CUDNN optimization for neural networks | CUDNN оптимизация для нейронных сетей
- Configurable compute types (int8, float16, float32) | Настраиваемые типы вычислений (int8, float16, float32)
- Efficient FAISS indexing with embedding dimension validation | Эффективная FAISS индексация с валидацией размерности эмбеддингов
- Automatic index rebuilding on dimension mismatches | Автоматическое пересоздание индекса при несоответствии размерностей
- Lazy loading and caching for optimal performance | Ленивая загрузка и кэширование для оптимальной производительности
- Configurable VAD thresholds for noise environments | Настраиваемые пороги VAD для шумных сред
- Real-time resampling and channel conversion | Пересэмплинг и конвертация каналов в реальном времени
- Async processing to prevent blocking | Асинхронная обработка для предотвращения блокировок
- LLM API: Together AI with Meta Llama models
- STT: faster-whisper with CUDA acceleration
- TTS: Piper TTS for natural speech synthesis
- Chat: twitchio for Twitch integration
- Memory: FAISS + Sentence-Transformers for RAG
- Vision: PIL + mss for screenshots
- Audio: sounddevice + scipy for processing
You can easily switch between different Together AI models by modifying the model IDs in main.py: | Вы можете легко
переключаться между различными моделями Together AI, изменив ID моделей в main.py:
TOGETHER_MODEL_ID = "meta-llama/Llama-3.1-70B-Instruct-Turbo" # Main responses | Основные ответы
INTENT_ANALYSIS_MODEL_ID = "meta-llama/Llama-3.2-3B-Instruct-Turbo" # Intent analysis | Анализ намерений
CHUNKING_MODEL_ID = "meta-llama/Llama-3.3-70B-Instruct-Turbo-Free" # Text processing | Обработка текстаAdjust memory parameters for different use cases: | Настройте параметры памяти для различных случаев использования:
# In memory_store.py | В memory_store.py
VAD_ENERGY_THRESHOLD = 0.005 # Voice activity sensitivity | Чувствительность голосовой активности
VAD_SILENCE_TIMEOUT_MS = 1200 # Silence detection timeout | Таймаут детекции тишины
MAX_HISTORY_LENGTH = 10 # Conversation history size | Размер истории разговора
semantic_similarity_threshold = 0.97 # Duplicate detection sensitivity | Чувствительность детекции дубликатовMIT License
- Inspiration: Neuro-Sama by Vedal987 — the inspiration behind it all
- TTS: Piper by Rhasspy team
- Models: Meta AI for Llama model family
- Platform: Together AI for model hosting
- Made with ❤️ by FIREX (Stepan)
For issues, questions, or contributions, please visit the GitHub repository or contact the maintainer at stepanveremeev@gmail.com | По вопросам, проблемам или предложениям посетите GitHub репозиторий или свяжитесь с разработчиком по адресу stepanveremeev@gmail.com
Built for streamers, by a streamer. Happy streaming! 🎮 | Сделано стримером для стримеров. Удачных стримов! 🎮