AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


langchain实战 | 怎么进行超大文本摘要提取
发布日期:2024-04-12 19:44:12 浏览次数: 2592 来源:AiBot机器人对话


文档摘要提取是一个处理大量文本信息的实用技术,能够将冗长的文档精简成核心内容的小段落。如果您有一堆文档,比如PDF文档、网页或客户问答等,而您想快速把握文档的主旨,文档摘要提取是一个不错的选择。

目前有一些强大的语言模型(LLMs)可以帮助我们进行文档摘要提取,它们拥有优秀的文本理解和合成能力。这些模型如何工作呢?简单来说,就是通过一些预设的步骤将文档内容输入到模型中,然后由模型输出文档的概要。
常见的两种方法是:
  1. "填充法(Stuff)":简单地将所有文档放入一个单一的输入提示符中。这是一种很简单的方法,适合用在大上下文窗口的模型,例如OpenAI的gpt-3.5-turbo-1106模型或Anthropic的Claude-2模型。
  2. "映射-归约法(Map-Reduce)":在"映射"步骤中分别对每个文档进行摘要,然后通过"归约"步骤将所有摘要合并成一个最终的总结。
如果我们想要总结一个博客文章,这个流程可以通过几行代码实现。安装必要的软件包并设置环境变量之后,我们可以使用 load_summarize_chain 这个函数来创建一个预览管道。
例如,我们可以如下编写代码:

from langchain.chains.summarize import load_summarize_chainfrom langchain_community.document_loaders import WebBaseLoaderfrom 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 LangchainDocumentdocs = LangchainDocument(page_content=content, metadata={})from langchain_text_splitters import CharacterTextSplitterfrom langchain.chains.summarize import load_summarize_chain# Define LLM chainllm = 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)

总之,通过这些技术,我们可以将冗长且可能杂乱无章的信息,转化成清晰、精炼、信息量密集的概要。这项技术对于想要快速吸收信息的业务人员、研究人员甚至是日常的信息消费者来说,都是一个非常有用的工具。






53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询