Skip to content
Draft
Show file tree
Hide file tree
Changes from 3 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.