Download app.py from MikePGxAI/PA: direct link, hf CLI and curl.
- Browser
- Download file 1.39 kB
-
https://huggingface.co/spaces/MikePGxAI/PA/resolve/main/app.py
- Command line
-
hf download hf://spaces/MikePGxAI/PA/app.py
-
curl -L -o app.py https://huggingface.co/spaces/MikePGxAI/PA/resolve/main/app.py
1.39 kB
| import os | |
| import tempfile | |
| from fastapi import FastAPI, UploadFile, File, Header, HTTPException | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from openai import OpenAI | |
| APP_SHARED_SECRET = os.environ.get("APP_SHARED_SECRET", "") | |
| app = FastAPI() | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| client = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) | |
| def require_secret(x_app_secret: str | None) -> None: | |
| if APP_SHARED_SECRET and x_app_secret != APP_SHARED_SECRET: | |
| raise HTTPException(status_code=401, detail="Unauthorized") | |
| async def session(x_app_secret: str | None = Header(default=None)): | |
| require_secret(x_app_secret) | |
| return { | |
| "token": "hf-dev", | |
| "expiresAt": None, | |
| "requestId": None | |
| } | |
| async def stt( | |
| audio: UploadFile = File(...), | |
| metadata: str | None = None, | |
| x_app_secret: str | None = Header(default=None) | |
| ): | |
| require_secret(x_app_secret) | |
| with tempfile.NamedTemporaryFile(suffix=".m4a") as tmp: | |
| tmp.write(await audio.read()) | |
| tmp.flush() | |
| result = client.audio.transcriptions.create( | |
| file=open(tmp.name, "rb"), | |
| model="whisper-1" | |
| ) | |
| return { | |
| "transcript": result.text, | |
| "language": "en", | |
| "requestId": None | |
| } |