A simple AI travel planning assistant built with AutoGen and Redis, featuring an intelligent chat interface with memory capabilities.
- Smart Travel Chat: Ask about destinations, flights, hotels, and activities
- Memory System: Remembers your preferences across conversations using Redis
- Real-time Search: Gets current travel information from the web
- Split Interface: Chat on the left, your learned preferences on the right
You'll need two free API keys:
- OpenAI API Key: Get from platform.openai.com
- Tavily API Key: Get from tavily.com (free tier available)
docker run -d -p 6379:6379 --name redis redis:8.0.3# Install uv (Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and install
git clone <repository-url>
cd amr-autogen-travel-agent
uv syncCreate a .env file in the project directory (copy from env.example):
cp env.example .envEdit the .env file with your actual API keys:
# Required API Keys
OPENAI_API_KEY=sk-your-openai-api-key-here
TAVILY_API_KEY=your-tavily-api-key-here
# Optional Configuration (defaults shown)
REDIS_URL=redis://localhost:6379uv run python gradio_app.pyThe app will open at http://localhost:7860 🎉
The application will automatically:
- ✅ Validate your configuration and API keys
- ✅ Check Redis connectivity
- ✅ Load with responsive UI and memory management
Once the app is running, try asking:
TBD
Simple Architecture:
- Chat Interface: Powered by Gradio for the UI
- AI Agent: Uses AutoGen framework with OpenAI GPT
- Memory: Redis stores your learned preferences
- Search: Tavily provides real-time travel information
Key Files:
gradio_app.py- The main UI applicationagent.py- The travel AI agent with memory and toolsconfig.py- Configuration management with validationui_utils.py- UI utility functionsassets/styles.css- UI styling and themesenv.example- Example environment configurationpyproject.toml- Dependencies
Start chatting and watch your travel preferences get smarter! 🧳