流 YAML 架构#

实验性功能

这是一个实验性功能,随时可能更改。了解更多

源 JSON 架构可在 Flow.schema.json 中找到

YAML 语法#

类型

描述

$schema

字符串

YAML 架构。如果您使用 prompt flow VS Code 扩展来编写 YAML 文件,在文件顶部包含 $schema 可让您调用架构和资源补全。

inputs

object

流输入的字典。键是流上下文中输入的名称,值是流输入定义。

inputs.<input_name>

object

流输入定义。有关可配置属性集,请参见 流输入

输出

object

流输出的字典。键是流上下文中输出的名称,值是流输出定义。

outputs.<output_name>

object

组件输出定义。有关可配置属性集,请参见 流输出

nodes

数组

要在流中作为步骤运行的单个节点的字典集。节点可以使用内置工具或第三方工具。有关更多信息,请参见 节点

node_variants

object

带有变体的节点字典。键是节点名称,值包含变体定义和 default_variant_id。有关更多信息,请参见 节点变体

environment

object

用于流的环境。键可以是 imagepython_requirements_txt,值可以是图像或 python requirements 文本文件。

environment_variables

对象/字符串

通过指定属性路径和值来设置环境变量。示例:{"key1"="${my_connection.api_key}"}。引用连接键的值将解析为实际值,并且所有指定的环境变量都将设置到 os.environ 中。

additional_includes

数组

additional includes 是一个可以跨流共享的文件列表。用户可以指定流使用的附加文件和文件夹,prompt flow 将在流创建期间帮助将它们全部复制到快照。

流输入#

类型

描述

允许的值

类型

字符串

流输入的类型。

intdoubleboolstringlistobjectimage

描述

字符串

输入描述。

default

int、double、bool、string、list、object、image

输入的默认值。

is_chat_input

布尔值

输入是否为聊天流输入。

is_chat_history

布尔值

输入是否为聊天流的聊天历史记录。

流输出#

类型

描述

允许的值

类型

字符串

流输出的类型。

intdoubleboolstringlistobject

描述

字符串

输出描述。

reference

字符串

对节点输出的引用,例如 ${<node_name>.output.<node_output_name>}

is_chat_output

布尔值

输出是否为聊天流输出。

节点#

节点是一组节点,每个节点都是一个包含以下字段的字典。下面,我们只展示使用内置工具的单个节点的公共字段。

类型

描述

允许的值

name

字符串

节点的名称。

类型

字符串

节点的类型。

内置工具的类型,如 PythonPromptLLM,以及第三方工具,如 Vector Search 等。

inputs

object

节点输入的字典。键是输入名称,值可以是原始值或对流输入或节点输出的引用,例如 ${inputs.<flow_input_name>}${<node_name>.output}${<node_name>.output.<node_output_name>}

object

节点使用的工具源的字典。键包含 typepathtool。类型可以是 codepackagepackage_with_prompt

provider

字符串

它指示工具的提供者。当 type 是 LLM 时使用。

AzureOpenAIOpenAI

连接

字符串

之前创建的连接名称。当 type 是 LLM 时使用。

api

字符串

提供者的 API 名称。当 type 是 LLM 时使用。

module

字符串

节点使用的工具的模块名称。当 type 是 LLM 时使用。

use_variants

bool

节点是否具有变体。

节点变体#

节点变体是一个字典,其中包含带有变体的节点的变体定义,并以各自的节点名称作为字典键。下面,我们探讨单个节点的变体。

类型

描述

允许的值

<node_name>

字符串

节点的名称。

default_variant_id

字符串

默认变体 ID。

variants

object

此字典包含所有节点变体,其中变体 ID 作为键,节点定义字典作为相应的值。在节点定义字典中,标记为“node”的键应包含类似于 节点 的变体定义,不包括“name”字段。

示例#

流示例可在 GitHub 仓库 中找到。