File size: 1,102 Bytes
91f89e5
1dd8a9e
 
 
 
 
3352b5e
 
 
1dd8a9e
 
56ff037
1dd8a9e
56ff037
1dd8a9e
56ff037
 
1dd8a9e
56ff037
1dd8a9e
56ff037
 
 
dd04f41
 
 
91f89e5
b83a24a
56ff037
0c29434
91f89e5
b83a24a
 
1dd8a9e
56ff037
91f89e5
56ff037
91f89e5
56ff037
91f89e5
56ff037
91f89e5
56ff037
91f89e5
 
e7047b6
 
 
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
from fastapi import FastAPI, Query
from pydantic import BaseModel
from typing import Any
import pandas as pd
from mojica_agent import MojicaAgent
from config import Config

app = FastAPI()

mojica_bot = MojicaAgent(Config)


# * Esquema de entrada como marshmellow
class QuestionRequest(BaseModel):
    question: str


class AnswerResponse(BaseModel):
    sql: str
    result: Any



@app.post("/")
def ask_question(req: QuestionRequest):
    sql, result = mojica_bot.consult(req.question)

    # Si es dataframe lo convertimos a json
    if isinstance(result, pd.DataFrame):
        result = result.to_json(orient="records")

    return {"sql": sql, "result": result}
    # return {"sql": "WASA"}


# @app.post("/", response_model=AnswerResponse)
# def ask_question(req: QuestionRequest):
#     sql, result = mojica_bot.consult(req.question)

#     # * Si es dataframe lo convertimos a json
#     if isinstance(result, pd.DataFrame):
#         result = result.to_dict(orient="records")

#     return {"sql": sql, "result": result}

# @app.get("/")
# def greet_json():
#     return {"Hello": "World!"}