Skip to content

deepuhc/sequential-chat-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sequential Chat Agents: Movie & Song Recommender Welcome to the Sequential Chat Agents project, a Python application powered by AutoGen and Google's Gemini API. It delivers personalized movie and song recommendations through a sequential chat design, collecting user details like name, location, introduction, and preferences (movie genres, music tastes). Designed for modularity and robustness, it’s ideal for AI-driven recommendation systems and is production-ready with comprehensive tests and documentation. Features

Sequential Chat Workflow: Engages users step-by-step to gather information and provide tailored recommendations. Personalized Suggestions: Recommends movies and songs based on user location, introduction, and preferences. Configurable Design: Uses YAML for customizable chat messages and prompts. Robust Error Handling: Includes retry logic and input validation for reliability. Unit Tests: Ensures code quality with comprehensive test coverage. Professional Structure: Organized with src/, tests/, and configs/ directories.

Prerequisites

Python: 3.10.13 Gemini API Key: Obtain from Google's API Console Dependencies: Listed in requirements.txt

Installation

Clone the Repository: git clone https://github.com/deepuhc/sequential-chat-agents.git cd sequential-chat-agents

Set Up Python 3.10.13: brew install pyenv pyenv install 3.10.13 pyenv global 3.10.13 python3 --version

Create and Activate Virtual Environment: python3 -m venv venv source venv/bin/activate

Install Dependencies: pip install -r requirements.txt

Configure Gemini API Key:Add to ~/.env: echo 'GEMINI_API_KEY=your_gemini_api_key' >> ~/.env

Usage Run the recommender: python src/recommender.py

Follow Prompts: Enter your name, location, introduction, and preferences (movie genres, music tastes). Receive Recommendations: Get two movie and two song suggestions tailored to your input. Example Output:=== Recommendation Summary === Chat 1 Summary: User is Alice from New York, a student who loves adventure.

Chat 2 Summary: Alice prefers action movies and pop music.

Chat 3 Summary: Recommended: 'Inception' (action-packed thriller), 'Mad Max: Fury Road' (high-energy action); 'Shape of You' by Ed Sheeran (pop hit), 'Dancing Queen' by ABBA (classic pop).

Run tests: python -m unittest tests/test_recommender.py -v

Configuration Customize chat messages in configs/config.yaml: chats: user_info: message: "Hello! Could you tell me your name, location, and a brief introduction?"

Contributing

Fork the repository. Create a feature branch (git checkout -b feature/your-feature). Commit changes (git commit -m "Add your feature"). Push to the branch (git push origin feature/your-feature). Open a pull request.

License MIT License. See LICENSE for details. Acknowledgments

Built with AutoGen. Powered by Google's Gemini API.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages