Understand core components and explore flow types

Completed

To create a Large Language Model (LLM) application with prompt flow, you need to understand prompt flow's core components.

Understand a flow

Prompt flow is a feature within Azure AI Foundry that allows you to author flows. Flows are executable workflows often consist of three parts:

  1. Inputs: Represent data passed into the flow. Can be different data types like strings, integers, or boolean.
  2. Nodes: Represent tools that perform data processing, task execution, or algorithmic operations.
  3. Outputs: Represent the data produced by the flow.

Diagram of the three components of a flow pipeline.

Similar to a pipeline, a flow can consist of multiple nodes that can use the flow's inputs or any output generated by another node. You can add a node to a flow by choosing one of the available types of tools.

Explore the tools available in prompt flow

Three common tools are:

  • LLM tool: Enables custom prompt creation utilizing Large Language Models.
  • Python tool: Allows the execution of custom Python scripts.
  • Prompt tool: Prepares prompts as strings for complex scenarios or integration with other tools.

Each tool is an executable unit with a specific function. You can use a tool to perform tasks like summarizing text, or making an API call. You can use multiple tools within one flow and use a tool multiple times.

Tip

If you're looking for functionality that is not offered by the available tools, you can create your own custom tool.

Whenever you add a new node to your flow, adding a new tool, you can define the expected inputs and outputs. A node can use one of the whole flow's inputs, or another node's output, effectively linking nodes together.

By defining the inputs, connecting nodes, and defining the desired outputs, you can create a flow. Flows help you create LLM applications for various purposes.

Understand the types of flows

There are three different types of flows you can create with prompt flow:

  • Standard flow: Ideal for general LLM-based application development, offering a range of versatile tools.
  • Chat flow: Designed for conversational applications, with enhanced support for chat-related functionalities.
  • Evaluation flow: Focused on performance evaluation, allowing the analysis and improvement of models or applications through feedback on previous runs.

Now that you understand how a flow is structured and what you can use it for, let's explore how you can create a flow.