gemini-gate / app.py
vietdata's picture
Update app.py
6737b1f verified
raw
history blame
807 Bytes
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi import HTTPException
import os
import traceback
from fastapi.middleware.cors import CORSMiddleware
from gemini import complete_gemini_async
class GenItem(BaseModel):
chat:list
key:str
params:dict
app = FastAPI()
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allow_headers=["*"],
)
@app.post("/complete")
async def complete(item: GenItem):
try:
result = await complete_gemini_async(item.chat, item.key, item.params)
return result
except Exception as e:
raise HTTPException(status_code=500, detail="An error occurred: {}".format(traceback.format_exc()))