Spaces:
Sleeping
Sleeping
File size: 1,352 Bytes
258e6df 3e43611 c42f537 258e6df c42f537 258e6df 6b5ea8a 258e6df | 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | from app.emotion_detector import detect_emotion
from app.response_generator import generate_support_message
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi.responses import RedirectResponse
app = FastAPI(
name="Moodmate API",
version="1.0.0",
title="Moodmate API",
description="Emotion-aware NLP microservice for mental wellness support.",
)
# -------- Request Schemas --------
class EmotionRequest(BaseModel):
text: str
class SupportRequest(BaseModel):
text: str
emotion: str
# -------- Endpoints --------
@app.get("/")
def root():
return RedirectResponse(url="/docs")
@app.post("/analyze_emotion")
def analyze_emotion(request: EmotionRequest):
emotion = detect_emotion(request.text)
return {"emotion": emotion}
@app.post("/generate_support")
def generate_support(request: SupportRequest):
message = generate_support_message(request.text, request.emotion)
return {"support_message": message}
@app.get("/")
def health_check():
return {"status": "MoodMate API is running"}
@app.post("/analyze_and_support")
def analyze_and_support(request: EmotionRequest):
emotion = detect_emotion(request.text)
message = generate_support_message(request.text, emotion)
return {"emotion": emotion, "support_message": message}
# -------- End of File --------
|