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.
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!
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
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 namedopen_ai_connection
(specified inconnection
field) and thegpt-35-turbo
model (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.
< 8000 div class="markdown-heading" dir="auto">