Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 1,230 Bytes
662ed4b 611a3ed d0f55c6 523fad9 2f4d877 d0f55c6 523fad9 d0f55c6 39ff146 7e32ac7 d0f55c6 fae0e19 d0f55c6 fae0e19 2f4d877 662ed4b 2f4d877 d0f55c6 523fad9 |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import io
import json
import httpx
from huggingface_hub import HfFileSystem, ModelCard, hf_hub_url
from huggingface_hub.utils import build_hf_headers
import src.constants as constants
client = httpx.AsyncClient(follow_redirects=True)
fs = HfFileSystem()
def glob(path):
paths = fs.glob(path)
return paths
async def load_json_file(path):
url = to_url(path)
r = await client.get(url)
return r.json()
async def load_jsonlines_file(path):
url = to_url(path)
r = await client.get(url, headers=build_hf_headers())
f = io.StringIO(r.text)
return [json.loads(line) for line in f]
def to_url(path):
*repo_type, org_name, ds_name, filename = path.split("/", 3)
repo_type = repo_type[0][:-1] if repo_type else None
return hf_hub_url(repo_id=f"{org_name}/{ds_name}", filename=filename, repo_type=repo_type)
async def load_model_card(model_id):
url = to_url(f"{model_id}/README.md")
r = await client.get(url)
return ModelCard(r.text, ignore_metadata_errors=True)
async def list_models(filtering=None):
params = {}
if filtering:
params["filter"] = filtering
r = await client.get(f"{constants.HF_API_URL}/models", params=params)
return r.json()
|