mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-27 02:42:00 +08:00
Feat: record user_id in memory (#13585)
### What problem does this PR solve? Get user_id from canvas and record it. ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@@ -433,7 +433,7 @@ class Message(ComponentBase):
|
||||
return True, "No memory selected."
|
||||
|
||||
message_dict = {
|
||||
"user_id": self._canvas._tenant_id,
|
||||
"user_id": self._param.user_id if hasattr(self._param, "user_id") else "",
|
||||
"agent_id": self._canvas._id,
|
||||
"session_id": self._canvas.task_id,
|
||||
"user_input": self._canvas.get_sys_query(),
|
||||
|
||||
@@ -259,6 +259,7 @@ class Retrieval(ToolBase, ABC):
|
||||
|
||||
async def _retrieve_memory(self, query_text: str):
|
||||
memory_ids: list[str] = [memory_id for memory_id in self._param.memory_ids]
|
||||
user_id: str = self._param.user_id if hasattr(self._param, "user_id") else None
|
||||
memory_list = MemoryService.get_by_ids(memory_ids)
|
||||
if not memory_list:
|
||||
raise Exception("No memory is selected.")
|
||||
@@ -270,7 +271,10 @@ class Retrieval(ToolBase, ABC):
|
||||
vars = {k: o["value"] for k, o in vars.items()}
|
||||
query = self.string_format(query_text, vars)
|
||||
# query message
|
||||
message_list = memory_message_service.query_message({"memory_id": memory_ids}, {
|
||||
filter_dict: dict = {"memory_id": memory_ids}
|
||||
if user_id:
|
||||
filter_dict["user_id"] = user_id
|
||||
message_list = memory_message_service.query_message(filter_dict, {
|
||||
"query": query,
|
||||
"similarity_threshold": self._param.similarity_threshold,
|
||||
"keywords_similarity_weight": self._param.keywords_similarity_weight,
|
||||
|
||||
Reference in New Issue
Block a user