使用AI摘要来压缩上下文消息

发布时间:2026/6/29 19:17:57
使用AI摘要来压缩上下文消息 一、为什么要对原始记录做摘要要知道重复、冗余、拖沓的文字内容并不高效因为它的信息密度很低很啰嗦同样的意思使用更少的文字即可表达完全没必要照搬原始的对话记录。比如很多小说都有缩写本或者极简本大幅精简后的文字保持了主要的故事框架省去了许多次要的细节描写一样可阅读可理解整体的故事情节没有发生什么变化。就历史对话的上下文而言精简文字内容同样适用这个精简过程被称作“摘要”意思是摘取主要信息。对话摘要既保留了原始记录的关键信息又大幅压缩了原始记录的文字长度可有效降低下次AI会话的Token消耗。Python有成熟的第三方库可以直接对一段中文做自动摘要无需开发者自己写算法非常方便。常见的摘要库有snownlp和sumy分别说明如下。二、中文摘要库 snownlpsnownlp专门做中文的文本处理内置自动摘要功能体积小且速度快。在编写Python代码前要先在命令行执行下面的pip安装命令pip install snownlp然后编写下面的Python摘要测试代码from snownlp import SnowNLP def summarize_text(text, limit2): 自动生成摘要 :param text: 原文 :param limit: 提取几条摘要默认2条 :return: 摘要句子列表 s SnowNLP(text) return s.summary(limit) # 自动提取关键句 # 测试 if __name__ __main__: text 火山方舟是火山引擎推出的大模型平台提供模型训练、推理、评测、精调等全方位功能与服务。 平台支持多种主流大模型接入具有稳定可靠、安全互信的特点。 企业可以通过火山方舟快速构建自己的AI应用降低开发成本与技术门槛。 summary summarize_text(text, limit2) print(自动摘要) for s in summary: print(-, s)运行上面的Python代码输出日志结果如下自动摘要 - 火山方舟是火山引擎推出的大模型平台 - 企业可以通过火山方舟快速构建自己的AI应用可见snownlp库把原始的三个长句摘要为两个短句同时保留了原文的主要意思。三、通用摘要库 sumysumy库的功能更强它支持 TF-IDF、LSA、LexRank、Luhn 等多种摘要算法。在编写Python代码前要先在命令行执行下面的pip安装命令pip install sumy然后编写下面的Python摘要测试代码from sumy.parsers.plaintext import PlaintextParser from sumy.nlp.tokenizers import Tokenizer from sumy.summarizers.lex_rank import LexRankSummarizer def sumy_summary(text, sentences2): parser PlaintextParser.from_string(text, Tokenizer(chinese)) summarizer LexRankSummarizer() summary summarizer(parser.document, sentences) return [str(s) for s in summary] # 测试 if __name__ __main__: text 火山方舟是火山引擎推出的大模型平台提供模型训练、推理、评测、精调等全方位功能与服务。 平台支持多种主流大模型接入具有稳定可靠、安全互信的特点。 企业可以通过火山方舟快速构建自己的AI应用降低开发成本与技术门槛。 summary sumy_summary(text, sentences2) print(自动摘要) for s in summary: print(-, s)运行上面的Python代码输出日志结果如下自动摘要 - 火山方舟是火山引擎推出的大模型平台提供模型训练、推理、评测、精调等全方位功能与服务。 - 平台支持多种主流大模型接入具有稳定可靠、安全互信的特点。可见sumy库直接输出原始文字的两个长句摘要效果不如snownlp库。四、使用在线大模型输出摘要如果开发者预算充足的话也可调用国产大模型在线输出对话内容的摘要文字。比如登录火山引擎的控制台页面 https://console.volcengine.com/ark 开通文本模型 Doubao-1-5-lite-32k 的推理服务会赠送50万Token的免费额度足够初学者的入门使用。在编写火山引擎的Python调用代码前要先在命令行执行下面的pip安装命令pip install --upgrade volcengine-python-sdk[ark]然后编写下面的Python摘要在线生成代码from volcenginesdkarkruntime import Ark client Ark( # 此为默认路径您可根据业务所在地域进行配置 base_urlhttps://ark.cn-beijing.volces.com/api/v3, # 此处请输入您在火山引擎上申请的 API KEY api_key**********, ) text 火山方舟是火山引擎推出的大模型平台提供模型训练、推理、评测、精调等全方位功能与服务。 平台支持多种主流大模型接入具有稳定可靠、安全互信的特点。 企业可以通过火山方舟快速构建自己的AI应用降低开发成本与技术门槛。 completion client.chat.completions.create( # 此处请输入您创建的方舟推理接入点 ID modeldoubao-1-5-lite-32k-******, messages[ {role: system, content: 请对用户输入的内容做精简摘要摘要文字压缩在50字以内}, {role: user, content: text}, ], ) print(自动摘要) print(-, completion.choices[0].message.content)运行上面的Python代码输出日志结果如下