Need Help - Trying To Create A Chatbot That Recommends Personalized Video Games

Hello everyone! Before I start discussing about my project, I want to apologize in advance for any naive questions or incorrect use of terms, as I’m new to the field of machine learning and chatbots.

Now, onto my question: I’m attempting to create a web app using React and Python (Flask) that integrates a chatbot designed to recommend personalized video games to users based on their queries. To elaborate, users will either talk about their all-time favorite video games, the genres/tags they are fond of, or provide a short description of their demographic profile (e.g., based on age and gender - the chatbot will go on to recommend the user video games from different genres that it thinks he/she will enjoy. There are some studies on the correlation between video games genres and gender/age of a person. I’m thinking of feeding my chatbot this kind of data from these sources, if possible). Once the chatbot understands the query, it will make a call to an external API of a video game database to retrieve games that match the criteria.

So to reiterate, what I’m trying to do is to create a chatbot that understands user input, and based on the context extracted from that input, make calls to the external video games database API (such as RAWG), or to the knowledge base then to the external API, and fetch the suitable types of games that the chatbot see suitable to recommend.

Which would be a better choice for this type of project, using OpenAI’s API strictly or use it inside of the LangChain framework? Are there any better solutions in regards to what my web app is trying to achieve? What other advice do you have for me or stuff to look into while developing this app?

Thank you a lot to everyone who took their time to read this and help me out!

This is more a question of where do you want the ‘processing’ to work.

If you want to make it simple, just use the Assistants API and store all your Game data as a file.

If you want multi tiered matching etc (RAWG, RAG), then LangChain might work better for you.