Skip to main content

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库。