大模型应用开发LangChain框架 - yi

news/2025/12/8 22:31:47/文章来源:https://www.cnblogs.com/yisheng163/p/19323868

LangChain 框架是一个开源工具,充分利用了大型语言模型的强大能力,以便开发各种下游应用。它的目标是为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程。具体来说,LangChain 框架可以实现数据感知和环境互动,也就是说,它能够让语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动。

 

LangChain 的核心组件

LangChian 作为一个大语言模型开发框架,可以将 LLM 模型(对话模型、embedding 模型等)、向量数据库、交互层 Prompt、外部知识、外部代理工具整合到一起,进而可以自由构建 LLM 应用。 LangChain 主要由以下 6 个核心组件组成:

  • 模型输入/输出(Model I/O):与语言模型交互的接口
  • 数据连接(Data connection):与特定应用程序的数据进行交互的接口
  • 链(Chains):将组件组合实现端到端应用。比如后续我们会将搭建检索问答链来完成检索问答。
  • 记忆(Memory):用于链的多次运行之间持久化应用程序状态;
  • 代理(Agents):扩展模型的推理能力。用于复杂的应用的调用序列;
  • 回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列;

在开发过程中,我们可以根据自身需求灵活地进行组合。

 

以知识库助手为例 搭建大模型应用流程

核心功能

将爬取并总结的MarkDown 文件及用户上传文档向量化,并创建知识库;

选择知识库,检索用户提问的知识片段;

提供知识片段与提问,获取大模型回答;

流式回复;

历史对话记录

 

确定技术架构和工具

框架:LangChain
Embedding 模型:GPT、智谱、M3E
数据库:Chroma
大模型:GPT、讯飞星火、文心一言、GLM 等
前端:Gradio 和 Streamlit

 

数据准备与向量知识库构建

 

## 本项目实现原理

加载本地文档 -> 读取文本 -> 文本分割 -> 文本向量化 -> question 向量化 -> 在文本向量中匹配出与问句向量最相似的 top k 个 -> 匹配出的文本作为上下文和问题一起添加到 Prompt 中 -> 提交给 LLM 生成回答。

 

实现明细

收集和整理用户提供的文档

用户常用文档格式有 PDF、TXT、MD 等,首先,我们可以使用 LangChain 的文档加载器模块方便地加载用户提供的文档,或者使用一些成熟的 Python 包进行读取。

由于目前大模型使用 token 的限制,我们需要对读取的文本进行切分,将较长的文本切分为较小的文本,这时一段文本就是一个单位的知识。

将文档词向量化

使用文本嵌入(Embeddings)技术对分割后的文档进行向量化,使语义相似的文本片段具有接近的向量表示。然后,存入向量数据库,完成 索引(index) 的创建。

利用向量数据库对各文档片段进行索引,可以实现快速检索。

将向量化后的文档导入 Chroma 知识库,建立知识库索引

Langchain 集成了超过 30 个不同的向量数据库。Chroma 数据库轻量级且数据存储在内存中,这使得它非常容易启动和开始使用。

将用户知识库内容经过 Embedding 存入向量数据库,然后用户每一次提问也会经过 Embedding,利用向量相关性算法(例如余弦算法)找到最匹配的几个知识库片段,将这些知识库片段作为上下文,与用户问题一起作为 Prompt 提交给 LLM 回答。

大模型集成与 API 连接

集成 GPT、星火、文心、GLM 等大模型,配置 API 连接。
编写代码,实现与大模型 API 的交互,以便获取问题回答。
核心功能实现

构建 Prompt Engineering,实现大模型回答功能,根据用户提问和知识库内容生成回答。
实现流式回复,允许用户进行多轮对话。
添加历史对话记录功能,保存用户与助手的交互历史。
核心功能迭代优化

进行验证评估,收集 Bad Case。
根据 Bad Case 迭代优化核心功能实现。
前端与用户交互界面开发

使用 Gradio 和 Streamlit 搭建前端界面。
实现用户上传文档、创建知识库的功能。
设计用户界面,包括问题输入、知识库选择、历史记录展示等。
部署测试与上线

部署问答助手到服务器或云平台,确保可在互联网上访问。
进行生产环境测试,确保系统稳定。
上线并向用户发布。
维护与持续改进

监测系统性能和用户反馈,及时处理问题。
定期更新知识库,添加新的文档和信息。
收集用户需求,进行系统改进和功能扩展。
整个流程将确保项目从规划、开发、测试到上线和维护都能够顺利进行,为用户提供高质量的基于个人知识库的问答助手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/993642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

侯捷 C++ 系列课程

课程地址 https://www.bilibili.com/video/BV1r6h5zgE2i/?spm_id_from=333.1387.0.0&vd_source=b543022652445d3b2433332fe784ea26 课程内容C++ 面向对象高级开发(上) C++ 面向对象高级开发(下) STL 标准库和泛型…

割点

割点 割点:在一个无向图中,如果删除这个顶点,这个图就不再连通和之前的割边类似 图可以看成一棵树上在连上一些边,分为原有的树边,和非树边 用 \(dfn\) 记录时间戳,当前点的访问时间 用 \(low\) 记录当前点可以回…

2025年渔具实测:新款鲫鱼竿超轻硬,高性价比钓鱼竿真靠谱

垂钓者手中的鱼竿不仅是工具,更是连接自然与乐趣的纽带。一款趁手的渔具,能让浮漂的每一次轻颤都精准传递,让中鱼的瞬间充满掌控力。在渔具行业深耕十余年的品牌中,有这样一个身影,它从电商起步,凭借对品质的坚守…

2025年国产鱼竿十大品牌:优选前十的口碑鱼竿盘点

随着垂钓运动成为大众喜爱的休闲方式,鱼竿作为核心装备,其品质、性能与售后成为钓友关注的焦点。中国鱼竿市场历经多年发展,既有深耕性价比的口碑国货,也有主打高端性能的专业品牌。本文结合2025年市场反馈与用户口…

2025.12.01~2025.12.07

2025.12.01~2025.12.07GDCPC 2023 B Problem \(T\) 组数据。现有位置 \(1, 2, \dots, n\) 排成一排,在位置 \(i\) 处建设基站的代价为 \(a_{i}\)。给定 \(m\) 组限制 \(l_{i}, r_{i}\),表示 \([l_{i}, r_{i}]\) 内至…

MySQL怎么保证高可用

MySQL 高可用本质上就是一句话:避免单点故障 + 故障时能自动切换 + 切换过程业务无感或可接受下面我给你从“面试官视角 + 工程落地视角”把这件事讲透。⭐ MySQL 高可用体系:从低到高的四种级别 1)主从复制(最基础…

2025钓鱼竿品牌前十名,口碑好的牌子都在这:耐用款合集

随着垂钓运动成为越来越多人的休闲选择,鱼竿作为核心装备,其品质直接影响垂钓体验。一款质量好、耐用的鱼竿,能在不同水域和鱼情中展现稳定性能,让钓友更专注于垂钓的乐趣。市场上的鱼竿品牌众多,各有特色,接下来…

## AI浪潮下的冷思考:技术、泡沫与我们的未来

## AI浪潮下的冷思考:技术、泡沫与我们的未来* { margin: 0; padding: 0; box-sizing: border-box } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue&…

CVE-2025-10971:敏感信息不安全存储漏洞深度解析

本文详细分析了CVE-2025-10971漏洞,该漏洞存在于MeetMe移动应用中,涉及敏感信息的不安全存储,可能导致攻击者获取嵌入式敏感数据。文章涵盖了漏洞概述、影响版本、CVSS评分及解决方案。CVE-2025-10971 - 敏感信息不…

Flink学习笔记:时间与Watermark

在前文中,我学习 Flink 的整体架构,接下来的几篇文章,我将重点学习一下 Flink 的几个核心概念。包括时间属性、Watermark、窗口、状态以及容错机制。今天就来学习时间属性和 Watermark。在前文中,我学习 Flink 的整…

Steger 脊线提取算法原理

Steger 脊线提取算法常用于提取激光中心,本文详细解读了该算法。概述 steger 算法主要用于提取线条的中心点以及线条边缘线[1]。如下图所示:理想情况下图像中的线条是对比度非常明显的,符合条形线点模型,其线条截面…

第11章 泛型、trait与生命周期 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

omniinfer vllm v0.9.0整体框架图和pangu7b模型图

参考 https://shen-shanshan.github.io/articles/vllm-v1-整体流程从请求到算子执行/ https://gitee.com/omniai/omniinfer/tree/release_v0.6.0/ https://github.com/vllm-project/vllm/tree/v0.9.0 https://ai.gitco…

异动拉升横盘突破筛选股票

一.设计理念 从上证,深证,创业,科创或者自定义股票池中,用AI检测算法找出异动拉升,放入冠绝榜中,同时分析股票的大单和资金流入,计算近2分钟的主动资金,总的主动资金,近10次异动拉升次数,连续异动拉升次数,近…

ARC 078D

AT_arc078_d\(n \le 15\) 首先,我们来尝试是刻画一下这张图长啥样?(如下图)一定是一条路径,路径上每个点挂着一个连通块,还有一些散块。可以发现,这个结构要求最少删多少不太好算,不如算最多留下多少。 令 \(f…

过碳酸钠源头工厂在哪里?过碳酸钠直销厂家:含氧量高的过碳酸钠厂家推荐

过碳酸钠作为兼具漂白、杀菌功能的“绿色氧化剂”,在洗涤、环保、纺织等领域应用日益广泛。2025年,随着环保标准升级,市场对高含氧量、质量稳定的过碳酸钠需求激增,源头直销厂家因供货保障与成本优势成为采购首选。…

过碳酸钠生产厂家盘点:靠谱过碳酸钠厂家、优质供应商、制造商汇总

在环保政策收紧与绿色化工崛起的背景下,过碳酸钠作为兼具漂白、消毒等多重功能的环保原料,已成为日化、纺织、水处理等领域的核心物资。2025年,市场对优质过碳酸钠的需求持续攀升,选择靠谱的供应商、厂家、制造商及…

国内生产过碳酸钠的厂家有哪些?质量好的过碳酸钠厂家盘点

在环保政策持续收紧与绿色化工产业升级的2025年,过碳酸钠作为一种兼具多重功效的无机化合物,正成为洗涤、纺织、水处理等领域的核心原料。对于采购方而言,选择靠谱的生产厂家,不仅能确保产品符合工艺需求,更能降低…

CTT 2026 游记

集训队互测第 1 场

基于奇异值分解的点云配准原理

详细推导了基于SVD分解的点云配准算法原理问题描述 已知在 \(d\) 维空间 \(\mathbb{R}^d\) 中,存在两个对应点集合 \(P = \left\{ {{{\mathbf{p}}_1},{{\mathbf{p}}_2}, \cdots ,{{\mathbf{p}}_n}} \right\}\) , \(Q …