Upload 17 files
Browse files- .dockerignore +18 -0
- .gitattributes +1 -0
- Dockerfile +17 -0
- README.md +45 -11
- create_vector_store.py +67 -0
- main.py +105 -0
- requirements.txt +10 -0
- university_data_arabic/academic_programs_highlights.md +15 -0
- university_data_arabic/admissions_and_application.md +23 -0
- university_data_arabic/faculty_of_engineering.md +29 -0
- university_data_arabic/helwan_national_university_overview.md +31 -0
- university_data_arabic/student_services_and_facilities.md +12 -0
- university_data_arabic/tuition_and_scholarships.md +24 -0
- vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/data_level0.bin +3 -0
- vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/header.bin +3 -0
- vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/length.bin +3 -0
- vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/link_lists.bin +3 -0
- vectorstores/db/chroma.sqlite3 +3 -0
.dockerignore
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__pycache__
|
| 2 |
+
*.pyc
|
| 3 |
+
*.pyo
|
| 4 |
+
*.pyd
|
| 5 |
+
*.log
|
| 6 |
+
.git
|
| 7 |
+
.github
|
| 8 |
+
.gitignore
|
| 9 |
+
.env
|
| 10 |
+
.venv
|
| 11 |
+
venv
|
| 12 |
+
*.ipynb
|
| 13 |
+
node_modules
|
| 14 |
+
dist
|
| 15 |
+
build
|
| 16 |
+
tests
|
| 17 |
+
# Not needed at runtime; index already built
|
| 18 |
+
university_data_arabic/
|
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
vectorstores/db/chroma.sqlite3 filter=lfs diff=lfs merge=lfs -text
|
Dockerfile
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.11-slim
|
| 2 |
+
|
| 3 |
+
ENV PYTHONDONTWRITEBYTECODE=1 \
|
| 4 |
+
PYTHONUNBUFFERED=1 \
|
| 5 |
+
PIP_NO_CACHE_DIR=1
|
| 6 |
+
|
| 7 |
+
WORKDIR /app
|
| 8 |
+
|
| 9 |
+
COPY requirements.txt /app/
|
| 10 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 11 |
+
|
| 12 |
+
COPY . /app
|
| 13 |
+
|
| 14 |
+
EXPOSE 7860
|
| 15 |
+
|
| 16 |
+
CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port ${PORT:-7860}"]
|
| 17 |
+
|
README.md
CHANGED
|
@@ -1,11 +1,45 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
-
|
| 10 |
-
|
| 11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Helwan National University Chatbot API (RAG)
|
| 2 |
+
|
| 3 |
+
Small FastAPI service that serves a RAG chatbot in Arabic using Google Generative AI (Gemini) and a local Chroma vector store built from Markdown content.
|
| 4 |
+
|
| 5 |
+
## Requirements
|
| 6 |
+
|
| 7 |
+
- Python 3.11
|
| 8 |
+
- A Google API key with access to Gemini
|
| 9 |
+
- Create a key and copy it from the Google AI Studio dashboard.
|
| 10 |
+
|
| 11 |
+
## Environment
|
| 12 |
+
|
| 13 |
+
Create a `.env` file in the project root:
|
| 14 |
+
|
| 15 |
+
```bash
|
| 16 |
+
GOOGLE_API_KEY=your_google_api_key
|
| 17 |
+
```
|
| 18 |
+
|
| 19 |
+
## Build the vector store (once, locally)
|
| 20 |
+
|
| 21 |
+
```bash
|
| 22 |
+
pip install -r requirements.txt
|
| 23 |
+
python create_vector_store.py
|
| 24 |
+
```
|
| 25 |
+
|
| 26 |
+
This generates the persisted Chroma index under `vectorstores/db/` which the API loads at startup. You can commit this directory to your repo so it is available in deployments.
|
| 27 |
+
|
| 28 |
+
## Run locally
|
| 29 |
+
|
| 30 |
+
```bash
|
| 31 |
+
uvicorn main:app --host 0.0.0.0 --port 7860
|
| 32 |
+
```
|
| 33 |
+
|
| 34 |
+
Open `http://localhost:7860/` to verify the health endpoint.
|
| 35 |
+
|
| 36 |
+
## Deploy to Hugging Face Spaces (Docker)
|
| 37 |
+
|
| 38 |
+
1. Create a new Space and select the SDK: Docker.
|
| 39 |
+
2. Push your repo files including `Dockerfile`, `requirements.txt`, `main.py`, `create_vector_store.py`, and the built `vectorstores/db/` directory.
|
| 40 |
+
3. In the Space Settings → “Secrets”, add a secret named `GOOGLE_API_KEY` with your key.
|
| 41 |
+
4. The container will start and bind to the port provided by Spaces automatically via `${PORT}`.
|
| 42 |
+
|
| 43 |
+
### Build context size
|
| 44 |
+
|
| 45 |
+
The `.dockerignore` excludes the raw data in `university_data_arabic/` to keep the image small. Ensure `vectorstores/db/` is present in the repository so the Space can serve immediately without rebuilding the index.
|
create_vector_store.py
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# create_vector_store.py
|
| 2 |
+
from langchain_community.document_loaders import DirectoryLoader, TextLoader
|
| 3 |
+
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
| 4 |
+
from langchain_community.vectorstores import Chroma
|
| 5 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
| 6 |
+
from dotenv import load_dotenv
|
| 7 |
+
import os
|
| 8 |
+
import shutil
|
| 9 |
+
|
| 10 |
+
# --- إعدادات المشروع ---
|
| 11 |
+
DATA_PATH = "university_data_arabic"
|
| 12 |
+
DB_PATH = "vectorstores/db/"
|
| 13 |
+
# نستخدم تضمينات جوجل المستضافة لتقليل حجم الحزم وعدم تحميل نماذج محلياً
|
| 14 |
+
EMBEDDING_MODEL_NAME = "models/text-embedding-004"
|
| 15 |
+
# ---------------------
|
| 16 |
+
|
| 17 |
+
def build_vector_store():
|
| 18 |
+
"""
|
| 19 |
+
يقوم هذا السكربت ببناء قاعدة البيانات المعرفية (Vector Store)
|
| 20 |
+
من ملفات الماركداون الموجودة في مجلد البيانات.
|
| 21 |
+
"""
|
| 22 |
+
# تحميل المتغيرات البيئية (مثل GOOGLE_API_KEY)
|
| 23 |
+
load_dotenv()
|
| 24 |
+
# التأكد من وجود مجلد البيانات
|
| 25 |
+
if not os.path.exists(DATA_PATH):
|
| 26 |
+
print(f"خطأ: مجلد البيانات '{DATA_PATH}' غير موجود. يرجى إنشاؤه ووضع ملفات البيانات بداخله.")
|
| 27 |
+
return
|
| 28 |
+
|
| 29 |
+
# تنظيف قاعدة البيانات القديمة إذا كانت موجودة لضمان التحديث
|
| 30 |
+
if os.path.exists(DB_PATH):
|
| 31 |
+
print(f"يتم حذف قاعدة البيانات القديمة في {DB_PATH}")
|
| 32 |
+
shutil.rmtree(DB_PATH)
|
| 33 |
+
|
| 34 |
+
# 1. تحميل كل ملفات .md من مجلد البيانات
|
| 35 |
+
print(f"يتم تحميل الملفات من المسار: {DATA_PATH}...")
|
| 36 |
+
loader = DirectoryLoader(DATA_PATH, glob="**/*.md", loader_cls=TextLoader, loader_kwargs={'encoding': 'utf-8'}, show_progress=True)
|
| 37 |
+
documents = loader.load()
|
| 38 |
+
if not documents:
|
| 39 |
+
print("لم يتم العثور على أي ملفات. يرجى التأكد من وجود ملفات .md في مجلد البيانات.")
|
| 40 |
+
return
|
| 41 |
+
|
| 42 |
+
# 2. تقسيم المستندات إلى أجزاء (chunks) أصغر
|
| 43 |
+
print("يتم تقسيم المستندات إلى أجزاء أصغر...")
|
| 44 |
+
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
|
| 45 |
+
chunked_documents = text_splitter.split_documents(documents)
|
| 46 |
+
|
| 47 |
+
# 3. إنشاء دالة التضمين باستخدام واجهة جوجل (عن بعد)
|
| 48 |
+
# لا يتم تحميل أي نموذج محلياً، مما يقلل المساحة المطلوبة بشكل كبير
|
| 49 |
+
print(f"يتم تهيئة تضمينات جوجل: {EMBEDDING_MODEL_NAME}...")
|
| 50 |
+
embedding_model = GoogleGenerativeAIEmbeddings(
|
| 51 |
+
model=EMBEDDING_MODEL_NAME
|
| 52 |
+
)
|
| 53 |
+
|
| 54 |
+
# 4. إنشاء قاعدة بيانات ChromaDB وحفظها على الجهاز
|
| 55 |
+
print(f"يتم إنشاء قاعدة البيانات المعرفية في المسار: {DB_PATH}...")
|
| 56 |
+
vector_store = Chroma.from_documents(
|
| 57 |
+
documents=chunked_documents,
|
| 58 |
+
embedding=embedding_model,
|
| 59 |
+
persist_directory=DB_PATH
|
| 60 |
+
)
|
| 61 |
+
print("-----------------------------------------")
|
| 62 |
+
print("✅ تم إنشاء قاعدة البيانات بنجاح! ✅")
|
| 63 |
+
print("-----------------------------------------")
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
if __name__ == "__main__":
|
| 67 |
+
build_vector_store()
|
main.py
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# main.py
|
| 2 |
+
import os
|
| 3 |
+
from fastapi import FastAPI, HTTPException
|
| 4 |
+
from fastapi.responses import StreamingResponse
|
| 5 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
| 6 |
+
from langchain.prompts import PromptTemplate
|
| 7 |
+
from langchain.schema.runnable import RunnablePassthrough
|
| 8 |
+
from langchain.schema.output_parser import StrOutputParser
|
| 9 |
+
from langchain_community.vectorstores import Chroma
|
| 10 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
| 11 |
+
from dotenv import load_dotenv
|
| 12 |
+
from pydantic import BaseModel
|
| 13 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 14 |
+
|
| 15 |
+
# --- Load API keys ---
|
| 16 |
+
load_dotenv()
|
| 17 |
+
|
| 18 |
+
# --- Project Settings ---
|
| 19 |
+
DB_PATH = "vectorstores/db/"
|
| 20 |
+
EMBEDDING_MODEL_NAME = "models/text-embedding-004"
|
| 21 |
+
LLM_MODEL = "gemini-pro-latest" # Change to "gemini-1.5-pro" if you don't have access to Gemini Pro
|
| 22 |
+
|
| 23 |
+
# --- Initialize FastAPI app ---
|
| 24 |
+
app = FastAPI(
|
| 25 |
+
title="Helwan University Chatbot API",
|
| 26 |
+
description="An API for the Helwan National University chatbot using a RAG system.",
|
| 27 |
+
version="1.0.0"
|
| 28 |
+
)
|
| 29 |
+
|
| 30 |
+
app.add_middleware(
|
| 31 |
+
CORSMiddleware,
|
| 32 |
+
allow_origins=["*"],
|
| 33 |
+
allow_credentials=True,
|
| 34 |
+
allow_methods=["*"],
|
| 35 |
+
allow_headers=["*"],
|
| 36 |
+
)
|
| 37 |
+
|
| 38 |
+
# --- Load RAG components on startup ---
|
| 39 |
+
if not os.path.exists(DB_PATH):
|
| 40 |
+
raise FileNotFoundError(f"Database not found at: {DB_PATH}. Please run 'create_vector_store.py' first.")
|
| 41 |
+
|
| 42 |
+
print("Loading AI models and database...")
|
| 43 |
+
embedding_model = GoogleGenerativeAIEmbeddings(
|
| 44 |
+
model=EMBEDDING_MODEL_NAME
|
| 45 |
+
)
|
| 46 |
+
vector_db = Chroma(persist_directory=DB_PATH, embedding_function=embedding_model)
|
| 47 |
+
llm = ChatGoogleGenerativeAI(
|
| 48 |
+
model=LLM_MODEL,
|
| 49 |
+
temperature=0.3,
|
| 50 |
+
convert_system_message_to_human=True
|
| 51 |
+
)
|
| 52 |
+
retriever = vector_db.as_retriever(search_kwargs={"k": 4})
|
| 53 |
+
|
| 54 |
+
# --- Corrected and cleaned prompt template ---
|
| 55 |
+
prompt_template = """
|
| 56 |
+
أنت مساعد ذكي ومحترف تابع لجامعة حلوان الأهلية. مهمتك هي الإجابة على أسئلة المستخدمين بدقة وود.
|
| 57 |
+
بناءً على السياق التالي، قم بمهمتين:
|
| 58 |
+
|
| 59 |
+
1. **الإجابة على السؤال:** قدم إجابة وافية على سؤال المستخدم بناءً على المعلومات المتاحة في السياق فقط. ابدأ دائمًا ردك بـ "أهلاً بك في جامعة حلوان الأهلية." إذا كانت المعلومة غير موجودة، قل بأدب "ليس لدي معلومات كافية حول هذا الموضوع حاليًا". لا تخترع إجابات. رد باللغة العربية فقط.
|
| 60 |
+
|
| 61 |
+
2. **اقتراح أسئلة:** بعد الإجابة، اقترح 3 أسئلة تالية ذات صلة قد يهتم بها المستخدم.
|
| 62 |
+
|
| 63 |
+
استخدم الفاصل '---' للفصل بين إجابتك والأسئلة المقترحة.
|
| 64 |
+
|
| 65 |
+
السياق:
|
| 66 |
+
{context}
|
| 67 |
+
|
| 68 |
+
السؤال:
|
| 69 |
+
{question}
|
| 70 |
+
|
| 71 |
+
الإجابة والأسئلة المقترحة:
|
| 72 |
+
"""
|
| 73 |
+
PROMPT = PromptTemplate(template=prompt_template, input_variables=["context", "question"])
|
| 74 |
+
|
| 75 |
+
rag_chain = (
|
| 76 |
+
{"context": retriever, "question": RunnablePassthrough()}
|
| 77 |
+
| PROMPT
|
| 78 |
+
| llm
|
| 79 |
+
| StrOutputParser()
|
| 80 |
+
)
|
| 81 |
+
print("✅ All components loaded successfully. API is ready.")
|
| 82 |
+
|
| 83 |
+
# --- API Endpoints ---
|
| 84 |
+
|
| 85 |
+
class ChatRequest(BaseModel):
|
| 86 |
+
query: str
|
| 87 |
+
|
| 88 |
+
async def stream_generator(query: str):
|
| 89 |
+
try:
|
| 90 |
+
async for chunk in rag_chain.astream(query):
|
| 91 |
+
yield chunk
|
| 92 |
+
except Exception as e:
|
| 93 |
+
# Generic error handler for any issue
|
| 94 |
+
print(f"!!! An unexpected error occurred: {e}")
|
| 95 |
+
yield "عذرًا، حدث خطأ ما. يرجى المحاولة مرة أخرى.---"
|
| 96 |
+
|
| 97 |
+
@app.get("/")
|
| 98 |
+
def read_root():
|
| 99 |
+
return {"status": "Helwan University Chatbot API is running"}
|
| 100 |
+
|
| 101 |
+
@app.post("/chat/stream")
|
| 102 |
+
async def chat_stream(request: ChatRequest):
|
| 103 |
+
if not request.query:
|
| 104 |
+
raise HTTPException(status_code=400, detail="Query cannot be empty")
|
| 105 |
+
return StreamingResponse(stream_generator(request.query), media_type="text/plain; charset=utf-8")
|
requirements.txt
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
fastapi>=0.110,<1.0
|
| 2 |
+
uvicorn>=0.23,<1.0
|
| 3 |
+
langchain>=0.2,<1.0
|
| 4 |
+
langchain-community>=0.2,<1.0
|
| 5 |
+
langchain-text-splitters>=0.2,<1.0
|
| 6 |
+
chromadb>=0.5,<1.0
|
| 7 |
+
langchain-google-genai>=2.0,<3.0
|
| 8 |
+
google-genai>=1.0,<2.0
|
| 9 |
+
python-dotenv>=1.0,<2.0
|
| 10 |
+
pydantic>=2.6,<3.0
|
university_data_arabic/academic_programs_highlights.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# نماذج من البرامج الدراسية المتميزة
|
| 2 |
+
|
| 3 |
+
## برنامج هندسة النظم الذكية (كلية الهندسة)
|
| 4 |
+
- **نبذة عن البرنامج:** هو برنامج مزدوج بالتعاون مع جامعة Uninettuno الإيطالية. يجمع بين هندسة الحاسبات، الإلكترونيات، نظم الاتصالات، والذكاء الاصطناعي.
|
| 5 |
+
- **ماذا سيعمل الخريج؟** يؤهل البرنامج الخريجين للعمل في مجالات متعددة مثل أنظمة الروبوتات، المدن الذكية، وتطبيقات الذكاء الاصطناعي.
|
| 6 |
+
|
| 7 |
+
## برنامج علوم البيانات (كلية الحاسب وتكنولوجيا المعلومات)
|
| 8 |
+
- **نبذة عن البرنامج:** يهدف البرنامج إلى تأهيل الخريجين للتعامل مع البيانات الضخمة وتحليلها.
|
| 9 |
+
- **ماذا سيعمل الخريج؟** يعمل الخريج في وظائف مطلوبة بشدة مثل مهندس بيانات (Data Engineer) وعالم بيانات (Data Scientist).
|
| 10 |
+
|
| 11 |
+
## برنامج تكنولوجيا المختبرات الطبية (كلية تكنولوجيا العلوم الصحية التطبيقية)
|
| 12 |
+
- **نبذة عن البرنامج:** هو برنامج تخصصي يؤهل الخريجين للعمل كمعاونين للمتخصصين في المعامل الطبية وإجراء التحاليل والفحوصات.
|
| 13 |
+
|
| 14 |
+
## برامج كلية الفنون والفنون التطبيقية
|
| 15 |
+
- **أمثلة على البرامج:** برنامج الرسوم المتحركة والمؤثرات البصرية، وبرنامج التصميم الداخلي.
|
university_data_arabic/admissions_and_application.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# شروط القبول والتقديم
|
| 2 |
+
|
| 3 |
+
## الشهادات المقبولة
|
| 4 |
+
- الثانوية العامة المصرية.
|
| 5 |
+
- الشهادات المعادلة العربية والأجنبية.
|
| 6 |
+
- الثانوية الأزهرية.
|
| 7 |
+
- شهادات مدارس النيل (Nile).
|
| 8 |
+
- شهادات مدارس المتفوقين في العلوم والتكنولوجيا (STEM).
|
| 9 |
+
|
| 10 |
+
## شروط التقديم
|
| 11 |
+
- يجب أن يكون الطالب قد حصل على شهادة الثانوية في العام الدراسي الحالي أو العام الدراسي الماضي فقط.
|
| 12 |
+
|
| 13 |
+
## طريقة التقديم
|
| 14 |
+
- يتم التقديم بشكل إلكتروني فقط عبر الموقع الرسمي للجامعة. لا يتم القبول عبر مكتب التنسيق الحكومي.
|
| 15 |
+
|
| 16 |
+
## الأوراق والمستندات المطلوبة
|
| 17 |
+
- أصل شهادة الثانوية العامة وصورة منها.
|
| 18 |
+
- أصل شهادة الميلاد وصورة منها.
|
| 19 |
+
- أصل بطاقة الرقم القومي وصورة منها.
|
| 20 |
+
- بطاقة الترشيح الصادرة من موقع التنسيق.
|
| 21 |
+
- استمارة الكشف الطبي المطبوعة من موقع الجامعة.
|
| 22 |
+
- عدد 6 صور شخصية حديثة.
|
| 23 |
+
- نموذج 2 جند وبطاقة 6 جند (أو 7 جند) للطلاب الذكور.
|
university_data_arabic/faculty_of_engineering.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# كلية الهندسة - جامعة حلوان الاهلية
|
| 2 |
+
|
| 3 |
+
تعتبر كلية الهندسة بجامعة حلوان الاهلية من الكليات الرائدة في مجال التعليم الهندسي في المنطقة، وتشتهر ببرامجها ذات الكفاءة العالية و المتطورة لمواكبة ثورة التكنولوجيا الحديثة.
|
| 4 |
+
|
| 5 |
+
## المصاريف الدراسية
|
| 6 |
+
تبلغ المصاريف الدراسية السنوية للبرامج حوالي **70,000 جنية مصري**
|
| 7 |
+
|
| 8 |
+
## البرامج المتاحة
|
| 9 |
+
|
| 10 |
+
تقدم الكلية العديد من البرامج بنظام الساعات المعتمدة، ومنها:
|
| 11 |
+
|
| 12 |
+
### 1. برنامج هندسة الانظمة الذكية
|
| 13 |
+
- **نبذة عن البرنامج:** يهدف البرنامج إلى إعداد مهندسين متخصصين في تصميم وتطوير أنظمة الاتصالات والشبكات وهاردوير وسوفتوير الحاسبات.
|
| 14 |
+
- **أهم الكورسات:** شبكات الحاسب، تصميم الدوائر الرقمية، نظم التشغيل، الذكاء الاصطناعي، أمن المعلومات.
|
| 15 |
+
- **ماذا سيعمل الخريج؟** يعمل الخريج كمهندس شبكات، مطور برمجيات، مهندس نظم مدمجة (Embedded Systems)، متخصص في أمن المعلومات، أو مطور تطبيقات.
|
| 16 |
+
|
| 17 |
+
### 2. برنامج هندسة العمارة وتكنولوجيا البناء
|
| 18 |
+
- **نبذة عن البرنامج:** يركز البرنامج على دمج فن العمارة مع أحدث تقنيات البناء والتشييد، وتصميم المباني الذكية والمستدامة.
|
| 19 |
+
- **أهم الكورسات:** التصميم المعماري، تكنولوجيا البناء، أنظمة التحكم البيئي، تاريخ ونظريات العمارة، إدارة المشروعات.
|
| 20 |
+
- **ماذا سيعمل الخريج؟** يعمل الخريج كمهندس معماري، مدير مشروعات، مصمم حضري، أو استشاري في مجال البناء المستدام.
|
| 21 |
+
|
| 22 |
+
### 3. برنامج هندسة البترول والبتروكيماويات
|
| 23 |
+
- **نبذة عن البرنامج:** يختص البرنامج بدراسة استكشاف واستخراج النفط والغاز، بالإضافة إلى عمليات تصنيع وتكرير البتروكيماويات.
|
| 24 |
+
- **أهم الكورسات:** هندسة المكامن، هندسة الحفر، كيمياء البترول، عمليات تكرير البترول.
|
| 25 |
+
- **ماذا سيعمل الخريج؟** يعمل الخريج كمهندس بترول في شركات التنقيب، أو مهندس عمليات في مصانع البتروكيماويات والتكرير.
|
| 26 |
+
|
| 27 |
+
## أسئلة شائعة
|
| 28 |
+
### هل برامج الكلية معتمدة دوليًا؟
|
| 29 |
+
نعم، العديد من برامج الكلية حاصلة على الاعتماد الدولي مما يتيح للخريجين فرص عمل عالمية.
|
university_data_arabic/helwan_national_university_overview.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# عن جامعة حلوان الأهلية
|
| 2 |
+
|
| 3 |
+
جامعة حلوان الأهلية هي جامعة أهلية مصرية غير هادفة للربح، تأسست بموجب القرار الجمهوري رقم 43 لسنة 2022. تقع الجامعة داخل حرم جامعة حلوان الحكومية بمنطقة عين حلوان.
|
| 4 |
+
|
| 5 |
+
## رئيس الجامعة
|
| 6 |
+
يتولى رئاسة الجامعة حاليًا الأستاذ الدكتور **سيد قنديل**. يسعى سيادته لتطوير الجامعة أكاديميًا وبحثيًا ورفع تصنيفها بين الجامعات العالمية.
|
| 7 |
+
|
| 8 |
+
## الفرق بين الجامعة الأهلية والحكومية
|
| 9 |
+
- **الهدف:** هي جامعة غير ربحية تابعة للدولة وموجهة لخدمة المجتمع.
|
| 10 |
+
- **نظام التعليم:** تركز بشكل كبير على الجانب العملي والتطبيقي (قد يصل إلى 70%)، مع تنظيم زيارات ميدانية مستمرة للمواقع والمصانع.
|
| 11 |
+
- **نظام القبول:** لديها تنسيق داخلي خاص بها، ويتم القبول بناءً على أعلى المجاميع من بين المتقدمين الذين استوفوا الحد الأدنى للقبول.
|
| 12 |
+
|
| 13 |
+
## الكليات المتاحة
|
| 14 |
+
- كلية الطب البشري
|
| 15 |
+
- كلية طب الأسنان
|
| 16 |
+
- كلية العلوم الانسانية
|
| 17 |
+
- كلية العلاج الطبيعي
|
| 18 |
+
- كلية الهندسة
|
| 19 |
+
- كلية علوم الحاسب وتكنولوجيا المعلومات
|
| 20 |
+
- كلية تكنولوجيا العلوم الصحية التطبيقية
|
| 21 |
+
- كلية العلوم
|
| 22 |
+
- كلية العلوم الإنسانية والتجارة وإدارة الأعمال
|
| 23 |
+
- كلية الفنون والفنون التطبيقية
|
| 24 |
+
|
| 25 |
+
## أسئلة شائعة
|
| 26 |
+
|
| 27 |
+
### أين تقع جامعة حلوان الاهلية؟
|
| 28 |
+
يقع الحرم الرئيسي لجامعة القاهرة في مدينة الجيزة، مصر.
|
| 29 |
+
|
| 30 |
+
### كيف يمكن التواصل مع إدارة الجامعة؟
|
| 31 |
+
يمكن التواصل عبر الموقع الرسمي للجامعة أو من خلال أرقام الهواتف المتاحة على الموقع.
|
university_data_arabic/student_services_and_facilities.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# الخدمات والمرافق الطلابية
|
| 2 |
+
|
| 3 |
+
## المكتبة
|
| 4 |
+
- يمكن لطلاب جامعة حلوان الأهلية استخدام المكتبة الرقمية بجامعة حلوان الحكومية.
|
| 5 |
+
- تقدم المكتبة خدمات بحثية متقدمة وورش عمل متنوعة للطلاب.
|
| 6 |
+
|
| 7 |
+
## السكن الطلابي
|
| 8 |
+
- تتوفر خيارات إقامة مخصصة للطلاب الوافدين.
|
| 9 |
+
- يمكن التقديم للحصول على سكن طلابي إلكترونيًا عبر منصة "مسكني".
|
| 10 |
+
|
| 11 |
+
## الخدمات الإلكترونية
|
| 12 |
+
- توفر الجامعة بوابات وخدمات إلكترونية للطلاب لتسهيل الوصول إلى الخدمات الأكاديمية والجداول الدراسية.
|
university_data_arabic/tuition_and_scholarships.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# المصروفات الدراسية والمنح
|
| 2 |
+
|
| 3 |
+
## المصروفات للعام الدراسي 2025/2026 (للطلاب المصريين)
|
| 4 |
+
**ملاحظة هامة:** هذه المصروفات لا تشمل أي رسوم إدارية أو خدمية إضافية.
|
| 5 |
+
|
| 6 |
+
- **الطب البشري:** 150,000 جنيه مصري
|
| 7 |
+
- **طب الأسنان:** 130,000 جنيه مصري
|
| 8 |
+
- **العلوم الانسانية:** 135,000 جنيه مصري
|
| 9 |
+
- **العلاج الطبيعي:** 105,000 جنيه مصري
|
| 10 |
+
- **الهندسة:** 70,000 جنيه مصري
|
| 11 |
+
- **علوم الحاسب وتكنولوجيا المعلومات:** 80,000 جنيه مصري
|
| 12 |
+
- **العلوم:** 60,000 جنيه مصري
|
| 13 |
+
- **الفنون والفنون التطبيقية:** 60,000 جنيه مصري
|
| 14 |
+
- **تكنولوجيا العلوم الصحية التطبيقية:** 55,000 جنيه مصري
|
| 15 |
+
- **كلية العلوم الانسانية والتجارة وادارة الاعمال :** 60,000 جنيه مصري
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
## المنح والخصومات
|
| 19 |
+
- **منح التفوق الأكاديمي:** توجد منح مخصصة للطلاب المتفوقين أكاديميًا. يشترط حصول الطالب المصري على نسبة لا تقل عن 85% في الثانوية العامة.
|
| 20 |
+
- **منح الطلاب الوافدين:** تتوفر منح خاصة للطلاب الدوليين (60 منحة للعام 2024/2025)، تشمل منحًا كاملة أو تخفيض بنسبة 50%.
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/data_level0.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a13e72541800c513c73dccea69f79e39cf4baef4fa23f7e117c0d6b0f5f99670
|
| 3 |
+
size 3212000
|
vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/header.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0ec6df10978b056a10062ed99efeef2702fa4a1301fad702b53dd2517103c746
|
| 3 |
+
size 100
|
vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/length.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:121a39651fded84cf110c98959e3e4be8868cafec85cf0364d29a09e25fa78fd
|
| 3 |
+
size 4000
|
vectorstores/db/c00977b0-4a70-4fd4-b4a8-a6821909af37/link_lists.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
| 3 |
+
size 0
|
vectorstores/db/chroma.sqlite3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5aaf6edb16e28e236a81b77fb201ab6323f3427d0d53874a571637cea477dfe2
|
| 3 |
+
size 344064
|