# Flex Flow

You can learn more on flex flow with examples in this folder.

## SDK examples

| path | status | description |
------|--------|-------------
| [flex-flow-quickstart.ipynb](./basic/flex-flow-quickstart.ipynb) | [![samples_flexflows_basic_flexflowquickstart](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_basic_flexflowquickstart.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_basic_flexflowquickstart.yml) | A quickstart tutorial to run a flex flow and evaluate it. |
| [flex-flow-quickstart-azure.ipynb](./basic/flex-flow-quickstart-azure.ipynb) | [![samples_flexflows_basic_flexflowquickstartazure](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_basic_flexflowquickstartazure.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_basic_flexflowquickstartazure.yml) | A quickstart tutorial to run a flex flow and evaluate it in azure. |
| [chat-with-class-based-flow-azure.ipynb](./chat-basic/chat-with-class-based-flow-azure.ipynb) | [![samples_flexflows_chatbasic_chatwithclassbasedflowazure](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatbasic_chatwithclassbasedflowazure.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatbasic_chatwithclassbasedflowazure.yml) | A quickstart tutorial to run a class based flex flow and evaluate it in azure. |
| [chat-with-class-based-flow.ipynb](./chat-basic/chat-with-class-based-flow.ipynb) | [![samples_flexflows_chatbasic_chatwithclassbasedflow](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatbasic_chatwithclassbasedflow.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatbasic_chatwithclassbasedflow.yml) | A quickstart tutorial to run a class based flex flow and evaluate it. |
| [chat-stream-with-flex-flow.ipynb](./chat-stream/chat-stream-with-flex-flow.ipynb) | [![samples_flexflows_chatstream_chatstreamwithflexflow](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatstream_chatstreamwithflexflow.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatstream_chatstreamwithflexflow.yml) | A quickstart tutorial to run a class based flex flow in stream mode and evaluate it. |
| [chat-stream-with-async-flex-flow.ipynb](./chat-async-stream/chat-stream-with-async-flex-flow.ipynb) | [![samples_flexflows_chatasyncstream_chatstreamwithasyncflexflow](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatasyncstream_chatstreamwithasyncflexflow.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_chatasyncstream_chatstreamwithasyncflexflow.yml) | A quickstart tutorial to run a class based flex flow in stream mode and evaluate it. |
| [langchain-eval.ipynb](./eval-criteria-with-langchain/langchain-eval.ipynb) | [![samples_flexflows_evalcriteriawithlangchain_langchaineval](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_evalcriteriawithlangchain_langchaineval.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flexflows_evalcriteriawithlangchain_langchaineval.yml) | A tutorial to converting LangChain criteria evaluator application to flex flow. |

## CLI examples
| path | status | description |
------|--------|-------------
| [basic](./basic/README.md) | [![samples_flex_flows_basic](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_basic.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_basic.yml) |  A basic standard flow define using function entry that calls Azure OpenAI with connection info stored in environment variables |
| [chat-async-stream](./chat-async-stream/README.md) | [![samples_flex_flows_chat_async_stream](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_async_stream.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_async_stream.yml) |  A chat flow defined using async class entry that return output in stream mode |
| [chat-basic](./chat-basic/README.md) | [![samples_flex_flows_chat_basic](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_basic.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_basic.yml) |  A basic chat flow defined using class entry |
| [chat-minimal](./chat-minimal/README.md) | [![samples_flex_flows_chat_minimal](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_minimal.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_minimal.yml) |  A chat flow defined using function with minimal code |
| [chat-stream](./chat-stream/README.md) | [![samples_flex_flows_chat_stream](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_stream.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_stream.yml) |  A chat flow defined using class entry that return output in stream mode |
| [chat-with-functions](./chat-with-functions/README.md) | [![samples_flex_flows_chat_with_functions](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_with_functions.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_chat_with_functions.yml) |  This flow covers how to use the LLM chat API in combination with external functions to extend the capabilities of GPT models |
| [eval-checklist](./eval-checklist/README.md) | [![samples_flex_flows_eval_checklist](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_checklist.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_checklist.yml) |  A example flow defined using class entry which demos how to evaluate the answer pass user specified check list |
| [eval-code-quality](./eval-code-quality/README.md) | [![samples_flex_flows_eval_code_quality](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_code_quality.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_code_quality.yml) |  A example flow defined using class based entry which leverages model config to evaluate the quality of code snippet |
| [eval-criteria-with-langchain](./eval-criteria-with-langchain/README.md) | [![samples_flex_flows_eval_criteria_with_langchain](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_criteria_with_langchain.yml/badge.svg?branch=main)](https://github.com/microsoft/promptflow/actions/workflows/samples_flex_flows_eval_criteria_with_langchain.yml) |  A example flow of converting LangChain criteria evaluator application to flex flow |