Langchain认知引入

Langchain设计定位

Langchain starts as an open-source development framework for building LLM applications.

Langchain提供了一套工具、组件和接口 ,简化了创建LM应用的过程

LangChain从0.3X到1.X发生了结构性变化

LangChain:多任务应用开发

Langchain认知引入

Langchain设计定位

Langchain starts as an open-source development framework for building LLM applications.

Langchain提供了一套工具、组件和接口 ,简化了创建LM应用的过程

LangChain从0.3X到1.X发生了结构性变化

1)包结构完全重构:

langchain-core:只放抽象基类与LangChain Expression Language (LCEL),所有第三方集成都不直接依赖完整langchain。

langchain-community:社区维护的几十种loader、retriever、tool 等实现。

合作伙伴包独立成库,例如langchain-openai、langchain-anthropic,体积更小、升级更灵活

2)新增官方子项目

LangGraph:用图编排多步、多角色、有状态的工作流,替代过去靠多重Chain嵌套的写法。LangServe:一键把链/代理封装成REST API,自带/invoke、/stream、/batch端点与Swagger 页面。LangSmith:可视化调试、回归测试、在线监控平台,与1.x的回调系统深度打通。

3)API风格全面转向LCEL(链式表达式)

鼓励用|运算符把组件拼成Runnable,而不是继承Chain基类。

Toolkit components

Models:模型,比如GPT-4o

Prompts:提示,包括提示管理、提示优化和提示序列化

Memory:记忆,用来保存和模型交互时的上下文

Indexes:索引,用于结构化文档,方便和模型交互---

如果要构建自己的知识库,就需要各种类型文档的加载,转换,长文本切割,文本向量计算,向量索引存储查询等;

Chains:链,一系列对各种组件的调用

Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止

LangChain整体架构

运行报错和处理方式**

代码回溯,**核心报错原因:**

DeepLearning.ai两年前视频里使用的 openai 库版本 ≥1.0.0,而代码中调用的 openai.ChatCompletion 是旧版(0.28 及以下)接口,已被移除;

Jupyter给出**两种解决方案:**

① 运行 openai migrate 自动升级代码适配新版 API;

② 安装旧版 pip install openai==0.28 兼容原有代码;

代码管道工检修之后,继续运行

langchain组合模式

旧式多重Chain嵌套,现在是LangGraph趋势

Simple Sequential Chain

CASE:prompt I LLM执行链

Sequential Chain

CASE:prompt I LLM执行链

ReAct流程,LLM思考步骤--规划步骤--执行--反思结果,需要自主决策和调用tool

CASE:检索某个城市当前温度,加简单换算

Router Chain---不同目标工具链的并联式架构

Prompt:任务说明和回答模板template

Defoult chain---默认链

当agent将input判断为设置的几种工具链之外时,一种保底/控制错误输出的后手链。

上文demo引用文件的下载链接

OutdoorClothingCatalog_1000.csv · master · valyakuttan / langchain_for_llm · GitLab

配置环境一步一坑,坑坑难过坑坑过**

创建 VectorstoreIndexCreator 实例时,只传了 vectorstore_cls 参数,但该类必须指定 embedding(嵌入模型)

# 补充必填的 embedding 参数 index =

VectorstoreIndexCreator( vectorstore_cls=DocArrayInMemorySearch,

embedding=OpenAIEmbeddings()

# 新增嵌入模型参数 ).from_loaders([loader])

继续施法添加

Question Answering overDocuments

Index-embedding联合检索:

在运行时使用index来找到与传入查询最相关的文本片段

Embedding&vectorstore---Langchain采用的Stuff与其他3种与LLM交互方式

Memory---短时与长存模式

CASE:创建记忆功能的对话

主流AI Agent对比

CASE:搭建故障诊断Agent

网络故障诊断Agent代码逻辑

主要执行流程

Logo

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

更多推荐