Better agent execution error handling (#54)

A few quality of life improvements around cache handling and repeated tool usage
This commit is contained in:
João Moura
2024-01-05 11:04:59 -03:00
committed by GitHub
parent 6b054651a7
commit 3f9c4df32d
16 changed files with 38 additions and 43 deletions

20
crewai/agents/cache/cache_handler.py vendored Normal file
View File

@@ -0,0 +1,20 @@
from typing import Optional
from pydantic import PrivateAttr
class CacheHandler:
"""Callback handler for tool usage."""
_cache: PrivateAttr = {}
def __init__(self):
self._cache = {}
def add(self, tool, input, output):
input = input.strip()
self._cache[f"{tool}-{input}"] = output
def read(self, tool, input) -> Optional[str]:
input = input.strip()
return self._cache.get(f"{tool}-{input}")