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 - 统一调用

