Add tool cache system to be used by tool methods called by agents #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
If agent experiment 1 queried the chembl API of drugs A, B, C. It is highly likely that over repeated experiments subsequent agents will also query the same information of the same drugs.
Having these decorators that will automatically cache (persistently) these tool call - return will speed up future agent runs and to some extent alleviate the rate limiting problem.
Introduces:
tools/tool_cache/cache_config.py
: allows programmatic setting of cache location on disk, capacity etc.tools/tool_cache/cache_manager.py
: simple module that wraps the pythondiskcache
to access cache and infotools/tool_cache/cache_decorator.py
: module containing the actual decorator for caching, the cache hit/miss logic are hereUpdates
ROADMAP.md
: reflect the addition of functionalityOnce this PR and #6 gets merged a PR implementing the chembl tool will follow.