A sophisticated AI Agent that combines multiple tools such as reddit search, image generation, movie search capabilities, and evaluation frameworks.
ai-agent.mp4
├── src/
│ ├── ai/
│ │ ├── tools/ # AI tool implementations
│ │ ├── agent.ts # Main AI agent logic
│ │ ├── llm.ts # LLM integration (Gemini)
│ │ └── memory.ts # Conversation memory management
│ ├── evals/ # Evaluation framework
│ ├── rag/ # Movie search & retrieval
│ └── dashboard/ # Visualization interface
- Dad Jokes: Fetches random dad jokes
- Image Generation: Creates images from text descriptions
- Location Services: Provides geographical coordinates
- Weather Information: Retrieves weather data
- Reddit Integration: Fetches Reddit content
- Movie Search: Searches movie information from IMDB dataset
- Human In loop: Ask for human permission to proceed further
- Movie database integration using IMDB dataset
- Vector search capabilities via Upstash
- Efficient movie information retrieval system
- Tool performance measurement
- Automated testing of AI responses
- Scoring system for tool accuracy
- Multiple experiment configurations
- React-based visualization interface
- Experiment results display
- Performance metrics graphs
- Interactive data exploration
- AI/LLM: Google Gemini (via OpenAI-compatible API)
- Vector Database: Upstash
- Frontend: React + Vite
- Backend: Node.js + TypeScript
- Data Storage: JSON-based file storage
- Testing: Custom evaluation framework
Each tool is modular and follows a consistent interface:
- Tool definition with Zod schema validation
- Standardized input/output handling
- Error management
- API integrations where needed
- IMDB movie dataset integration
- Vector embeddings for efficient search
- Query optimization for movie information retrieval
- Automated tool testing
- Performance metrics collection
- Experiment tracking
- Result visualization
- Experiment results visualization
- Performance metrics display
- Interactive data exploration
- Real-time updates
- Install dependencies:
npm install
- Configure environment variables:
GEMINI_API_KEY=your_key
GEO_CODE_API_KEY=your_key
# Add other required API keys
- Start the application:
npm start
- Run tests:
npm run test
- Start dashboard:
cd dashboard
npm run dev
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request