agentchat.contrib.capabilities.text_compressors
TextCompressor
class TextCompressor(Protocol)
定义了一种用于优化代理人交互的文本压缩协议。
compress_text
def compress_text(text: str, **compression_params) -> Dict[str, Any]
该方法接受一个字符串作为输入,并返回一个包含压缩文本和其他相关信息的字典。压缩后的文本应该存储在字典的 'compressed_text' 键下。 为了计算节省的标记数量,字典应该包括 'origin_tokens' 和 'compressed_tokens' 键。
LLMLingua
class LLMLingua()
使用LLMLingua压缩文本消息,以提高处理和响应生成的效率。
注意:压缩的有效性和结果的标记节省量可能会根据消息内容和用于PromptCompressor的特定配置而有所不同。
__init__
def __init__(prompt_compressor_kwargs: Dict = dict(
model_name="microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank",
use_llmlingua2=True,
device_map="cpu",
),
structured_compression: bool = False) -> None
参数:
prompt_compressor_kwargs
dict - 用于PromptCompressor的关键字参数字典。默认为一个字典,其中model_name设置为"microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank",use_llmlingua2设置为True,device_map设置为"cpu"。structured_compression
bool - 一个指示是否使用结构化压缩的标志。如果为True,则使用PromptCompressor的structured_compress_prompt方法。否则,使用compress_prompt方法。默认为False。
抛出:
ImportError
- 如果未安装llmlingua库。