password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
1. 基础LLM调用示例
解释:
- 创建了一个ChatOpenAI实例,配置了模型名称、API密钥和基础URL
- temperature=0表示输出确定性最高,创造性最低
- invoke方法发送请求并获取响应
- response.content包含模型生成的文本
使用场景:
- 简单的文本生成任务
- 不需要工具调用的基础问答
- 快速原型开发
2. 工具调用Agent示例
解释:
- 使用@tool装饰器定义可调用的工具函数
- agent_scratchpad是Agent思考过程的占位符
- Agent会自动判断何时需要调用工具
- verbose=True会打印详细的执行过程
使用场景:
- 需要结合外部数据或API的任务
- 动态决定是否需要工具调用的场景
- 复杂问题分解执行
3. 工作流状态图示例
解释:
- 定义了状态类State来跟踪工作流状态
- 每个节点是一个处理函数,接收和修改状态
- check_punchline是条件判断函数
- 工作流支持条件分支和线性流程
使用场景:
- 多步骤处理流程
- 需要条件分支的任务
- 内容生成和迭代优化
- 复杂业务逻辑编排
4. 工具绑定示例
解释:
- bind_tools让LLM知道可用的工具
- LLM会自动判断何时需要调用工具
- 响应中可能包含工具调用请求,但是不会调用需要自己判断处理调用
- 需要后续处理工具调用的结果
使用场景:
- 需要LLM主动决定工具调用的场景
- 工具参数需要LLM动态生成的场景
- 减少手动工具调用判断逻辑
综合比较
| 示例 | 最佳使用场景 | 主要优势 | 复杂度 | 
| 基础LLM | 简单文本生成 | 快速直接 | 低 | 
| Agent | 动态工具调用 | 自动选择工具 | 中 | 
| 工作流 | 多步骤流程 | 可视化流程控制 | 高 | 
| 工具绑定 | LLM驱动调用 | 灵活的参数生成 | 中 | 
这些示例展示了从简单到复杂的LangChain使用模式,您可以根据具体需求选择合适的模式。
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:躁静有徒
- 链接:https://blog.zaojingyoutu.top//article/336cf1b9-d5d7-4410-9735-80fbd985a292
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。