Loading
Loading
GCP (Google Cloud Platform) يتميز بقوته في AI Research ونماذج Google من Gemini وPaLM.
from dataclasses import dataclass, field
from typing import List, Dict
# ─── محاكاة Google Cloud SDK ───────────────────────────────
@dataclass
class GCPProject:
project_id: str
display_name: str
region: str = "us-central1"
enabled_apis: List[str] = field(default_factory=list)
resources: List[str] = field(default_factory=list)
def enable_api(self, api: str):
self.enabled_apis.append(api)
print(f" ✅ API enabled: {api}")
def add_resource(self, kind: str, name: str):
self.resources.append(f"{kind}/{name}")
class GCPClient:
REGIONS = {
"us-central1": "Iowa, USA",
"europe-west4": "Netherlands",
"asia-southeast1": "Singapore",
"me-west1": "Tel Aviv (Middle East)",
}
REQUIRED_APIS = {
"vertex-ai": "aiplatform.googleapis.com",
"gemini": "generativelanguage.googleapis.com",
"cloud-run": "run.googleapis.com",
"bigquery": "bigquery.googleapis.com",
"storage": "storage.googleapis.com",
}
COMPUTE_TIERS = {
"n1-standard-4": {"vCPUs": 4, "RAM": "15 GB", "GPU": "None", "price_hr": 0.19},
"n1-highmem-8": {"vCPUs": 8, "RAM": "52 GB", "GPU": "None", "price_hr": 0.473},
"a2-highgpu-1g": {"vCPUs": 12, "RAM": "85 GB", "GPU": "A100", "price_hr": 3.67},
"tpu-v4-8": {"vCPUs": 0, "RAM": "240 GB","GPU": "TPU v4", "price_hr": 5.60},
}
def __init__(self):
self.projects: Dict[str, GCPProject] = {}
def create_project(self, project_id: str, name: str, region: str = "us-central1") -> GCPProject:
p = GCPProject(project_id, name, region)
self.projects[project_id] = p
loc = self.REGIONS.get(region, region)
print(f" ✅ Project: {project_id} ({loc})")
return p
def list_compute(self):
print(f"\n💻 خيارات Compute على GCP:")
print(f" {'Machine Type':<18} {'vCPUs':>6} {'RAM':>8} {'GPU':>10} {'Price/hr':>10}")
print(" " + "-"*56)
for mtype, spec in self.COMPUTE_TIERS.items():
price_s = "$" + f"{spec['price_hr']:.2f}"
print(f" {mtype:<18} {spec['vCPUs']:>6} {spec['RAM']:>8} {spec['GPU']:>10} {price_s:>10}")
# ─── إعداد GCP للـ AI ──────────────────────────────────────
print("🌐 إعداد Google Cloud Platform للذكاء الاصطناعي:")
print("=" * 55)
gcp = GCPClient()
# إنشاء المشاريع
print("\n1️⃣ إنشاء المشاريع:")
prod = gcp.create_project("my-ai-prod", "AI Production", "us-central1")
dev = gcp.create_project("my-ai-dev", "AI Development", "europe-west4")
# تفعيل APIs
print("\n2️⃣ تفعيل APIs الضرورية:")
for api_name, api_id in gcp.REQUIRED_APIS.items():
prod.enable_api(api_id)
# إضافة موارد
print("\n3️⃣ إنشاء الموارد:")
for name, kind in [
("vertex-endpoint", "aiplatform.googleapis.com/Endpoint"),
("gemini-deployment", "aiplatform.googleapis.com/Model"),
("data-lake", "storage.googleapis.com/Bucket"),
("ml-pipeline", "aiplatform.googleapis.com/Pipeline"),
]:
prod.add_resource(kind, name)
print(f" 📦 {kind.split('/')[1]}: {name}")
# خيارات Compute
gcp.list_compute()
# ملخص المشاريع
print(f"\n\n📊 ملخص المشاريع:")
for pid, p in gcp.projects.items():
loc = gcp.REGIONS.get(p.region, p.region)
print(f" [{pid}] — {loc}")
print(f" APIs: {len(p.enabled_apis)} | Resources: {len(p.resources)}")
# gcloud CLI
print(f"\n💻 أوامر gcloud الأساسية:")
cmds = [
("تسجيل الدخول", "gcloud auth login"),
("تعيين المشروع", "gcloud config set project my-ai-prod"),
("تفعيل API", "gcloud services enable aiplatform.googleapis.com"),
("Service Account", "gcloud iam service-accounts create ai-sa --display-name 'AI SA'"),
("تحميل المفتاح", "gcloud iam service-accounts keys create key.json --iam-account ai-sa@..."),
]
for desc, cmd in cmds:
print(f" # {desc}")
print(f" $ {cmd}")
print()
print("✅ GCP جاهز للاستخدام!")