Skip to content
Open
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
8 changes: 4 additions & 4 deletions dev-ai-app-dev-rel/build/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

In this lab, you build a complete retail return recommendation engine. You'll connect to the database, explore order and image data, and invoke an LLM (Large Language Model) to generate personalized return allowance decisions and policy explanations. Building on earlier exercises, you’ll use Python to deliver a fully integrated, AI-powered retail returns application.

This lab uses some of the basic coding samples you created in lab 2, such as `cursor.execute` and more.
This lab uses some of the basic coding samples you created in lab 3, such as `cursor.execute` and more.

Estimated Time: 30 minutes

Expand All @@ -20,10 +20,10 @@ Estimated Time: 30 minutes
This lab assumes you have:

* An Oracle Cloud account
* Completed lab 1: Connect to the Development Environment
* Completed lab 2: Connect to the Development Environment

## Task 1: Build the application in Jupyter Notebook
>💡**Note**: Review Lab 1: Connect to the development environment for instructions on accessing JupyterLab.
>💡**Note**: Review Lab 2: Connect to the development environment for instructions on accessing JupyterLab.

1. You should see a terminal pop up once you are logged into LiveLabs. (You can always create a new one by clicking on the blue + and select terminal)

Expand Down Expand Up @@ -182,7 +182,7 @@ You will query customer data from the `customer_returns_dv` JSON duality view, w

![Fetch customer](./images/fetch-customer.png " ")

If you saw or ran the demo lab "Run the Demo" earlier, this is what gets printed out when the Return officer clicks on the customer 1000. You just built it.
If you saw or ran the demo lab #1 "Run the Demo" earlier, this is what gets printed out when the Return officer clicks on the customer 1000. You just built it.

## Task 4: Create a function to generate recommendations for the customer

Expand Down
16 changes: 7 additions & 9 deletions dev-ai-app-dev-rel/introduction/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,30 @@ In this set of labs, we'll look at SeerGroup, a global conglomerate with multipl

This workshop shows how SeerGroup tackles this. By keeping data in one place and using more modern tools and framworks, such as LangChain, they are working to cut out multiple integrations to give analysts, engineers, and managers a **single platform** for smarter and more informed approvals, efficient and more accurate investigations, and clearer customer answers and outcomes.

<!--

✅ **Start with the demo! (Lab 1)**

Step into SeerGroup’s Retail division as a Return Authorization Specialist. You’ll use an AI-powered product return app built on Oracle AI Database to:
Step into SeerGroup’s Retail division as a Return Authorization Specialist. You’ll use an AI-powered product return app to:

* Process return requests with AI Vector Search, Graph analytics, and use Retrieval-Augmented Generation (RAG)
* See how Generative AI compares claims against past returns, loyalty tiers, and risk scores in seconds
* Set the status of returns to approve, deny, or pending with AI-generated explanations and decision letters (PDFs) based on **real data** in the database
* Update return records using JSON Duality Views, ensuring order and customer data stays consistent

This story shows how Seer Retail uses Oracle AI Database and OCI Generative AI to speed up returns, cut fraud, and deliver consistent customer experiences. All within a single converged database.
-->
✅ **Overview of Labs 1–4**
✅ **Overview of Labs 2–5**

In the next labs, you’ll connect to Oracle AI Database, shape data using JSON Duality Views, build a retrieval-augmented application, and then extend it to be an AI agent via reusable tools using Model Context Protocol (MCP). By the end, you’ll see how SeerGroup industries can move from siloed processes to data and AI-driven applications. Labs 1 and 2 will be in the morning session, and Labs 3 and 4 will be completed in the afternoon sessions.

* **Lab 1 – Connect to your environment**
* **Lab 2 – Connect to your environment**
Log in to the JupyterLab IDE where you’ll run Python code.

* **Lab 2 – Build the data foundation**
* **Lab 3 – Build the data foundation**
Use Python with Oracle AI Database to create tables, shape them into JSON Duality Views, and interact with them using both SQL and MongoDB-style API syntax. This lays the groundwork for AI workflows across SeerGroup.

* **Lab 3 – Implement RAG**
* **Lab 4 – Implement RAG**
Construct a working AI application. Pull customer and grid data, generate recommendations with OCI Generative AI, chunk and vectorize the results, and answer follow-up questions using Vector Search + RAG.

* **Lab 4 – Explorer agentic apps with Oracle MCP**
* **Lab 5 – Explorer agentic apps with Oracle MCP**
This lab links Oracle MCP to LangChain (an AI agent framework ) through a Flask web console and exposes SQL operations as AI-discoverable tools. It includes SeerHolding sample schemas for domain-specific prompt testing.

By the end, you’ll have a complete toolkit—from clean data to live AI apps to composable tools—that shows how SeerGroup industries can turn their data into intelligent applications.
Expand Down
101 changes: 101 additions & 0 deletions dev-ai-app-dev-rel/user-story/files/starter-file.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/* NOTE: Files cannot contain empty lines (line breaks) */
/* Specify the base URL that you copied from your files in OCI Object Storage in the define base_URL line below*/
/* change idthydc0kinr to your real namespace. The name is case-sensitive. */
/* change ADWCLab to your real bucket name. The name is case-sensitive. */
/* change us-phoenix-1 to your real region name. The name is case-sensitive. */
/* you can find these values on the OCI Console .. Storage .. Object Storage screen */
set define on
define base_URL='https://objectstorage.us-phoenix-1.oraclecloud.com/n/idthydc0kinr/b/ADWCLab/o'
/* copy Channels table */
begin
dbms_cloud.copy_data(
table_name =>'CHANNELS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/chan_v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true')
);
end;
/
/* copy Countries table */
begin
dbms_cloud.copy_data(
table_name =>'COUNTRIES',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/coun_v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true')
);
end;
/
/* Copy customers */
begin
dbms_cloud.copy_data(
table_name =>'CUSTOMERS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/cust1v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'SUPPLEMENTARY_DEMOGRAPHICS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/dem1v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'SALES',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/dmsal_v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'PRODUCTS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/prod1v3.dat',
format => json_object('delimiter' value '|', 'quote' value '^', 'ignoremissingcolumns' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'PROMOTIONS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/prom1v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'SALES',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/sale1v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD', 'blankasnull' value 'true')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'TIMES',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/time_v3.dat',
format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
);
end;
/
begin
dbms_cloud.copy_data(
table_name =>'COSTS',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/costs.dat',
format => json_object('ignoremissingcolumns' value 'true', 'dateformat' value 'YYYY-MM-DD', 'blankasnull' value 'true')
);
end;
/
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dev-ai-app-dev-rel/user-story/images/login.png
Binary file added dev-ai-app-dev-rel/user-story/images/sample2.png
Loading
Loading