Spaces:
Running
Running
Upload main.py
Browse files
main.py
CHANGED
@@ -13,9 +13,13 @@ from fastapi import FastAPI
|
|
13 |
from fastapi.middleware.cors import CORSMiddleware
|
14 |
from pydantic import BaseModel
|
15 |
from database import create_table, return_title, return_exercise
|
|
|
16 |
|
17 |
create_table()
|
18 |
|
|
|
|
|
|
|
19 |
class Request(BaseModel):
|
20 |
enonce : str
|
21 |
code : str
|
@@ -68,11 +72,12 @@ class GraphState(TypedDict):
|
|
68 |
|
69 |
def chatbot(state : GraphState):
|
70 |
msg_test = ""
|
71 |
-
|
|
|
72 |
msg_test = "Le code de l'élève n'a pas encore été testé avec les tests unitaires"
|
73 |
-
elif
|
74 |
msg_test = "Le code de l'élève a bien été testé avec les tests unitaires, il a échoué à au moins un test unitaire"
|
75 |
-
elif
|
76 |
msg_test = "Le code de l'élève a bien été testé avec les tests unitaires, il a réussi tous les tests unitaires"
|
77 |
response = chain.invoke({'enonce': state['enonce'].content, 'code' : state['messages'][-1].content, 'test_unit' : msg_test} )
|
78 |
return {"messages": [AIMessage(content=response)]}
|
@@ -87,7 +92,7 @@ app_chatbot = workflow.compile()
|
|
87 |
|
88 |
@app.post('/request')
|
89 |
def request(req: Request):
|
90 |
-
rep = app_chatbot.invoke({"enonce" : HumanMessage(content=req.enonce),"messages": [HumanMessage(content=req.code)], "res_test" :
|
91 |
return {"response":rep['messages'][-1].content}
|
92 |
|
93 |
|
|
|
13 |
from fastapi.middleware.cors import CORSMiddleware
|
14 |
from pydantic import BaseModel
|
15 |
from database import create_table, return_title, return_exercise
|
16 |
+
import logging
|
17 |
|
18 |
create_table()
|
19 |
|
20 |
+
logger = logging.getLogger('uvicorn.error')
|
21 |
+
logger.setLevel(logging.DEBUG)
|
22 |
+
|
23 |
class Request(BaseModel):
|
24 |
enonce : str
|
25 |
code : str
|
|
|
72 |
|
73 |
def chatbot(state : GraphState):
|
74 |
msg_test = ""
|
75 |
+
res_test =state['res_test'].content
|
76 |
+
if res_test == '0' :
|
77 |
msg_test = "Le code de l'élève n'a pas encore été testé avec les tests unitaires"
|
78 |
+
elif res_test == '1':
|
79 |
msg_test = "Le code de l'élève a bien été testé avec les tests unitaires, il a échoué à au moins un test unitaire"
|
80 |
+
elif res_test == '2':
|
81 |
msg_test = "Le code de l'élève a bien été testé avec les tests unitaires, il a réussi tous les tests unitaires"
|
82 |
response = chain.invoke({'enonce': state['enonce'].content, 'code' : state['messages'][-1].content, 'test_unit' : msg_test} )
|
83 |
return {"messages": [AIMessage(content=response)]}
|
|
|
92 |
|
93 |
@app.post('/request')
|
94 |
def request(req: Request):
|
95 |
+
rep = app_chatbot.invoke({"enonce" : HumanMessage(content=req.enonce),"messages": [HumanMessage(content=req.code)], "res_test" : HumanMessage(content=req.res_test)}, stream_mode="values")
|
96 |
return {"response":rep['messages'][-1].content}
|
97 |
|
98 |
|