{"data":{"slug":"microsoft-promptflow","name":"promptflow","tagline":"Build high-quality LLM apps from prototyping to production deployment and monitoring","github_url":"https://github.com/microsoft/promptflow","owner":"microsoft","repo":"promptflow","owner_avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=4","primary_language":"Python","stars":11193,"forks":1113,"topics":["ai","ai-application-development","ai-applications","chatgpt","gpt","llm","prompt","prompt-engineering"],"archived":false,"github_pushed_at":"2026-07-09T22:00:22+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/microsoft-promptflow","markdown_url":"https://www.graphcanon.com/tools/microsoft-promptflow.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/microsoft-promptflow","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=microsoft-promptflow","description":"Build high-quality LLM apps - from prototyping, testing to production deployment and monitoring.","homepage_url":"https://microsoft.github.io/promptflow/","license":"MIT","open_issues":72,"watchers":109,"ai_summary":"A framework for developing LLM applications from initial ideation through to deployment and ongoing oversight.","readme_excerpt":"## Installation\n\nTo 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!\n\n\n\nIf you want to get started in your local environment, first install the packages:\n\nEnsure you have a python environment, `python>=3.9, <=3.11` is recommended.\n\n```sh\npip install promptflow promptflow-tools\n```\n\n---\n\n## Quick Start ⚡\n\n**Create a chatbot with prompt flow**\n\nRun the command to initiate a prompt flow from a chat template, it creates folder named `my_chatbot` and generates required files within it:\n\n```sh\npf flow init --flow ./my_chatbot --type chat\n```\n\n**Setup a connection for your API key**\n\nFor 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):\n\n```sh\npf connection create --file ./my_chatbot/openai.yaml --set api_key=<your_api_key> --name open_ai_connection\n```\n\nFor Azure OpenAI key, establish the connection by running the command, using the `azure_openai.yaml` file:\n\n```sh\npf connection create --file ./my_chatbot/azure_openai.yaml --set api_key=<your_api_key> api_base=<your_api_base> --name open_ai_connection\n```\n\n**Chat with your flow**\n\nIn 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\n\n> 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.\n\nInteract with your chatbot by running: (press `Ctrl + C` to end the session)\n\n```sh\npf flow test --flow ./my_chatbot --interactive\n```\n\n**Core value: ensuring \"High Quality” from prototype to production**\n\nExplore our [**15-minute tutorial**](examples/tutorials/flow-fine-tuning-evaluation/promptflow-quality-improvement.md) that guides you through prompt tuning ➡ batch testing ➡ evaluation, all designed to ensure high quality ready for production.\n\nNext Step! Continue with the **Tutorial**  👇 section to delve deeper into prompt flow.\n\n---\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.","github_created_at":"2023-06-30T06:03:06+00:00","created_at":"2026-07-11T11:55:59.539596+00:00","updated_at":"2026-07-27T18:00:58.496927+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"ai-application-development","name":"ai-application-development"},{"slug":"chatgpt","name":"chatgpt"},{"slug":"llm","name":"llm"},{"slug":"prompt-engineering","name":"prompt-engineering"}],"trust":{"provenance":{"is_fork":false,"github_id":660489378,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-27T18:00:57.665Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":17,"last_release_at":"2025-01-09T21:00:17Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:56:00.947Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-27T18:00:58.147Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-27T18:00:58.147Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-27T18:00:58.147Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you require a comprehensive environment to manage the full lifecycle of LLM applications from ideation to deployment in Python.","For projects that benefit from integrated tools for both prompt engineering and application oversight throughout their existence."],"when_not_to_use":["If your team prefers or requires tools that support languages other than Python, as Promptflow is exclusively focused on the Python ecosystem.","In cases where a more fragmented toolset with specialized components for different development stages might be preferable to an integrated framework approach."],"source":"enrich:decision_facts","observed_at":"2026-07-16T23:09:55.225Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Promptflow is a development framework catered towards creating LLM applications through all stages of development, including initial prototyping and ongoing monitoring."}]}}