VertexAiMemoryBankService
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Compare the Python implementation in src/google/adk/memory/vertex_ai_memory_bank_service.py with Java's BaseMemoryService and the Runner constructor that accepts a memory service. Trace how LlmAgent handles memory, then inspect the mentioned search_memory tool and auto_save_to_memory_callback entry points. Done means documenting whether these pieces already integrate or what Java functionality is missing.
Written by the indexing model from the issue text.
Description
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?
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 431
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/adk-java
-
GeminiUtil placeholder user turn ("Continue output. DO NOT look at this line ...") is flagged by prompt injection filtersPossibly taken @innoprej claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
[spring-ai] ToolConverter silently drops enum and items from tool parameter schemasPossibly taken @hirematha claimed this 3 days ago. Openneeds review
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
google/adk-java#1609 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[spring-ai] Streaming responses ending with CJK punctuation (。!?) are misclassified as partial and never persisted to the sessionPossibly taken @hirematha claimed this 3 days ago. Openwaiting on reporter
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
google/adk-java#1608 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[core] Client disconnects don't cancel the model stream (per-step flow is cached) — and there is no public API to cancel an in-flight runPossibly taken @hemasekhar-p claimed this 2 days ago. Openneeds review
google/adk-java#1618 · 6 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[spring-ai] Bridge drops reasoning_content (thinking) — surface it as partial events and/or persist itPossibly taken @hemasekhar-p claimed this 2 days ago. Openneeds review
google/adk-java#1616 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
waiting-for-triage
Difficulty 1/5 Under an hour Newbie friendliness 72/100
spring-cloud/spring-cloud-openfeign#1443 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
ADORSYS-GIS/keycloak-oid4vp-plugin#221 ·
Maintainers usually reply within 2 days
-
status: team-only type: dependency-upgrade
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
spring-projects/spring-boot#52099 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
tchiotludo/akhq#3307 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
objectionary/jeo-maven-plugin#1885 ·
Maintainers usually reply within 4 days