实时快召回(search_record)

最近更新时间:2025-12-29 12:24:22

我的收藏

场景描述

快召回

快召回检索通过关键词匹配和向量相似度搜索技术,实现500毫秒级响应时间的高效数据检索,满足对响应速度要求较高的应用场景需求。

核心特性

处理速度:500毫秒级响应时间。
检索方式:关键词匹配 + 向量相似度搜索。
性能优势:速度快、延迟低、成本低。

适用场景

实时对话系统。
即时问答服务。

实现流程

fast_retrieval.py 实现的基本流程,如下所示。
步骤
操作名称
具体实现
关键参数
1
接收用户查询
获取用户输入问题
示例:"推荐几家餐厅"
2
执行记忆搜索
调用 memory_tool.search_user_memory 方法
enable_rerank=True
3
构建提示词
格式化记忆片段为文本列表,注入到提示中
System Prompt 或 User Context
4
生成个性化回复
CrewAI Agent 结合问题和记忆生成响应
历史记忆 + 用户问题

核心代码解析

fast_retrieval.py 代码实现逻辑:通过 memory_tool.py 搜索用户历史记忆,将检索结果格式化后作为上下文输入给 CrewAI 智能代理,生成结合用户个性化记忆的实时对话回复,实现快速响应的个性化 AI 助手。
def chat_with_memory(user_id: str, user_message: str):
# 1. 先用用户原始消息搜索记忆
memory_result = search_user_memory(query=user_message, actor_id=user_id)
formatted_memory = format_memory_for_llm(memory_result)
# 2. 创建 Agent
agent = create_personalized_chat_agent()
# 3. 构建任务,注入记忆上下文
chat_task = Task(
description=f"""
用户ID: {user_id}
用户消息: {user_message}
以下是从用户历史记忆中搜索到的相关信息:
{formatted_memory}
请根据以上记忆信息,为用户提供个性化的回复。
注意:
- 如果找到相关记忆,要在回复中体现对用户的了解
- 如果没有找到相关记忆,也要友好地回复用户
- 回复要自然、亲切,不要生硬地罗列记忆内容
""",
expected_output="一段个性化的、结合用户历史记忆的友好回复",
agent=agent
)
# 4. 执行并返回结果
crew = Crew(agents=[agent], tasks=[chat_task], ...)
return crew.kickoff()

预期结果

运行 python3 fast_retrieval.py,体验交互结果。当用户问 "推荐几家餐厅" 时,系统会召回用户"喜欢川菜"、"素食"等记忆,Agent 据此推荐符合条件的餐厅(如推荐素食餐厅或川菜馆的素菜),而不是通用的推荐。