用户系统
This commit is contained in:
@@ -70,6 +70,7 @@ async def run_agent_loop(
|
||||
ref_image_url: Optional[str] = None,
|
||||
image_model: Optional[str] = None,
|
||||
session_id: Optional[str] = None,
|
||||
user_id: str = "default_user",
|
||||
) -> AsyncGenerator[dict, None]:
|
||||
"""
|
||||
运行 Agent Loop,以 SSE 事件流形式 yield 结果。
|
||||
@@ -98,7 +99,7 @@ async def run_agent_loop(
|
||||
break
|
||||
|
||||
if last_user_content:
|
||||
search_kwargs = {"query": last_user_content, "user_id": "default_user", "limit": 10}
|
||||
search_kwargs = {"query": last_user_content, "user_id": user_id, "limit": 10}
|
||||
if session_id:
|
||||
search_kwargs["run_id"] = session_id
|
||||
relevant = memory.search(**search_kwargs)
|
||||
@@ -223,7 +224,7 @@ async def run_agent_loop(
|
||||
})
|
||||
continue
|
||||
# 对话正常结束,异步存储记忆
|
||||
async for evt in _store_and_done(messages, session_id):
|
||||
async for evt in _store_and_done(messages, session_id, user_id):
|
||||
yield evt
|
||||
return
|
||||
|
||||
@@ -297,7 +298,7 @@ async def run_agent_loop(
|
||||
# 后续工具调用仍需参考图(InstantStyle 等模型必须有 style_image)
|
||||
|
||||
# 迭代次数用尽,存储记忆后结束
|
||||
async for evt in _store_and_done(messages, session_id):
|
||||
async for evt in _store_and_done(messages, session_id, user_id):
|
||||
yield evt
|
||||
|
||||
|
||||
@@ -305,13 +306,13 @@ async def run_agent_loop(
|
||||
|
||||
|
||||
async def _store_and_done(
|
||||
messages: list[dict], session_id: Optional[str]
|
||||
messages: list[dict], session_id: Optional[str], user_id: str = "default_user"
|
||||
) -> AsyncGenerator[dict, None]:
|
||||
"""触发 Mem0 异步存储后 yield done。存储失败时 yield warning 但不中断。"""
|
||||
try:
|
||||
memory = get_memory()
|
||||
recent = messages[-4:] if len(messages) >= 4 else messages
|
||||
add_kwargs: dict = {"user_id": "default_user"}
|
||||
add_kwargs: dict = {"user_id": user_id}
|
||||
if session_id:
|
||||
add_kwargs["run_id"] = session_id
|
||||
|
||||
|
||||
Reference in New Issue
Block a user