agentchat.contrib.capabilities.transforms_util
cache_key
def cache_key(content: MessageContentType, *args: Hashable) -> str
计算给定消息内容和任何其他可哈希参数的缓存键。
参数:
content
MessageContentType - 用于计算缓存键的消息内容。*args
- 包含在缓存键中的任何其他可哈希参数。
cache_content_get
def cache_content_get(cache: Optional[AbstractCache],
key: str) -> Optional[Tuple[MessageContentType, ...]]
从缓存中检索缓存内容。
参数:
cache
None 或 AbstractCache - 用于从中检索内容的缓存。如果为 None,则忽略缓存。key
str - 用于检索内容的键。
cache_content_set
def cache_content_set(cache: Optional[AbstractCache], key: str,
content: MessageContentType, *extra_values)
将内容设置到缓存中。
参数:
cache
None 或 AbstractCache - 用于设置内容的缓存。如果为 None,则忽略缓存。key
str - 用于设置内容的键。content
MessageContentType - 要设置到缓存中的消息内容。*extra_values
- 传递给缓存的额外值。
达到最小令牌数
def min_tokens_reached(messages: List[Dict],
min_tokens: Optional[int]) -> bool
如果消息中的令牌总数大于或等于指定值,则返回True。
参数:
messages
List[Dict] - 要检查的消息列表。
count_text_tokens
def count_text_tokens(content: MessageContentType) -> int
计算给定消息内容中的文本标记数量。
参数:
content
MessageContentType - 用于计算文本令牌数量的消息内容。
is_content_right_type
def is_content_right_type(content: Any) -> bool
一个辅助函数,用于检查传入的内容是否为正确的类型。
is_content_text_empty
def is_content_text_empty(content: MessageContentType) -> bool
检查消息内容是否不包含任何文本。
参数:
content
MessageContentType - 要检查的消息内容。
should_transform_message
def should_transform_message(message: Dict[str, Any],
filter_dict: Optional[Dict[str, Any]],
exclude: bool) -> bool
根据过滤字典验证是否应应用转换。
参数:
message
Dict[str, Any] - 要验证的消息。filter_dict
None or Dict[str, Any] - 用于验证的过滤字典。如果为None,则始终应用转换。exclude
bool - 是否排除符合过滤字典的消息。