Spaces:
Running
Running
Updated Space.
Browse files
app.py
CHANGED
@@ -559,7 +559,7 @@ async def respond(
|
|
559 |
|
560 |
|
561 |
handleApiKeys();loadModels();checkModels();loadENV();
|
562 |
-
lastUpdateMessage = "
|
563 |
demo = gr.ChatInterface(
|
564 |
respond,
|
565 |
title="GPT-4O-mini",
|
@@ -601,67 +601,6 @@ def test():
|
|
601 |
def html():
|
602 |
return FileResponse("index.html")
|
603 |
|
604 |
-
@app.get("/api/v1/models")
|
605 |
-
async def test_endpoint():
|
606 |
-
return JSONResponse(content=modelList)
|
607 |
-
|
608 |
-
@app.post("/api/v1/chat/completions")
|
609 |
-
async def chat_completion(request: Request):
|
610 |
-
try:
|
611 |
-
body = await request.json()
|
612 |
-
|
613 |
-
if not body.get("messages") or not body.get("model"):
|
614 |
-
return JSONResponse(content={"error": { "code": "MISSING_VALUE", "message": "Both 'messages' and 'model' are required fields."}}, status_code=400)
|
615 |
-
if not body.get("model") in models:
|
616 |
-
return JSONResponse(content={"error": { "code": "INVALID_MODEL", "message": "The model name provided in the request does not exists in predefined list of models."}}, status_code=400)
|
617 |
-
|
618 |
-
params = {
|
619 |
-
key: value for key, value in {
|
620 |
-
"model": body.get("model"),
|
621 |
-
"messages": body.get("messages"),
|
622 |
-
"max_tokens": body.get("max_tokens"),
|
623 |
-
"temperature": body.get("temperature"),
|
624 |
-
"top_p": body.get("top_p"),
|
625 |
-
"frequency_penalty": body.get("frequency_penalty"),
|
626 |
-
"logit_bias": body.get("logit_bias"),
|
627 |
-
"logprobs": body.get("logprobs"),
|
628 |
-
"top_logprobs": body.get("top_logprobs"),
|
629 |
-
"n": body.get("n"),
|
630 |
-
"presence_penalty": body.get("presence_penalty"),
|
631 |
-
"response_format": body.get("response_format"),
|
632 |
-
"seed": body.get("seed"),
|
633 |
-
"service_tier": body.get("service_tier"),
|
634 |
-
"stop": body.get("stop"),
|
635 |
-
"stream": body.get("stream"),
|
636 |
-
"stream_options": body.get("stream_options"),
|
637 |
-
"tools": body.get("tools"),
|
638 |
-
"tool_choice": body.get("tool_choice"),
|
639 |
-
"parallel_tool_calls": body.get("parallel_tool_calls"),
|
640 |
-
"user": rnd(),
|
641 |
-
}.items() if value is not None
|
642 |
-
}
|
643 |
-
|
644 |
-
if body.get("stream"):
|
645 |
-
async def event_generator():
|
646 |
-
async for event in streamChat(params):
|
647 |
-
yield json.dumps(event)
|
648 |
-
return EventSourceResponse(event_generator())
|
649 |
-
else:
|
650 |
-
try:
|
651 |
-
response = requests.post(f"{base_url}/chat/completions", headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}, json=params)
|
652 |
-
response.raise_for_status()
|
653 |
-
except requests.exceptions.RequestException:
|
654 |
-
try:
|
655 |
-
response = requests.post("https://api.openai.com/v1/chat/completions", headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}, json=params)
|
656 |
-
response.raise_for_status()
|
657 |
-
except requests.exceptions.RequestException as e:
|
658 |
-
return JSONResponse(content={"error": { "code": "SERVER_ERROR", "message": str(e)}}, status_code=400)
|
659 |
-
completion = response.json()
|
660 |
-
return JSONResponse(content=completion)
|
661 |
-
except Exception as e:
|
662 |
-
return JSONResponse(content={"error": { "code": "SERVER_ERROR", "message": str(e)}}, status_code=400)
|
663 |
-
|
664 |
-
|
665 |
app = gr.mount_gradio_app(app, demo, path="/")
|
666 |
|
667 |
class ArgParser(argparse.ArgumentParser):
|
|
|
559 |
|
560 |
|
561 |
handleApiKeys();loadModels();checkModels();loadENV();
|
562 |
+
lastUpdateMessage = "New API handling (the old one is shutdown)."
|
563 |
demo = gr.ChatInterface(
|
564 |
respond,
|
565 |
title="GPT-4O-mini",
|
|
|
601 |
def html():
|
602 |
return FileResponse("index.html")
|
603 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
604 |
app = gr.mount_gradio_app(app, demo, path="/")
|
605 |
|
606 |
class ArgParser(argparse.ArgumentParser):
|