AgenticDataPipeline / api /services.py
Rauhan's picture
push
5ec1ba2
from api.models import FlagOutput, WorkflowQuery
from src.workflows.workflow import workflow
from sqlalchemy import create_engine, text
import os
class FastAPIService:
def __init__(self):
self.engine = create_engine(
os.environ.get("POSTGRE_CONNECTION_STRING")
)
def answerQuery(self, workflowQueryModel: WorkflowQuery) -> str:
return workflow.run(workflowQueryModel.query)
def flagResponse(self, likedOrFlaggedModel: FlagOutput) -> str:
with self.engine.connect() as conn:
conn.execute(
text("""
INSERT INTO feedback (query, response, flag, feedback)
VALUES (:query, :response, :flag, :feedback)
"""),
{
"query": likedOrFlaggedModel.query,
"response": likedOrFlaggedModel.response,
"flag": likedOrFlaggedModel.flag,
"feedback": likedOrFlaggedModel.feedback
}
)
conn.commit()
return "Data inserted successfully"