你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure AI Studio 中的流 Python 工具
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
提示流 Python 工具使用户能够提供自定义代码片段作为独立可执行节点。 你可以快速创建 Python 工具、编辑代码和验证结果。
使用 Python 工具进行生成
在 Azure AI Studio 中创建或打开流。 有关详细信息,请参阅创建流。
选择“+ Python”,将 Python 工具添加到流中。
输入输入表中描述的 Python 工具输入参数的值。 例如,在代码输入文本框中,可以输入以下 Python 代码:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + message
有关详细信息,请参阅 Python 代码输入要求。
根据需要向流添加更多工具。 或者,选择“运行”以运行流。
输出表中介绍了输出。 根据上一示例 Python 代码输入,如果输入消息是“world”,则输出为
hello world
。
输入
保存代码后,输入列表会根据工具函数的参数而变化。 向参数和return
值添加类型有助于工具正确显示类型。
名称 | Type | 描述 | 必需 |
---|---|---|---|
代码 | string | Python 代码片段。 | 是 |
输入 | - | 工具函数参数及其赋值列表。 | - |
Outputs
输出是 Python 工具函数的return
值。 例如,考虑以下 Python 工具函数:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
如果输入消息为“world”,则输出为hello world
。
类型
类型 | Python 示例 | 说明 |
---|---|---|
int | param: int | 整数类型 |
bool | param: bool | 布尔类型 |
string | param: str | 字符串类型 |
double | param: float | Double 类型 |
list | param: list 或 param: List[T] | 列表类型 |
object | param: dict 或 param: Dict[K, V] | 对象类型 |
连接 | param: CustomConnection | 连接类型为专门处理。 |
具有Connection
类型注释的参数将视为连接输入,这意味着:
- 提示流扩展会显示用于选择连接的选择器。
- 在执行期间,提示流尝试从传入的参数值中找到具有相同名称的连接。
注意
连接类型仅支持Union[...]
类型注释。 示例为 param: Union[CustomConnection, OpenAIConnection]
。
Python 代码输入要求
本节介绍 Python 工具的 Python 代码输入要求。
- Python 工具代码应包含完整的 Python 代码,包括任何必要的模块导入。
- Python 工具代码必须包含使用
@tool
(工具函数)修饰的函数,用作执行的入口点。 修饰器@tool
只能在代码片段中应用一次。 - 必须在
Inputs
节中分配 Python 工具函数参数。 - Python 工具函数应有一个返回语句和值,这是工具的输出。
以下 Python 代码是最佳做法的示例:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
在 Python 工具中使用自定义连接
如果要开发需要通过身份验证调用外部服务的 Python 工具,则可以在提示流中使用自定义连接。 它使你能够安全地存储访问密钥,然后在 Python 代码中检索它。
创建自定义连接
创建用于存储所有大型语言模型 API 密钥或其他必需凭据的自定义连接。
转到项目的管理中心页。
在“中心”或“项目”标题下,选择“连接的资源”。
选择 + 新建连接。
选择“自定义服务”。 可以定义连接名称。 可以通过选择“添加键值对”来添加多个键值对,以存储凭据和密钥。
注意
确保至少将一个键值对设置为机密。 否则,连接不会成功创建。 要将一个密钥值对设置为机密,请选择“为机密”以加密和存储密钥值。
在 Python 中使用自定义连接
要在 Python 代码中使用自定义连接:
- 在 Python 节点的代码部分中,导入自定义连接库
from promptflow.connections import CustomConnection
。 在工具函数中定义类型CustomConnection
的输入参数。 - 分析输入部分的输入。 然后,在值下拉列表中选择目标自定义连接。
例如:
from promptflow import tool
from promptflow.connections import CustomConnection
@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
# Get authentication key-values from the custom connection
connection_key1_value = myconn.key1
connection_key2_value = myconn.key2