72 lines
2.6 KiB
Python
72 lines
2.6 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
测试 Vertex AI Memory Bank 功能
|
||
"""
|
||
|
||
import asyncio
|
||
import sys
|
||
import os
|
||
|
||
# 添加项目根目录到Python路径
|
||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '.')))
|
||
|
||
from src.jixia.memory.factory import get_memory_backend
|
||
|
||
async def test_vertex_memory_bank():
|
||
"""测试 Vertex Memory Bank 功能"""
|
||
print("🧪 Vertex AI Memory Bank 功能测试\n")
|
||
|
||
try:
|
||
# 获取 Vertex Memory Bank 后端
|
||
print("🔍 正在获取 Vertex Memory Bank 后端...")
|
||
memory_bank = get_memory_backend(prefer='vertex')
|
||
print("✅ 成功获取 Vertex Memory Bank 后端\n")
|
||
|
||
# 测试创建记忆银行
|
||
print("🔍 正在为吕洞宾创建记忆银行...")
|
||
bank_id = await memory_bank.create_memory_bank("lvdongbin", "吕洞宾的记忆银行")
|
||
print(f"✅ 成功为吕洞宾创建记忆银行: {bank_id}\n")
|
||
|
||
# 测试添加记忆
|
||
print("🔍 正在为吕洞宾添加记忆...")
|
||
memory_id = await memory_bank.add_memory(
|
||
agent_name="lvdongbin",
|
||
content="在讨论NVIDIA股票时,我倾向于使用DCF模型评估其内在价值,并关注其在AI领域的竞争优势。",
|
||
memory_type="preference",
|
||
debate_topic="NVIDIA投资分析",
|
||
metadata={"confidence": "high"}
|
||
)
|
||
print(f"✅ 成功为吕洞宾添加记忆: {memory_id}\n")
|
||
|
||
# 测试搜索记忆
|
||
print("🔍 正在搜索吕洞宾关于NVIDIA的记忆...")
|
||
results = await memory_bank.search_memories(
|
||
agent_name="lvdongbin",
|
||
query="NVIDIA",
|
||
memory_type="preference"
|
||
)
|
||
print(f"✅ 搜索完成,找到 {len(results)} 条相关记忆\n")
|
||
|
||
if results:
|
||
print("🔍 搜索结果:")
|
||
for i, result in enumerate(results, 1):
|
||
print(f" {i}. {result['content']}")
|
||
print(f" 相关性评分: {result['relevance_score']:.4f}\n")
|
||
|
||
# 测试获取上下文
|
||
print("🔍 正在获取吕洞宾关于NVIDIA投资分析的上下文...")
|
||
context = await memory_bank.get_agent_context("lvdongbin", "NVIDIA投资分析")
|
||
print("✅ 成功获取上下文\n")
|
||
print("🔍 上下文内容:")
|
||
print(context)
|
||
print("\n")
|
||
|
||
print("🎉 Vertex AI Memory Bank 功能测试完成!")
|
||
|
||
except Exception as e:
|
||
print(f"❌ 测试过程中发生错误: {e}")
|
||
import traceback
|
||
traceback.print_exc()
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(test_vertex_memory_bank()) |