promptflow - Prompt flow是一套开发工具,旨在简化基于 LLM 的人工智能应用程序的端到端开发周期,从构思、原型设计、测试、评估到生产部署和监控。它使即时工程变得更加容易,并使您能够构建具有生产质量的 LLM 应用程序。

Created at: 2023-06-30 14:03:06
Language: Python
License: MIT

提示流程

蟒蛇包 蟒 PyPI - 下载 命令行界面 vsc 扩展

医生 问题 讨论 贡献 授权协议: MIT

欢迎加入我们,通过参与讨论、开放问题、提交 PR 来改善提示流程。

Prompt Flow 是一套开发工具,旨在简化基于 LLM 的 AI 应用程序的端到端开发周期,从构思、原型设计、测试、评估到生产部署和监控。它使快速工程设计变得更加容易,并使你能够构建具有生产质量的LLM应用程序。

通过提示流程,你将能够:

  • 创建并迭代开发流
    • 创建将 LLM、提示、Python 代码和其他工具链接在一起的可执行
    • 调试和迭代流,尤其是与 LLM 的交互
  • 评估流量质量和性能
    • 使用较大的数据集评估流的质量和性能。
    • 将测试和评估集成到 CI/CD 系统中,以确保流程质量。
  • 简化生产开发周期
    • 将流程部署到你选择的服务平台,或轻松集成到应用的代码库中。
    • (可选,但强烈推荐)通过利用 Azure AI 中的云版本的提示流与团队协作。

安装

确保你有一个python环境,建议。

python=3.9

pip install promptflow promptflow-tools

快速入门 ⚡

创建具有提示流的聊天机器人

运行命令以从聊天模板启动提示流,它会创建名为的文件夹并在其中生成所需的文件:

my_chatbot

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

为你的 API 密钥设置连接

对于 OpenAI 密钥,请使用文件夹中的文件运行命令来建立连接,该文件存储你的 OpenAI 密钥(使用 --set 覆盖密钥和名称以避免 yaml 文件更改):

openai.yaml
my_chatbot

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

对于 Azure OpenAI 密钥,请使用以下文件运行命令来建立连接:

azure_openai.yaml

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

与流聊天

在文件夹中,有一个概述流的文件,包括输入/输出、节点、连接和 LLM 模型等

my_chatbot
flow.dag.yaml

请注意,在节点中,我们使用名为(在字段中指定)和模型(在字段中指定)的连接。deployment_name是指定OpenAI模型或Azure OpenAI部署资源。

chat
open_ai_connection
connection
gpt-35-turbo
deployment_name

通过运行以下命令与你的聊天机器人互动:(按下以结束会话)

Ctrl + C

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

下一步!继续学习教程👇部分,深入了解提示流。

教程 🏃 ♂️

提示流是一个旨在构建高质量LLM应用程序的工具,提示流中的开发过程遵循以下步骤:开发流,提高流质量,将流部署到生产环境。

开发你自己的LLM应用程序

VS 代码扩展商标

我们还提供 VS Code 扩展(流设计器),用于使用 UI 提供交互式流开发体验。

vsc

你可以从可视化工作室市场安装它。

深入了解流量开发

提示流入门:调用首次流运行的分步指南。

从用例中学习

教程:使用 PDF 聊天:有关如何使用提示流构建高质量聊天应用程序的端到端教程,包括流开发和指标评估。

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

为贡献者设置

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

下一步!继续“贡献👇”部分,以参与提示流。

贡献

该项目欢迎贡献和建议。大多数贡献要求你同意贡献者许可协议 (CLA),声明你有权并且实际上确实授予我们使用你的贡献的权利。有关详细信息,请访问 https://cla.opensource.microsoft.com

当你提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA 并适当地装饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明进行操作即可。你只需要使用我们的 CLA 在所有存储库中执行此操作一次。

该项目采用了Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题解答或联系 opencode@microsoft.com 提出任何其他问题或意见。

商标

本项目可能包含项目、产品或服务的商标或徽标。Microsoft商标或徽标的授权使用受Microsoft商标和品牌指南的约束,并且必须遵守。在本项目的修改版本中使用Microsoft商标或徽标不得引起混淆或暗示Microsoft赞助。对第三方商标或徽标的任何使用均受这些第三方政策的约束。

行为准则

该项目采用了Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题解答或联系 opencode@microsoft.com 提出任何其他问题或意见。

许可证

版权所有 (c) Microsoft公司。保留所有权利。

根据 MIT 许可证获得许可。