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实例的输入

其他写法:

相关推荐
geovindu7 分钟前
CSharp: Dijkstra Algorithms
开发语言·后端·算法·c#
Maynor9969 分钟前
AI Coding 零基础实战教程|第五部分:完整项目案例实操
java·前端·人工智能·claude code·ai coding
XR12345678813 分钟前
食品饮料与制药行业GMP合规网络建设:无尘车间的网络不能成为污染源
开发语言·网络·php
生戎马25 分钟前
Tomcat Container容器之Engine:StandardEngine _
java·tomcat
学逆向的32 分钟前
汇编——位运算
开发语言·汇编·算法·网络安全
zhangjw3439 分钟前
第29篇:Java伪共享与对象分配:并发性能优化的关键
java·开发语言·性能优化
宠友信息1 小时前
内容社区源码多端数据协议与 Spring Boot 状态流转实现思路
java·spring boot·websocket·uni-app
吃饱了得干活1 小时前
LangChain 多对话模型统一接入工程实践
langchain
Java面试题总结1 小时前
Python 开发技巧 · 高级装饰器 —— 从基础到工业级实战
开发语言·python
一路向北North2 小时前
Spring Security OAuth2.0(19):JWT令牌
java·后端·spring