diff --git a/src/backend/bisheng/api/v1/chat.py b/src/backend/bisheng/api/v1/chat.py index f8df13d8..309343ff 100644 --- a/src/backend/bisheng/api/v1/chat.py +++ b/src/backend/bisheng/api/v1/chat.py @@ -164,8 +164,8 @@ def get_chatlist_list(*, status_code=200) def get_online_chat(*, keyword: Optional[str] = None, - page: Optional[int] = 1, - limit: Optional[int] = 10, + page: Optional[int] = 0, + limit: Optional[int] = 0, Authorize: AuthJWT = Depends()): Authorize.jwt_required() payload = json.loads(Authorize.get_jwt_subject()) @@ -200,7 +200,9 @@ def get_online_chat(*, update_time=one.update_time, flow_type='flow')) res.sort(key=lambda x: x.update_time, reverse=True) - return resp_200(data=res[(page - 1) * limit:page * limit]) + if page and limit: + res = res[(page - 1) * limit:page * limit] + return resp_200(data=res) @router.websocket('/chat/{flow_id}') diff --git a/src/backend/bisheng/database/models/message.py b/src/backend/bisheng/database/models/message.py index cca5525c..928132e7 100644 --- a/src/backend/bisheng/database/models/message.py +++ b/src/backend/bisheng/database/models/message.py @@ -115,7 +115,7 @@ def delete_by_message_id(cls, user_id: int, message_id: str): logger.info('delete_param_error user_id={} chat_id={}', user_id, message_id) return False - statement = delete(ChatMessage).where(ChatMessage.chat_id == message_id, + statement = delete(ChatMessage).where(ChatMessage.id == message_id, ChatMessage.user_id == user_id) with session_getter() as session: diff --git a/src/frontend/src/controllers/API/index.ts b/src/frontend/src/controllers/API/index.ts index 18ff386a..bb83bc05 100644 --- a/src/frontend/src/controllers/API/index.ts +++ b/src/frontend/src/controllers/API/index.ts @@ -250,7 +250,7 @@ export async function postValidatePrompt( */ export const getChatsApi = (page) => { return (axios.get(`/api/v1/chat/list?page=${page}&limit=40`) as Promise).then(res => - res?.filter((el,i) => el.chat_id) || [] + res?.filter((el, i) => el.chat_id) || [] ) }; @@ -417,13 +417,17 @@ export async function GPUlistByFinetuneApi(): Promise { */ // 分词 export async function splitWordApi(word: string, messageId: string): Promise { - return await axios.get(`/api/v1/qa/keyword?answer=${encodeURIComponent(word)}&message_id=${messageId}`) + return await axios.get(`/api/v1/qa/keyword?message_id=${messageId}`) } // 获取 chunks export async function getSourceChunksApi(chatId: string, messageId: number, keys: string) { try { - let chunks: any[] = await axios.get(`/api/v1/qa/chunk?chat_id=${chatId}&message_id=${messageId}&keys=${keys}`) + let chunks: any[] = await axios.post(`/api/v1/qa/chunk`, { + chat_id: chatId, + message_id: messageId, + keys, + }) const fileMap = {} chunks.forEach(chunk => {