| from __future__ import annotations |
|
|
| import os |
| import shutil |
| import sys |
| from pathlib import Path |
|
|
| DEFAULT_ENV = { |
| "BRAIN_AUTO_NGROK": "0", |
| "BRAIN_AUTO_PUBLISH_URL_ON_STARTUP": "0", |
| "BRAIN_LANGUAGES": "ar,en", |
| "BRAIN_PLATFORM_NAME": "ai_coder_main", |
| "BRAIN_PROVIDER": "huggingface", |
| "BRAIN_REUSE_PUBLIC_URL_ON_RESTART": "0", |
| "BRAIN_ROLES": "coding,planner,fallback", |
| "BRAIN_TEMPLATE": "hf-space-cpu", |
| "BRAIN_TUNNEL_PROVIDER": "none", |
| "FIREBASE_ENABLED": "0", |
| "FIREBASE_NAMESPACE": "kapo", |
| "FIREBASE_PROJECT_ID": "citadel4travels", |
| "GOOGLE_DRIVE_BOOTSTRAP_URL": "https://drive.google.com/uc?export=download&id=19jyBWsQ9ciJVPi2PUigu5ti3gJ24A6TG", |
| "HF_ACCELERATOR": "cpu", |
| "HF_SPACE_DOCKER": "1", |
| "KAGGLE_AUTO_BOOTSTRAP": "0", |
| "KAPO_BOOTSTRAP_URL": "https://drive.google.com/uc?export=download&id=19jyBWsQ9ciJVPi2PUigu5ti3gJ24A6TG", |
| "KAPO_COMPUTE_PROFILE": "cpu", |
| "KAPO_HF_INFERENCE_API": "1", |
| "KAPO_HF_TRANSFORMERS_RUNTIME": "0", |
| "KAPO_LAZY_EMBED_STARTUP": "1", |
| "KAPO_LAZY_MODEL_STARTUP": "1", |
| "KAPO_PATCH_BUNDLE_URL": "https://drive.google.com/uc?export=download&id=16rIe05GZihhAz7ba8E-WibKaJKbh9eu1", |
| "KAPO_PATCH_MANIFEST_URL": "https://drive.google.com/uc?export=download&id=1jLuPMCA3hp9qstZZtpBNzTK0XOmLrV8b", |
| "KAPO_REMOTE_ENV_PASSWORD_B64": "cENvSnljQ0Z6RUN2azRpcUFLVUdQLW9BbVBoTEtNOFE", |
| "KAPO_REMOTE_ENV_URL_B64": "aHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL3VjP2V4cG9ydD1kb3dubG9hZCZpZD0xdjlZRDlNYlBKNUdYNk9WanVHM3hOR05xLWJfQlJfTGY", |
| "KAPO_SHARED_STATE_BACKEND": "google_drive", |
| "MODEL_PROFILE_ID": "hf-coder-qwen25-coder-7b-instruct", |
| "MODEL_REPO": "Qwen/Qwen2.5-Coder-1.5B-Instruct", |
| "REMOTE_BRAIN_ONLY": "1", |
| "SPACE_PUBLIC_URL": "https://MrA7A1-AiCoder.hf.space" |
| } |
|
|
|
|
| def _copy_tree(source: Path, target: Path) -> None: |
| if target.exists(): |
| shutil.rmtree(target, ignore_errors=True) |
| shutil.copytree( |
| source, |
| target, |
| ignore=shutil.ignore_patterns('__pycache__', '*.pyc', '.git', '.venv'), |
| ) |
|
|
|
|
| def _merge_overlay(overlay_root: Path, runtime_root: Path) -> None: |
| if not overlay_root.exists(): |
| return |
| for path in sorted(overlay_root.rglob('*')): |
| rel = path.relative_to(overlay_root) |
| dst = runtime_root / rel |
| if path.is_dir(): |
| dst.mkdir(parents=True, exist_ok=True) |
| continue |
| dst.parent.mkdir(parents=True, exist_ok=True) |
| shutil.copy2(path, dst) |
|
|
|
|
| def main() -> None: |
| source_root = Path(os.getenv('KAPO_SPACE_SOURCE_ROOT', '/app')).resolve() |
| default_root = Path('/data/kapo_runtime/current') if Path('/data').exists() else Path('/tmp/kapo_runtime/current') |
| runtime_root = Path(os.getenv('KAPO_RUNTIME_ROOT', str(default_root))).resolve() |
| overlay_root = Path(os.getenv('KAPO_OVERLAY_ROOT', str(runtime_root.parent / 'overlay'))).resolve() |
| runtime_pkg = runtime_root / 'brain_server' |
| source_pkg = source_root / 'brain_server' |
| for key, value in DEFAULT_ENV.items(): |
| os.environ.setdefault(str(key), str(value)) |
| space_host = str(os.getenv('SPACE_HOST', '')).strip().rstrip('/') |
| space_id = str(os.getenv('SPACE_ID', '')).strip() |
| public_url = '' |
| if space_host: |
| public_url = space_host if space_host.startswith('http://') or space_host.startswith('https://') else f'https://{space_host}' |
| elif space_id and '/' in space_id: |
| public_url = 'https://' + space_id.replace('/', '-').lower() + '.hf.space' |
| if public_url: |
| os.environ['BRAIN_PUBLIC_URL'] = public_url.rstrip('/') |
| runtime_root.mkdir(parents=True, exist_ok=True) |
| overlay_root.mkdir(parents=True, exist_ok=True) |
| if not runtime_pkg.exists(): |
| _copy_tree(source_pkg, runtime_pkg) |
| _merge_overlay(overlay_root, runtime_root) |
| os.environ['KAPO_RUNTIME_ROOT'] = str(runtime_root) |
| os.environ['KAPO_SYNC_ROOT'] = str(runtime_root) |
| os.environ['KAPO_OVERLAY_ROOT'] = str(overlay_root) |
| port = str(os.getenv('PORT', '7860') or '7860') |
| os.execvp( |
| sys.executable, |
| [ |
| sys.executable, |
| '-m', |
| 'uvicorn', |
| 'api.main:app', |
| '--host', |
| '0.0.0.0', |
| '--port', |
| port, |
| '--app-dir', |
| str(runtime_pkg), |
| ], |
| ) |
|
|
|
|
| if __name__ == '__main__': |
| main() |
|
|