A Gradio web app that lets you upload text to train a chatbot's speaking style, chat with it via your local LLM (Ollama), and hear replies spoken through your local Chatterbox TTS Docker server.
- Style training — upload
.txt,.md,.csv,.pdfor paste text; more text = better style matching (RAG) - Chat — bot avatar, conversation history, auto-spoken replies
- Chatterbox TTS — uses your Docker
chatterbox-tts-serveron port 8004- Predefined voices (Abigail, Olivia, etc.)
- Clone voices from your reference audio library (AlexJones, kryten2, etc.)
- Settings — LLM URL/model, Chatterbox URL, voice mode, TTS parameters, persona, avatar
- Remote access —
python app.py --sharecreates a temporarygradio.liveURL (same as podcaster2)
| Service | This machine |
|---|---|
| Ollama | http://127.0.0.1:11434 (default LLM) |
| Chatterbox TTS | Docker container chatterbox-tts-server-cu128 on http://127.0.0.1:8004 |
| Python | 3.11+ |
Port 8080 on this machine is used by Frigate, not the LLM — ArgueBot defaults to Ollama on 11434.
cd ArgueBot
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # optional — edit defaults
# Local only
python app.py
# Temporary public URL (gradio.live)
python app.py --shareUpload writing samples (social posts, transcripts, articles). The bot retrieves relevant excerpts when answering to match your style.
Type a question. ArgueBot crafts a styled reply via Ollama and speaks it through Chatterbox.
- LLM:
http://127.0.0.1:11434, model e.g.qwen2.5:7b - Chatterbox:
http://127.0.0.1:8004 - Voice mode:
clone— use a reference audio file from your Chatterbox library (e.g.kryten2.mp3)predefined— built-in voice (e.g.Olivia.wav)
- Click Refresh voices to pull the latest list from Chatterbox
Voices and reference audio are managed in the Chatterbox UI at http://127.0.0.1:8004 — ArgueBot does not duplicate that.
ArgueBot expects Chatterbox-TTS-Server running locally:
# Already running on this machine as:
docker ps | grep chatterbox
# chatterbox-tts-server-cu128 0.0.0.0:8004->8004/tcpManage voices and models via the Chatterbox UI at http://127.0.0.1:8004
python app.py # local
python app.py --share # public gradio.live link
python app.py --server-port 7861
python app.py --server-name 0.0.0.0ArgueBot/
├── app.py # Gradio UI
├── prompts.py # Style-aware system prompts
├── services/
│ ├── chatterbox.py # Chatterbox-TTS-Server client
│ ├── corpus.py # Text ingestion + chunking
│ ├── llm.py # Ollama / OpenAI-compat client
│ ├── rag.py # TF-IDF style retrieval
│ └── settings_store.py
└── data/ # corpus, avatar, SQLite (gitignored)
MIT