CaesarAINL / main.py
CaesarCloudSync
CaesarAINL Deployed Maybe
baa1558
import asyncio
import os
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse
from pydantic import BaseModel
from caesarinfer import CaesarNL
app = FastAPI()
CURRENT_DIR = os.path.realpath(__file__).replace(f"/main.py","")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # can alter with time
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class CaesarAINLModel(BaseModel):
caesarapi: str
@app.get("/")
def caesarhome():
return "Caeser: How can I help you sir?"
@app.get("/caesarapi")
def caesarapiget():
return "Caeser: Hello sir, this is the CaesarAIAPI"
@app.post("/caesarapi")
def caesarapi(caesarapijson: CaesarAINLModel):
try:
caesarapijson = dict(caesarapijson)
print("Caesar Processing...")
caesarResponse,intents = CaesarNL.run([caesarapijson["caesarapi"]])
print("Caesar Processed.")
print(caesarResponse,"intent:",intents)
return {"caesarmessage":{"caesarResponse":caesarResponse,"intent":intents}}
except Exception as ex:
return {"error":f"{type(ex)}-{ex}"}
async def main():
config = uvicorn.Config("main:app", port=7860, log_level="info",host="0.0.0.0",reload=True)
server = uvicorn.Server(config)
await server.serve()
if __name__ == "__main__":
asyncio.run(main())