SnkrGenie is a multi-round chatbot designed to recommend sneakers that match users' specific needs and preferences
This file contains the main application logic for the Sneaker Recommendation Chatbot. It includes the GUI setup using Tkinter, methods for processing user input, and recommendation functions.
This CSV file contains a dataset of sneaker information, including details such as name, colorway, main color, category, retail price, and brand. It is used to build the document collection for the recommendation system.
This file provides a summary of evaluation results for different recommendation scenarios, including metrics like relevance, completeness, personalization, expertise, and language.
This file contains detailed evaluation results for each test case, including specific strengths, weaknesses, and suggestions for improvement.
A Jupyter Notebook used for performance testing of the recommendation system. It includes code for initializing the system, running test cases, and evaluating results.
This file contains functions for initializing the index, extracting preferences using GPT-4o, and retrieving top sneaker matches based on user queries.
This file includes functions for sentiment analysis and generating personalized sneaker recommendations using OpenAI's GPT-4o model.
A text file containing test cases grouped by different scenarios, used for evaluating the recommendation system.
This script is used to evaluate the faithfulness of the recommendation system's outputs against the retrieval context, using metrics like faithfulness and answer relevancy.
This CSV file contains the results of the faithfulness evaluation, including scores and reasons for each test case.
- User Input Processing
- Intent & Preference Analysis
- Product Retrieval
- Personalized Recommendations
- Continuous Conversation
- GUI Implementation
- Dialogue Management
- Component Coordination
- LlamaIndex Vector Index Construction
- User Preference & Intent Extraction
- Similarity-based Product Matching
- Personalized Message Generation
- Install the required packages for each Python and notebook file, see imports in each file.
- Fill in the API keys for each file.
- Launch main program:
python main.py
- Starts the GUI interface
- Enter your vague description about sneakers in the GUI.
- End Conversation: Enter information about wanting to end the conversation.
Run faithfullness_test.py
to generate:
faithfullness_results.csv
: Detailed faithfullness scorescontext_output_{timestamp}.csv
: Context-output pairs
Run performance_test.ipynb
to generate:
g_evaluation_detailed_{timestamp}.csv
: Detailed evaluation scoresg_evaluation_summary_{timestamp}.csv
: Evaluation metrics summary