From 8744a9a7dafa40b800a2c9318b2709e9ee1aab94 Mon Sep 17 00:00:00 2001
From: Marcus Schiesser <mail@marcusschiesser.de>
Date: Thu, 2 Nov 2023 16:24:07 +0700
Subject: [PATCH] fix: wrap non-streaming result for FastAPI in an result
 object

---
 templates/simple/fastapi/app/api/routers/chat.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/templates/simple/fastapi/app/api/routers/chat.py b/templates/simple/fastapi/app/api/routers/chat.py
index 2d20a6f6..81f602ed 100644
--- a/templates/simple/fastapi/app/api/routers/chat.py
+++ b/templates/simple/fastapi/app/api/routers/chat.py
@@ -18,11 +18,15 @@ class _ChatData(BaseModel):
     messages: List[_Message]
 
 
+class _Result(BaseModel):
+    result: _Message
+
+
 @r.post("")
 async def chat(
     data: _ChatData,
     index: VectorStoreIndex = Depends(get_index),
-) -> _Message:
+) -> _Result:
     # check preconditions and get last message
     if len(data.messages) == 0:
         raise HTTPException(
@@ -47,4 +51,6 @@ async def chat(
     # query chat engine
     chat_engine = index.as_chat_engine()
     response = chat_engine.chat(lastMessage.content, messages)
-    return _Message(role=MessageRole.ASSISTANT, content=response.response)
+    return _Result(
+        result=_Message(role=MessageRole.ASSISTANT, content=response.response)
+    )
-- 
GitLab