本文介绍了LangChain框架在大模型应用开发中的应用。LangChain是由哈佛大学发起的开源框架,可用于开发智能体、问答系统等。文章比较了多种LLM开发框架,并详细阐述了基于RAG和Agent两种架构的开发方法。同时介绍了大模型应用开发的四大场景:纯Prompt、Agent+Function Calling、RAG和Fine-tuning,并提供了选择建议。最后讲解了LangChain的核心组件,帮助开发者快速上手大模型应用开发。

前排提示,文末有大模型AGI-CSDN独家资料包哦!

image

1.LangChain概述

LangChain是 2022年10月 ,由哈佛大学的 Harrison Chase (哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。

比如,搭建“智能体”(Agent)、问答系统(QA)、对话机器人、文档搜索系统、企业私有知识库等。

常用的LLM开发框架

开发语言 开发框架 stars数量 推荐指数
Python LangChain 112k ⭐⭐⭐⭐⭐
Python LlamaIndex 43.3k ⭐⭐⭐⭐
Java LangChain4J 8.5k ⭐⭐⭐
Java SpringAl 6.2k ⭐⭐
Java SpringAl Alibaba 5.0k ⭐⭐
C# SemanticKernel 25.5k ⭐⭐⭐

  • LangChain:这些工具里出现最早、最成熟的,适合复杂任务分解和单智能体应用LlamaIndex :专注于高效的索引和检索,适合 RAG 场景。(注意不是Meta开发的)
  • LangChain4J:LangChain还出了Java、JavaScript(LangChain.js)两个语言的版本,
  • LangChain4j的功能略少于LangChain,但是主要的核心功能都是有的
  • SpringAI/SpringAI Alibaba :有待进一步成熟,此外只是简单的对于一些接口进行了封装
  • SemanticKernel :也称为sk,微软推出的,对于C#同学来说,那就是5颗星

基于RAG架构开发(Retrieval-Augmented Generation)


  • RAG:全称Retrieval-Augmented Generation(检索增强生成)
  • 作用:为大模型提供“知识库”,通过处理将数据存储到向量存储中,大模型根据用户输入,在向量存储中匹配需要的数据,并根据数据进行回答

RAG架构图

image

类似结构图:

PixPin_2025-11-28_09-14-06

基于Agent架构开发

对比RAG,Agent更加依赖LLM的推理决策能力,通过增加规划记忆工具调用的能力,构造一个能够独立思考、逐步完成给定目标的智能体。

举例

目前市面上比较火的AI编辑插件:cline本质上也是一个Agent

  • cline 是一款 Visual Studio Code 的开源 AI 编程辅助插件。
  • 它能够利用模型、工具和指令这三个构建模块自主生成代码,还可在获得用户许可后创建和编辑文件、运行命令、使用浏览器等,独立完成复杂的软件开发任务,符合智能体的定义。

Agent架构图

image

一个个数学公式来表示:

Tips

Agent和RAG不是冲突的,两个架构往往可以结合使用,实现1+1>2的效果

大模型应用开发的4个场景

场景1:纯Prompt

  • Prompt是操作大模型的唯一接口
  • 当人看:你说一句,ta回一句,你再说一句,ta再回一句…

image

场景2:Agent + Function Calling

  • Agent:AI 主动提要求
  • Function Calling:需要对接外部系统时,AI 要求执行某个函数
  • 当人看:你问 ta「我明天去杭州出差,要带伞吗?」,ta 让你先看天气预报,你看了告诉ta,ta再告诉你要不要带伞

image

场景3:RAG (Retrieval-Augmented Generation)

RAG:需要补充领域知识时使用

  • Embeddings:把文字转换为更易于相似度计算的编码。这种编码叫向量
  • 向量数据库:把向量存起来,方便查找
  • 向量搜索:根据输入向量,找到最相似的向量

举例:考试答题时,到书上找相关内容,再结合题目组成答案

image

RAG在智能客服中用的最广泛。

场景4:Fine-tuning(精调/微调)

举例:努力学习考试内容,长期记住,活学活用。

image

特点:成本最高;在前面的方式解决不了问题的情况下,再使用。

如何选择

image

核心组件


  • Model I/O模块:使用最多,也最简单
  • Chains 模块: 最重要的模块
  • Retrieval模块、Agents模块:大模型的主要落地场景
  • 在这个基础上,其它组件要么是它们的辅助,要么只是完成常规应用程序的任务。
  • 辅助:⽐如,向量数据库的分块和嵌⼊,⽤于追踪、观测的Callbacks任务:⽐如,Tools,Memory

CSDN独家福利

最后,感谢每一个认真阅读我文章的人,礼尚往来总是要有的,下面资料虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐