270 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			270 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # Vertex AI Memory Bank 配置指南
 | ||
| 
 | ||
| ## 🏛️ 稷下学宫记忆银行集成
 | ||
| 
 | ||
| 本文档介绍如何为稷下学宫AI辩论系统配置和使用Vertex AI Memory Bank功能。
 | ||
| 
 | ||
| ## 📋 前置要求
 | ||
| 
 | ||
| ### 1. Google Cloud 项目设置
 | ||
| - 有效的 Google Cloud 项目
 | ||
| - 启用 Vertex AI API
 | ||
| - 配置适当的 IAM 权限
 | ||
| 
 | ||
| ### 2. 必需的依赖
 | ||
| ```bash
 | ||
| pip install google-cloud-aiplatform>=1.38.0
 | ||
| pip install google-adk  # 或开发版本
 | ||
| ```
 | ||
| 
 | ||
| ### 3. 环境变量配置
 | ||
| 在 Doppler 或本地环境中设置以下变量:
 | ||
| 
 | ||
| ```bash
 | ||
| # 必需配置
 | ||
| GOOGLE_API_KEY=your_gemini_api_key
 | ||
| GOOGLE_CLOUD_PROJECT_ID=your-project-id
 | ||
| 
 | ||
| # 可选配置
 | ||
| GOOGLE_CLOUD_LOCATION=us-central1  # 默认区域
 | ||
| VERTEX_MEMORY_BANK_ENABLED=TRUE    # 启用记忆银行
 | ||
| GOOGLE_SERVICE_ACCOUNT_KEY=path/to/service-account.json  # 服务账号密钥
 | ||
| ```
 | ||
| 
 | ||
| ## 🚀 快速开始
 | ||
| 
 | ||
| ### 1. 验证配置
 | ||
| ```bash
 | ||
| # 验证 Google ADK 配置
 | ||
| python config/settings.py
 | ||
| 
 | ||
| # 测试 Memory Bank 连接
 | ||
| python tests/test_vertex_memory_bank.py
 | ||
| ```
 | ||
| 
 | ||
| ### 2. 初始化八仙记忆银行
 | ||
| ```python
 | ||
| from src.jixia.memory.vertex_memory_bank import initialize_baxian_memory_banks
 | ||
| 
 | ||
| # 初始化所有八仙的记忆银行
 | ||
| memory_bank = await initialize_baxian_memory_banks(
 | ||
|     project_id="your-project-id",
 | ||
|     location="us-central1"
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ### 3. 创建记忆增强智能体
 | ||
| ```python
 | ||
| from src.jixia.agents.memory_enhanced_agent import create_memory_enhanced_council
 | ||
| 
 | ||
| # 创建记忆增强的八仙议会
 | ||
| council = await create_memory_enhanced_council()
 | ||
| 
 | ||
| # 进行记忆增强辩论
 | ||
| result = await council.conduct_memory_debate(
 | ||
|     topic="NVIDIA股票投资分析",
 | ||
|     participants=["tieguaili", "lvdongbin", "hexiangu"],
 | ||
|     rounds=3
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ## 🎭 八仙记忆特性
 | ||
| 
 | ||
| 每位仙人都有独特的记忆重点和学习模式:
 | ||
| 
 | ||
| ### 铁拐李 (逆向投资大师)
 | ||
| - **记忆重点**: 市场异常、逆向案例、风险警示、反向策略
 | ||
| - **学习模式**: 关注市场共识的反面,记住历史上的逆向成功案例
 | ||
| 
 | ||
| ### 吕洞宾 (理性分析者)
 | ||
| - **记忆重点**: 技术分析、数据洞察、逻辑推理、理性决策
 | ||
| - **学习模式**: 基于数据和逻辑的严密分析,记住成功的分析框架
 | ||
| 
 | ||
| ### 何仙姑 (直觉洞察者)
 | ||
| - **记忆重点**: 市场情绪、直觉判断、情感因素、人性洞察
 | ||
| - **学习模式**: 关注市场情绪变化,记住情感驱动的市场事件
 | ||
| 
 | ||
| ### 张果老 (历史智慧者)
 | ||
| - **记忆重点**: 历史案例、长期趋势、周期规律、经验教训
 | ||
| - **学习模式**: 从历史中学习,记住重要的历史模式和教训
 | ||
| 
 | ||
| ### 汉钟离 (平衡协调者)
 | ||
| - **记忆重点**: 平衡策略、综合分析、协调方案、稳健建议
 | ||
| - **学习模式**: 寻求各方观点的平衡,记住成功的协调案例
 | ||
| 
 | ||
| ### 蓝采和 (创新思维者)
 | ||
| - **记忆重点**: 创新机会、新兴趋势、潜力发现、灵活策略
 | ||
| - **学习模式**: 发现新兴机会,记住创新投资的成功案例
 | ||
| 
 | ||
| ### 韩湘子 (艺术感知者)
 | ||
| - **记忆重点**: 美学趋势、创意洞察、感性分析、艺术视角
 | ||
| - **学习模式**: 从美学角度分析市场,记住艺术和创意相关的投资
 | ||
| 
 | ||
| ### 曹国舅 (实务执行者)
 | ||
| - **记忆重点**: 执行策略、机构动向、实务操作、专业分析
 | ||
| - **学习模式**: 关注实际执行,记住机构操作和专业分析
 | ||
| 
 | ||
| ## 🔧 高级配置
 | ||
| 
 | ||
| ### 1. 自定义记忆类型
 | ||
| ```python
 | ||
| # 支持的记忆类型
 | ||
| MEMORY_TYPES = [
 | ||
|     "conversation",  # 对话记忆
 | ||
|     "preference",    # 偏好记忆
 | ||
|     "knowledge",     # 知识记忆
 | ||
|     "strategy"       # 策略记忆
 | ||
| ]
 | ||
| 
 | ||
| # 添加自定义记忆
 | ||
| await memory_bank.add_memory(
 | ||
|     agent_name="tieguaili",
 | ||
|     content="在熊市中,逆向投资策略往往更有效",
 | ||
|     memory_type="strategy",
 | ||
|     debate_topic="市场策略",
 | ||
|     metadata={
 | ||
|         "market_condition": "bear_market",
 | ||
|         "confidence": 0.8,
 | ||
|         "source": "historical_analysis"
 | ||
|     }
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ### 2. 记忆搜索和过滤
 | ||
| ```python
 | ||
| # 搜索特定类型的记忆
 | ||
| strategy_memories = await memory_bank.search_memories(
 | ||
|     agent_name="tieguaili",
 | ||
|     query="逆向投资",
 | ||
|     memory_type="strategy",
 | ||
|     limit=10
 | ||
| )
 | ||
| 
 | ||
| # 获取智能体的完整上下文
 | ||
| context = await memory_bank.get_agent_context(
 | ||
|     agent_name="tieguaili",
 | ||
|     debate_topic="NVIDIA投资分析"
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ### 3. 辩论会话保存
 | ||
| ```python
 | ||
| # 自动保存辩论会话
 | ||
| await memory_bank.save_debate_session(
 | ||
|     debate_topic="比特币投资价值",
 | ||
|     participants=["tieguaili", "lvdongbin", "hexiangu"],
 | ||
|     conversation_history=conversation_history,
 | ||
|     outcomes={
 | ||
|         "winner": "tieguaili",
 | ||
|         "key_insights": ["逆向思维在加密货币投资中的重要性"],
 | ||
|         "consensus": "需要更谨慎的风险管理"
 | ||
|     }
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ## 📊 监控和管理
 | ||
| 
 | ||
| ### 1. 记忆银行状态检查
 | ||
| ```python
 | ||
| # 检查记忆银行状态
 | ||
| for agent_name, bank_name in memory_bank.memory_banks.items():
 | ||
|     chinese_name = memory_bank.baxian_agents[agent_name]
 | ||
|     print(f"{chinese_name}: {bank_name}")
 | ||
| ```
 | ||
| 
 | ||
| ### 2. 记忆使用统计
 | ||
| ```python
 | ||
| # 获取记忆统计信息
 | ||
| stats = await memory_bank.get_memory_stats(agent_name="tieguaili")
 | ||
| print(f"总记忆数: {stats['total_memories']}")
 | ||
| print(f"对话记忆: {stats['conversation_count']}")
 | ||
| print(f"策略记忆: {stats['strategy_count']}")
 | ||
| ```
 | ||
| 
 | ||
| ### 3. 记忆清理和维护
 | ||
| ```python
 | ||
| # 清理过期记忆(如果需要)
 | ||
| await memory_bank.cleanup_old_memories(
 | ||
|     agent_name="tieguaili",
 | ||
|     days_old=30,
 | ||
|     memory_type="conversation"
 | ||
| )
 | ||
| ```
 | ||
| 
 | ||
| ## 🔒 安全和隐私
 | ||
| 
 | ||
| ### 1. 数据加密
 | ||
| - 所有记忆数据在传输和存储时都会加密
 | ||
| - 使用 Google Cloud 的企业级安全措施
 | ||
| 
 | ||
| ### 2. 访问控制
 | ||
| - 每个智能体只能访问自己的记忆银行
 | ||
| - 通过 IAM 控制项目级别的访问权限
 | ||
| 
 | ||
| ### 3. 数据保留
 | ||
| - 可以配置记忆数据的保留期限
 | ||
| - 支持手动删除敏感记忆
 | ||
| 
 | ||
| ## 🚨 故障排除
 | ||
| 
 | ||
| ### 常见问题
 | ||
| 
 | ||
| #### 1. 项目ID未配置
 | ||
| ```
 | ||
| ❌ Google Cloud Project ID 未配置
 | ||
| ```
 | ||
| **解决方案**: 设置 `GOOGLE_CLOUD_PROJECT_ID` 环境变量
 | ||
| 
 | ||
| #### 2. API权限不足
 | ||
| ```
 | ||
| ❌ 403 Forbidden: Vertex AI API access denied
 | ||
| ```
 | ||
| **解决方案**: 
 | ||
| - 在 Google Cloud Console 中启用 Vertex AI API
 | ||
| - 确保服务账号有适当的权限
 | ||
| 
 | ||
| #### 3. 记忆银行创建失败
 | ||
| ```
 | ||
| ❌ 创建记忆银行失败: Region not supported
 | ||
| ```
 | ||
| **解决方案**: 
 | ||
| - 检查 `GOOGLE_CLOUD_LOCATION` 设置
 | ||
| - 使用支持 Memory Bank 的区域(如 us-central1)
 | ||
| 
 | ||
| #### 4. 依赖包缺失
 | ||
| ```
 | ||
| ❌ Google Cloud AI Platform 未安装
 | ||
| ```
 | ||
| **解决方案**: 
 | ||
| ```bash
 | ||
| pip install google-cloud-aiplatform>=1.38.0
 | ||
| ```
 | ||
| 
 | ||
| ### 调试模式
 | ||
| ```python
 | ||
| # 启用详细日志
 | ||
| import logging
 | ||
| logging.basicConfig(level=logging.DEBUG)
 | ||
| 
 | ||
| # 测试连接
 | ||
| python tests/test_vertex_memory_bank.py
 | ||
| ```
 | ||
| 
 | ||
| ## 📚 参考资源
 | ||
| 
 | ||
| - [Vertex AI Memory Bank 官方文档](https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-memory-bank-in-public-preview)
 | ||
| - [Google ADK 文档](https://github.com/google/adk-python)
 | ||
| - [稷下学宫项目文档](../README.md)
 | ||
| 
 | ||
| ## 🤝 贡献指南
 | ||
| 
 | ||
| 如果你想为 Memory Bank 功能贡献代码:
 | ||
| 
 | ||
| 1. 确保所有新功能都有对应的测试
 | ||
| 2. 遵循现有的代码风格和注释规范
 | ||
| 3. 更新相关文档
 | ||
| 4. 提交 Pull Request 前运行完整的测试套件
 | ||
| 
 | ||
| ---
 | ||
| 
 | ||
| **让AI辩论照亮投资智慧,记忆银行让智慧永续传承** 🏛️✨ |