Spaces:
Build error
Build error
Fix: query api not working
Browse files
backend/backend/app/api/routers/query.py
CHANGED
@@ -28,8 +28,8 @@ class _ChatData(BaseModel):
|
|
28 |
messages: List[_Message]
|
29 |
|
30 |
|
31 |
-
@r.
|
32 |
-
async def
|
33 |
request: Request,
|
34 |
# Note: To support clients sending a JSON object using content-type "text/plain",
|
35 |
# we need to use Depends(json_to_model(_ChatData)) here
|
@@ -42,18 +42,18 @@ async def search(
|
|
42 |
status_code=status.HTTP_400_BAD_REQUEST,
|
43 |
detail="No query provided",
|
44 |
)
|
45 |
-
|
46 |
-
if
|
47 |
raise HTTPException(
|
48 |
status_code=status.HTTP_400_BAD_REQUEST,
|
49 |
detail="Last message must be from user",
|
50 |
)
|
51 |
logger = logging.getLogger("uvicorn")
|
52 |
-
logger.info(f"Query: {
|
53 |
|
54 |
# Query index
|
55 |
-
query_engine = index.as_query_engine(streaming=True, similarity_top_k=
|
56 |
-
response = query_engine.query(
|
57 |
|
58 |
# stream response
|
59 |
async def event_generator():
|
|
|
28 |
messages: List[_Message]
|
29 |
|
30 |
|
31 |
+
@r.post("")
|
32 |
+
async def query(
|
33 |
request: Request,
|
34 |
# Note: To support clients sending a JSON object using content-type "text/plain",
|
35 |
# we need to use Depends(json_to_model(_ChatData)) here
|
|
|
42 |
status_code=status.HTTP_400_BAD_REQUEST,
|
43 |
detail="No query provided",
|
44 |
)
|
45 |
+
lastMessage = data.messages.pop()
|
46 |
+
if lastMessage.role != MessageRole.USER:
|
47 |
raise HTTPException(
|
48 |
status_code=status.HTTP_400_BAD_REQUEST,
|
49 |
detail="Last message must be from user",
|
50 |
)
|
51 |
logger = logging.getLogger("uvicorn")
|
52 |
+
logger.info(f"Query: {lastMessage}")
|
53 |
|
54 |
# Query index
|
55 |
+
query_engine = index.as_query_engine(streaming=True, similarity_top_k=5)
|
56 |
+
response = query_engine.query(lastMessage.content)
|
57 |
|
58 |
# stream response
|
59 |
async def event_generator():
|