A dockerized multi-agent chat interface that coordinates between specialized AI agents for company assistance.
chat_cli/
├── app/
│ ├── core/ # Core utilities
│ │ ├── logger.py # Logging configuration
│ │ └── settings.py # Environment settings
│ ├── agents/ # Specialized AI agents
│ │ ├── hr_policies_agent.py
│ │ ├── labor_rules_agent.py
│ │ └── product_manual_agent.py
│ ├── teams/ # Multi-agent coordinators
│ │ └── rh_team_specialist.py
│ └── main.py # Application entry point
- Collection:
hr_policies - Expertise: Company policies, employee procedures, benefits, HR guidelines
- Use cases: Policy questions, benefit inquiries, procedure clarification
- Collection:
labor_rules - Expertise: Employment law, worker rights, legal compliance, labor regulations
- Use cases: Legal compliance, employment law questions, worker rights
- Collection:
product_manual - Expertise: Product documentation, technical support, installation guides
- Use cases: Product troubleshooting, installation help, technical specifications
Start the chat interface:
docker compose up chat_cliFor debugging:
docker compose up chat_cli-bashRequired environment variables:
OPENAI_API_KEY=your_openai_api_key
QDRANT_URL=http://localhost:6333 # or http://qdrant:6333 in DockerOptional configuration:
CHAT_MODEL_ID=gpt-4o-mini # OpenAI model
NUM_DOCUMENTS=4 # Documents per search
NUM_HISTORY_RUNS=5 # Conversation memory
ENABLE_STREAMING=true # Real-time responses
DEBUG_MODE=false # Debug logging
SHOW_MEMBERS_RESPONSES=true # Show agent coordinationThe interface provides:
- Multi-agent coordination: Automatically routes questions to appropriate specialists
- Context awareness: Maintains conversation history
- Streaming responses: Real-time answer generation
- Rich formatting: Beautiful console output with emojis and colors
- Error handling: Graceful error recovery and user guidance
HR Policy Question:
💬 Your question: What's our vacation policy?
→ Routes to HR Policies Agent
Labor Law Question:
💬 Your question: What are overtime regulations in Brazil?
→ Routes to Labor Rules Agent
Product Question:
💬 Your question: How do I install the new software?
→ Routes to Product Manual Agent
Out-of-scope Question:
💬 Your question: What's the weather today?
→ Politely declines and suggests relevant topics
- Agno Team Coordination: Uses coordinate mode for intelligent routing
- OpenAI Embeddings: High-quality semantic search with text-embedding-ada-002
- Qdrant Vector Database: Efficient vector similarity search
- Context Sharing: Agents can reference each other's responses
- History Management: Maintains conversation context across interactions
- Logging: Comprehensive logging to
chat_cli.log
Connection Issues:
- Ensure Qdrant is running:
docker compose up qdrant - Verify OPENAI_API_KEY is set correctly
- Check network connectivity:
docker compose logs chat_cli
Agent Errors:
- Verify collections exist in Qdrant
- Check embedding model availability
- Review logs:
docker compose logs chat_cli
To extend the system:
- Add new agents: Create in
agents/folder with factory function - Add new teams: Create coordinator in
teams/folder - Modify settings: Update
core/settings.pyfor new configurations - Update main: Modify
main.pyfor new team integration