快速开始#

本指南将引导您完成提示流代码优先体验的第一步。

前提条件 - 要充分利用本教程,您需要:

  • 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调用。 trace_ui

调用聊天功能并提出你的问题。假设你有一个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调用。 trace_ui

使用以下命令开始测试聊天界面。

pf flow test --flow flow:chat --ui 

该命令将打开一个如下所示的浏览器页面: chat_ui

有关此主题的更多详细信息,请参见Chat with a flow

点击“查看追踪”按钮,可以看到一个追踪界面,帮助你理解背后发生的实际LLM调用。 trace_ui

下一步#

了解更多关于如何:

你也可以查看我们的Tutorials,特别是:

  • Tutorial: Chat with PDF: 一个端到端的教程,介绍如何使用prompt flow构建高质量的聊天应用程序,包括流程开发和指标评估。