--- title: LLMates emoji: 🤖 colorFrom: blue colorTo: green sdk: gradio sdk_version: "5.31.0" app_file: app.py pinned: false --- # 🤖 LLMates – Chat with Custom AI Personas LLMates is a minimal, modular chatbot application that allows you to switch between different AI assistant personas powered by OpenRouter's language models. The application also supports OpenAI and local models via Ollama as alternative backends. ## 🧠 Why I Built This LLMates is the first step in my return to serious, grounded building in the AI space. I’m just starting out again. This isn’t the most impressive version of me or the most ambitious project I could build — in fact, it’s pretty simple. But that’s the point. After working as a software engineer until 2023, getting back into the groove — especially in today’s AI/ML world — has felt completely different. With AI pair programmers and new tooling everywhere, things move fast. Sometimes too fast. When code “just works,” I catch myself thinking I didn’t really build it. It feels more like *vibe coding* than actual engineering. And that leads to impostor syndrome. So I decided to reset. LLMates is my first intentionally small project — built using an AI-first development workflow in Windsurf (after experimenting with VS Code + Copilot and PyCharm). The idea was to slow down, ask why things work, and take back a sense of control over my code — and to learn how to work *with* an AI pair programmer, not just let it code for me. With this project, I wanted to: - Get back to core engineering habits - Learn how modern LLM tooling actually fits together — APIs, UI, deployment - Practice working with AI pair programmers in a more intentional way - Start small and build toward deeper, lower-level projects with confidence > “Anything worth doing is worth doing poorly.” This is my way of showing up, learning by doing, and giving myself permission to start small. This marks **Week 1** of a weekly cadence of AI/ML projects — not just to ship, but to *really understand* what I build. ## 🚀 Features - Multiple AI personas with distinct personalities and expertise - Primary support for OpenRouter's wide range of models (including GPT-4, Claude, and more) - Simple and intuitive Gradio-based web interface - Easy configuration through environment variables ## 💡 Available Personas - **Python Tutor**: Get help with Python programming concepts and debugging - **Regex Helper**: Expert assistance with regular expressions - **Motivational Coach**: Encouraging and inspiring conversations (default) - **Startup Advisor**: Practical advice for startups and entrepreneurship ## 🛠️ Installation 1. Clone the repository: ```bash git clone https://github.com/sanchitv7/llmates.git cd llmates ``` 2. Install the required dependencies: ```bash pip install -r requirements.txt ``` 3. Create a `.env` file and configure your settings (see Configuration section below) ## ⚙️ Configuration Copy the example `.env` file and update it with your preferred settings: ```env # Choose one of the following backends ## OpenRouter USE_OPENROUTER=true OPENROUTER_API_KEY=your_openrouter_api_key OPENROUTER_MODEL=meta-llama/llama-3-70b-instruct # or openai/gpt-4, anthropic/claude-3-opus, google/gemini-pro, etc. ## Ollama # USE_OLLAMA=false # OLLAMA_MODEL=llama3 ## OpenAI # OPENAI_API_KEY=your_openai_api_key # OPENAI_MODEL=gpt-4o # Application Settings DEFAULT_PERSONA="Motivational Coach" TEMPERATURE=0.7 MAX_TURNS=10 ``` ## 🚀 Running the Application Start the application with: ```bash python app.py ``` The application will start a local web server, and you can access it in your browser at `http://localhost:7860`. ## 🛠️ Tech Stack - **UI**: Gradio - **Primary Backend**: OpenRouter (with support for 100+ models) - **Alternative Backends**: OpenAI API, Ollama - **Language**: Python 3.8+ - **Configuration**: Environment variables via python-dotenv - **Dependencies**: openai, gradio, python-dotenv, requests