LangChain的哲学理念

哲学理念

LangChain 的使命是:成为使用大语言模型(LLM)构建应用最简单、最灵活且可直接投入生产的起点。

LangChain 的发展由以下几项核心信念驱动:

大语言模型(LLMs)是一项强大而卓越的新技术。

  • 当 LLM 与外部数据源结合时,其能力将更上一层楼。
  • LLM 将重塑未来应用程序的形态——未来的应用将越来越具备“智能体”(agentic)特征。
  • 这场变革仍处于早期阶段。
  • 虽然构建这类智能体应用的原型很容易,但要打造足够可靠、能真正投入生产环境的 Agent,依然极具挑战。

基于此,LangChain 聚焦于两大核心目标:

  1. 我们希望让开发者能够使用最佳模型进行开发。
    不同模型提供商暴露的 API 各不相同——参数不同、消息格式各异。 因此,标准化模型的输入与输出是我们的一项核心工作,让开发者能够无缝切换至最新、最先进的模型,避免被特定厂商锁定(vendor lock-in)。
  2. 我们希望让使用模型来编排与其它数据和计算进行交互的更复杂流程变得容易。
    模型的价值不应仅限于“文本生成”——它们更应作为流程编排引擎,协调与外部数据、工具和系统的复杂交互。 LangChain 让开发者能轻松定义 工具(Tools),供 LLM 动态调用,同时提供对非结构化数据的解析与访问支持。

发展历程

鉴于该领域日新月异,LangChain 也在持续演进。以下是 LangChain 随 LLM 应用范式变迁而发展的简要时间线:

2022-10-24(v0.0.1)

鉴于该领域日新月异,LangChain 也在持续演进。以下是 LangChain 随 LLM 应用范式变迁而发展的简要时间线:

在 ChatGPT 发布前一个月,LangChain 作为 Python 包正式推出。最初包含两大核心组件:

  • LLM 抽象层:统一不同模型的调用方式。
  • “链”(Chains):针对常见场景预设的计算步骤序列。例如 RAG(检索增强生成):先执行检索,再执行生成。

“LangChain” 这个名字即源自 “Language”(语言模型)和 “Chains”(链式流程)。

2022-12

LangChain 首次引入通用型 Agent(智能体)
这些 Agent 基于 ReAct 论文(ReAct = Reasoning + Acting,即“推理+行动”)。它们利用 LLM 生成代表工具调用的 JSON,再解析该 JSON 以决定调用哪些工具。

2023-01

OpenAI 推出 Chat Completion API
此前模型接收字符串并返回字符串;而 ChatCompletions API 改为接收消息列表并返回一条消息。其他模型厂商纷纷跟进,LangChain 也随之升级,全面支持消息列表格式。

2023-01

LangChain 发布 JavaScript 版本
LLM 和 Agent 将改变应用开发方式,而 JavaScript 正是前端与全栈开发者的核心语言。

2023-02

LangChain Inc. 公司成立,围绕开源 LangChain 项目组建团队。
公司愿景是“让智能体无处不在”。团队意识到:尽管 LangChain 是关键一环(极大简化了 LLM 入门),但仍需更多配套组件。

2023-03

OpenAI 在其 API 中推出 函数调用(Function Calling) 功能。
该功能允许 API 直接生成代表工具调用的有效载荷(payload),无需再依赖 JSON 解析。其他厂商迅速跟进,LangChain 也随即将其作为首选的工具调用方式。

2023-06

LangSmith 作为闭源平台发布,由 LangChain Inc. 提供,专注于可观测性(Observability)与评估(Evals)
构建可靠 Agent 的最大痛点在于调试与评估。LangSmith 应运而生,LangChain 也深度集成该平台,实现无缝协同。

2024-01(v0.1.0)

LangChain 发布 0.1.0 版本——首个非 0.0.x 的正式版本。
行业重心从原型验证转向生产落地,LangChain 也因此更加注重稳定性与工程成熟度。

2024-02

LangGraph 作为开源库发布
原始 LangChain 聚焦于 LLM 抽象和高层接口,但缺乏一个底层编排层,让开发者精确控制 Agent 的执行流程。LangGraph 填补了这一空白。

在设计 LangGraph 时,我们汲取了 LangChain 的经验教训,内置了流式响应(Streaming)、持久化执行(Durable Execution)、短期记忆(Short-term Memory)、人在回路(Human-in-the-loop)等关键能力。

2024-06

LangChain 集成数量突破 700 个
所有集成从核心包中剥离,核心集成移至独立包,其余归入 langchain-community。

2024-10

LangGraph 成为构建多于单次 LLM 调用的 AI 应用的首选方式
开发者为提升应用可靠性,需要比高层接口更精细的控制能力。LangGraph 提供了这种底层灵活性。LangChain 中大多数 Chain 和 Agent 被标记为弃用,并提供迁移至 LangGraph 的指南。目前 LangChain 仅保留一个高层抽象:基于 LangGraph 构建的 Agent 抽象,其接口与早期 ReAct Agent 保持一致。

2025-04

模型 API 迈向多模态(Multimodal)
模型开始支持文件、图像、视频等输入。我们相应更新了 langchain-core 的消息格式,使开发者能以标准化方式指定多模态输入。

2025-10-20(v1.0.0)

LangChain 1.0 正式发布,带来两大根本性变革:
全面重构 langchain 中的所有 Chain 与 Agent:

  1. 所有旧有 Chain 和 Agent 均被移除,仅保留一个高层抽象——基于 LangGraph 构建的 Agent 抽象(此前在 LangGraph 中创建,现迁移至 LangChain)。 若您仍在使用旧版 Chain/Agent 且暂不打算升级(注:我们强烈建议升级),可通过安装 langchain-classic 包继续使用。
  2. 统一消息内容格式标准:
    模型 API 输出已从简单的字符串内容,演进为包含推理块(reasoning blocks)、引用(citations)、服务端工具调用(server-side tool calls)等复杂结构。LangChain 对此进行了标准化,确保跨厂商一致性。

后记

可以看到langchain的发展非常迅猛,后续我也将根据官方的迭代不断维护版本更迭的主要日志。更详细的更新日志请参考官方日志

【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文围绕“基于纳什博弈的多微网主体电热双层共享策略研究”展开,结合Matlab代码实现,复现了SCI级别的科研成果。研究聚焦于多个微网主体之间的能源共享问题,引入纳什博弈理论构建双层优化模型,上层为各微网间的非合作博弈策略,下层为各微网内部电热联合优化调度,实现能源高效利用与经济性目标的平衡。文中详细阐述了模型构建、博弈均衡求解、约束处理及算法实现过程,并通过Matlab编程进行仿真验证,展示了多微网在电热耦合条件下的运行特性和共享效益。; 适合人群:具备一定电力系统、优化理论和博弈论基础知识的研究生、科研人员及从事能源互联网、微电网优化等相关领域的工程师。; 使用场景及目标:① 学习如何将纳什博弈应用于多主体能源系统优化;② 掌握双层优化模型的建模与求解方法;③ 复现SCI论文中的仿真案例,提升科研实践能力;④ 为微电网集群协同调度、能源共享机制设计提供技术参考。; 阅读建议:建议读者结合Matlab代码逐行理解模型实现细节,重点关注博弈均衡的求解过程与双层结构的迭代逻辑,同时可尝试修改参数或扩展模型以适应不同应用场景,深化对多主体协同优化机制的理解。
### LangChain 和 LlamaIndex 的异同点及使用场景 #### 差异性分析 LangChain 和 LlamaIndex 是两个用于构建大型语言模型应用的强大框架,尽管它们的目标相似,但在设计哲学、功能集以及适用场景方面存在显著差异。 1. **核心设计理念** - LangChain 提供了一个模块化的架构,允许开发者通过链式调用来组合不同的组件(如提示模板、LLM 接口和工具),从而实现复杂的对话逻辑[^3]。这种灵活性使得它非常适合需要高度定制化的工作流。 - LlamaIndex 则专注于简化文档处理流程,提供了一套开箱即用的功能来索引各种类型的结构化与非结构化数据源,并支持快速检索相关内容片段以便生成高质量的回答[^4]。 2. **集成能力** - 在外部服务或 API 集成方面,LangChain 显得更加全面。它可以轻松连接到多种第三方插件和服务(例如数据库查询、天气预报API等),这使其成为开发多功能聊天机器人或其他交互系统的理想选择[^5]。 - 而 LlamaIndex 更侧重于内部的数据管理和预处理阶段,在这方面表现尤为突出;不过对于那些希望扩展至更广泛生态系统中的应用程序来说可能稍显局限性[^6]。 3. **易用性和学习曲线** - 对新手而言,由于其直观的设计模式加上详尽的官方文档指导,通常会觉得使用 LangChain 上手更快一些[^7]。 - 反观 LlamaIndex ,虽然也提供了丰富的教程资源帮助入门者理解如何操作该平台的各项特性,但由于涉及到较多关于向量存储概念的知识背景要求较高,因此整体难度相对较大一点[^8]。 #### 使用案例对比 以下是基于两者特点所总结出来的典型应用场景: - 如果项目需求涉及频繁切换不同种类的任务类型或者需要用到大量现成可用的服务接口,则推荐选用 LangChain 。比如创建一个多技能型虚拟助手能够完成诸如预订餐厅座位、查找航班信息等多种任务的同时还能保持自然流畅的人机交流体验[^9]。 ```python from langchain import PromptTemplate, LLMChain from langchain.llms import OpenAI template = """Question: {question}""" prompt = PromptTemplate(template=template, input_variables=["question"]) llm_chain = LLMChain(prompt=prompt, llm=OpenAI()) response = llm_chain.run(question="What is the capital city of France?") print(response) ``` - 当主要目的是围绕特定领域内的海量资料库建立问答系统时,可以考虑采用 LlamaIndex 来高效管理这些素材并优化搜索效率。例如医学研究机构利用此技术搭建专业知识咨询服务平台,让用户能迅速获取权威解答而无需手动查阅繁杂文献资料[^10]。 ```python import llama_index as li documents = [ li.Document(text="Python is a programming language."), ] index = li.SimpleDirectoryReader(input_files=documents).load_data() query_engine = index.as_query_engine() result = query_engine.query("Tell me about Python.") print(result) ``` #### 总结评价 综上所述,无论是倾向于灵活组装各类单元还是偏好一站式解决复杂文本挖掘难题,都可以在这两款优秀产品之间找到契合自身实际状况的最佳选项。最终决定应依据具体业务目标和技术栈现状综合考量后再做定夺。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值