快速开始#
本指南将引导您完成 Prompt flow 代码优先体验的第一步。
先决条件 - 为了充分利用本教程,您需要具备:
Python 编程知识
学习目标 - 完成本教程后,您应该知道如何:
设置您的 Python 环境以运行 Prompt flow
使用提示和 Python 函数创建流
使用您喜欢的体验测试流:CLI、SDK 或 UI。
安装#
安装 promptflow 包即可开始使用。
pip install promptflow
了解更多关于安装。
创建您的第一个流#
使用 prompty 模拟 LLM 调用#
创建一个 Prompty 文件来帮助您触发一个 LLM 调用。
---
name: Minimal Chat
model:
api: chat
configuration:
type: azure_openai
azure_deployment: gpt-35-turbo
parameters:
temperature: 0.2
max_tokens: 1024
inputs:
question:
type: string
sample:
question: "What is Prompt flow?"
---
system:
You are a helpful assistant.
user:
{{question}}
Prompty 是一个 Markdown 文件。其前言以 YAML
结构化,封装了一系列元数据字段,这些字段对于定义模型配置和 prompty 的输入至关重要。前言之后是提示模板,以 Jinja
格式表达。有关更多详细信息,请参阅开发 prompty。
创建一个流#
创建一个 Python 函数作为 流
的入口。
import os
from dotenv import load_dotenv
from pathlib import Path
from promptflow.tracing import trace
from promptflow.core import Prompty
BASE_DIR = Path(__file__).absolute().parent
@trace
def chat(question: str = "What's the capital of France?") -> str:
"""Flow entry function."""
if "OPENAI_API_KEY" not in os.environ and "AZURE_OPENAI_API_KEY" not in os.environ:
# load environment variables from .env file
load_dotenv()
prompty = Prompty.load(source=BASE_DIR / "chat.prompty")
# trigger a llm call with the prompty obj
output = prompty(question=question)
return output
流可以是 Python 函数、类或描述 DAG 的 YAML 文件,它封装了您的 LLM 应用程序逻辑。了解更多关于流概念以及如何开发流。
请参阅此 Python 文件的完整示例:Minimal Chat。
测试流#
使用您喜欢的体验测试流:CLI、SDK 或 UI。
pf
是您安装 promptflow
包时获得的 CLI 命令。在参考文档中了解更多关于 pf
CLI 的功能。
pf flow test --flow flow:chat --inputs question="What's the capital of France?"
您将在终端中看到类似以下的输出。
Prompt flow service has started...
You can view the trace detail from the following URL:
http://127.0.0.1:51330/v1.0/ui/traces/?#collection=chat-minimal&uiTraceId=0x49382bbe30664f747348a8ae9dc8b954
The capital of France is Paris
如果您点击打印的追踪 URL,您将看到一个追踪 UI,它帮助您了解幕后发生的实际 LLM 调用。
使用您的问题调用聊天函数。假设您有一个内容如下的 flow.py
文件。
if __name__ == "__main__":
from promptflow.tracing import start_trace
start_trace()
result = chat("What's the capital of France?")
print(result)
使用 python flow.py
运行脚本,您将得到类似以下的输出:
Prompt flow service has started...
You can view the trace detail from the following URL:
http://127.0.0.1:51330/v1.0/ui/traces/?#collection=chat-minimal&uiTraceId=0x49382bbe30664f747348a8ae9dc8b954
The capital of France is Paris
如果您点击打印的追踪 URL,您将看到一个追踪 UI,它帮助您了解幕后发生的实际 LLM 调用。
使用以下命令启动测试聊天 UI。
pf flow test --flow flow:chat --ui
该命令将打开一个类似以下的浏览器页面:
有关此主题的更多详细信息,请参阅使用流聊天。
点击“查看追踪”按钮,您将看到一个追踪 UI,它帮助您了解幕后发生的实际 LLM 调用。
后续步骤#
了解更多关于如何:
追踪:有关追踪工作原理的详细信息。
开发 prompty:有关如何开发 prompty 的详细信息。
开发流:有关如何使用 Python 函数或类开发流的详细信息。
开发 DAG 流:有关如何使用友好的 DAG UI 开发流的详细信息。
您还可以查看我们的教程,特别是:
教程:与 PDF 聊天:一个端到端的教程,介绍如何使用 Prompt flow 构建高质量的聊天应用程序,包括流开发和指标评估。