实用笔记:LangChain系列第一篇——理解模型、提示词与链式结构
《实用笔记》操作指南:LangChain系列第一篇——理解模型、提示词与链式结构;同时为采用该架构的团队提供合同模板、校验规则以及可直接插入的代码片段。
可将此内容视为《LangChain系列第1篇:理解模型、提示词、链式结构、内存、索引与智能体》中理念的面向操作员的简化版本:清晰的阶段划分、有序的代码模块,以及能在交接过程中保留的恢复说明。 将“概览”阶段视为可量化的界面使用效果最佳。在扩大范围之前,先记录一份理想的操作日志、一个故障案例以及回滚说明。 在功能结果旁同时记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。
Langchain简介:
在 Langchain 入门阶段,应在修改代码之前明确输入内容、该步骤的负责人以及终止标准。操作员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 配置信息应置于应用程序代码之外。环境文件、密钥存储和功能标志应集中存放,以便操作员无需查看整个流程即可进行审计。 当下一步是代码或工具调用时,优先使用具有架构验证的结构化输出,而非自由形式的文本。
LangChain 的优势:
在进入 LangChain 阶段时,应在修改代码之前明确输入内容、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 需同时记录正常流程与异常恢复路径。重试机制、人工审核环节以及错误处理都是产品本身的组成部分,而非后续需要补充的功能。 当下一步操作为代码执行或工具调用时,应优先使用具有结构化格式且经过模式验证的输出,而非自由形式的文本。
1. 与模型无关
在“1模型无关”阶段,修改代码之前需明确输入参数、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 相较于冗长的脚本,更应采用小型、可测试的单元。当某一步骤失败时,故障原因应能明确指向某个具体职责,而非整个复杂的流程。 如果后续步骤是代码调用或工具调用,相比自由形式的文字描述,带有结构化格式及模式验证的输出更为合适。 在“1模型无关”阶段,修改代码之前需明确输入参数、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 除了功能结果外,还需记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。
2. 可重复使用的提示词模板
在处理“可重复使用的提示词模板”这一阶段时,首先需明确相关约定:所需的输入参数、成功标志以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 应将配置信息置于应用程序代码之外。环境文件、密钥存储以及功能开关应集中存放于一个位置,这样操作人员无需查看整个系统结构即可进行审核。 需缓存稳定的系统指令和工具架构。重复发送相同的开头信息是导致资源浪费的常见原因。
3. 简化的 AI 工作流
在完成三个简化版AI工作流阶段时,首先写下相关契约:所需输入、成功标志以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。 同时记录正常流程和故障恢复流程。重试机制、人工审核环节以及死信处理都是产品本身的组成部分,而非后续需要补充的功能。 缓存稳定的系统指令和工具架构。重复发送相同的开头信息是导致资源浪费的常见原因。
4. 具有上下文感知的应用程序
在完成“4个情境感知应用阶段”时,首先需明确相关约定:所需输入、成功信号以及部分失败时的处理方式。这份清单能确保后续的代码修改保持一致性。 相较于冗长的脚本,应优先选择小型且可测试的单元。当某个步骤失败时,故障应指向单一责任模块,而非复杂的流程链。 缓存稳定的系统指令和工具结构。重复发送相同的开头信息是导致资源浪费的常见原因。 在完成“4个情境感知应用阶段”时,首先需明确相关约定:所需输入、成功信号以及部分失败时的处理方式。这份清单能确保后续的代码修改保持一致性。 在功能结果旁记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。
5. 高效的知识检索
将“5个高效知识检索阶段”视为可度量的指标体系时,其效果最佳。在扩大范围之前,先记录一份优秀的处理案例、一个失败案例以及回滚说明。 应将配置信息与应用程序代码分开。环境文件、密钥存储和功能开关应集中存放于一处,这样操作人员无需查看整个系统结构即可进行审计。 为每轮对话和每次会话设定token预算。智能工具往往会过度扩展上下文,设置上限可避免演示过程变成意外的费用账单。
6. 自主决策
将“6个自主决策阶段”视为可度量的指标体系时,其效果最佳。在扩大范围之前,先记录一个成功的案例、一个失败案例以及回滚说明。同时记录正常流程与恢复流程的细节。重试机制、人工审核环节以及错误处理方式都是产品本身的一部分,而非后续需要补充的内容。为每轮对话和每次会话设定预算额度。智能工具会大量消耗上下文资源,设置上限可避免演示过程变成意外的费用账单。
7. 更快速的开发
“7步加速开发法”若被视为可度量的工作面,效果最佳。在扩大范围之前,需记录一份理想案例、一个故障实例以及回滚说明。 相较于庞大的脚本,应优先选择小型且可测试的单元。当某一步骤出错时,故障应指向单一责任模块,而非复杂的流程链。 需为每轮操作及每次会话设定预算额度。智能工具会大量消耗上下文资源,设置上限可避免演示过程变成意外账单。 “7步加速开发法”若被视为可度量的工作面,效果最佳。在扩大范围之前,需记录一份理想案例、一个故障实例以及回滚说明。 应在功能结果旁记录执行时间以及Token或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外收费。
使用LangChain我们可以构建什么?
在“我们能构建什么”阶段,应在修改代码之前明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 配置信息应置于应用程序代码之外。环境文件、密钥存储以及功能开关应集中存放于一个位置,以便操作人员无需查看整个流程即可进行审计。 当下一步是代码执行或工具调用时,优先使用具有架构验证的结构化输出,而非自由形式的文本。
1. AI聊天机器人
在1号AI聊天机器人阶段,修改代码之前需明确输入内容、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 需同时记录正常流程和异常恢复流程。重试机制、人工干预环节以及错误处理都是产品的一部分,而非后续需要补充的功能。 当下一步操作为代码执行或工具调用时,应优先使用具有结构化格式且经过模式验证的输出,而非自由形式的文字描述。
2. 客户支持系统
在“2个客户支持系统”阶段,修改代码之前需明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新执行该步骤,而无需猜测隐藏状态。 相较于冗长的脚本,更应采用小型、可测试的单元。当某一步骤失败时,故障原因应能指向单一责任方,而非复杂的流程链。 如果后续步骤是代码调用或工具调用,应优先使用具有结构化格式且经过模式验证的输出,而非自由形式的文字描述。 在“2个客户支持系统”阶段,修改代码之前需明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新执行该步骤,而无需猜测隐藏状态。 除了功能结果外,还需记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在流程从演示环境过渡到共享环境时出现意外账单。
3. 检索增强生成(RAG)应用
在处理检索增强生成RAG的三个阶段时,首先明确相关规范:所需输入、成功标志以及部分失败时的处理方式。这样的检查清单能确保后续代码修改的透明度。 将配置信息置于应用代码之外。环境文件、密钥存储和功能开关应集中存放,以便操作人员无需查看整个系统结构即可进行审计。 缓存稳定的系统指令和工具架构。重复发送相同的前置内容是造成资源浪费的常见原因。
4. 文档问答系统
在完成四个文档问答系统阶段的开发时,首先列出相关约定:所需输入、成功信号以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。同时记录正常流程和故障恢复流程,重试机制、人工审核环节以及死信处理都属于产品功能的一部分,而非后续需要补充的内容。应缓存稳定的系统指令和工具架构,重复发送相同的开头信息是导致资源浪费的常见原因。
5. AI智能体
在完成5个AI智能体阶段的开发时,首先需明确相关规范:所需输入、成功标志以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 建议采用小型、可测试的单元而非庞大的脚本。当某个步骤出现故障时,故障应指向单一责任模块,而非复杂的流程链。 缓存稳定的系统指令和工具结构。重复发送相同的开头信息是导致资源浪费的常见原因。 在完成5个AI智能体阶段的开发时,首先需明确相关规范:所需输入、成功标志以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 在功能结果旁记录执行时间以及代币或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。
6. 个人AI助手
将这6个个人AI助手视为可度量的对象使用效果最佳。在扩大应用范围之前,先记录一份成功的案例、一个失败案例以及回滚说明。 配置应置于应用程序代码之外。环境文件、密钥存储和功能开关应集中存放,以便操作人员无需查看整个系统结构即可进行审计。 为每轮对话和每次会话设定token预算。智能工具往往会大量消耗上下文资源,设置上限可避免演示过程变成意外的费用账单。
7. 内容生成工具
将7种内容生成工具视为可度量的对象来使用效果最佳。在扩大范围之前,先记录一个成功的案例、一个失败案例以及回滚说明。同时记录正常流程和恢复流程。重试机制、人工审核环节以及死信处理都是产品的一部分,而非后续需要补充的功能。为每轮对话和每次会话设定Token预算。智能工具会大量消耗上下文,设置上限可避免演示过程变成意外的费用账单。
8. 推荐系统
将推荐系统开发的8个阶段视为可度量的框架来处理效果最佳。在扩大范围之前,先记录一份理想的操作案例、一个故障实例以及回滚说明。 相较于庞大的脚本,应优先选择小型且易于测试的单元。当某一步骤出现故障时,故障原因应能明确指向某个具体责任方,而非复杂的流程问题。 需为每轮对话和每次会话设定token预算。智能工具往往会大量消耗上下文资源,设置上限可避免演示过程变成意外的费用账单。 将推荐系统开发的8个阶段视为可度量的框架来处理效果最佳。在扩大范围之前,先记录一份理想的操作案例、一个故障实例以及回滚说明。 除了功能结果外,还需记录处理时间以及token或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外账单。
9. 研究助手
10. 多智能体系统
LangChain的组成部分:
1. 模型
2. 提示词
3. 链结构
4. 内存
5. 索引
10 pages pdf ---- convert to -----> 10 chunks (1chunk/page)
Why?
-LLM context Limit.
-Better reterival accuracy.
"MACHINE LEARNING" ----> [0.23,0.81,0.45,...]
( TEXT) (Vector)
6. 智能体
Example:
User Question ---> Prompt ---> LLM ---> Answer
But What if AI needs to --
1. Search the web
2. Query a Database
3. Call an API
We do not always know beforehand which tool will be needed