热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >langchain实战 | 怎么进行超大文本摘要提取

langchain实战 | 怎么进行超大文本摘要提取

来源:互联网 更新时间:2026-07-30 13:42

文档摘要提取这件事,说穿了就是把一堆密密麻麻的文字,快速拎出最核心的那几条线索。无论你是面对几十页的PDF、一长串客户问答,还是那种恨不得写一万字的博客文章——只要能快速抓到主旨,就能省下大把时间,这道理谁都懂。

问题在于,怎么让程序自动干这个活?答案其实不复杂:借助当前那些能力极强的语言模型(LLMs),通过预设的步骤把文档塞进去,让模型吐出概要。常见的做法有两种,思路都很直观。

第一种:填充法(Stuff)


最简单粗暴。把整篇文档一股脑丢进一个输入提示里,让模型直接总结。这个办法对上下文窗口极大的模型特别友好,比如 OpenAI 的 gpt-3.5-turbo-1106 或者 Anthropic 的 Claude-2——它们能一口气吞下很长的内容。

第二种:映射-归约法(Map-Reduce)


如果文档太长,一次塞不下,那就要拆开处理。“映射”阶段先分别对每个小段做摘要,然后“归约”阶段再把所有小摘要合并成一个最终的总结。这思路有点像分治,稳定且能处理超长文本。

举个例子,假设你要总结一篇博客文章。下面的代码片段展示了用 Langchain 如何快速实现填充法:

from langchain.chains.summarize import load_summarize_chain
from langchain_community.document_loaders import WebBaseLoader
from langchain_openai import ChatOpenAI

# 加载网络文档
loader = WebBaseLoader("<您博客文章的URL>")
docs = loader.load()

# 配置LLM,例如使用OpenAI的模型
llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo-1106")
chain = load_summarize_chain(llm, chain_type="stuff")

# 执行文档总结
summary = chain.run(docs)
print(summary)

跑完上面这段,控制台就会输出文章的概要。如果文档太长导致直塞失败,那就换映射-归约法,先分别摘要再合并。

另外还有另一种变体叫

细化法(Refine)

。它本质上是对映射-归约的改进:迭代地更新答案。每次处理一个新文档时,都会把之前已经生成的中间摘要、当前文档以及所有非文档输入一起丢给 LLM,让它迭代出一个更完善的总结。实现起来也很直接,只要把 chain_type 参数指定为 "refine" 就行:

from langchain_core.documents.base import Document as LangchainDocument
docs = LangchainDocument(page_content=content, metadata={})

from langchain_text_splitters import CharacterTextSplitter
from langchain.chains.summarize import load_summarize_chain

# Define LLM chain
llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo-16k")
chain = load_summarize_chain(llm, chain_type="refine")

text_splitter = CharacterTextSplitter.from_tiktoken_encoder(chunk_size=max_token, chunk_overlap=0)
split_docs = text_splitter.split_documents([docs])
summary = chain.run(split_docs)

总之,这些方法能让原本冗长、杂乱的原始信息,变成清晰、精炼、信息密度高的概要。不管是业务人员、研究人员,还是日常面对信息过载的普通人——这套工具都相当实用。

langchain实战

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc