fix: restore rag chat permission feedback

This commit is contained in:
wren
2026-05-22 15:36:13 +08:00
parent 9434f2b22b
commit d52b1cfdb9
5 changed files with 258 additions and 4 deletions
@@ -1,3 +1,5 @@
"""RAG 聊天服务实现。"""
from __future__ import annotations
import asyncio
@@ -49,6 +51,8 @@ MANUAL_TITLE_SOURCE = "manual"
class RagChatServiceImpl(IRagChatService):
"""RAG 聊天服务实现。"""
_message_tasks: dict[str, asyncio.Task] = {}
_task_events: dict[str, list[dict]] = {}
_task_done: dict[str, bool] = {}
@@ -1143,14 +1147,17 @@ class RagChatServiceImpl(IRagChatService):
except Exception:
followups = []
sources = self._build_sources(context_chunks, dataset_name)
if message_end_payload:
message_end_payload.setdefault("metadata", {})["suggested_questions"] = followups
message_end_metadata = message_end_payload.setdefault("metadata", {})
message_end_metadata["suggested_questions"] = followups
message_end_metadata["retriever_resources"] = sources
await self._append_task_event(task_id, message_end_payload)
await self._finalize_message_record(
conversation_id=conversation_id,
message_id=message_id,
content=collected_answer,
sources=self._build_sources(context_chunks, dataset_name),
sources=sources,
metadata={"suggested_questions": followups, "status": "completed", "task_id": task_id},
)
await self._maybe_schedule_auto_title(