Langchain快速上手编程-Runnable 与 LCEL

  1. Runnable 接口
    1. Runnable 接口 是 使用 Langchain 组件的基础
  2. Runnable 定义了一个标准接口,允许 Runnable组件(Runnable提供的方法):
    1. Invoked(调用):单个输入转化为输出
    2. Batched(批处理):多个输入被有效的转化为输出
    3. Streamed(流式处理):输出在生成时进行流式传输
    4. Inspected(检查):可以访问有关 Runnable 的输入,输出,和配置的原理图信息
    5. Composed(组合):可以组合多个 Runnable ,为了使用 LCEL 协同工作以创建复杂的管道
  3. 在简单的Langchain的使用中 model 和 解析器 都是 Runnable 街斗的示例,都使用了 Inbvoked 的能力

如果使用 接入原生大模型,会存在一个问题---->切换大模型困难

而在 Langchain 中,只需要 再加一行代码:model = ChatGoogleGenerativeAI()

然后使用 invoke 就可以切换大模型

LCEL(Langchain Expression Language)-----链(编排解决方案)

LCEL:采用声明性方法,从现有 Runnable 对象构件新的Runnable对象,通过LCEL构建出新的 Runnable 对象,被称为 RunnableSequence,表示可运行序列。RunnableSequence 就是一种链。通过调试,就能发现,chain 的类型就是 RunnableSequence。

RunnableSequence 也是 Runnable 接口 的示例,它是实现了 完整的 Runnable 接口,因此可以用其他任何 Runnable相同的姿势使用

上一个 Runnable示例(组件)的执行(.invoke)结果 传输给 下一个 Runnable实例的输入

其他写法:

相关推荐
ShiXZ2134 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php
码农大叔的博客4 小时前
golang示例:switch
开发语言·后端·golang
个 人 练 习 生4 小时前
数据结构入门:算法复杂度
开发语言·数据结构·经验分享·学习·程序人生·算法
一只叫煤球的猫4 小时前
Spring AI 2.0 源码解析(二):Starter 如何自动装配 ChatClient ?
后端·面试·langchain
W_326004 小时前
Python-OpenCV边缘检测与阈值分割:Sobel、Scharr、Laplacian、Canny、全局与自适应阈值
开发语言·图像处理·python·opencv·机器学习
其实防守也摸鱼4 小时前
红队技能总结导图:从入门到精通的完整知识体系
开发语言·人工智能·学习·安全·web安全
聊浮游4 小时前
JAVA2026最新全套学习资料、学习路线
java·开发语言·jvm·mysql·spring·maven·idea
MacroZheng4 小时前
完美替代 Navicat!这款内置 AI 的数据库工具,太香了!
java·后端·mysql
SamDeepThinking5 小时前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
Zane19945 小时前
接口都能写默认实现了,为什么还需要抽象类
java·后端