File size: 884 Bytes
6bcddd0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import os

import modal


HF_SECRET_NAME = os.environ.get("VC_HF_SECRET_NAME", "hf-token")
MODEL_ID = os.environ.get("VC_HF_CHECK_MODEL", "google/gemma-4-12B-it")

image = modal.Image.debian_slim(python_version="3.12").uv_pip_install("huggingface-hub>=0.36.0")
app = modal.App("virtual-characters-hf-check", image=image)


@app.function(secrets=[modal.Secret.from_name(HF_SECRET_NAME)], timeout=60)
def check_hf_token() -> dict:
    from huggingface_hub import HfApi

    token = os.environ.get("HF_TOKEN")
    api = HfApi(token=token)
    user = api.whoami()
    model = api.model_info(MODEL_ID)
    return {
        "ok": True,
        "hf_user": user.get("name") or user.get("email"),
        "model_id": model.modelId,
        "private": model.private,
        "gated": getattr(model, "gated", None),
    }


@app.local_entrypoint()
def main():
    print(check_hf_token.remote())