Spaces:
Runtime error
Runtime error
File size: 1,589 Bytes
f306157 e7145d1 73b52f1 f306157 e7145d1 88f2715 e7145d1 f306157 73b52f1 6005e27 73b52f1 b176dab 73b52f1 6005e27 f306157 e7145d1 | 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 40 41 42 43 44 45 46 | # app/api_server.py
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.schemas import PiscicultureRequest, PiscicultureResponse, GenerationResponse,CombinedResponse
from app.agent_executor import AgentExecutor
class APIServer:
def __init__(self):
self.app = FastAPI(title="Pisciculture Recommendation API")
# Ajout du middleware CORS
self.app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
api_key = "AIzaSyAmpT2kjqFcz7HZyiFeh6dBOu-zx_MRxIA"
self.executor = AgentExecutor(api_key)
self._register_routes()
def _register_routes(self):
@self.app.post(
"/generate",
response_model=GenerationResponse,
summary="Complète les données puis génère les sections de recommandations"
)
async def generate(data: PiscicultureRequest):
completed_dict = self.executor.run_completion(data.dict())
generation_dict = self.executor.run_generation(completed_dict)
return generation_dict
@self.app.post(
"/recommend",
response_model=PiscicultureResponse,
summary="Complète les données manquantes"
)
async def recommend(data: PiscicultureRequest):
completed_dict = self.executor.run_completion(data.dict())
return completed_dict
server = APIServer()
app = server.app
|