promptflow is a free, open source ai development platforms project written in Python and released under MIT. It has 11,243 GitHub stars, 1,122 forks and 69 open issues, and was last pushed 22 days ago. On this registry it ranks #47 of 61 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available. It gained 2 stars over the last 3 tracked days.

What is promptflow?

Prompt flow is a Microsoft-developed, MIT-licensed suite of Python development tools that streamlines the end-to-end lifecycle of LLM-based AI applications — ideation, prototyping, testing, evaluation, production deployment and monitoring — for developers and teams who need prompt-driven apps to reach production quality rather than stay in a notebook.

What it is

Prompt flow is an open-source toolkit published as the Python package promptflow, maintained in the microsoft/promptflow repository under the MIT licence. Its core abstraction is the flow: an executable artifact, described in a flow.dag.yaml file, that links LLMs, prompts, Python code and other tools together into a graph with defined inputs, outputs, nodes and connections. Around that abstraction the project provides a command-line interface (pf), a Visual Studio Code extension (prompt-flow.prompt-flow), tracing of LLM interactions, dataset-based evaluation, and deployment paths onto a serving platform of choice or directly into an application's codebase. Documentation lives at microsoft.github.io/promptflow, and the project sits in the AI and machine learning tooling ecosystem, with topics spanning llm, prompt-engineering, chatgpt and AI application development.

The concrete problem it solves is the gap between a prompt that works in a scratch script and a prompt-backed feature that can be trusted in production. Prompt engineering work typically fragments into ad-hoc Python snippets, untracked model and connection settings, and manual spot checks that never scale past a handful of examples. Prompt flow replaces that scattered workflow with a structured flow definition, reusable tool nodes, a named connection layer for model credentials, tracing for debugging iterations, and a repeatable evaluation step that can run against larger datasets and be wired into CI/CD so quality is checked on every change.

Key capabilities

  • Executable flows defined in flow.dag.yaml, combining LLMs, prompts, Python code and tools into one graph with explicit inputs, outputs, nodes and connections.
  • Connection management through the pf CLI, for example pf connection create --file ./my_chatbot/azure_openai.yaml --set api_key=... api_base=... --name open_ai_connection for Azure OpenAI and the equivalent openai.yaml for OpenAI.
  • Model selection via the deployment_name field, which specifies either an OpenAI model or an Azure OpenAI deployment resource, with the connection named in the connection field.
  • Tracing of interactions with LLMs to debug and iterate on flows.
  • Evaluation of flow quality and performance against larger datasets.
  • Integration of testing and evaluation into a CI/CD system to enforce flow quality gates.
  • Deployment to a chosen serving platform or direct integration into an application's codebase.
  • A Visual Studio Code extension and a GitHub Codespaces quickstart for setting up a development environment.

Who uses it and how

  • Python teams building LLM applications, working in an environment with python>=3.9 and the packages installed locally.
  • Developers using OpenAI or Azure OpenAI models, who configure credentials once as a named connection such as open_ai_connection and reference it from flow nodes.
  • MLOps and platform engineers who embed flow evaluation into CI/CD pipelines so that every change to a prompt or node is measured against a dataset before release.
  • Teams that want to collaborate on flows through the cloud version, Prompt flow in Azure AI, which the README describes as optional but highly recommended.
  • New contributors or evaluators who want a working environment without local setup, using the GitHub Codespaces quickstart on the repository.

Getting started

The README offers two paths: open the repository in GitHub Codespaces using the quickstart button for a pre-built development environment, or install the packages locally in a Python environment with python>=3.9, then create a model connection with pf connection create before chatting with a flow. Documentation is hosted at microsoft.github.io/promptflow.

How it compares

The facts provide no list of paid products that this project replaces, and no comparable third-party tools are named in the topics or README. The only adjacent offering mentioned is the cloud version of the same project, Prompt flow in Azure AI, which the README frames as an optional collaboration layer rather than a separate product. On the evidence available, prompt flow stands alone in this registry.

When to use it — and when not to

A self-hoster must maintain a Python environment at version 3.9 or above, install and upgrade the promptflow package, and manage model credentials and connection files such as openai.yaml and azure_openai.yaml along with the API keys they contain. Teams that do not write Python, or that want a fully managed turnkey platform with no local tooling, should look elsewhere. One further caveat visible in this listing: the README excerpt is truncated and its installation snippet is incomplete, so the project's own documentation site should be treated as the authoritative setup reference.

project readme (upstream, from github) — read inline

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
  • 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, Note that in the chatnode, we're using a connection namedopen_ai_connection(specified inconnectionfield) and thegpt-35-turbomodel (specified indeployment_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.

You can install it from the visualstudio marketplace.

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 [email protected] 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 [email protected] 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

readme truncated — read the full docs on github

Frequently asked questions

Is promptflow free to use?

promptflow is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does promptflow do?

Build high-quality LLM apps - from prototyping, testing to production deployment and monitoring.

What is promptflow written in?

promptflow is primarily written in Python. Its source is publicly available at https://github.com/microsoft/promptflow, and it has 11,243 GitHub stars.