gemini-gate / app.py
anhdt-dsai-02's picture
Update app.py
fbb9ee4 verified
raw
history blame
836 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 Text(BaseModel):
ques: str
ans: str
key: str
app = FastAPI()
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allow_headers=["*"],
)
@app.post("/geminiv2")
async def geminiv2(data: Text, api_key: str = Security(get_api_key)):
try:
result = await complete_gemini_async((data.ques, data.ans), data.key)
return result
except Exception as e:
raise HTTPException(status_code=500, detail="An error occurred: {}".format(traceback.format_exc()))