Course 04: LangChain:多任务应用开发
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代码逻辑

主要执行流程


更多推荐




所有评论(0)