在 Azure AI 中运行 Prompt Flow#
假设您已经按照快速入门学习了如何创建和运行流。本指南将引导您完成如何将 Prompt Flow 运行提交到Azure AI的主要过程。
使用 Azure AI 相比本地运行的优势
专为团队协作设计:门户 UI 更适合共享和展示您的流和运行。工作区可以更好地组织团队共享资源,如连接。
企业就绪解决方案:Prompt Flow 利用 Azure AI 强大的企业就绪解决方案,为流的开发、实验和部署提供了安全、可扩展且可靠的基础。
先决条件#
一个拥有活动订阅的 Azure 帐户 - 免费创建帐户
一个 Azure AI ML 工作区 - 创建您开始使用 Azure AI 所需的工作区资源。
建议使用 Python 环境,
python=3.9
或更高版本,如 3.10。安装带有额外依赖项的
promptflow
和promptflow-tools
。
pip install promptflow[azure] promptflow-tools
克隆示例仓库并检查examples/flows文件夹中的流。
git clone https://github.com/microsoft/promptflow.git
创建必要的连接#
连接有助于安全地存储和管理与 LLM 和其他外部工具(例如 Azure 内容安全)交互所需的密钥或其他敏感凭据。
在本指南中,我们将使用流web-classification
,它内部使用了连接open_ai_connection
,如果之前没有添加过,我们需要设置该连接。
请前往工作区门户,点击Prompt flow
-> Connections
-> Create
,然后按照说明创建您自己的连接。了解更多关于连接的信息。
提交运行到工作区#
假设您在工作目录<path-to-the-sample-repo>/examples/flows/standard/
中
使用az login
登录,以便 Prompt Flow 可以获取您的凭据。
az login
提交运行到工作区。
pfazure run create --subscription <my_sub> -g <my_resource_group> -w <my_workspace> --flow web-classification --data web-classification/data.jsonl --stream
默认订阅/资源组/工作区
请注意,如果您已安装Azure CLI并设置了默认配置,则可以省略--subscription
、-g
和-w
。
az account set --subscription <my-sub>
az configure --defaults group=<my_resource_group> workspace=<my_workspace>
指定运行名称并查看运行
您也可以在运行创建命令中通过指定--name my_first_cloud_run
来命名运行,否则运行名称将以包含时间戳的特定模式生成。
使用运行名称,您可以使用以下命令轻松地流式传输或查看运行详细信息
pfazure run stream -n my_first_cloud_run # same as "--stream" in command "run create"
pfazure run show-details -n my_first_cloud_run
pfazure run visualize -n my_first_cloud_run
更多详细信息可以在CLI 参考:pfazure中找到
导入所需的库
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
# azure version promptflow apis
from promptflow.azure import PFClient
获取凭据
try:
credential = DefaultAzureCredential()
# Check if given credential can get token successfully.
credential.get_token("https://management.azure.com/.default")
except Exception as ex:
# Fall back to InteractiveBrowserCredential in case DefaultAzureCredential not work
credential = InteractiveBrowserCredential()
获取工作区句柄
# Get a handle to workspace
pf = PFClient(
credential=credential,
subscription_id="<SUBSCRIPTION_ID>", # this will look like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
resource_group_name="<RESOURCE_GROUP>",
workspace_name="<AML_WORKSPACE_NAME>",
)
提交流运行
# load flow
flow = "web-classification"
data = "web-classification/data.jsonl"
# create run
base_run = pf.run(
flow=flow,
data=data,
)
pf.stream(base_run)
查看运行信息
details = pf.get_details(base_run)
details.head(10)
pf.visualize(base_run)
在工作区中查看运行#
在流式传输日志的末尾,您可以找到已提交运行的portal_url
,点击它可以在工作区中查看运行。
包含额外文件的流运行快照#
启用了额外包含文件的流也可以提交到工作区执行。请注意,特定的额外包含文件或文件夹将上传并组织在云端运行快照的Files文件夹中。
后续步骤#
了解更多关于