Spaces:
Running
Running
File size: 1,036 Bytes
525c716 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse, StreamingResponse
from fastapi.middleware.cors import CORSMiddleware
from fastapi import Request
import uvicorn
from pydantic import BaseModel, Field
from typing import Union, List, Dict
import json
import asyncio
from backend.utils import get_completion
from backend.config import CURRICULUM_INSTRUCTIONS
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Define a request model
class QueryRequest(BaseModel):
user_query: str
# Define a response model
class QueryResponse(BaseModel):
answer: str
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.post("/curriculum")
async def get_curriculum(request: QueryRequest):
query = request.user_query
response = await get_completion(prompt=query, instruction=CURRICULUM_INSTRUCTIONS)
return JSONResponse(response, media_type="application/json") |