创建和使用您自己的自定义强类型连接#

连接提供了一种安全的方法,用于在 Prompt flow 中管理外部 API 和数据源的凭据。本指南解释了如何创建和使用自定义强类型连接。

什么是自定义强类型连接?#

Prompt flow 中的自定义强类型连接允许您定义一个具有强类型键的自定义连接类。这提供了以下好处:

  • 增强的用户体验 - 无需手动输入连接键。

  • 丰富的智能感知体验 - 定义键类型可在您使用 VS Code 时启用实时建议和可用键的自动补全。

  • 查看可用键和数据类型的集中位置。

有关其他连接类型,请参阅连接

先决条件#

  • 请确保您的 VS Code 版 Prompt flow 已更新到至少 1.2.1 版。

  • 请安装 promptflow 包,并确保其版本为 0.1.0b8 或更高版本。

    pip install promptflow>=0.1.0b8
    

创建自定义强类型连接#

请按照以下步骤创建自定义强类型连接:

  1. 定义一个继承自 CustomStrongTypeConnection 的 Python 类。

[!注意] 请避免直接使用 CustomStrongTypeConnection 类。

  1. 使用 Secret 类型表示安全键。这通过清除密钥来增强安全性。

  2. 使用 docstring 文档解释每个键。

例如

from promptflow.connections import CustomStrongTypeConnection
from promptflow.contracts.types import Secret


class MyCustomConnection(CustomStrongTypeConnection):
    """My custom strong type connection.

    :param api_key: The api key.
    :type api_key: Secret
    :param api_base: The api base.
    :type api_base: String
    """
    api_key: Secret
    api_base: str = "This is a fake api base."

请参阅此示例以获取完整的实现。

在流中使用连接#

创建自定义强类型连接后,您可以通过以下两种方式在流中使用它:

使用包工具:#

  1. 请参阅创建和使用工具包来构建和安装包含连接的工具包。

  2. 使用自定义工具开发流。请以此文件夹为例。

  3. 使用以下方法之一创建自定义强类型连接:

    • 如果以前没有创建连接类型,请单击“添加连接”按钮以创建连接。在节点接口中创建自定义强类型连接

    • 单击“连接”部分的“创建连接”加号。创建自定义强类型连接加号

    • 单击“自定义”类别中的“创建连接”加号。在自定义类别中创建自定义强类型连接

  4. 在连接模板中填写以 to-replace-with 开头的 values自定义强类型连接模板

  5. 使用创建的自定义强类型连接运行流。在流中使用自定义强类型连接

使用脚本工具:#

  1. 使用 Python 脚本工具开发流。请以此文件夹为例。

  2. 创建 CustomConnection。在连接模板中填写 keysvalues自定义

  3. 使用创建的自定义连接运行流。在流中使用自定义连接

本地到云#

在 Azure AI 中创建必要的连接时,您需要创建 CustomConnection。在流的节点接口中,此连接将显示为 CustomConnection 类型。

请参阅在 Azure AI 中运行 Prompt flow 以获取更多详细信息。

这是一个示例命令:

pfazure run create --subscription 96aede12-2f73-41cb-b983-6d11a904839b -g promptflow -w my-pf-eus --flow D:\proj\github\ms\promptflow\examples\flows\standard\flow-with-package-tool-using-custom-strong-type-connection --data D:\proj\github\ms\promptflow\examples\flows\standard\flow-with-package-tool-using-custom-strong-type-connection\data.jsonl --runtime test-compute

常见问题#

我按照步骤创建了自定义强类型连接,但它没有显示。可能是什么问题?#

在本地环境中安装新工具包后,需要重新加载窗口。此操作可确保新工具和自定义强类型连接可见并可访问。