AIRecommender is a smart AI service matcher using OpenAI's GPT models. This tool analyzes user requirements and suggests relevant AI services, providing personalized recommendations with justifications.
AIRecommender uses a Retrieval-Augmented Generation approach to match user queries with the most relevant AI services. It combines the power of vector databases for efficient searching with the natural language understanding capabilities of large language models to create personalized summaries and recommendations.
-
Data Preparation: AI service descriptions are chunked and converted into vectors using OpenAI's embedding model. These vectors are then stored in a local Chroma database.
-
User Query: The user submits a request describing their AI service needs.
-
Vector Matching: The user's query is converted to a vector and matched against the stored vectors in the Chroma database.
-
Personalized Recommendation: The matched service descriptions and the user's query are passed to OpenAI's GPT model to generate personalized recommendations and summaries.
- Creating personalized AI service recommendations with justifications.
- Generating custom "Top AI Tools" lists for specific domains or applications.
- Helping developers and businesses find the right AI tools for their projects.
recommendations_lib.py: The backend library that handles interactions with OpenAI's API and the Chroma database.recommendations_app.py: The Streamlit frontend for user interaction.
-
Clone the repository:
git clone https://github.com/bdeva1975/AIRecommender.git cd AIRecommender -
Install required packages:
pip install -r requirements.txt -
Set up your OpenAI API key:
- Create a
.envfile in the project root - Add your API key:
OPENAI_API_KEY=your_api_key_here
- Create a
-
Prepare the vector database:
python populate_collection.py -
Run the Streamlit app:
streamlit run recommendations_app.py
- Open the Streamlit app in your browser (typically at
http://localhost:8501). - Enter your AI service requirements in the text input.
- Click "Get Recommendations" to receive personalized AI service suggestions.
- Integrate with persistent data stores for scalability.
- Implement user feedback mechanisms to improve recommendations over time.
- Add support for more AI service providers and regular updates to the service database.
We welcome contributions! Please see our Contributing Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.