An AI-powered Travel Africa RAG Assistant that recommends hotels, answers travel questions, and generates personalized trip plans for Kenya and East Africa using FastAPI, ChromaDB, and Groq.
### **Student Instructions: Travel Africa RAG Project**
You are required to build a **Travel Africa RAG Assistant** that helps users discover hotels, explore destinations, and plan trips across **Kenya and East Africa**.
You have already learned **FastAPI** and how to build a **RAG system**. In this project, you will combine those skills by collecting hotel data, processing it, storing it in a vector database, and building a user interface based on the provided **Travel Africa RAG Template**.
---
### **Project Title**
**Travel Africa: Kenya Hotel Discovery and Trip Planning RAG Assistant**
---
### **Project Objective**
The goal of this project is to build a complete **RAG-powered travel assistant** that can answer user questions about hotels, destinations, safari trips, coastal vacations, and travel planning in Kenya and East Africa.
The assistant should help users answer questions such as:
```text
Find affordable hotels in Diani near the beach.
Recommend hotels in Nairobi for business travelers.
Plan a 6-day Kenya trip covering safari, coast, and culture.
Which hotels are good for families near Maasai Mara?
Compare hotels in Mombasa and Diani for a weekend trip.
```
---
### **Project Scenario**
You are building a smart travel assistant for tourists, local travelers, and travel agencies.
The system should allow users to search for hotels and ask travel-related questions. Your assistant should use the data you collected and return useful answers with hotel recommendations and sources.
---
### **Data Collection Requirements**
You are required to scrape or collect hotel data from public sources.
Your data should focus on hotels in Kenya and, where possible, East Africa.
Examples of locations to include:
```text
Nairobi
Mombasa
Diani
Naivasha
Nakuru
Maasai Mara
Amboseli
Watamu
Malindi
Kisumu
Nanyuki
Lamu
Zanzibar
Arusha
Kampala
Dar es Salaam
```
Each hotel record should contain as many of the following fields as possible:
```text
Hotel Name
L …