Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

**Welcome to the Code with AI Vector Search Challenge!**

In this lab, you will use Oracle Database 23ai to build a loan matching feature for a financial application. By implementing similarity search, you will match user queries to loan descriptions based on meaning—**not just keywords**.
Enhance your app with an intent-matching feature using AI Vector Search. Work in a Jupyter Notebook to enable similarity search on patient history, doctor notes, and past approvals. Match cases semantically—not just by keywords—and return relevant prior examples to support real-time decisions.

![Similarity Search](./images/similarity-search.png " ")

At SeerEquites, the data science team is building a loan recommendation system that goes beyond keyword matching. They are using AI Vector Search to understand meaning in loan descriptions—for example, linking "Affordable Housing Loan" to "Low-Income Home Loan." In this lab, you will complete their Similarity Search feature using Oracle Database 23ai, which converts text into embeddings and uses cosine similarity to find conceptually similar loans.
At Seer Healthcare, the data science team is building a claim recommendation system that goes beyond keyword matching. They are using AI Vector Search to understand meaning in treatment descriptions—for example, linking "Patient History" to "Prior Claims." In this lab, you will complete their Similarity Search feature using Oracle Database 23ai, which converts text into embeddings and uses cosine similarity to find conceptually similar claims.

**Why AI Vector Search?**

Unlike keyword search, AI Vector Search captures meaning. For example, 'Military Veteran Loan' and 'Veteran Home Loan' use different words but express similar ideas. Oracle Database 23ai converts loan descriptions into vectors, compares their meanings, and ranks results by similarity for more accurate recommendations.
Unlike keyword search, AI Vector Search captures meaning. For example, '[placeholder]]' and '[placeholder]' use different words but express similar ideas. Oracle Database 23ai converts claim descriptions into vectors, compares their meanings, and ranks results by similarity for more accurate recommendations.

Good luck, and enjoy the process. Let’s get coding!

Expand Down Expand Up @@ -331,9 +331,9 @@ The fourth code block ties it all together. It lets users enter a loan descripti
You have successfully:

- Connected to Oracle Database 23ai.
- Vectorized loan descriptions into embeddings.
- Vectorized treatment descriptions into embeddings.
- Verified the stored data.
- Built a Similarity Search to match user queries to loans.
- Built a Similarity Search to match user queries to treatments.

By completing this challenge, you’ve seen how Oracle 23ai AI Vector Search transforms text into vectors and finds meaningful matches.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

**Welcome to the Code with AI Vector Search Challenge!**

This lab guides you through building a loan matching feature for a financial app using Similarity Search in Oracle Database 23ai. You will fix and complete a Jupyter Notebook to implement AI Vector Search, enabling the app to find loan offers that closely match user profiles based on vector similarity.
Enhance your app with an intent-matching feature using AI Vector Search. Work in a Jupyter Notebook to enable similarity search on patient history, doctor notes, and past approvals. Match cases semantically—not just by keywords—and return relevant prior examples to support real-time decisions.

![Similarity Search](./images/similarity-search.png " ")

At SeerEquites, the data science team is building a smarter loan recommendation system using vector similarity. They started implementing a feature that vectorizes loan descriptions and matches them to user queries—**but the code is incomplete**. ❗Key sections are marked (**"CHANGES GO HERE"**) and it is up to you to finish the job and make the feature work.❗
At Seer Healthcare, the data science team is building a claim recommendation system that goes beyond keyword matching. They are using AI Vector Search to understand meaning in treatment descriptions—for example, linking "Patient History" to "Prior Claims." In this lab, you will complete their Similarity Search feature using Oracle Database 23ai, which converts text into embeddings and uses cosine similarity to find conceptually similar claims.

**Why AI Vector Search?**

Keyword searches often miss context. For example, "Affordable Housing Loan" and "Low-Income Home Loan" mean similar things but use different terms. AI Vector Search solves this by converting text into vectors (embeddings) that capture meaning. With Oracle Database 23ai, you will use similarity search to match user queries to loan descriptions based on semantics, not just keywords. If you're ready to dive in, proceed with this lab and start coding. If you prefer a more guided approach with a detailed walkthrough, you can continue to Lab 5b Step-by-step: Code with AI Vector Search for step-by-step instructions.
Unlike keyword search, AI Vector Search captures meaning. For example, '[placeholder]]' and '[placeholder]' use different words but express similar ideas. Oracle Database 23ai converts claim descriptions into vectors, compares their meanings, and ranks results by similarity for more accurate recommendations.

Good luck, and enjoy the process. Let’s get coding!

Expand Down Expand Up @@ -346,9 +346,9 @@ You have successfully:
- Connected to Oracle Database 23ai.
- Vectorized loan descriptions into embeddings.
- Verified the stored data.
- Built a Similarity Search to match user queries to loans.
- Built a Similarity Search to match user queries to treatments.

Fixing the code allowed SeerEquites to recommend loans based on meaning, not keywords, using AI Vector Search in Oracle Database 23ai. You learned to generate embeddings, query vectors, and integrate AI with SQL—skills you can apply to other projects.
Fixing the code allowed Seer Healthcare to recommend treatments based on meaning, not keywords, using AI Vector Search in Oracle Database 23ai. You learned to generate embeddings, query vectors, and integrate AI with SQL—skills you can apply to other projects.

## Learn More

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The SeerEquities loan application runs in an **Oracle Cloud Infrastructure (OCI)

- A VM in the public subnet runs two containers, including:

- Open-source Python library for the Loan Approval Demo
- Open-source Python library for the Healthcare Claim Approval Demo

- JupterLab as a browser-based development environment

Expand Down Expand Up @@ -63,7 +63,7 @@ Oracle Database 23ai supports property graphs, which model relationships using v

Property graphs simplify working with connected data, such as identifying influencers, predicting trends, or discovering relationships through pattern matching, by offering a more intuitive and efficient way to model and query complex networks.

**Where is it used**: We implemented property graphs in the demo part of this workshop. Loan approval officers can use it to identify potential alternative loans for their customers.
**Where is it used**: We implemented property graphs in the demo part of this workshop. Healthcare Claim Analysts can use it to identify potential alternative treatments for their patients.


## Acknowledgements
Expand Down
8 changes: 4 additions & 4 deletions dev-ai-app-dev-healthcare/build/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, you will build a loan recommendation system powered by Oracle Database 23ai and OCI Generative AI. You will connect to a Oracle Database 23ai, explore customer data, extract relevant insights, and use a Large Language Model (LLM) to generate personalized loan suggestions. The system combines AI with OCI Generative AI to provide personalized loan recommendations. This system integrates AI capabilities with Oracle's robust database technology to deliver targeted financial recommendations.
Here you’ll create an end‑to‑end prior‑authorization system using Oracle Database 23ai and OCI Generative AI. After connecting to clinical datasets, you’ll analyze patient records and leverage an LLM to recommend approval, pend, or denial - complete with evidence citations. By applying Python skills from prior labs, you’ll assemble a fully integrated, AI‑driven healthcare review portal.

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

Expand All @@ -15,10 +15,10 @@ To get things started we invite you to watch this video and see the lab in actio

### Objectives

* Build the complete loan approval application as seen in lab 1
* Use OCI Generative AI to generate personalized loan recommendations
* Build the complete healthcare claim approval application as seen in lab 1
* Use OCI Generative AI to generate personalized claim recommendations
* Use Python to connect to an Oracle Database 23ai instance and run queries
* Explore customer data and extract relevant information
* Explore patient data and extract relevant information

### Prerequisites

Expand Down
6 changes: 3 additions & 3 deletions dev-ai-app-dev-healthcare/cloud-login/cloud-login.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, we will show you where you can find the login information and how to log in to the **SeerEquities Loan Management application**.
In this lab, we will show you where you can find the login information and how to log in to the **SeerHoldings Healthcare Management application**.

Estimated Time: 5 minutes

Expand All @@ -27,11 +27,11 @@ b. **Time Remaining:** This shows you the remaining time before your access to t

![Click the Start Demo Link](./images/start-demo.png " ")

2. Enter in a username, select the **Loan Officer** role, and click **Login**.
2. Enter in a username, select the **Claims Officer** role, and click **Login**.

![Login](./images/login.png " ")

3. Welcome to the SeerEquities Loan Management application! Congratulations, you are now connected to the demo environment. You can now execute the different tasks and steps for the LiveLabs workshop.
3. Welcome to the SeerHoldings Healthcare Management application! Congratulations, you are now connected to the demo environment. You can now execute the different tasks and steps for the LiveLabs workshop.

![Homepage](./images/app-home.png " ")

Expand Down
11 changes: 6 additions & 5 deletions dev-ai-app-dev-healthcare/codingbasics/codingbasics.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this hands-on lab, you will learn the basics of working with Oracle Database 23ai using Python. You will connect to the database with both `oracledb` and `pymongo`, create and query tables, and build JSON Duality Views. You will also explore Oracle’s Mongo API to query and update data using a familiar document model. For organizations already using MongoDB-like applications, the Oracle MongoDB API enables a smoother transition and integration with existing code, tools, or drivers—while consolidating everything in Oracle’s converged platform.
In this hands-on lab, you'll use Python to interact with Oracle Database 23ai - connecting with both `oracledb` and `pymongo`, creating tables, querying data, and building JSON Duality Views. You'll also explore Oracle’s Mongo API to query and update data using a document-based approach, making it easy to integrate with existing MongoDB-style apps. This lab is ideal for those with basic Python and Oracle knowledge and builds on the setup from Lab 2.

Estimated Time: 30 minutes

Expand Down Expand Up @@ -187,7 +187,6 @@ Now, that we have established a connection, we can start creating our tables and

![query customers](./images/task3.png " ")

### **Task Summary**

Congratulations! You successfully created two new tables with sample data using Python and Oracle Database.

Expand All @@ -197,7 +196,9 @@ You also created a function that allows you to query your new table which we wil

Next, we want to explore how we can use a **JSON Duality View** to query our new table. A JSON Duality View allows us to interact with data as JSON objects, i.e., data is stored as documents. Unlike a regular view, we can also update data in a JSON Duality View. Any updates will be reflected in our original relational tables. We will create a JSON Duality View using our newly created tables `customers` and `orders`.

1. Before we create the **JSON Duality View**, we need to add some **constraints** to our new tables. Copy & paste the following code into a **new cell** and run it.
1. Before we create the **JSON Duality View**, we need to add some **constraints** to our new tables. Constraints define specific rules and conditions that the data in a table must follow. Their main function is to maintain data integrity and ensure the accuracy and reliability of the stored information.

Copy & paste the following code into a **new cell** and run it.

```python
<copy>
Expand Down Expand Up @@ -478,9 +479,9 @@ The final step in our basic coding tour with Python and the Oracle Database 23ai

🔴 **`df.head()`** - This is a method that returns that returns the result of the query including the column names.

## Summary
## Conclusion

In this lab, we learned how to use Python and Oracle's Python driver `oracledb` to interact with Oracle Database 23ai's new features. You learned how to user the `cursor` object to execute SQL queries. Using the `cursor` object, you created a **JSON Duality View** and you even used some JSON functions to query documents using SQL syntax. Then, you also learned how to connect to the database using `pymongo` and retrieve data from a table in the database using **MongoDB syntax**. You created functions to update the **JSON Duality View** and you learned how these updates are also reflected in the underlying relational database tables.
In this lab, we learned how to use Python and Oracle's Python driver `oracledb` to interact with Oracle Database 23ai's new features. You learned how to use the `cursor` object to execute SQL queries. Using the `cursor` object, you created a **JSON Duality View** and you even used some JSON functions to query documents using SQL syntax. Then, you also learned how to connect to the database using `pymongo` and retrieve data from a table in the database using **MongoDB syntax**. You created functions to update the **JSON Duality View** and you learned how these updates are also reflected in the underlying relational database tables.

In the next labs, you will see several of the coding principles learned and even more.

Expand Down
8 changes: 5 additions & 3 deletions dev-ai-app-dev-healthcare/connect-to-env/connect-to-env.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, we will show you how to connect to the development environment. We are using JupyterLab as our development environment, which is a web-based application that allows you to write and run code on your browser. You can use this environment to create notebooks, edit files, and run Python scripts.
In this lab, you'll learn how to access the web-based Jupyter Lab development environment, where you can write and run Python code directly in your browser. You'll log in, create notebooks, and get ready to start coding in a hands-on environment.

Estimated Time: 5 minutes

Expand All @@ -28,9 +28,9 @@ To get things started we invite you to watch this video and see the lab in actio

1. Review the different elements in JupyterLab:

**File browser:** The file browser organizes and manages files within the JupyterLab workspace. It supports drag-and-drop file uploads, file creation, renaming, and deletion. Users can open notebooks, terminals, and text editors directly from the browser. Navigation is fast and intuitive, with breadcrumbs and context menus that surface relevant actions. Users can right-click files to access options like duplicate, shutdown kernel, or open with a specific editor.
**File browser (1):** The file browser organizes and manages files within the JupyterLab workspace. It supports drag-and-drop file uploads, file creation, renaming, and deletion. Users can open notebooks, terminals, and text editors directly from the browser. Navigation is fast and intuitive, with breadcrumbs and context menus that surface relevant actions. Users can right-click files to access options like duplicate, shutdown kernel, or open with a specific editor.

**Launcher:** The launcher offers a streamlined entry point for starting new activities. Users can create Jupyter Notebooks for interactive coding with live code execution, visualizations, and rich markdown. The terminal provides direct shell access, enabling command-line operations within the JupyterLab environment. These two tools form the core of most workflows, supporting both interactive analysis and system-level tasks from a single interface.
**Launcher (2 and 3):** The launcher offers a streamlined entry point for starting new activities. Users can create Jupyter Notebooks for interactive coding with live code execution, visualizations, and rich markdown. The terminal provides direct shell access, enabling command-line operations within the JupyterLab environment. These two tools form the core of most workflows, supporting both interactive analysis and system-level tasks from a single interface.

![JupyterLab Launcher](./images/jupyter.png " ")

Expand All @@ -48,7 +48,9 @@ You will use a Jupyter Notebook in JupyterLab to build and test the loan recomme

![JupyterLab blocks](./images/block.png " ")

## Conclusion

In this lab you logged into the **IDE Development Environment** for Jupyter Labs. You reviewed different elements from the environment like **File Browser** and **Launcher**. Lastly, you were introduced to concepts to allow you to get started running code smoothly like **executing code blocks** and **outputs and warnings**.

## Acknowledgements
* **Author** - Kamryn Vinson
Expand Down
Loading