快速开始#
本指南将引导您完成提示流代码优先体验的第一步。
前提条件 - 要充分利用本教程,您需要:
Python编程知识
学习目标 - 完成本教程后,您应该知道如何:
设置您的Python环境以运行prompt flow
使用提示和Python函数创建一个流程
使用您喜欢的体验测试流程:CLI、SDK 或 UI。
安装#
安装 promptflow 包以开始。
pip install promptflow
了解更多关于installation的信息。
创建您的第一个流程#
使用提示建模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
格式表达。
更多详情请参见 Develop a prompty。
创建一个流程#
创建一个作为flow
入口的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
Flow 可以是一个 Python 函数、类,或者是一个描述 DAG 的 yaml 文件,该 DAG 封装了您的 LLM 应用程序逻辑。 了解更多关于 flow 概念 以及如何 开发一个 flow。
查看此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调用。
使用以下命令开始测试聊天界面。
pf flow test --flow flow:chat --ui
该命令将打开一个如下所示的浏览器页面:
有关此主题的更多详细信息,请参见Chat with a flow。
点击“查看追踪”按钮,可以看到一个追踪界面,帮助你理解背后发生的实际LLM调用。
下一步#
了解更多关于如何:
追踪: 关于追踪如何工作的详细信息。
开发一个prompty: 关于如何开发prompty的详细信息。
开发流程: 详细说明如何使用Python函数或类来开发流程。
开发一个DAG流程: 关于如何使用友好的DAG界面开发流程的详细信息。
你也可以查看我们的Tutorials,特别是:
Tutorial: Chat with PDF: 一个端到端的教程,介绍如何使用prompt flow构建高质量的聊天应用程序,包括流程开发和指标评估。