| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- 代码示例 01: MemoryTool基础操作
- 展示MemoryTool的核心execute方法和基本操作
- """
- from datetime import datetime
- from typing import List
- from hello_agents.tools import MemoryTool
- def memory_tool_execute_demo():
- """MemoryTool execute方法演示"""
- print("🧠 MemoryTool基础操作演示")
- print("=" * 50)
-
- # 初始化MemoryTool
- memory_tool = MemoryTool(
- user_id="demo_user",
- memory_types=["working", "episodic", "semantic", "perceptual"]
- )
-
- print("✅ MemoryTool初始化完成")
- print(f"📋 支持的操作: add, search, summary, stats, update, remove, forget, consolidate, clear_all")
-
- return memory_tool
- def add_memory_demo(memory_tool):
- """添加记忆演示 - 模拟人类记忆编码过程"""
- print("\n📝 添加记忆演示")
- print("-" * 30)
-
- # 添加工作记忆
- result = memory_tool.execute(
- "add",
- content="正在学习HelloAgents框架的记忆系统",
- memory_type="working",
- importance=0.7,
- task_type="learning"
- )
- print(f"工作记忆: {result}")
-
- # 添加情景记忆
- result = memory_tool.execute(
- "add",
- content="2024年开始深入研究AI Agent技术",
- memory_type="episodic",
- importance=0.8,
- event_type="milestone",
- location="研发中心"
- )
- print(f"情景记忆: {result}")
-
- # 添加语义记忆
- result = memory_tool.execute(
- "add",
- content="记忆系统包括工作记忆、情景记忆、语义记忆和感知记忆四种类型",
- memory_type="semantic",
- importance=0.9,
- concept="memory_types",
- domain="cognitive_science"
- )
- print(f"语义记忆: {result}")
-
- # 添加感知记忆
- result = memory_tool.execute(
- "add",
- content="查看了记忆系统的架构图和实现代码",
- memory_type="perceptual",
- importance=0.6,
- modality="document",
- source="technical_documentation"
- )
- print(f"感知记忆: {result}")
- def search_memory_demo(memory_tool):
- """搜索记忆演示 - 实现语义理解的检索"""
- print("\n🔍 搜索记忆演示")
- print("-" * 30)
-
- # 基础搜索
- print("基础搜索 - '记忆系统':")
- result = memory_tool.execute("search", query="记忆系统", limit=3)
- print(result)
-
- # 按类型搜索
- print("\n按类型搜索 - 语义记忆中的'记忆':")
- result = memory_tool.execute(
- "search",
- query="记忆",
- memory_type="semantic",
- limit=2
- )
- print(result)
-
- # 设置重要性阈值
- print("\n高重要性记忆搜索:")
- result = memory_tool.execute(
- "search",
- query="AI Agent",
- min_importance=0.7,
- limit=3
- )
- print(result)
- def memory_summary_demo(memory_tool):
- """记忆摘要演示 - 提供系统全貌"""
- print("\n📋 记忆摘要演示")
- print("-" * 30)
-
- # 获取记忆摘要
- result = memory_tool.execute("summary", limit=5)
- print("记忆摘要:")
- print(result)
-
- # 获取统计信息
- print("\n📊 统计信息:")
- result = memory_tool.execute("stats")
- print(result)
- def memory_management_demo(memory_tool):
- """记忆管理演示 - 遗忘和整合"""
- print("\n⚙️ 记忆管理演示")
- print("-" * 30)
-
- # 添加一个低重要性记忆用于遗忘测试
- memory_tool.execute(
- "add",
- content="这是一个临时的测试记忆,重要性很低",
- memory_type="working",
- importance=0.1
- )
-
- # 基于重要性的遗忘
- print("基于重要性的遗忘 (阈值=0.2):")
- result = memory_tool.execute(
- "forget",
- strategy="importance_based",
- threshold=0.2
- )
- print(result)
-
- # 记忆整合 - 将重要的工作记忆转为情景记忆
- print("\n记忆整合 (working → episodic):")
- result = memory_tool.execute(
- "consolidate",
- from_type="working",
- to_type="episodic",
- importance_threshold=0.6
- )
- print(result)
- def main():
- """主函数"""
- print("🚀 MemoryTool基础操作完整演示")
- print("展示记忆系统的核心功能和操作方法")
- print("=" * 60)
-
- try:
- # 1. 初始化MemoryTool
- memory_tool = memory_tool_execute_demo()
-
- # 2. 添加记忆演示
- add_memory_demo(memory_tool)
-
- # 3. 搜索记忆演示
- search_memory_demo(memory_tool)
-
- # 4. 记忆摘要演示
- memory_summary_demo(memory_tool)
-
- # 5. 记忆管理演示
- memory_management_demo(memory_tool)
-
- print("\n" + "=" * 60)
- print("🎉 MemoryTool基础操作演示完成!")
- print("=" * 60)
-
- print("\n✨ 演示的核心功能:")
- print("1. 🧠 四种记忆类型的添加和管理")
- print("2. 🔍 智能语义搜索和过滤")
- print("3. 📋 记忆摘要和统计分析")
- print("4. ⚙️ 记忆整合和选择性遗忘")
-
- print("\n🎯 设计特点:")
- print("• 统一的execute接口,操作简洁一致")
- print("• 丰富的元数据支持,便于分类和检索")
- print("• 智能的重要性评估和时间衰减机制")
- print("• 模拟人类认知的记忆管理策略")
-
- except Exception as e:
- print(f"\n❌ 演示过程中发生错误: {e}")
- import traceback
- traceback.print_exc()
- if __name__ == "__main__":
- main()
|