您的位置:首页 > 房产 > 家装 > 怎么看kk园区视频_温州市建设工程质量安全管理总站_官网seo怎么做_查数据的网站有哪些

怎么看kk园区视频_温州市建设工程质量安全管理总站_官网seo怎么做_查数据的网站有哪些

2025/2/25 17:26:33 来源:https://blog.csdn.net/fenglingguitar/article/details/145667905  浏览:    关键词:怎么看kk园区视频_温州市建设工程质量安全管理总站_官网seo怎么做_查数据的网站有哪些
怎么看kk园区视频_温州市建设工程质量安全管理总站_官网seo怎么做_查数据的网站有哪些

系列文章索引
LangChain教程 - 系列文章

随着人工智能和大语言模型(LLM)的快速发展,越来越多的工具和平台被引入以简化我们的日常任务。LangChain是一个非常强大的框架,它能够帮助开发者构建与LLM(如OpenAI、Ollama等)进行交互的应用程序。本篇博客将详细介绍如何结合LangChain和Ollama的API来对PDF文档进行自动化总结。

在本示例中,我们将介绍如何通过几个简单的步骤:加载PDF文件、提取其文本内容、根据字数判断总结策略、以及使用Ollama模型生成文档总结。

1. 环境准备

首先,我们需要确保你已经安装了相关的Python库。这些库包括LangChainOllama(你可以通过langchain-ollama库访问),以及PDF处理库PyPDFLoader。如果你还没有安装这些库,可以通过以下命令进行安装:

pip install langchain langchain-ollama PyPDF2

2. 加载PDF文档

使用PyPDFLoader加载PDF文件非常简单。它会将文档内容提取为一个文本列表,接着我们可以将这些内容合并成一个字符串。以下是加载和提取PDF内容的代码示例:

from langchain.document_loaders import PyPDFLoader# 加载PDF文档
pdf_path = "/path/to/your/file.pdf"  # 替换为你的PDF文件路径
loader = PyPDFLoader(pdf_path)# 提取文档内容
documents = loader.load()# 获取文档的内容
content = "".join([doc.page_content for doc in documents])

3. 判断字数并选择处理方法

我们接下来会计算文档的总字数,并根据字数决定如何处理文本。如果字数较少(小于2000字),我们可以直接对全文进行总结。如果字数较多(大于2000字),我们只会提取文档的前1000个字和最后1000个字来进行总结。以下是实现这一逻辑的代码:

# 获取文章字数
content_length = len(content)# 判断文章字数情况并处理
if content_length < 2000:# 如果字数小于2000,直接对全文进行总结text_to_summarize = content
else:# 如果字数大于2000,提取前1000个字和后1000个字start_text = content[:1000]end_text = content[-1000:]text_to_summarize = start_text + "\n\n" + end_text

4. 使用Ollama模型生成总结

在这部分代码中,我们将设置Ollama的大语言模型并创建一个LangChain的链条来生成总结。你可以选择不同的Ollama模型,在这里我们选择了deepseek-r1:7b模型。为了生成总结,我们构建了一个简单的总结提示模板,要求生成的总结字数不超过100字。

from langchain.prompts import PromptTemplate
from langchain_ollama import OllamaLLM# 设置Ollama模型
llm = OllamaLLM(model="deepseek-r1:7b")# 创建总结的提示模板
prompt_template = """
请对以下文本进行总结(100个字以内):{text}总结:
"""# 创建提示模板
prompt = PromptTemplate(template=prompt_template, input_variables=["text"])# 创建LLM链
chain = prompt | llm# 生成总结
summary = chain.invoke({"text": text_to_summarize})# 输出总结
print("Summary:\n", summary)

5. 运行整个流程

将所有部分结合起来,你可以得到一个完整的程序,它能够自动处理PDF文档并生成总结。运行这个程序的步骤如下:

  1. 加载PDF文档:提取文档内容。
  2. 字数判断与处理:根据字数判断是对全文进行总结,还是只取前后部分进行总结。
  3. 生成总结:使用Ollama模型生成总结并输出。

以下是完整的代码示例:

from langchain.document_loaders import PyPDFLoader
from langchain.prompts import PromptTemplate
from langchain_ollama import OllamaLLM# 加载PDF文档
pdf_path = "/path/to/your/file.pdf"  # 替换为你的PDF文件路径
loader = PyPDFLoader(pdf_path)# 提取文档内容
documents = loader.load()# 获取文档的内容
content = "".join([doc.page_content for doc in documents])# 获取文章字数
content_length = len(content)# 判断文章字数情况并处理
if content_length < 2000:# 如果字数小于2000,直接对全文进行总结text_to_summarize = content
else:# 如果字数大于2000,提取前1000个字和后1000个字start_text = content[:1000]end_text = content[-1000:]text_to_summarize = start_text + "\n\n" + end_text# 设置Ollama模型
llm = OllamaLLM(model="deepseek-r1:7b")# 创建总结的提示模板
prompt_template = """
请对以下文本进行总结(100个字以内):{text}总结:
"""# 创建提示模板
prompt = PromptTemplate(template=prompt_template, input_variables=["text"])# 创建LLM链
chain = prompt | llm# 生成总结
summary = chain.invoke({"text": text_to_summarize})# 输出总结
print("Summary:\n", summary)

6. 结语

通过上面的代码示例,我们已经展示了如何结合LangChainOllama模型来处理PDF文档,并生成简洁的总结。这种方法非常适用于需要自动化文档处理和快速获取关键信息的场景。无论是用于新闻文章、学术论文,还是商业报告,这种方法都能为你提供高效的总结功能。

如果你有任何问题或进一步的需求,欢迎在评论区留言交流!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com