A sophisticated multi-agent system that orchestrates different specialized AI agents using local LLM models to process and respond to user queries. The system implements a pipeline of Interpreter, Reasoner, Generator, and Critic agents to provide well-thought-out and refined responses.
-
Multi-Agent Architecture: Four specialized agents working in concert:
- Interpreter: Analyzes user intent and context
- Reasoner: Develops logical approach to the problem
- Generator: Creates initial responses
- Critic: Reviews and refines generated content
-
Local LLM Integration: Works with locally hosted language models through a REST API
-
Asynchronous Processing: Built with
asyncio
for efficient concurrent operations -
Robust Error Handling: Comprehensive error management with retries and graceful fallbacks
-
Conversation Memory: Maintains context through conversation history
-
Confidence Scoring: Evaluates response quality with multiple metrics
- Python 3.7+
- Local LLM server (compatible with Ollama API)
- Required Python packages:
aiohttp asyncio
- Clone the repository:
git clone https://github.com/KazKozDev/murmur.git
cd murmur
- Install dependencies:
pip install -r requirements.txt
- Ensure your local LLM server is running (default: http://localhost:11434)
- Navigate to the project directory and run:
cd murmur
python src/main.py
Or navigate directly to the source directory:
cd murmur/src
python main.py
- Enter your queries when prompted. Type 'quit' to exit.
Example interaction:
Enter your message: What is the capital of France?
Response: The capital of France is Paris.
Confidence: 0.95
The system follows a pipeline architecture:
-
User Input β Interpreter Agent
- Analyzes core intent and context
- Identifies implicit requirements
-
Interpreted Message β Reasoner Agent
- Breaks down the problem
- Develops logical approach
-
Reasoning β Generator Agent
- Creates initial response
- Structures content clearly
-
Generated Content β Critic Agent
- Reviews for accuracy and completeness
- Suggests improvements
- Produces final version
The system uses the following default models:
- Interpreter: mistral-nemo:latest
- Reasoner: llama3.2-vision:11b
- Generator: gemma2:9b
- Critic: llama3.2-vision:11b
Models can be configured by modifying the AgentOrchestrator
initialization.
The system implements multiple layers of error handling:
- Connection retries (max 3 attempts)
- Timeout management
- Graceful degradation
- Comprehensive error logging
- Fork the repository (https://github.com/KazKozDev/murmur/fork)
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- High CPU usage with multiple concurrent requests
- Memory consumption may increase with long conversations
- Some LLM models may require significant local resources
- Add support for streaming responses
- Implement agent personality customization
- Add websocket support for real-time communication
- Enhance conversation memory management
- Add support for more LLM providers
- Implement response caching
For support, please open an issue in the GitHub repository or contact the maintainers.
- Thanks to the Ollama team for their local LLM server
- Inspired by multi-agent architectures in AI systems