import os from fastapi import FastAPI, Request from fastapi.responses import HTMLResponse from openai import OpenAI app = FastAPI() MODEL = "nousresearch/hermes-2-pro-llama-3-8b" def get_client(): key = os.getenv("NVIDIA_API_KEY") if not key: raise RuntimeError("❌ NVIDIA_API_KEY missing. Add it in Settings → Variables & secrets → Factory reboot.") return OpenAI(base_url="https://integrate.api.nvidia.com/v1", api_key=key) @app.get("/", response_class=HTMLResponse) async def home(): return """
Response will appear here...""" @app.post("/run") async def run_hermes(req: Request): try: data = await req.json() prompt = data.get("prompt", "") if not prompt: return {"error": "Missing prompt"} client = get_client() res = client.chat.completions.create( model=MODEL, messages=[{"role": "user", "content": prompt}], temperature=0.7, max_tokens=1024 ) return {"status": "done", "output": res.choices[0].message.content} except Exception as e: return {"status": "error", "detail": str(e)}