Logo Lanfrica

ESSAFI01/Morocco-Tour-Guide

Domain:

natural language processing

Record type:

software
Creator:
ESS
Host:
A modern virtual assistant designed specifically for tourism in Morocco. It offers personalized travel recommendations about attractions, culture, local customs, accommodations, and logistics # Morocco Tour Guide - AI-Powered Virtual Tourist Guide An intelligent virtual guide that provides personalized information about Morocco's attractions, culture, and travel recommendations using **Retrieval Augmented Generation (RAG)** and **LLM technologies**. ## 🌟 Features - **Intelligent Conversational Interface**: Chat naturally with an AI tour guide specialized in Moroccan tourism. - **Cultural Context**: Learn about Moroccan history, traditions, cuisine, and local customs. - **Up-to-date Information**: Access information about attractions, accommodations, and travel logistics. - **User Authentication**: Secure login system to save conversations and preferences. ## 🏗️ Architecture This application uses a modern architecture with the following components: - **Frontend**: React-based UI with responsive design for all devices. - **Backend**: FastAPI serving the application logic and AI integration. - **RAG System**: Retrieval Augmented Generation providing accurate, context-aware responses. - **Vector Database**: Qdrant storing embeddings of Moroccan tourism information. - **User Database**: MongoDB Atlas for user data and conversation history. - **AI Services**: Integration with Google's Gemini for response generation and Cohere for text embeddings. - **Deployment**: Containerized with Docker and deployed on Azure Container Apps. ## 🚀 Getting Started ### Prerequisites Ensure you have the following installed: - Docker and Docker Compose - Node.js (for frontend development) - Python 3.9+ (for backend development) - API keys for: - MongoDB Atlas - Google Gemini - Cohere - Qdrant ### Environment Variables Create a **.env** file in the root directory and add the following variables: ```env MONGODB=your_mongodb_connection_string URL=localhost JWT_SECRET_KEY=your_jwt_secret_key GEMINI_API_KEY=your_gemini_api_key COHERE_API_KEY=your_cohere_api_key QDRANT_API_KEY=your_qdrant_api_key ``` ### Running with Docker #### Clone the repository: ```bash git cl …