Microsoft PromptFlow 快速入门指南:构建你的第一个AI流程

Microsoft PromptFlow 快速入门指南:构建你的第一个AI流程

前言

Microsoft PromptFlow 是一个强大的开发框架,专为构建基于大型语言模型(LLM)的应用程序而设计。本文将带你快速上手PromptFlow,通过实际案例演示如何创建和测试一个简单的聊天流程。

环境准备

系统要求

在开始之前,请确保你具备以下条件:

  • 熟悉Python编程语言
  • 已安装Python 3.7或更高版本

安装PromptFlow

安装PromptFlow非常简单,只需执行以下命令:

pip install promptflow

这个命令会安装PromptFlow核心包及其所有依赖项。

创建第一个流程

理解Prompty文件

Prompty是PromptFlow中的关键概念,它是一个结合了YAML配置和Jinja模板的Markdown文件,用于定义LLM调用的结构和参数。

下面是一个简单的Prompty示例:

---
name: 最小化聊天
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: "什么是PromptFlow?"
---

system:
你是一个乐于助人的助手。

user:
{{question}}

这个文件包含三个主要部分:

  1. YAML前端配置:定义模型参数和输入输出结构
  2. 系统提示:设置AI助手的角色
  3. 用户输入模板:使用Jinja语法动态插入用户问题

创建Python流程函数

接下来,我们需要创建一个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 = "法国的首都是哪里?") -> str:
    """流程入口函数"""
    
    # 加载环境变量
    if "OPENAI_API_KEY" not in os.environ and "AZURE_OPENAI_API_KEY" not in os.environ:
        load_dotenv()
    
    # 加载Prompty文件
    prompty = Prompty.load(source=BASE_DIR / "chat.prompty")
    
    # 触发LLM调用
    output = prompty(question=question)
    return output

这个函数做了以下几件事:

  1. 使用@trace装饰器启用调用追踪
  2. 检查并加载必要的API密钥
  3. 加载我们之前创建的Prompty文件
  4. 执行LLM调用并返回结果

测试你的流程

PromptFlow提供了多种测试方式,满足不同开发者的偏好。

命令行界面(CLI)测试

使用PromptFlow提供的CLI工具可以快速测试你的流程:

pf flow test --flow flow:chat --inputs question="法国的首都是哪里?"

执行后会输出类似以下内容:

Prompt flow服务已启动...
你可以通过以下URL查看追踪详情:
http://127.0.0.1:51330/v1.0/ui/traces/?#collection=chat-minimal&uiTraceId=0x49382bbe30664f747348a8ae9dc8b954

法国的首都是巴黎

追踪UI会展示LLM调用的详细信息,包括请求参数和响应内容。

SDK方式测试

如果你更喜欢直接在Python代码中测试,可以这样操作:

if __name__ == "__main__":
    from promptflow.tracing import start_trace
    
    start_trace()
    
    result = chat("法国的首都是哪里?")
    print(result)

运行这个脚本会得到与CLI类似的输出,同样会提供追踪URL。

可视化界面测试

PromptFlow还提供了友好的用户界面:

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

这个命令会打开一个浏览器窗口,你可以在其中与你的聊天流程进行交互。

进阶学习

完成这个快速入门后,你可以继续探索以下主题:

  1. 追踪机制:深入了解PromptFlow如何记录和分析LLM调用
  2. Prompty开发:学习创建更复杂的提示模板
  3. 流程开发:掌握使用Python类和函数构建复杂流程
  4. DAG流程:学习使用可视化界面设计流程

结语

通过本教程,你已经掌握了PromptFlow的基本使用方法。PromptFlow的强大之处在于它提供了从简单到复杂的各种开发模式,无论你是想快速构建原型还是开发生产级应用,都能找到合适的工具和方法。

下一步,建议尝试修改Prompty文件中的参数,比如调整temperature值观察输出变化,或者添加更多的输入参数来构建更复杂的交互场景。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞿晟垣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值