一、核心特性
·处理速度: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 据此推荐符合条件的餐厅(如推荐素食餐厅或川菜馆的素菜),而不是通用的推荐。