from google.adk.models.google_llm import Gemini
class CachedGemini(Gemini):
_cache: dict[str, list[dict]]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._cache = SqliteDict('./cache.sqlite', autocommit=True)
async def generate_content_async(
self, llm_request: LlmRequest, stream: bool = False
) -> AsyncGenerator[LlmResponse, None]:
cache_key = hashlib.sha256(llm_request.model_dump_json().encode()).hexdigest() + ('_stream' if stream else '_nostream')
if cache_key in self._cache:
print("Cache hit for request")
for cached_response in self._cache[cache_key]:
yield LlmResponse.model_validate(cached_response)
return
events = []
async for llm_response in super().generate_content_async(llm_request, stream):
events.append(llm_response.model_dump())
yield llm_response
self._cache[cache_key] = events
root_agent = Agent(
model=CachedGemini(model=MODEL),
...
)
Thursday, 19 March 2026
adk cached gemini
Subscribe to:
Post Comments (Atom)
adk cached gemini
from google.adk.models.google_llm import Gemini class CachedGemini(Gemini): _cache: dict[str, list[dict]] def __init__(self, *ar...
-
""" This module processes Wikipedia dump files by extracting individual articles and parsing them into a structured format, ...
-
2 Million renderings took 0.875s import java.io.IOException; import java.io.StringWriter; import java.io.Writer; import java.util.HashMap;...
-
docker pull quay.io/unstructured-io/unstructured-api 20gb image. After docker-pull: docker image inspect --format '{{json .}}' ...
No comments:
Post a Comment