Prompt Flow是一套旨在简化基于LLM的AI应用的端到端开发周期的开发工具套件,包括构思、原型设计、测试、评估、生产部署和监控等各个阶段。它使得Prompt工程变得更加轻松,让您能够构建具有生产质量的LLM应用。

通过Prompt Flow,您将能够:

  1. 创建和迭代开发流程

    • 创建可执行流程,将LLMs、提示、Python代码和其他工具进行链接。
    • 轻松调试和迭代流程,特别是与LLMs的交互。
  2. 评估流程的质量和性能

    • 使用更大的数据集评估流程的质量和性能。
    • 将测试和评估集成到CI/CD系统中,以确保流程的质量。
  3. 为生产提供简化的开发周期

    • 将流程部署到您选择的服务平台,或者轻松集成到您应用的代码库中。
    • (可选但强烈建议)通过在Azure AI中利用Prompt Flow的云版本与团队协作。

这使得开发和部署 LLM 应用变得更加高效和方便。

安装

为了快速入门,您可以使用预构建的开发环境。点击下面的按钮在GitHub Codespaces中打开repo,然后继续阅读readme!

在GitHub Codespaces中打开

如果您想在本地环境中开始,请首先安装以下包:

确保您有一个Python环境,建议使用python=3.9。

  1. pip install promptflow promptflow-tools

快速开始 ⚡

使用 prompt flow 创建一个聊天机器人

运行以下命令从聊天模板初始化一个prompt flow,它将创建名为my_chatbot的文件夹并在其中生成所需的文件:

  1. pf flow init --flow ./my_chatbot --type chat

为您的 API 密钥设置连接

对于OpenAI密钥,通过运行以下命令建立连接,使用my_chatbot文件夹中的openai.yaml文件存储您的OpenAI密钥(使用—set覆盖键和名称以避免yaml文件更改):

  1. pf connection create --file ./my_chatbot/openai.yaml --set api_key=<your_api_key> --name open_ai_connection

对于Azure OpenAI密钥,通过运行以下命令建立连接,使用azure_openai.yaml文件:

  1. pf connection create --file ./my_chatbot/azure_openai.yaml --set api_key=<your_api_key> api_base=<your_api_base> --name open_ai_connection

与您的流进行交互

在my_chatbot文件夹中,有一个flow.dag.yaml文件,概述了流程,包括输入/输出、节点、连接和LLM模型等。

请注意,在chat节点中,我们使用了一个名为open_ai_connection(在connection字段中指定)的连接和gpt-3.5-turbo模型(在deployment_name字段中指定)。deployment_name字段用于指定OpenAI模型或Azure OpenAI部署资源。

通过运行以下命令与您的聊天机器人进行交互:(按Ctrl + C结束会话)

  1. pf flow test --flow ./my_chatbot --interactive

核心价值:从原型到生产保证“高质量”

探索我们的15分钟教程,指导您进行prompt调优 ➡ 批量测试 ➡ 评估,所有这些都旨在确保高质量以备生产使用。

下一步!继续下面的教程 👇 部分,深入了解prompt flow。

教程 🏃‍♂️

Prompt flow是一个旨在构建高质量LLM应用的工具,prompt flow的开发流程遵循以下步骤:开发流程,改进流程质量,将流程部署到生产环境。

开发您自己的LLM应用

VS Code扩展

我们还提供一个VS Code扩展(流程设计工具),用于与UI进行交互式的流程开发体验。

简介 - 图1

您可以从Visual Studio Marketplace安装它。

深入研究流程开发

深入了解prompt flow的流程开发:逐步指南,调用您的第一个流程运行。

从用例中学习 教程:Chat with PDF:一个端到端的教程,介绍如何使用 prompt flow 构建一个高质量的聊天应用,包括流程开发和通过指标进行评估。

更多示例可以在这里找到。我们欢迎新用例的贡献!

贡献者设置 如果您有兴趣贡献,请从我们的开发设置指南开始:dev_setup.md。

下一步!继续阅读贡献部分,为prompt flow做出贡献。