Blaflow 中的组件
组件定义了流程中 AI 智能体的行为和能力。
智能体使用 LLM 作为推理引擎来决定使用哪些连接的工具组件来解决问题。
在组件功能中,工具本质上是智能体可以调用来执行任务或访问外部资源的函数。函数被包装为Tool对象,具有智能体理解的通用接口。组件通过工具注册了解工具,通常在组件初始化时提供可用工具列表。Tool对象的描述告诉智能体该工具能做什么。
智能体然后使用连接的 LLM 通过推理来决定哪个工具最适合这项工作。
在流程中使用组件
基础智能体使用智能体组件连接到 URL 和 计算器 工具来回答用户的问题。OpenAI LLM 充当组件的大脑来决定使 用哪个工具。工具通过工具端口连接到组件。

关于多智能体示例,请参阅创建问题解决智能体。
智能体组件
该组件创建一个可以使用工具根据给定指令回答问题并执行任务的智能体。
该组件包括 LLM 模型集成、系统消息提示和工具端口以连接工具扩展其能力。
有关此组件的更多信息,请参阅工具调用智能体文档。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| agent_llm | 下拉菜单 | 智能体将用于生成响应的语言模型提供商。选项包括 OpenAI 和其他提供商,或自定义。 |
| system_prompt | 字符串 | 系统提示:提供初始指令和上下文以指导智能体行为。 |
| tools | 列表 | 智能体可用的工具列表。 |
| input_value | 字符串 | 智能体要处理的输入任务或问题。 |
| add_current_date_tool | 布尔值 | 如果为 true,则添加一个返回当前日期的工具给智能体。 |
| memory | 内存 | 用于维护对话历史记录的可选内存配置。 |
| max_iterations | 整数 | 智能体可以执行的最大迭代次数。 |
| handle_parsing_errors | 布尔值 | 是否处理智能体执行期间的解析错误。 |
| verbose | 布尔值 | 启用详细输出以进行详细日志记录。 |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| response | 消息 | 智能体对给定输入任务的响应。 |
CSV 智能体
该组件从 CSV 文件和 LLM 创建一个 CSV 智能体。
输入
| 名称 | 类型 | 描述 |
|---|---|---|
| llm | 语言模型 | 用于智能体的语言模型 |
| path | 文件 | CSV 文件的路径 |
| agent_type | 字符串 | 要创建的智能体类型(zero-shot-react-description, openai-functions, 或 openai-tools) |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| agent | 智能体执行器 | CSV 智能体实例 |
CrewAI 智能体
该组件代表 CrewAI 的一个智能体,允许在团队内创建具有定义角色、目标和能力的专用 AI 智能体。
更多信息请参阅CrewAI 文档。
输入
| 名称 | 显示名称 | 信息 |
|---|---|---|
| role | 角色 | 智能体的角色 |
| goal | 目标 | 智能体的目标 |
| backstory | 背景故事 | 智能体的背景故事 |
| tools | 工具 | 智能体可用的工具 |
| llm | 语言模型 | 将运行智能体的语言模型 |
| memory | 内存 | 智能体是否应具有内存 |
| verbose | 详细 | 启用详细输出 |
| allow_delegation | 允许委托 | 智能体是否允许将任务委托给其他智能体 |
| allow_code_execution | 允许代码执行 | 智能体是否允许执行代码 |
| kwargs | kwargs | 智能体的附加关键字参数 |
输出
| 名称 | 显示名称 | 信息 |
|---|---|---|
| output | 智能体 | 构建的 CrewAI 智能体对象 |