|
import aiohttp |
|
from fastapi import FastAPI |
|
from fastapi.responses import JSONResponse, PlainTextResponse |
|
|
|
app = FastAPI() |
|
|
|
@app.get('/', response_class=PlainTextResponse) |
|
async def homepage(): |
|
return "Request or go to /v1/models to use the space, make sure its a GET" |
|
|
|
@app.get("/v1/models") |
|
async def main(): |
|
url = 'https://huggingface.co/models-json?inference=warm&sort=trending&withCount=true' |
|
async with aiohttp.ClientSession() as session: |
|
async with session.get(url) as response: |
|
models = await response.json() |
|
|
|
output = [ |
|
{ |
|
"created": 0, |
|
"id": key['id'], |
|
"object": "model", |
|
"owned_by": key['author'], |
|
"pipeline": key['pipeline_tag'] |
|
} |
|
for key in models['models'] |
|
if not key['private'] and not key['gated'] |
|
] |
|
|
|
return JSONResponse(content=output) |
|
|