Discover / LLM Ops & Observability

Prompt Flow

by microsoftPython

Toolkit for building, evaluating and deploying prompt based LLM application workflows.

Toolactive

Maturity: active because commit 25d ago, latest release promptflow_1.17.1. Derived from release and commit history, not a rating.

Stars
11k
Forks
1.1k
Downloads / mo
79k
Last commit
2026-07-09
License
MIT
Open issues
71

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Prompt engineering by hand gives no repeatable way to test a flow, trace it or take it to production.

Use it when

Use it when you want executable flows with tracing, batch testing and evaluation that can run in CI.

Not the right pick when

Connections and flows are its own YAML format, so it imposes structure a plain script does not need.

Capabilities

  • executable flows linking LLMs, prompts, Python code and tools
  • tracing of interactions with LLMs while debugging
  • batch evaluation over larger datasets
  • pf CLI to init flows, create connections and test interactively
  • integration of testing and evaluation into CI/CD
  • deploy the flow to a serving platform or into app code

Requirements

  • python>=3.9, <=3.11 recommended
  • an OpenAI or Azure OpenAI key set up as a connection

Cost: Needs a paid API or account

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has docsHas examplesSecurity policyCI configured

Detected from the actual files in the repository root.

Latest release promptflow_1.17.1

Published 2025-01-09

We are pleased to announce the release of promptflow 1.17.1.

This release includes some new features, bug fixes, and improvements. We recommend that all users upgrade to this version.

See the CHANGELOG for a list of all the changes.

The release will be available via PyPI:


pip install --upgrade promptflow

Please report any issues with the release on the promptflow issue tracker.

Thanks to all the contributors who made this release possible.

Tags

README

Prompt flow

Python package

Python

PyPI - Downloads

CLI

vsc extension

Doc

Issue

Discussions

CONTRIBUTING

License: MIT

Welcome to join us to make prompt flow better by

participating discussions,

opening issues,

submitting PRs.

Prompt flow is a suite of development tools designed to streamline the end-to-end development cycle of LLM-based AI applications, from ideation, prototyping, testing, evaluation to production deployment and monitoring. It makes prompt engineering much easier and enables you to build LLM apps with production quality.

With prompt flow, you will be able to:

  • Create and iteratively develop flow
  • Create executable flows that link LLMs, prompts, Python code and other tools together.
  • Debug and iterate your flows, especially tracing interaction with LLMs with ease.
  • Evaluate flow quality and performance
  • Evaluate your flow's quality and performance with larger datasets.
  • Integrate the testing and evaluation into your CI/CD system to ensure quality of your flow.
  • Streamlined development cycle for production
  • Deploy your flow to the serving platform you choose or integrate into your app's code base easily.
  • (Optional but highly recommended) Collaborate with your team by leveraging the cloud version of Prompt flow in Azure AI.

Installation

To get started quickly, you can use a pre-built development environment. Click the button below to open the repo in GitHub Codespaces, and then continue the readme!

Open in GitHub Codespaces

If you want to get started in your local environment, first install the packages:

Ensure you have a python environment, python>=3.9, <=3.11 is recommended.


pip install promptflow promptflow-tools

Quick Start ⚡

Create a chatbot with prompt flow

Run the command to initiate a prompt flow from a chat template, it creates folder named my_chatbot and generates required files within it:


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

Setup a connection for your API key

For OpenAI key, establish a connection by running the command, using the openai.yaml file in the my_chatbot folder, which stores your OpenAI key (override keys and name with --set to avoid yaml file changes):


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

For Azure OpenAI key, establish the connection by running the command, using the azure_openai.yaml file:


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

Chat with your flow

In the my_chatbot folder, there's a flow.dag.yaml file that outlines the flow, including inputs/outputs, nodes, connection, and the LLM model, etc

Note that in the chat node, we're using a connection named open_ai_connection (specified in connection field) and the gpt-35-turbo model (specified in deployment_name field). The deployment_name filed is to specify the OpenAI model, or the Azure OpenAI deployment resource.

Interact with your chatbot by running: (press Ctrl + C to end the session)


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

Core value: ensuring "High Quality” from prototype to production

Explore our 15-minute tutorial that guides you through prompt tuning ➡ batch testing ➡ evaluation, all designed to ensure high quality ready for production.

Next Step! Continue with the Tutorial 👇 section to delve deeper into prompt flow.

Tutorial 🏃‍♂️

Prompt flow is a tool designed to build high quality LLM apps, the development process in prompt flow follows these steps: develop a flow, improve the flow quality, deploy the flow to production.

Develop your own LLM apps

VS Code Extension

We also offer a VS Code extension (a flow designer) for an interactive flow development experience with UI.

<img src="docs/media/readme/vsc.png" alt="vsc" width="1000"/>

You can install it from the <a href="https://marketplace.visualstudio.com/items?itemName=prompt-flow.prompt-flow">visualstudio marketplace</a>.

Deep delve into flow development

Getting started with prompt flow: A step by step guidance to invoke your first flow run.

Learn from use cases

Tutorial: Chat with PDF: An end-to-end tutorial on how to build a high quality chat application with prompt flow, including flow development and evaluation with metrics.

More examples can be found here. We welcome contributions of new use cases!

Setup for contributors

If you're interested in contributing, please start with our dev setup guide: dev_setup.md.

Next Step! Continue with the Contributing 👇 section to contribute to prompt flow.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a

Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us

the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide

a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions

provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct.

For more information see the Code of Conduct FAQ or

contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft

trademarks or logos is subject to and must follow

Microsoft's Trademark & Brand Guidelines.

Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.

Any use of third-party trademarks or logos are subject to those third-party's policies.

Code of Conduct

This project has adopted the

Microsoft Open Source Code of Conduct.

For more information see the

Code of Conduct FAQ

or contact opencode@microsoft.com

with any additional questions or comments.

Data Collection

The software may collect information about you and your use of the software and

send it to Microsoft if configured to enable telemetry.

Microsoft may use this information to provide services and improve our products and services.

You may turn on the telemetry as described in the repository.

There are also some features in the software that may enable you and Microsoft

to collect data from users of your applications. If you use these features, you

must comply with applicable law, including providing appropriate notices to

users of your applications together with a copy of Microsoft's privacy

statement. Our privacy statement is located at

https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data

collection and use in the help documentation and our privacy statement. Your

use of the software operates as your consent to these practices.

Telemetry Configuration

Telemetry collection is on by default.

To opt out, please run pf config set telemetry.enabled=false to turn it off.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

Related tools