自然语言处理:第七十章 Langchain的长文本总结处理方案

本人项目地址大全:Victor94-king/NLP__ManVictor: 优快云 of ManVictor


写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!


引言

随着大型语言模型(LLM)技术的飞速发展,模型支持的token数量不断增加,从最初的4k、8k扩展到现在的16k、32k,使得我们能够处理更长的文本内容。然而,这一进步也带来了新的挑战:

  • 机器资源不足:尽管模型能够处理更长的文本,但显卡资源可能成为限制因素,导致无法一次性处理全部样本。
  • 理解能力不足:即使资源充足,许多开源模型在理解和总结长文本方面仍存在不足,一次性输入过多token可能导致模型抓不住重点或产生幻觉。

最近在帮人做长文本的QA,一个思路做问题router之后进行判断问题是全局还是局部。如果是全局的话对长文本进行summary再回答。所以这里需要对长本文进行总结,在这里看到langchain有几条处理方式





处理方式

下面都会以代码+解析的形式出现,然后我这边用的Xinference启动的服务,可以参考下。

1. Stuff

这是一种直接的处理长文本的方法,将所有内容一次性输入给LLM。

  • 优点:只需调用一次LLM,上下文完整,便于模型理解全貌。

  • 缺点:对GPU资源和模型理解能力要求高,且存在max_token限制,对于更长的文本仍存在限制。

    在这里插入图片描述

    代码:

    
    from langchain.document_loaders import Docx2txtLoader  # 新增这个导入
    from langchain_openai import ChatOpenAI
    from langchain.prompts import PromptTemplate
    from langchain.chains.llm import LLMChain
    from langchain.chains.combine_documents.stuff import StuffDocumentsChain
    import time
    
    start_time = time.time()  # 记录开始时间
    
    # 导入 docx 文档
    loader = Docx2txtLoader(&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曼城周杰伦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值