使用 Langchain 和 LLM 创建免费的本地 PDF 查询工具
在当今以数据为中心的时代,高效处理、汇总和查询 PDF 文档是一项非常宝贵的技能。本指南提供了开发自己的应用程序以实现这一目标的全面指导。通过利用大型语言模型(LLM)以及 Langchain、Streamlit 和 Ollama 等工具的功能,您可以构建一个完全在本地机器上运行的解决方案。这不仅能确保数据隐私,还能消除与云平台相关的任何成本。这种方法能让您从自己的电脑上私密而有效地管理文档分析,为研究、商业洞察和个人知识管理释放新的潜力。
要点
开发用于分析 PDF 文档的本地应用程序。
利用 Langchain 管理与大型语言模型的交互。
使用 Streamlit 创建直观的用户界面。
使用 Ollama 在本地机器上直接运行大型语言模型。
处理文档摘要和查询,同时维护隐私。
应用 "填充 "和 "map reduce "技术处理文档。
安装和设置所有必需的软件依赖项。
调整应用程序以满足您的特定要求。
在本地进行所有文档分析,确保数据安全。
利用开源、无成本的解决方案,最大限度地减少开支。
本地 LLM PDF 分析简介
本地文档分析的强大功能
在数据安全和成本管理日益受到重视的今天,在本地执行文档分析具有相当大的优势。与基于云的替代方案不同,本地设置可将信息安全地保存在您自己的系统中,让您全权掌控数据。在个人电脑上运行大型语言模型,可以绕过外部提供商的持续费用,为持续使用提供经济可行的选择。集成 Langchain、Streamlit 和 Ollama 等工具有助于开发一个强大、适应性强且保密的文档分析系统。这一策略对于处理私人信息的领域尤其有利,包括金融、医疗保健和法律服务,因为在这些领域,保护数据是重中之重。
为什么要开发自己的 PDF 查询应用程序?
开发自己的 PDF 查询应用程序有几个核心优势。首先,它具有极高的灵活性,使您能够根据自己的确切需求定制应用程序。您可以指定查询类型,调整摘要的深度,设计用户界面以符合您的特定流程。其次,它可以在本地系统中存储文件及其分析结果,从而保证数据的机密性。这一点在处理敏感或专有信息时尤为重要。第三,它消除了对外部服务的依赖,让你完全掌控自己的数据,降低了安全事故或服务中断的威胁。此外,通过使用开源软件,您可以避免昂贵的月租费,并支持社区开发的项目。这种 "自己动手 "的方法促进了文档分析的自立性,提高了整体工作效率和数据保护能力。开放式 WebUI 等功能允许上传文档,但会分段处理。

核心技术和工具
Langchain:协调引擎
Langchain 是一个强大的框架,旨在简化大型语言模型的工作。它提供了一系列工具和结构,可简化由 LLM 驱动的应用程序的构建。使用 Langchain,您可以高效地处理提示、处理链和自动代理,从而为文档处理、摘要和提问构建复杂的工作流程。它的模块化架构可让您组合各种元素,如不同的 LLM、数据输入和结果格式,使其在各种场景下都能发挥极大的作用。Langchain 与本地 LLM 的兼容性及其管理复杂查询的能力,使其成为私人定制文档分析工具的完美基础。它还包括用于以编程方式访问和管理大型语言模型的辅助函数。Langchain 提供 Python 和 JavaScript 两种语言版本,方便用户灵活使用。
Streamlit:构建用户界面
Streamlit 是一个开源 Python 软件包,可直接创建用于机器学习和数据科学的自定义网络应用程序。您只需编写很少的代码就能开发交互式仪表盘和用户界面,因此它是展示文档分析应用程序功能的绝佳选择。Streamlit 直观的应用程序接口(API)允许你用最少的代码整合输入控件、显示结果并生成图表。它与 Python 的流畅兼容性以及修改代码时立即刷新应用程序的功能,使其成为快速开发和启动的高效工具。使用 Streamlit,您可以设计一个清晰的界面,让用户毫不费力地上传文件、输入查询和检查分析结果。它是一个用于构建交互式数据仪表盘的 Python 库。
Ollama:本地服务 LLM
Ollama 是一个用于简化在本地计算机上运行大型语言模型的工具。它能让大型语言模型的下载、设置和服务变得简单明了,让您无需依赖在线服务就能利用大型语言模型的功能。Ollama 可与一系列 LLM(如 Llama 2 和 Mistral)协同工作,并提供一个简单的应用程序接口(API)与它们进行通信。通过使用 Ollama,您可以确保您的文档分析应用程序完全在内部运行,从而保护您的数据并消除对互联网连接的要求。它对系统资源的有效管理和在标准硬件上运行的能力使其成为长期使用的预算友好型选择。Ollama 提供与 OpenAI 标准兼容的 API。Ollama 可以托管模型,以便进行应用集成。
构建 PDF 查询应用程序的分步指南
安装 Ollama 并下载 LLM
创建本地 PDF 查询应用程序的初始阶段是安装 Ollama,它将作为在设备上运行大型语言模型的核心。Ollama 简化了获取、配置和服务 LLM 的程序,有助于轻松开始本地文档分析。要安装 Ollama,请访问 Ollama 官方网站,获取适合你的操作系统(如 macOS 或 Linux)的正确版本。下载后,请遵守网站上的设置指南。安装好 Ollama 后,接下来就是获取 LLM。Ollama 兼容各种 LLM,包括 Llama 2 和 Mistral。在本教程中,我们将使用 Mixtral,这是一个高性能的专家混合模型,权重由 Mistral AI 公开提供。命令是ollama pull mixtral。请注意,下载模型可能需要一些时间。
安装依赖项
要构建文档分析应用程序,您必须安装一些依赖项。这些依赖包包括 Langchain、Streamlit、PyPDF 和其他辅助软件包。所需的依赖包有
- Langchain
- Streamlit
- PyPDF
- OpenAI(集成 Ollama 时需要)
- tiktoken
- python-dotenv
要安装这些软件包,请使用 pip 软件包管理器。建立一个新的虚拟环境,将项目的依赖关系与主 Python 安装隔离开来。使用虚拟环境有助于管理特定于项目的库,并防止与计算机上的其他 Python 工作发生冲突。执行安装脚本以获取依赖项。
常见问题
什么是 Langchain,它如何帮助构建 PDF 查询应用程序?
Langchain 是一个框架,它能让您更轻松地使用大型语言模型。它为开发使用大型语言模型的应用程序提供了工具和结构,包括组织提示、处理序列以及用于文档处理、汇总和查询的自动化工具。
为什么要创建本地 PDF 查询应用程序而不是使用基于云的服务?
创建本地 PDF 查询应用程序可提供卓越的数据安全性,免除持续订阅费用,并使您对自己的信息拥有完全自主权。它避免了对外部提供商的依赖,降低了出现安全问题的可能性,因此非常适合管理机密数据。
在这种设置下,我可以使用不同的 LLM 吗,还是只能使用 Llama 2 和 Mistral?
虽然本指南重点介绍了 Llama 2 和 Mistral,但 Ollama 支持多种 LLM。您可以尝试使用其他可用型号,并根据自己的特定需求和偏好将它们纳入您的应用程序。
相关问题
Langchain 中用于文档摘要的 "填充 "方法是如何工作的?
填充 "方法的工作原理是将所有相关文本放入查询的上下文中,将每个文档合并为语言模型的单个提示。这种方法将完整的文本直接输入语言模型,适用于完全符合模型处理限制的较小文档。填充 "技术对较短的文本效果很好。对于篇幅较长的文档,其他模型往往更有效。
什么是 "映射还原 "方法,它如何用于查询文档?
地图缩减 "方法是一个多阶段过程,它逐页检查以查找相关信息。它需要将文档分成几个部分,分别对每个部分进行总结,然后将这些总结合并,最后输出结果。地图缩减法更适合较大的文件,或者某些文档部分需要更深入调查的情况。要应用 Map Reduce 方法,首先要加载所有文档及其页面。然后,从这些页面中检索文本内容并执行查询。
相关文章
小红书进行组织架构调整:柯南出任总裁,新设AI主营部门Dots及海外业务部门Rednote
4月30日,小红书向全体员工发布内部通告,宣布启动新一轮组织架构调整。此次调整的核心在于将社区、电商和商业化三大业务线与公司的技术系统全面整合。 公司新设了名为“Dots”的AI优先部门,这标志着小红书已正式将AI提升为最高战略优先级,旨在使其从工具性功能转变为核心生产力。在人事任命方面,南(丁玲)被任命为小红书总裁,负责公司核心业务运营,并直接向CEO邢宇汇报。 各业务板块负责人也已明确:智恒将
腾讯旗下“小龙虾”表现远超预期,团队将运力扩大10倍,并致歉及提供补偿
腾讯正式推出全场景AI智能助手“WorkBuddy”,凭借高度集成和低部署门槛,标志着大型模型应用层竞争进入新阶段。该产品在发布当天便引发了业界广泛关注。 用户流量远超预期,导致相关产品腾讯云代码助手(CodeBuddy)出现登录故障及服务不稳定。腾讯云团队随后发布致歉声明,表示技术团队已紧急将容量扩容十倍,目前服务已全面恢复。受影响用户获得了5,000腾讯云代金券作为补偿。业界观察人士将Work
Suno领投方:删除帖子无法填补版权诉讼的漏洞
备受瞩目的AI音乐生成平台Suno正面临一场艰难的版权诉讼,而其领投投资人的坦率言论,可能恰恰为对方提供了他们梦寐以求的证据。 Menlo Ventures(Suno的核心投资者)合伙人C.C. Gong近日删除了一个推文,该推文与公司当前的法律辩护策略直接相悖。在之前的版权诉讼中,Suno的辩护主要依赖“合理使用”的论点,声称AI生成的音乐仅仅是一种“工具”,既不会直接与受版权保护的原创作品竞争
相关专题推荐
评论 (0)
0/500
在当今以数据为中心的时代,高效处理、汇总和查询 PDF 文档是一项非常宝贵的技能。本指南提供了开发自己的应用程序以实现这一目标的全面指导。通过利用大型语言模型(LLM)以及 Langchain、Streamlit 和 Ollama 等工具的功能,您可以构建一个完全在本地机器上运行的解决方案。这不仅能确保数据隐私,还能消除与云平台相关的任何成本。这种方法能让您从自己的电脑上私密而有效地管理文档分析,为研究、商业洞察和个人知识管理释放新的潜力。
要点
开发用于分析 PDF 文档的本地应用程序。
利用 Langchain 管理与大型语言模型的交互。
使用 Streamlit 创建直观的用户界面。
使用 Ollama 在本地机器上直接运行大型语言模型。
处理文档摘要和查询,同时维护隐私。
应用 "填充 "和 "map reduce "技术处理文档。
安装和设置所有必需的软件依赖项。
调整应用程序以满足您的特定要求。
在本地进行所有文档分析,确保数据安全。
利用开源、无成本的解决方案,最大限度地减少开支。
本地 LLM PDF 分析简介
本地文档分析的强大功能
在数据安全和成本管理日益受到重视的今天,在本地执行文档分析具有相当大的优势。与基于云的替代方案不同,本地设置可将信息安全地保存在您自己的系统中,让您全权掌控数据。在个人电脑上运行大型语言模型,可以绕过外部提供商的持续费用,为持续使用提供经济可行的选择。集成 Langchain、Streamlit 和 Ollama 等工具有助于开发一个强大、适应性强且保密的文档分析系统。这一策略对于处理私人信息的领域尤其有利,包括金融、医疗保健和法律服务,因为在这些领域,保护数据是重中之重。
为什么要开发自己的 PDF 查询应用程序?
开发自己的 PDF 查询应用程序有几个核心优势。首先,它具有极高的灵活性,使您能够根据自己的确切需求定制应用程序。您可以指定查询类型,调整摘要的深度,设计用户界面以符合您的特定流程。其次,它可以在本地系统中存储文件及其分析结果,从而保证数据的机密性。这一点在处理敏感或专有信息时尤为重要。第三,它消除了对外部服务的依赖,让你完全掌控自己的数据,降低了安全事故或服务中断的威胁。此外,通过使用开源软件,您可以避免昂贵的月租费,并支持社区开发的项目。这种 "自己动手 "的方法促进了文档分析的自立性,提高了整体工作效率和数据保护能力。开放式 WebUI 等功能允许上传文档,但会分段处理。

核心技术和工具
Langchain:协调引擎
Langchain 是一个强大的框架,旨在简化大型语言模型的工作。它提供了一系列工具和结构,可简化由 LLM 驱动的应用程序的构建。使用 Langchain,您可以高效地处理提示、处理链和自动代理,从而为文档处理、摘要和提问构建复杂的工作流程。它的模块化架构可让您组合各种元素,如不同的 LLM、数据输入和结果格式,使其在各种场景下都能发挥极大的作用。Langchain 与本地 LLM 的兼容性及其管理复杂查询的能力,使其成为私人定制文档分析工具的完美基础。它还包括用于以编程方式访问和管理大型语言模型的辅助函数。Langchain 提供 Python 和 JavaScript 两种语言版本,方便用户灵活使用。
Streamlit:构建用户界面
Streamlit 是一个开源 Python 软件包,可直接创建用于机器学习和数据科学的自定义网络应用程序。您只需编写很少的代码就能开发交互式仪表盘和用户界面,因此它是展示文档分析应用程序功能的绝佳选择。Streamlit 直观的应用程序接口(API)允许你用最少的代码整合输入控件、显示结果并生成图表。它与 Python 的流畅兼容性以及修改代码时立即刷新应用程序的功能,使其成为快速开发和启动的高效工具。使用 Streamlit,您可以设计一个清晰的界面,让用户毫不费力地上传文件、输入查询和检查分析结果。它是一个用于构建交互式数据仪表盘的 Python 库。
Ollama:本地服务 LLM
Ollama 是一个用于简化在本地计算机上运行大型语言模型的工具。它能让大型语言模型的下载、设置和服务变得简单明了,让您无需依赖在线服务就能利用大型语言模型的功能。Ollama 可与一系列 LLM(如 Llama 2 和 Mistral)协同工作,并提供一个简单的应用程序接口(API)与它们进行通信。通过使用 Ollama,您可以确保您的文档分析应用程序完全在内部运行,从而保护您的数据并消除对互联网连接的要求。它对系统资源的有效管理和在标准硬件上运行的能力使其成为长期使用的预算友好型选择。Ollama 提供与 OpenAI 标准兼容的 API。Ollama 可以托管模型,以便进行应用集成。
构建 PDF 查询应用程序的分步指南
安装 Ollama 并下载 LLM
创建本地 PDF 查询应用程序的初始阶段是安装 Ollama,它将作为在设备上运行大型语言模型的核心。Ollama 简化了获取、配置和服务 LLM 的程序,有助于轻松开始本地文档分析。要安装 Ollama,请访问 Ollama 官方网站,获取适合你的操作系统(如 macOS 或 Linux)的正确版本。下载后,请遵守网站上的设置指南。安装好 Ollama 后,接下来就是获取 LLM。Ollama 兼容各种 LLM,包括 Llama 2 和 Mistral。在本教程中,我们将使用 Mixtral,这是一个高性能的专家混合模型,权重由 Mistral AI 公开提供。命令是ollama pull mixtral。请注意,下载模型可能需要一些时间。
安装依赖项
要构建文档分析应用程序,您必须安装一些依赖项。这些依赖包包括 Langchain、Streamlit、PyPDF 和其他辅助软件包。所需的依赖包有
- Langchain
- Streamlit
- PyPDF
- OpenAI(集成 Ollama 时需要)
- tiktoken
- python-dotenv
要安装这些软件包,请使用 pip 软件包管理器。建立一个新的虚拟环境,将项目的依赖关系与主 Python 安装隔离开来。使用虚拟环境有助于管理特定于项目的库,并防止与计算机上的其他 Python 工作发生冲突。执行安装脚本以获取依赖项。
常见问题
什么是 Langchain,它如何帮助构建 PDF 查询应用程序?
Langchain 是一个框架,它能让您更轻松地使用大型语言模型。它为开发使用大型语言模型的应用程序提供了工具和结构,包括组织提示、处理序列以及用于文档处理、汇总和查询的自动化工具。
为什么要创建本地 PDF 查询应用程序而不是使用基于云的服务?
创建本地 PDF 查询应用程序可提供卓越的数据安全性,免除持续订阅费用,并使您对自己的信息拥有完全自主权。它避免了对外部提供商的依赖,降低了出现安全问题的可能性,因此非常适合管理机密数据。
在这种设置下,我可以使用不同的 LLM 吗,还是只能使用 Llama 2 和 Mistral?
虽然本指南重点介绍了 Llama 2 和 Mistral,但 Ollama 支持多种 LLM。您可以尝试使用其他可用型号,并根据自己的特定需求和偏好将它们纳入您的应用程序。
相关问题
Langchain 中用于文档摘要的 "填充 "方法是如何工作的?
填充 "方法的工作原理是将所有相关文本放入查询的上下文中,将每个文档合并为语言模型的单个提示。这种方法将完整的文本直接输入语言模型,适用于完全符合模型处理限制的较小文档。填充 "技术对较短的文本效果很好。对于篇幅较长的文档,其他模型往往更有效。
什么是 "映射还原 "方法,它如何用于查询文档?
地图缩减 "方法是一个多阶段过程,它逐页检查以查找相关信息。它需要将文档分成几个部分,分别对每个部分进行总结,然后将这些总结合并,最后输出结果。地图缩减法更适合较大的文件,或者某些文档部分需要更深入调查的情况。要应用 Map Reduce 方法,首先要加载所有文档及其页面。然后,从这些页面中检索文本内容并执行查询。
小红书进行组织架构调整:柯南出任总裁,新设AI主营部门Dots及海外业务部门Rednote
4月30日,小红书向全体员工发布内部通告,宣布启动新一轮组织架构调整。此次调整的核心在于将社区、电商和商业化三大业务线与公司的技术系统全面整合。 公司新设了名为“Dots”的AI优先部门,这标志着小红书已正式将AI提升为最高战略优先级,旨在使其从工具性功能转变为核心生产力。在人事任命方面,南(丁玲)被任命为小红书总裁,负责公司核心业务运营,并直接向CEO邢宇汇报。 各业务板块负责人也已明确:智恒将
腾讯旗下“小龙虾”表现远超预期,团队将运力扩大10倍,并致歉及提供补偿
腾讯正式推出全场景AI智能助手“WorkBuddy”,凭借高度集成和低部署门槛,标志着大型模型应用层竞争进入新阶段。该产品在发布当天便引发了业界广泛关注。 用户流量远超预期,导致相关产品腾讯云代码助手(CodeBuddy)出现登录故障及服务不稳定。腾讯云团队随后发布致歉声明,表示技术团队已紧急将容量扩容十倍,目前服务已全面恢复。受影响用户获得了5,000腾讯云代金券作为补偿。业界观察人士将Work
Suno领投方:删除帖子无法填补版权诉讼的漏洞
备受瞩目的AI音乐生成平台Suno正面临一场艰难的版权诉讼,而其领投投资人的坦率言论,可能恰恰为对方提供了他们梦寐以求的证据。 Menlo Ventures(Suno的核心投资者)合伙人C.C. Gong近日删除了一个推文,该推文与公司当前的法律辩护策略直接相悖。在之前的版权诉讼中,Suno的辩护主要依赖“合理使用”的论点,声称AI生成的音乐仅仅是一种“工具”,既不会直接与受版权保护的原创作品竞争





首页






