liurenchaxin/docs/guides/MEMORY_BANK_ACCESS_SOLUTION.md

152 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Vertex AI Memory Bank 访问解决方案
## 问题说明
您遇到的"打不开"问题是因为 **Vertex AI Memory Bank 目前没有独立的Web控制台界面**。Memory Bank是Vertex AI Agent Engine的一个预览功能只能通过API、SDK和命令行工具访问。
## 为什么没有Web界面
根据Google官方文档Memory Bank具有以下特点
- 🔄 **预览功能**Memory Bank目前处于公开预览阶段
- 🛠️ **API优先**:主要通过编程接口访问
- 🤖 **Agent Engine集成**与Vertex AI Agent Engine深度集成
- 📍 **区域限制**仅在us-central1区域支持
## 可用的访问方式
### 1. 编程访问(推荐)
#### Python SDK
```python
# 我们已经验证的方式
from jixia.memory.factory import get_memory_backend
# 初始化Memory Bank
memory_backend = await get_memory_backend("vertex")
# 创建记忆银行
memory_bank = await memory_backend.create_memory_bank(agent_id="your_agent")
# 添加记忆
await memory_bank.add_memory("用户偏好信息")
# 搜索记忆
results = await memory_bank.search_memories("查询内容")
```
#### 直接使用Google Cloud SDK
```python
from google.cloud import aiplatform
from google.adk.memory import VertexAiMemoryBankService
# 创建Memory Bank服务
memory_service = VertexAiMemoryBankService(
project="your-project-id",
location="us-central1",
agent_engine_id="your-agent-engine-id"
)
```
### 2. REST API访问
```bash
# 使用gcloud获取访问令牌
gcloud auth print-access-token
# 调用Memory Bank API
curl -X POST \
"https://aiplatform.googleapis.com/v1/projects/YOUR_PROJECT/locations/us-central1/reasoningEngines/YOUR_ENGINE/memories" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"memory": {"content": "记忆内容"}}'
```
### 3. Agent Development Kit (ADK)
```python
from google import adk
from google.adk.memory import VertexAiMemoryBankService
# 创建带记忆功能的Agent
agent = adk.Agent(
model="gemini-2.0-flash",
name='stateful_agent',
tools=[adk.tools.preload_memory_tool.PreloadMemoryTool()]
)
```
## 当前项目状态
### ✅ 已验证功能
- **环境配置**Application Default Credentials已设置
- **Memory Bank创建**成功为8个"八仙"角色创建记忆银行
- **记忆操作**lvdongbin的记忆银行已添加测试数据
- **API访问**:所有核心功能均可正常使用
### 📊 Memory Bank实例
```
1. ✅ lvdongbin (包含测试数据)
2. ✅ tieguaili
3. ✅ hanxiangzi
4. ✅ lanzaihe
5. ✅ hesengu
6. ✅ zhonghanli
7. ✅ caogujiu
8. ✅ hanzhongli
```
## 替代访问方案
### 1. 使用我们创建的脚本
运行现有的Python脚本来管理Memory Bank
```bash
# 激活虚拟环境
source venv/bin/activate
# 列出所有Memory Bank
python list_memory_banks.py
# 查看详细信息
python detailed_memory_bank_info.py
# 通过API查看
python view_memory_banks_gcp.py
```
### 2. 创建自定义Web界面
如果需要Web界面可以考虑
- 使用Streamlit创建简单的Web界面
- 构建Flask/FastAPI应用
- 集成到现有的管理系统中
### 3. Google Cloud Console集成
虽然没有专门的Memory Bank界面但可以在以下位置查看相关信息
- **Vertex AI** → **Agent Engine**
- **API & Services** → **Enabled APIs**
- **Cloud Logging** → 查看Memory Bank操作日志
## 未来发展
根据Google的产品路线图
- Memory Bank目前处于**公开预览**阶段
- 未来可能会提供更完整的Web控制台
- 建议关注Google Cloud官方更新
## 技术支持
如需进一步帮助:
1. 📚 查看[官方文档](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/memory-bank/overview)
2. 💬 加入[Vertex AI Google Cloud社区](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/memory-bank/overview)
3. 🛠️ 使用我们已验证的代码示例
## 总结
Memory Bank功能完全正常只是访问方式与传统的Web控制台不同。通过编程接口您可以实现所有必要的Memory Bank操作包括创建、添加、搜索和管理记忆。
---
*最后更新2025年1月*