PyLMKit(7):使用大模型提取长文本摘要

日期:2024-3-16

1.长文本摘要

使用大模型针对长文本进行摘要提取:支持短文本、长文本摘要提取。

  • 单个文本摘要提取:summary
  • 批量文本摘要提取:batch_summary

2.下载安装

pip install pylmkit -U

3.python实现

import os
from pylmkit.llms import ChatQianfan
from pylmkit.app import summary, batch_summary


# 百度
os.environ['qianfan_ak'] = ""
os.environ['qianfan_sk'] = ""
os.environ['model'] = ""


def worker(chunk):
    return model.invoke(f"提取下面内容的摘要:\n\ncontent: {chunk}")


model = ChatQianfan()
text = """
对话机器人 ChatGLM(alpha 内测版:QAGLM),这是一个初具问答和对话功能的千亿中
英语言模型, 并针对中文进行了优化,现已开启邀请制内测,后续还会逐步扩大内测范围。
与此同时,继开源 GLM-130B 千亿基座模型之后,我们正式开源最新的中英双语对话 GLM 模
型: ChatGLM-6B,结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量
化级别下最低只需 6GB 显存)。经过约 1T 标识符的中英双语训练,辅以监督微调、 反馈自
助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 虽然规模不及千亿模型,但
大大降低了用户部署的门槛,并且已经能生成相当符合人类偏好的回答。
"""
# 单个文本摘要:支持短文本、长文本摘要提取
summary1 = summary(text,
                   worker,
                   max_chunk_size=1000,  # 当大于最大长度时,将采用分段提取摘要,然后在汇总摘要
                   show_progress=True,  # 进度条
                   max_summary_size=500,  # 当汇总后的摘要长度大于最大长度时,将采用分段提取摘要,然后在汇总摘要
                   max_workers=5  # 最大线程数
                   )
print(summary1)

# 批量文本摘要:支持短文本、长文本摘要提取
summary2 = batch_summary(
    texts=[text[:int(len(text)/2)], text[int(len(text)/2):]],
    worker=worker,
    max_chunk_size=1000,  # 当大于最大长度时,将采用分段提取摘要,然后在汇总摘要
    show_progress=True,  # 进度条
    max_summary_size=500,  # 当汇总后的摘要长度大于最大长度时,将采用分段提取摘要,然后在汇总摘要
    max_workers=5  # 最大线程数
)
print(summary2)

运行结果

extract summary ...: 100%|██████████| 1/1 [00:02<00:00,  2.80s/it]
对话机器人ChatGLM(内测版)是一款针对中文优化的千亿中英双语对话模型,现已开启邀请制内测,未来会扩大内测范围。该模型采用开源的ChatGLM-6B模型,可以在消费级的显卡上进行本地部署,采用量化技术降低了用户部署的门槛。该模型经过中英双语训练,采用多种技术加持,可以生成符合人类偏好的回答。
extract batch summary ...:   0%|          | 0/2 [00:00<?, ?it/s]
extract summary ...:   0%|          | 0/1 [00:00<?, ?it/s]
extract summary ...: 100%|██████████| 1/1 [00:01<00:00,  1.63s/it]
extract batch summary ...:  50%|█████     | 1/2 [00:02<00:02,  2.95s/it]
extract summary ...:   0%|          | 0/1 [00:00<?, ?it/s]
extract summary ...: 100%|██████████| 1/1 [00:01<00:00,  1.75s/it]
['对话机器人 ChatGLM 已开启邀请制内测,具有问答和对话功能,针对中文进行了优化。该模型是一个千亿中英双语模型,已开源中英双语对话 GLM 模型 ChatGLM-6B,并已结合模型。后续会扩大内测范围。', '量化技术使得用户可以在消费级的显卡上进行本地部署,最低只需 6GB 显存。ChatGLM-6B 模型经过中英双语训练和监督微调、反馈自\n助、人类反馈强化学习等技术加持,规模虽不及千亿模型,但大大降低了用户部署的门槛,并且能够生成相当符合人类偏好的回答。该模型适用于本地部署,具有较低的资源要求。']
extract batch summary ...: 100%|██████████| 2/2 [00:07<00:00,  3.57s/it]

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txhy2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值