Amazon Bedrock Studio is in preview release and is subject to change.
Create a flows app
In this section you first build a Prompt Flow that generates a playlist of music from a Knowledge Base of songs by fictional local bands. Next, you use Prompt Management to add a prompt that lets you customize the playlist for different genres of music. Finally, you add a condition that directs the flow to create a playlist of songs by local bands, if the requested genre is Cosmic Rock. For other genres, the flow generates a playlist with songs by well known bands.
Topics
Create an initial Prompt Flow app
In this procedure you create an initial Prompt Flow app which has an Flow input node and a Flow output node.
Important
If your workspace was created before Amazon Bedrock Studio added support for Prompt Flows apps, you won't be able to create a Prompt Flows app until your administrator updates your workspace. Ask your administrator to follow the instructions at Update a workspace for Prompt management and Flows.
A flow contains only one flow input node which is where the flow begins. The Flow input node takes your input and passes it to the next node in a data type of your choice (String, Number, Boolean, Object and Array). In these procedures, the input to the flow is a String. To learn more about using different data types in a flow, see Define inputs with expressions.
A flow output node extracts the input data from the previous node, based on the defined expression, and outputs the data. A flow can have multiple flow output nodes if there are multiple branches in the flow.
After completing the procedure, the flow app is empty, other than the Flow input and Flow output nodes. In the next step you add Knowledge Base as a data source and run the flow app for the first time.
Warning
The name and description of flows app are visible to all members of the Amazon Bedrock Studio workspace. We recommend that you don't store sensitive data in these two fields. Project-based access control ensures only authorized members of a project can edit the name, description, and other fields in the project.
To create an initial flows app
Open your Amazon Bedrock Studio workspace.
Make sure that you are in Build mode, by choosing Build at the top right of the page.
Open the project that you want to create your Prompt Flow flow app in, or create a new project by doing the following.
If you are not on the All projects page, choose View all projects in the Projects dropdown list box, at the top of the page.
On the All projects page, choose Create new project.
In the Create new project section, enter a name for your project in Project name.
Enter a description for your project in Project description.
Choose Create. It might take a few minutes to create the project.
In the card for your app, choose Go to project to open your project.
-
On the project page, in the Apps section, choose Create app and then Prompt Flow app.
-
In the flow builder, choose the flow name (Untitled Prompt Flow-nnnn) and enter
Local bands
as the name for the flow. -
In the Prompt Flow builder pane, select the Nodes tab. The center pane displays a Flow input node and a Flow output node. These are the input and output nodes for your flow. The circles on the nodes are connection points. In the next procedure, you use the connection points to connect a Knowledge Base node to the Flow input node and the Flow output node.
Next step: Add a Knowledge Base to your Prompt Flows app.
Add a Knowledge Base to your Prompt Flows app
In this procedure, you add a Knowlege Base node as a data source to the flow that you created in Create an initial Prompt Flow app. The Knowledge Base you add is Comma Seperated Values (CSV) file containing a list of ficticious songs and artists. The list includes the duration (seconds) and genre of each song. For more information about Knowledge Bases, see Add a data source to your app.
During the procedure, you make connections from the Flow input node to the Knowledge Base node and from the Knowledge Base node to the Flow output node. At some point, you might need to delete a node or remove a node connection. To delete a node, select the node that you want to delete and press the Delete button. To remove a connection, choose the connection that you want to delete and then press the delete button.
When you run the flow with the input Create a playlist
, the app
creates a playlist using songs only from the Knowledge Base.
To create the flow with a Knowledge Base
-
Create a CSV file name songs.csv and fill with the following ficticious CSV data. This is the data source for your Knowledge Base. Save the CSV file to your local computer.
song,artist,genre,length-seconds "Celestial Odyssey","Starry Renegades","Cosmic Rock",240 "Neon Rapture","Synthwave Siren","Synthwave Pop",300 "Wordsmith Warriors","Lyrical Legions","Lyrical Flow",180 "Nebula Shredders","Galactic Axemen","Cosmic Rock",270 "Electro Euphoria","Neon Nomads","Synthwave Pop",210 "Rhythm Renegades","Percussive Pioneers","Lyrical Flow",240 "Stardust Rift","Cosmic Crusaders","Cosmic Rock",180 "Synthwave Serenade","Electro Enchanters","Synthwave Pop",300 "Lyrical Legends","Rhyme Royale","Lyrical Flow",240 "Supernova Shredders","Amplified Ascension","Cosmic Rock",300 "Celestial Chords","Ethereal Echoes","Cosmic Rock",240 "Neon Nirvana","Synthwave Sirens","Synthwave Pop",270 "Verbal Virtuoso","Lyrical Maestros","Lyrical Flow",210 "Cosmic Collision","Stellar Insurgents","Cosmic Rock",180 "Pop Paradox","Melodic Mavericks","Synthwave Pop",240 "Flow Fusion","Verbal Virtuosos","Lyrical Flow",300 "Shredding Shadows","Crimson Crusaders","Cosmic Rock",270 "Synth Serenade","Electro Enchanters","Synthwave Pop",180 "Wordsmith Warlords","Lyrical Legionnaires","Lyrical Flow",240 "Sonic Supernova","Amplified Ascension","Cosmic Rock",210 "Celestial Symphony","Ethereal Ensemble","Cosmic Rock",300 "Electro Euphoria","Neon Nomads","Synthwave Pop",180 "Lyrical Legends","Rhyme Royale","Lyrical Flow",270 "Crimson Crescendo","Scarlet Serenaders","Cosmic Rock",240 "Euphoric Tides","Melodic Mystics","Synthwave Pop",210 "Rhythm Renegades","Percussive Pioneers","Lyrical Flow",180 "Cosmic Collision","Stellar Insurgents","Cosmic Rock",300 "Stardust Serenade","Celestial Crooners","Synthwave Pop",240 "Wordsmith Warriors","Lyrical Legions","Lyrical Flow",270 "Sonic Supernova III","Amplified Ascension","Cosmic Rock",180
Open the Prompt Flows app that you created in Create an initial Prompt Flow app.
-
Add and configure a Knowledge Base node by doing the following:
-
In the Prompt Flow builder pane, select the Nodes tab.
-
From the Data section, drag a Knowledge Base node onto the flow builder canvas.
-
The circles on the nodes are connection points. Using your mouse, click on the circle for the Flow input node and draw a line to the circle on Input section of the Knowledge Base node that you just added.
-
Connect the Output of the Knowledge Base node in your flow with the Input of the Flow output node.
-
Select the Knowledge Base node that you just added.
-
In the Prompt Flow builder pane, choose the Configure tab and do the following:
-
In Node name enter
Local_bands_knowledge_base
. -
In Knowledge Base Details, choose Create new Knowledge Base to open the Create Knowledge Base pane.
-
For Knowledge Base name, enter
Local_bands
. -
For Knowledge Base description, enter
Songs by local bands. Includes song, artist, genre, and song length (in seconds).
-
In Add data sources, choose Click to upload and upload the CSV file (songs.csv) that you created in step 1. Alternatively, add your source documents by dragging and dropping the CSV from your computer.
-
(Optional) In Embeddings model choose a different model, if available.
-
(Optional) In Vector store choose a different vector store, if available.
-
Choose Create to create the Knowledge Base. It might take a few minutes to create the Knowledge Base.
-
-
Back in the Prompt Flow builder pane, in Select Knowledge Base, select the Knowledge Base that you just created (Local_bands).
-
In Select response generation model, select the model that you want the Knowledge Base to generate responses with.
-
Choose Save to save the app.
-
Test your prompt by doing the following:
On right side of the app flow page, choose < to open the test pane.
-
Enter
Create a playlist
in the Enter prompt text box. -
Press Ctrl + Enter on the keyboard or choose the run button to test the prompt.
-
If necessary, make changes to your flow. If you are satisfied with the flow, choose Save.
Next step: Add a prompt to your Prompt Flows app.
Add a prompt to your Prompt Flows app
In this procedure you add a prompt to the flow by adding a prompt node. The prompt allows you to easily choose which genre of songs should be included in the playlist that the flow generates. For more information, see Use prompts with your Flows app.
To add a prompt to the flow
-
In the Prompt Flow builder pane, select Nodes.
-
From the Orchestration section, drag a Prompt node onto the flow builder canvas.
-
Select the node you just added.
-
In the Configurations tab of the Prompt Flow builder pane, do the following:
-
In Node name enter
Playlist_generator_node
. In Prompt details choose Create new prompt to open the Create prompt pane.
For Prompt name enter
Playlist_generator_prompt
.For Model, choose the model that you want the prompt to use.
For Prompt message enter
Create a playlist of songs in the genre {{genre}}
.(Optional) In Model configs, make changes to the inference parameters.
Choose Save draft and create version to create the prompt. It might take a couple of minutes to finish creating the prompt.
-
In the flow builder, choose the prompt node that you just added.
-
In the Configure tab, do the following in the Prompt details section:
In Prompt select the prompt that you just created.
In Version select the version (1) of the prompt to use.
Update the flow paths by doing the following:
-
Delete the output from the Knowledge Base node that goes into the Flow output.
-
Connect the output from the Knowledge Base node to the input of the Prompts node.
-
Connect the output from the prompt node to the input of the Flow output node.
-
Choose Save to save the flow. The flow should look similar to the following.
Test your prompt by doing the following:
On right side of the app flow page, choose < to open the test pane.
-
For Enter prompt, enter
Cosmic Rock
. -
Press Ctrl + Enter on the keyboard or choose the run button to test the prompt. The response should be a playlist of songs in the Cosmic Rock genre.
-
Change the prompt to
Synthwave Pop
and run the prompt again. The songs should now be from the Synthwave Pop genre. -
If necessary, make changes to your flow. If you are satisfied with the flow, choose Save.
Next step: Add a condition to your flows app.
Add a condition to your flows app
In this procedure, you add a condition node to
the flow so that if you enter the prompt Cosmic Rock
, the flow only
generates a playlist from the local bands Knowledge Base. If you enter a different
genre, the flows uses the playlist generator prompt to create a playlist of well known
artists in that genre.
To add a condition to the flow
-
In the Prompt Flow builder pane, choose Nodes.
-
From the Logic section, drag a Condition node onto the flow builder canvas.
-
Select the Condition node that you just added.
-
Add the flow that generates a playlist from local bands by doing the following:
-
In the Inputs section of the Configurations tab, change the Node Name to
Local_cosmic_rock_node
. -
In the Inputs section, change the Name to
genre
. -
In the Conditions section, do the following:
-
In Name, enter
Local_cosmic_rock
. -
In Condition, enter the condition
genre == "Cosmic Rock"
.
-
-
In the flow builder, choose the condition node that you just added.
-
Connect Go to node to the Knowledge base node.
-
Connect the Output of the Flow input node to the Input of the Condition node. Leave the existing connection to the Knowledge Base node as this ensures the prompt is passed to the Knowledge Base.
-
-
Add the flow that generates a playlist by well known bands by doing the following:
-
In the Prompt Flow builder pane, select Nodes.
-
From the Orchestration section, drag a Prompt node onto the flow builder canvas.
-
Select the node you just added.
-
Choose the Configurations tab of the prompt Flow builder pane and do the following:
-
For Node name, enter
Well_known_artist_playlist_generator_node
. -
In Prompt details section, choose the Playlist_generator_prompt prompt that you previously created.
-
For Version, select the version (1) of the prompt to use.
-
Connect the Output from the Flow input node to the Input of the prompt that you just created.
-
In the Condition node, connect the If all conditions are false go to node to the new prompt.
-
In the Flow builder pane, select Nodes.
-
From the Other section, drag a Flow output node onto the flow builder canvas.
-
Connect the Output of the new Prompt to the input of the new Flow output node.
-
-
-
Choose Save to save the flow. The flow should look similar to the following.
-
Test your prompt by doing the following:
-
On right side of the app flow page, choose < to open the test pane.
-
In Enter prompt, enter
Cosmic Rock
. -
Press Ctrl + Enter on the keyboard or choose the run button to test the prompt. The response should be a playlist of songs in the Cosmic Rock genre with bands that are only from the Knoweledge Base.
-
Change the prompt to
Classic Rock
and run the prompt again. The songs should now be well known bands from the classic rock genre.
-