Skip to content

guduchango/pyqt-ai-chat-runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Chat Processor GUI

A Python application with a PyQt5 interface that runs a background process (daemon) to connect to a backend server, retrieve messages, process them using local AI via Ollama and Chroma, and then send the responses back to the cloud server.


🚀 Features

  • ✅ User-friendly GUI built with PyQt5
  • 🧵 Background worker thread for continuous processing
  • 🤖 Local AI response with Ollama
  • 📚 Semantic search with ChromaDB
  • ☁️ Integration with a personal backend server
  • 🛠️ Editable AI context in real-time from the GUI
  • 📝 Live system log viewer

🧩 Tech Stack

  • Python 3.10+
  • PyQt5
  • Ollama
  • ChromaDB
  • SQLite (local storage)
  • requests / logging
  • python-dotenv (.env configuration)

⚙️ Installation

  1. Clone the repository:
git clone https://github.com/your-user/chat-processor-gui.git
cd chat-processor-gui
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file with your configuration:
MESSAGE_FETCH_ENDPOINT=https://your-server.com/api/fetch
IA_RESPONSE_ENDPOINT=https://your-server.com/api/send_response
OLLAMA_HOST=localhost
OLLAMA_PORT=11434
  1. Run the app:
python gui.py

🖼️ Screenshots


🧠 How It Works

  1. The GUI lets you start/stop processing.
  2. Every 5 seconds, the daemon:
    • Pulls new messages from the server.
    • Processes each message with Chroma + Ollama.
    • Saves the result and status in a local SQLite DB.
    • Sends the final response back to the server.

📁 Project Structure

.
├── gui.py                # PyQt5 Interface
├── processor.py          # Background processing logic
├── db.py                 # SQLite access
├── ai.py                 # Ollama integration
├── config.py             # Environment variable loader
├── context.json          # Editable AI system prompt
├── .env                  # Environment variables
├── requirements.txt
└── logs/app.log

🛡️ License

MIT © Edgardo Ponce

About

PyQt5 GUI controlling a background daemon that fetches messages from a server, processes them with a local AI via Ollama and Chroma, and sends back the response. Perfect for building automated, intelligent messaging flows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages