Files
ds_tjc/api/endpoints.py
T

35 lines
1.0 KiB
Python
Raw Normal View History

# api/endpoints.py
from fastapi import FastAPI, HTTPException, Depends
from typing import Dict
from models.marketing_assistant import MarketingAssistant
from models.qa_bot import NLPQABot
from config.settings import settings
app = FastAPI()
marketing_assistant = MarketingAssistant(api_key=settings.OPENAI_API_KEY)
qa_bot = NLPQABot()
@app.post("/generate-marketing-content/")
async def generate_marketing_content(
content_type: str,
parameters: Dict
) -> Dict:
try:
content = marketing_assistant.generate_content(
content_type=content_type,
**parameters
)
return {"content": content}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.post("/answer-question/")
async def answer_question(
question: str,
context: str
) -> Dict:
try:
answer = qa_bot.answer_question(question, context)
return {"answer": answer}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))