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 sync
Create a .env
file in the project directory (copy from env.example
):
cp env.example .env
Edit 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:6379
uv run python gradio_app.py
The 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! 🧳