Jean's Blog

一个专注软件测试开发技术的个人博客

0%

LangChain介绍

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。

官方文档:https://python.langchain.com/

中文网:http://doc.cnlangchain.com/

源码地址:https://github.com/langchain-ai/langchain

deeplearning教程:https://learn.deeplearning.ai/langchain

主要支持语言为:

  • python
  • js/ts

注:目前LangChain更新较快,主要学习如何看官方文档,以官方文档更新为准

LangChain的简介

对大语言模型的调用实际上是一次或多次上下文无关的独立时间,如果想要实现聊天、问答、API调用设置一些更复杂的业务场景,直接去调用API是无法实现的。需要在这个过程里面整个不同类型的业务代码逻辑。

LangChain就是对这些通用逻辑做了封装,让使用者可以不用关注在与大模型之间的交互细节,能够更专注在业务本身上,通过组合模块和能力抽象来扩展 LLM 的能力,通过 chain、agent、model 等多种封装工具,提供了扩展 LLM 使用场景、便捷 LLM 调用方式的一系列功能。

总结:LangChain 是一个全方位的、基于大语言模型这种预测能力的应用开发工具

langchain 架构图

如上图所示,LangChain主要具备的核心模块有:

模块 能力介绍
Prompts(提示模板) 模板化、动态选择和管理模型输入
Models(模型) 通过通用接口调用语言模型
Parser(解析) 标准化输出模型返回信息
Memory(记忆) 上下文信息存储功能
Chains(链) 将零散的功能逻辑串联成完整的业务流程
Agents(Agents) 工具类的合集,解决大模型处理不了的问题

通过这些能力,LangChain能够解决的应用场景有:

  • 问答机器人
  • 摘要汇总
  • 聊天机器人
  • 数据查询
  • 与接口交互
  • 理解代码

LangChain的价值

最近几个月, LangChain 已经成为了 AIGC 领域最火的框架。

langchain-starhistory

langchain-pytorch趋势对比

看到这里,可能很多人心存疑问,为什么开发者要用 LangChain 而不是直接使用 OpenAI 所提供的方法呢?原因是目前的 GPT 模型存在以下的缺点,在产品中集成与使用依然需要大量的成本:

  • Max Token 限制
  • 私有化模型
  • 没法查询数据库
  • 数据截止 2021 年 Q3
  • 不能调用第三方 API
  • 无法联网
  • 无法对接外部工具
  • 数据隐私
  • 输出结果不稳定

所以就需要一个框架,作为大语言模型和应用产品之间的一个桥梁和媒介。LangChain 则很好的解决了以上的问题。

LangChain的项目架构

  • 核心层:langchain-core包含主要的抽象概念、接口和核心功能,这部分代码非常稳定
  • 应用层:langchain包提供通用代码库,适用于不同接口实现
  • 社区层:langchain-community包含大量由社区维护的轻量级集成
  • 合作伙伴层:与Hugging Face、Azure、Ollama、阿里云等企业合作推出专用集成包

核心功能

  • 连接语言模型与其他工具/数据源
    LangChain允许LLM与外部数据(如文档、数据库、API)或工具(如计算器、搜索引擎)交互,解决LLM的“静态知识”局限。

  • 模块化组件

    • 模型(Models):支持多种LLM(如OpenAI、Anthropic、Hugging Face等)和嵌入模型。
    • 提示(Prompts):管理模板化提示(Prompt Templates),支持动态输入。
    • 数据检索(Retrieval):连接外部数据源(如文档、数据库),通过检索增强生成(RAG)。
    • 记忆(Memory):存储对话历史或上下文(如聊天机器人)。
    • 链(Chains):将多个模块组合成工作流(例如:检索→生成)。
    • 代理(Agents):让LLM动态调用工具(如搜索、计算、API)完成复杂任务。

发布关键时间节点

2022 年 10 月

  • 首个版本发布,早期聚焦于连接语言模型与外部数据源(如文档、API)。

2023 年

  • 随着 ChatGPT 的流行,LangChain 迅速迭代,新增了 AgentsMemory 管理复杂链(Chains) 等功能。开发者社区快速增长,集成模型扩展到 Anthropic、Hugging Face、Ollama 等。

2024 年

  • 推出配套工具 LangSmith(调试/监控)和 LangServe(API 部署),进一步标准化 LLM 应用开发流程。

该框架还在快速的发展和完善中。

Langchain环境

基础环境依赖

官方文档:https://python.langchain.com/docs/how_to/installation/

常用依赖如下,如有用其他功能依赖可详细见文档

1
2
3
4
5
6
7
8
pip install langchain
pip install langchain-openai
pip install langchain_community
pip install python-dotenv
pip install langgraph
pip install langsmith

pip install langchain_ollama