跳到主要内容

类型转换

Type Convert 组件用于在不同数据类型之间做转换。 目前支持 Data、DataFrame 和 Message 三类数据。

Data 是一个结构化对象,通常包含一个主 text 键,以及其他键值对,例如:


_10
"data": {
_10
"text": "User Profile",
_10
"name": "Charlie Lastname",
_10
"age": 28,
_10
"email": "charlie.lastname@example.com"
_10
},

与组件相关联的更大上下文还会标记哪个键是主要的 text_key,并可选提供默认值。 例如:


_10
{
_10
"text_key": "text",
_10
"data": {
_10
"text": "User Profile",
_10
"name": "Charlie Lastname",
_10
"age": 28,
_10
"email": "charlie.lastname@example.com"
_10
},
_10
"default_value": ""
_10
}

更多说明请参阅SkillFlaw 数据类型。

在流程中使用 Type Convert​

Type Convert 通常用于把数据调整成下游组件需要的格式。 例如,某个组件输出的是 Message,但后一个组件要求输入 Data,这时就可以使用 Type Convert 把 Message 重整为 Data 再继续传递。

下面是一个常见示例:把 Web Search 组件输出的 DataFrame 转成 Message,作为 LLM 的文本上下文:

  1. 基于 Basic prompting 模板创建一个流程。

  2. 向流程中添加 Web Search 组件,并输入一个搜索查询,例如 environmental news。

  3. 在 Prompt Template 组件中,把 Template 替换为以下内容:


    _10
    Answer the user's question using the {context}

    大括号中的内容定义了一个 Prompt 变量,它会在 Prompt Template 上生成对应输入字段。 在本例中,你将用 context 字段把搜索结果传入模板。

  4. 添加一个 Type Convert 组件,并将 Output Type 设为 Message。

    因为 Web Search 输出的 DataFrame 与 context 字段需要的 Message 类型不兼容,所以必须先通过 Type Convert 把结果转换成 Message,才能继续传给 Prompt Template。

  5. 连接新增组件:

    • 将 Web Search 的输出连接到 Type Convert 的输入
    • 将 Type Convert 的输出连接到 Prompt Template 的 context 输入

    Convert web search output to text input

  6. 在 Language Model 组件中填入 OpenAI API Key。

    如果你希望使用其他提供商或模型,也可以继续修改 Model Provider、Model Name 和 API Key。

  7. 点击 Playground,输入与你的搜索主题相关的问题,例如 latest news 或 what's the latest research on the environment?。

    结果

    LLM 会结合搜索结果上下文、你的聊天输入和模型已有知识来生成回复,例如:


    _10
    Here are some of the latest news articles related to the environment:
    _10
    Ozone Pollution and Global Warming: A recent study highlights that ozone pollution is a significant global environmental concern, threatening human health and crop production while exacerbating global warming. Read more
    _10
    ...

Type Convert 参数​

NameDisplay NameInfo
input_dataInput Data输入参数。待转换的数据,可接收 Data、DataFrame 或 Message。
output_typeOutput Type输入参数。目标输出类型,可选 Data、DataFrame 或 Message。
outputOutput输出参数。转换后的结果。输出端口会随 Output Type 变化。