gemini-gate / app.py
vietdata's picture
upload
cf1ac3f
raw
history blame
757 Bytes
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)
except Exception as e:
raise HTTPException(status_code=500, detail="An error occurred: {}".format(traceback.format_exc()))