google / google/adk-java

VertexAiMemoryBankService

未关闭
#448 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
1.7k
派生
420
平均合并
4 天 12 小时
30 天内合并 PR
31

描述

I’m interested in using **VertexAiMemoryBankService** for long-term memory when working with an agent through ADK. I see that the VertexAiMemoryBankService https://github.com/google/adk-python/blob/632bf8b0bcf18ff4e4505e4e5f4c626510f366a2/src/google/adk/memory/vertex_ai_memory_bank_service.py#L38 is implemented in the Python version of ADK, but it’s not yet available in the Java version.

By analogy with the Python version, I can implement my own Java version of VertexAiMemoryBankService (implements BaseMemoryService). I can also create a custom version of **VertexAiRunner** based on `com.google.adk.runner.Runner#Runner(com.google.adk.agents.BaseAgent, java.lang.String, com.google.adk.artifacts.BaseArtifactService, com.google.adk.sessions.BaseSessionService, com.google.adk.memory.BaseMemoryService)`.

**My question is the following:** is it enough to simply implement my own version of **VertexAiMemoryBankService** and pass it into the **Runner** constructor, since the Java ADK already has the functionality for working with long-term memory implemented at this point? In other words, does the Java ADK already know how to add and retrieve the necessary information from memory by itself for **LlmAgent**? Or, apart from implementing my own VertexAiMemoryBankService and passing it to the Runner constructor, would I need to do anything else to make it work? What is the current state of this memory-related functionality as of now?

It seems to me that, in addition to providing the VertexAiMemoryBankService to the agent, I also need to provide the **search_memory** tool (so that the agent can search the memory by itself) and add a callback for writing to the Memory Bank after each user prompt and LLM response using after_agent_callback=[auto_save_to_memory_callback]? Both, and both the **search_memory** tool and the **auto_save_to_memory_callback** should internally use the corresponding methods from **VertexAiMemoryBankService**, right?

贡献指南

打开贡献指南

调研方向

将 src/google/adk/memory/vertex_ai_memory_bank_service.py 中的 Python 实现与 Java 的 BaseMemoryService 以及接受内存服务的 Runner 构造函数进行比较。跟踪 LlmAgent 如何处理内存,然后检查所提到的 search_memory 工具和 auto_save_to_memory_callback 入口点。完成的标准是记录这些部分是否已经集成,或者 Java 缺少哪些功能。

由索引模型根据 Issue 内容生成。

评估

技术栈
google-cloud, java
领域
ai
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。