Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,7 @@
"examplecode/tools/vectorshift",
"examplecode/tools/mcp",
"examplecode/tools/mcp-partition",
"examplecode/tools/ibm-orchestrate",
"examplecode/tools/snowflake-streamlit",
"examplecode/tools/crewai",
"examplecode/tools/neo4j-chatbot"
Expand Down
114 changes: 114 additions & 0 deletions examplecode/tools/ibm-orchestrate.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
title: IBM watsonx Orchestrate
---

[IBM watsonx Orchestrate](https://www.ibm.com/products/watsonx-orchestrate) helps you build, deploy and manage powerful
AI assistants and agents that automate workflows and processes with generative AI.

This article provides a hands-on, step-by-step walkthrough that uses IBM watsonx Orchestrate to
build a simple AI chat app. This chat app relies on data that is stored in a Milvus vector database. This data
is generated by Unstructured and is based on your organization's source documents and semi-structured data.

## Requirements

To use this example, you will need the following:

- Within your IBM Cloud account, an IBM watsonx.data subscription that contains a Milvus service instance.

- Create an [IBM Cloud account](https://cloud.ibm.com/registration).

To complete this example, you must [create an API key](https://www.ibm.com/docs/en/masv-and-l/cd?topic=cli-creating-your-cloud-api-key) for your IBM Cloud account.

- Create an [IBM watsonx.data subscription](https://cloud.ibm.com/watsonxdata) in your IBM Cloud account.
- Create a [Milvus service instance](/ui/destinations/milvus) within your IBM watsonx.data subscription plan. This instance
must contain a database, a collection, and an index to store and manage the data that is generated by Unstructured.

To complete this example, you will need the following settings for the Milvus service instance:

- The instance's GRPC host value.
- The instance's GRPC port value.
- The name of the target database on the instance.
- The name of the target collection in the database.
- The name of the target index in the collection.

To get these settings, see the [Milvus destination connector](/ui/destinations/milvus) documentation.

- Within your Unstructured account, a workflow that contains a Milvus destination connector.

- Create an [Unstructured account](https://unstructured.io/signup).
- Create a [Milvus destination connector](/ui/destinations/milvus) in your Unstructured account.
- Create a [custom workflow](/ui/workflows#create-a-custom-workflow) that contains the Milvus destination connector in your Unstructured account.

The workflow must generate [embeddings](/ui/embedding). The workflow's **Embedder** node's selected embedding model provider must be **IBM watson.ai**. The
node's selected embedding model must match the embedding model that you will specify later in **Step 2**.

Be sure to [run the workflow](/ui/workflows#edit%2C-delete%2C-or-run-a-workflow) to have Unstructured generate the data and store it in your Milvus instance's database.

## Step 1: Add an IBM watsonx Orchestrate subscription to your IBM Cloud account

If you already have an IBM watsonx Orchestrate subscription, then skip ahead to **Step 2**.

1. [Log in to your IBM Cloud account](https://cloud.ibm.com/login).
2. On the sidebar, click the **Resource list** icon. If the sidebar is not visible, click the **Navigation Menu** icon to the far left of the
top navigation bar.
3. Click **Create resource**.
4. With **IBM Cloud catalog** selected, search for and select **watsonx Orchestrate**.
5. Complete the on-screen instructions to finish creating the IBM watsonx Orchestrate subscription.

## Step 2: Create the chat app in IBM watsonx Orchestrate

In this step, you use IBM watsonx Orchestrate to create a chat app. This chat app allows you to ask questions about
your organization's documents and semi-structured data. This data is stored in your Milvus instance's database and was
generated by Unstructured in a format that is well-suited for your chat app.

1. Open your IBM watsonx Orchestrate subscription, if it is not already open. To do this:

a. [Log in to your IBM Cloud account](https://cloud.ibm.com/login).<br/>
b. On the sidebar, click the **Resource list** icon. If the sidebar is not visible, click the **Navigation Menu** icon to the far left of the
top navigation bar.<br/>
c. In the list of resources, expand **AI / Machine Learning**, and then click the target watsonx Orchestrate subscription.<br/>
d. Click **Launch watsonx Orchestrate**.<br/>

2. If the **Chat** page is not already open, click the **Open the main menu** icon to the far left of the
top navigation bar, and then click **Chat**.
3. Toward the bottom of the sidebar, click **Create new agent**.
4. On the **Create an agent** page, with **Create from scratch** already selected, enter some **Name** and **Description** for the agent, and then click **Create**.
5. Under **Knowledge source**, in the **Start by adding knowledge** tile, click **Choose knowledge**.
6. On the **Select source** page, click **Milvus**, and then click **Next**.
7. On the **Connect Milvus** page, specify the following settings:

a. For **GRPC host**, enter the GRPC host value for the Milvus service instance within your IBM watsonx.data subscription.<br/>
b. For **GRPC port**, enter the GRPC port value for the instance.<br/>
c. For **Choose an authentication type**, select **Basic authentication**.<br/>
d. For **Username**, enter `ibmlhapikey`.<br/>
e. For **Password**, enter the API key for your IBM Cloud account.<br/>
f. Click **Next**.<br/>

8. On the **Select index** page, specify the following settings:

a. For **Database**, select the name of the target database on the Milvus service instance within your IBM watsonx.data subscription.<br/>
b. For **Use Collection or Alias**, select **Collection**.<br/>
c. For **Collection**, select the name of the target collection in the database.<br/>
d. For **Index**, select the name of the target index in the collection.<br/>
e. For **Embedding model**, select the name of the embedding model that matches the one that you specified earlier in your Unstructured workflow.<br/>
f. For **Title**, select **element_id**.<br/>
g. For **Body**, select **text**.<br/>
h. Click **Next**.<br/>

9. On the **Description** page, enter some description for the agent, and then click **Save**.
10. In the list of pages, click **Behavior**.
11. Switch on **Chat with documents**.
10. Click **Deploy**.
11. On the **Pre-deployment summary** page, click **Deploy**.

## Step 3: Run the chat app

In this step, you ask questions about your organization's source documents and semi-structured data. The chat app then
attempts to answer your questions by searching the related data that Unstructured generated and stored in your Milvus instance's database.

1. If the **Chat** page is not already open in IBM watsonx Orchestrate, click the **Open the main menu** icon to the far left of the
top navigation bar, and then click **Chat**.
2. In the sidebar, in the **Agents** list, select the name of the agent that you created in the previous step.
3. In the **Type something** box, enter a question, and then press `Enter`.
4. The agent will provide an answer.
5. Keep asking as many questions as you want to.