-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the official wiki for Murmur, a sophisticated multi-agent system that orchestrates different specialized AI agents using local LLM models. This wiki serves as the central knowledge base for understanding, using, and contributing to the project.
- Overview
- System Architecture
- Getting Started
- Agent Details
- Configuration Guide
- Development Guidelines
- Troubleshooting
- FAQ
Murmur is an intelligent orchestration system that integrates multiple Large Language Models (LLMs) built on the Ollama architecture. The system implements a sophisticated pipeline of specialized agents to process and respond to user queries with high accuracy and reliability.
- π€ Multi-agent architecture with specialized roles
- π Asynchronous processing pipeline
- πΎ Local LLM integration via REST API
- π§ Conversation memory management
- π Confidence-based response evaluation
β οΈ Comprehensive error handling
- Version: 1.1.0
- Stability: Beta
- Python Support: 3.7+
- License: MIT
User Input β Interpreter β Reasoner β Generator β Critic β Final Response
Each agent in the pipeline serves a specific purpose:
-
Interpreter Agent
- Model: mistral-nemo:latest
- Purpose: Analyzes user intent and context
- Key functions:
- Intent recognition
- Context analysis
- Requirement identification
-
Reasoner Agent
- Model: llama3.2-vision:11b
- Purpose: Develops logical approach
- Key functions:
- Problem decomposition
- Solution strategy development
- Consideration analysis
-
Generator Agent
- Model: gemma2:9b
- Purpose: Creates initial responses
- Key functions:
- Content generation
- Response structuring
- Context incorporation
-
Critic Agent
- Model: llama3.2-vision:11b
- Purpose: Reviews and refines content
- Key functions:
- Accuracy verification
- Clarity assessment
- Content refinement
- LocalLLMConnector: Manages communication with local LLM server
- AgentOrchestrator: Coordinates agent pipeline execution
- Message System: Handles inter-agent communication
- Confidence Scoring: Evaluates response quality
- Python 3.7+
- Local LLM server (Ollama)
- Required packages: aiohttp, asyncio
- Clone the repository:
git clone https://github.com/KazKozDev/murmur.git
cd murmur
- Install dependencies:
pip install -r requirements.txt
- Configure local LLM server:
# Default server URL: http://localhost:11434
# Modify in config if needed
# Start the application
python src/main.py
# Enter queries when prompted
Enter your message: What is the capital of France?
# Review response and confidence score
Response: The capital of France is Paris.
Confidence: 0.95
Models can be configured in the AgentOrchestrator
initialization:
self.agents = {
AgentRole.INTERPRETER: BaseAgent("Interpreter", "mistral-nemo:latest", AgentRole.INTERPRETER),
AgentRole.REASONER: BaseAgent("Reasoner", "llama3.2-vision:11b", AgentRole.REASONER),
AgentRole.GENERATOR: BaseAgent("Generator", "gemma2:9b", AgentRole.GENERATOR),
AgentRole.CRITIC: BaseAgent("Critic", "llama3.2-vision:11b", AgentRole.CRITIC)
}
Default server settings in LocalLLMConnector
:
base_url = "http://localhost:11434"
timeout = 30.0
max_retries = 3
- Follow PEP 8 guidelines
- Use Black formatter
- Sort imports with isort
- Include type hints
- Write comprehensive docstrings
- Write unit tests for new features
- Ensure test coverage > 80%
- Run tests before submitting PR:
pytest tests/
- Fork the repository
- Create feature branch
- Implement changes
- Add tests
- Submit PR
-
Connection Errors
- Verify LLM server is running
- Check server URL configuration
- Ensure network connectivity
-
High Resource Usage
- Reduce conversation memory size
- Adjust model configurations
- Monitor system resources
-
Low Confidence Scores
- Check input quality
- Verify model availability
- Review agent configurations
Enable debug logging:
logging.basicConfig(level=logging.DEBUG)
Q: Can I use different LLM models? A: Yes, any model compatible with the Ollama API can be configured.
Q: How is conversation context maintained? A: Through a deque-based memory system with configurable size.
Q: What's the recommended hardware? A: Minimum 16GB RAM, modern multi-core CPU, and SSD storage.
For more information, visit our GitHub repository or contact the maintainers.