Logo Lanfrica

Mahmedorabi/Digital-Egypt-Assistant

Domaine:

natural language processingdigital infrastructure

Type de record:

software
Créateur:
Mah
Hôte:
# Digital Egypt Assistant | المساعد الرقمي لخدمات مصر An AI-powered **Arabic-language chatbot** that helps citizens navigate Egypt's digital government services. Built with **Streamlit**, **LangChain**, and **RAG (Retrieval-Augmented Generation)** using a ChromaDB vector store and multilingual HuggingFace embeddings. > اسألني عن أي خدمة رقمية متاحة على بوابة مصر الرقمية --- ## Features - **Arabic-first** — Fully supports Arabic queries and responses using multilingual embeddings (`intfloat/multilingual-e5-large`) - **RAG Architecture** — Retrieves relevant government service information from a local ChromaDB vector store before generating answers - **Multi-LLM Support** — Switch between OpenAI GPT-4o, Together AI LLaMA 3, and Google Gemini from the sidebar - **Session-aware Memory** — Conversation history is maintained across turns using `StreamlitChatMessageHistory` - **Quick-access Service Buttons** — One-click buttons for the most commonly queried services (vehicle fines, social insurance, etc.) - **Streaming Responses** — Answers are streamed chunk-by-chunk for a smooth experience - **Self-contained** — No external web links; all answers are grounded in the internal knowledge base --- ## Tech Stack | Component | Technology | |---|---| | Frontend | Streamlit | | LLM Options | GPT-4o · LLaMA 3.3 70B · Gemini 2.0 Flash | | LLM Framework | LangChain | | Vector Store | ChromaDB | | Embeddings | `intfloat/multilingual-e5-large` (HuggingFace) | | RAG Chain | `create_retrieval_chain` + `create_stuff_documents_chain` | | Memory | `StreamlitChatMessageHistory` | --- ## Project Structure ``` Digital-Egypt-Assistant/ ├── app.py # Main Streamlit application ├── requirements.txt # Python dependencies ├── egypt_digital.pkl # Pickled data used to build the vector store ├── infloat/ # ChromaDB persistence directory │ └── e5116b2d-.../ # Chroma collection files └── README.md ``` --- ## Getting Started ### Prerequi …