创建问题解决智能体
在 Langchain 中开发智能体是一项复杂的任务。
智能体组件是一个组件,用于轻松创建一个能够使用您提供的工具分析任务的 AI 智能体。
该组件包含创建智能体所需的所有元素。无需管理 LLM 模型和提供商,只需选择您的模型并输入 API 密钥。无需连接提示词组件,只需在组件的系统提示字段中输入指令。

了解如何从工具调用智能体组件开始构建流程,并了解它如何帮助您解决问题。
先决条件
使用智能体组件创建问题解决智能体
在 Blaflow 中创建一个问题解决智能体,从工具调用智能体开始。
- 在默认空间中,单击右上角按钮【创建应用】,点击【创建空白应用】并输入基本信息,点击【确认】。
- 点击并拖动一个智能体组件到您的工作区。 默认设 置目前可以接受,因此本指南假设您使用Open AI作为 LLM。
- 将您的Open AI API 密钥添加到智能体组件。
- 添加聊天输入和聊天输出组件到您的流程,并将它们连接到工具调用智能体。

这个基本流程使您能够在连接一些工具后,在试运行中与智能体聊天。
- 将搜索 API工具组件连接到您的智能体。
- 将您的搜索 API 密钥添加到组件。 您的智能体现在可以查询搜索 API 获取信息。
- 连接一个计算器工具解决基本数学问题。
- 将一个API 请求组件连接到智能体。 该组件不在工具类别中,但智能体仍然可以通过启用工具模式将其用作工具。 工具模式通过添加一个可以连接到智能体工具端口的工具集端口,将组件转换为工具。 要在组件上启用工具模式,点击工具模式。 组件的字段会根据其模式动态变化。

使用智能体解决问题
您的智能体现在拥有执行网络搜索、进行基本数学计算和执行 API 请求的工具。仅凭这些能力,您就可以解决许多问题。
- 您的桌面游戏小组取消了,您被困在家里。
将API 请求指向在线规则文档,告诉您的智能体
您是一个使用手头工具的趣味游戏组织者,然后开始游戏。 - 您需要快速学习一门新的软件语言。
将API 请求指向一些文档,告诉您的智能体
您是一个使用手头工具的知识渊博的软件开发人员,然后开始学习。
看看您能用这个流程解决什么问题。随着您的问题变得更加专业化,添加更多工具。例如,添加一个 Python REPL 组件来解决计算器难以处理的数学问题。
编辑工具的元数据
要编辑工具的元数据,点击工具中的编辑工具按钮修改其name或description元数据。这些字段帮助连接的智能体理解如何使用工具,而无需修改智能体的提示指令。
例如,URL组件在启用工具模式时有三个可用工具。
| 工具名称 | 描述 |
|---|---|
URL-fetch_content | 使用此工具从 URL 获取和检索原始内容,包括 HTML 和其他结构化数据。返回完整的响应内容。 |
URL-fetch_content_text | 使用此工具从网页获取和提取干净、可读的文本内容。仅返回纯文本内容。 |
URL-as_dataframe | 使用此工具从 URL 获取结构化数据并将其转换为表格格式。数据以结构化DataFrame表格格式返回。 |
连接的智能体将根据name和description元数据清楚了解每个工具的能力。如果您认为智能体使用工具不正确,编辑工具的元数据以帮助它更好地理解工具。
工具名称和描述可以编辑,但默认工具标识符不能更改。如果您想更改工具标识符,创建一个自定义组件。
要查看智能体正在使用哪些工具以及如何使用它们,询问智能体:您使用哪些工具来回答我的问题?
将智能体用作工具
智能体组件本身也支持工具模式,用于创建多智能体流程。
在您的问题解决流程中添加一个使用不同 OpenAI 模型进行更专业化问题解决的智能体。
- 点击并拖动一个智能体组件到您的工作区。
- 将您的Open AI API 密钥添加到智能体组件。
- 在模式 l Name字段中,选择
gpt-4o。 - 点击工具模式将此新智能体用作工具。
- 将新智能体的工具集端口连接到先前创建的智能体的工具端口。
- 将搜索 API和API 请求连接到新智能体。
新智能体将使用
gpt-4o进行需要大上下文窗口的抓取和搜索信息等更大任务。 问题解决智能体现在将此智能体作为工具使用,具有其独特的 LLM 和工具集。

- 可以编辑新智能体的元数据以帮助问题解决智能体理解如何使用它。
点击编辑工具修改新智能体的
name或description元数据,使其使用方式对问题解决智能体清晰。 例如,默认工具名称是Agent。将名称编辑为Agent-gpt-4o,将描述编辑为使用gpt-4o模型进行复杂问题解决。问题解决智能体将理解这是gpt-4o智能体,并将其用于需要更大上下文窗口的任务。
添加自定义组件作为工具
智能体可以使用自定义组件作为工具。
-
要将自定义组件添加到问题解决智能体流程,点击新增自定义组件。
-
向自定义组件添加自定义 Python 代码。 这是一个用于情感分析的文本分析器示例。
_50from blaflow.custom import Component_50from blaflow.io import MessageTextInput, Output_50from blaflow.schema import Data_50import re_50_50class TextAnalyzerComponent(Component):_50 display_name = "Text Analyzer"_50 description = "Analyzes and transforms input text."_50 documentation: str = "http://docs.blaflow.com/components/custom"_50 icon = "chart-bar"_50 name = "TextAnalyzerComponent"_50_50 inputs = [_50 MessageTextInput(_50 name="input_text",_50 display_name="Input Text",_50 info="Enter text to analyze",_50 value="Hello, World!",_50 tool_mode=True,_50 ),_50 ]_50_50 outputs = [_50 Output(display_name="Analysis Result", name="output", method="analyze_text"),_50 ]_50_50 def analyze_text(self) -> Data:_50 text = self.input_text_50_50 # Perform text analysis_50 word_count = len(text.split())_50 char_count = len(text)_50 sentence_count = len(re.findall(r'\w+[.!?]', text))_50_50 # Transform text_50 reversed_text = text[::-1]_50 uppercase_text = text.upper()_50_50 analysis_result = {_50 "original_text": text,_50 "word_count": word_count,_50 "character_count": char_count,_50 "sentence_count": sentence_count,_50 "reversed_text": reversed_text,_50 "uppercase_text": uppercase_text_50 }_50_50 data = Data(value=analysis_result)_50 self.status = data_50 return data
- 要启用自定义组件作为工具,点击工具模式。
- 将工具输出连接到智能体的工具输入。
- 询问智能体:
您使用哪些工具来回答我的问题?您的响应将类似于以下内容,并包括您的自定义组件。
_10我可以访问多个工具来帮助回答您的问题,包括:_10搜索 API: 这允许我在网络上搜索最新信息或结果。_10HTTP Requests: 我可以向各种URL发出HTTP请求以检索数据或与API交互。_10计算器: 我可以评估基本算术表达式。_10Text Analyzer: 我可以分析和转换输入文本。_10Current Date and Time: 我可以检索不同时区的当前日期和时间。
将任何组件作为工具
如果您想用作工具的组件没有工具模式按钮,向组件的输入之一添加tool_mode=True,并将新的工具集输出连接到智能体的工具输入。
Blaflow 支持以下数据类型的工具模式:
DataInputDataFrameInput提示词InputMessageTextInputMultilineInputDropdownInput
例如,上面的添加自定义组件作为工具示例向MessageTextInput输入添加了tool_mode=True,以便自定义组件可以用作工具。
_10inputs = [_10 MessageTextInput(_10 name="input_text",_10 display_name="Input Text",_10 info="Enter text to analyze",_10 value="Hello, World!",_10 tool_mode=True,_10 ),_10]
使用运行流程组件作为工具
智能体可以使用保存在您工作区中的流程作为工具,通过运行流程组件。
- 要添加运行流程组件,点击并拖动一个运行流程组件到您的工作区。
- 选择您希望智能体用作工具的流程。
- 在组件中启用工具模式。
- 将工具输出连接到智能体的工具输入。
- 要启用工具模式,在运行流程组件中选择一个流程,然后点击工具模式。
- 询问智能体:
您使用哪些工具来回答我的问题?您的流程应该作为工具在响应中可见。