公告

微信

欢迎大家私信交流

Skip to content

lanchain 总结

模型输出

BaseChatmModel

model message - role - user - system - content

提示词输入

PromptTemplate - 对话 ChatPromptTemplate - 组合 PipelinePromptTemplate 组合 ChatPromptTemplate - 对话记录 MessagePlaceHolder - 少量案例 FewShotPromptTemplate - 语义选择 - 长度选择

模型输出

  • json schema
  • tool call

通过 model.withStructuredOutput 能够实现对齐数据库表结构的输出

OutputParser - 字符串 - 结构体 某种json - xml - json tool_call 信息 流式输出

工具 / MCP

MCP 跨进程 tool - 本地 stdio - 远端 http 通信

getTools bindTools

输出存储

  • massage进程内存
  • ChatMessageApi
    • 内存里
    • 存nosql
    • 存文件 file
    • 通过orm存关系型数据库 mysql...

memory 管理策略 - 截断 - 总结 - 检索 - 向量化 - 向量数据库 - Loader - Splitter - Query

LCEL

组件实现Runnable接口 - invoke - stream - batch

Runnable - 第一个参数类型 是输入 - 第二个类型参数 是输出

声明式

管道式拼接

callback 回调 - 重试 - 备选方案 - 配置

api - 顺序执行 sequence - 函数包装 Lambda - 并行执行 Map - 分支执行 if-else Branch - 路由执行 switch Route - 循环执行 Each - 拿到原始输入 Passthrough - 取对象属性 Pick - 记忆 Memory

函数自动转化RunnableLambda 对象自动转成RunnableMap

三步曲 - 分析流程、拆分原子步骤 - 根据步骤之间的关系、选择对应Runnable api - 统一调用

总结