跳到主要内容

类型转换

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

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 ConvertMessage 重整为 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 输出的 DataFramecontext 字段需要的 Message 类型不兼容,所以必须先通过 Type Convert 把结果转换成 Message,才能继续传给 Prompt Template

  5. 连接新增组件:

    • Web Search 的输出连接到 Type Convert 的输入
    • Type Convert 的输出连接到 Prompt Templatecontext 输入

    Convert web search output to text input

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

    如果你希望使用其他提供商或模型,也可以继续修改 Model ProviderModel NameAPI Key

  7. 点击 Playground,输入与你的搜索主题相关的问题,例如 latest newswhat'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输入参数。待转换的数据,可接收 DataDataFrameMessage
output_typeOutput Type输入参数。目标输出类型,可选 DataDataFrameMessage
outputOutput输出参数。转换后的结果。输出端口会随 Output Type 变化。