diff --git a/generative-ai-rag-llama-index/0-introduction/introduction.md b/generative-ai-rag-llama-index/0-introduction/introduction.md
new file mode 100644
index 00000000..44d8373a
--- /dev/null
+++ b/generative-ai-rag-llama-index/0-introduction/introduction.md
@@ -0,0 +1,38 @@
+# Introduction
+
+## About This Workshop
+
+The main purpose of this workshop is to get started with using Oracle 23ai Vector Similarity Search, OCI Generative AI Service and Llama-Index for putting together a Retrieval Augmented Generation application that can be utilized with unstructured data.
+
+Estimated time: 120 minutes
+
+Objectives
+
+In this workshop, you will learn how to:
+
+* Provision Oracle 23ai Autonomous Database.
+* Configure access to Oracle Generative AI Service.
+* Use embedding and generation models
+* Build a RAG Pipeline
+* Host complete RAG application on OCI Compute
+
+Prerequisites:
+* Oracle Cloud account with access to the OCI Generative AI service
+* Enough privileges to use OCI
+* Basic knowledge of Python
+* Basic Linux knowledge
+
+Code used in this livelab can be found below:
+* [GitHub Repository](https://github.com/enisaras/Oracle-23ai-ADB-Vector-Search-Chatbot)
+
+## Learn More
+* [OCI Generative AI Service](https://www.oracle.com/artificial-intelligence/generative-ai/generative-ai-service/)
+* [Oracle AI Vector Search](https://www.oracle.com/database/ai-vector-search/)
+
+## Acknowledgements
+
+* Author - Enis Aras, Travis Ledbetter, Shay Hameed
+* Contributors - PS Pathak
+* Last Updated By/Date: Travis Ledbetter, October 2024
+
+
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/create-vector-db.md b/generative-ai-rag-llama-index/1-create-vector-db/create-vector-db.md
new file mode 100644
index 00000000..26b8674c
--- /dev/null
+++ b/generative-ai-rag-llama-index/1-create-vector-db/create-vector-db.md
@@ -0,0 +1,111 @@
+# Lab 1: Create and configure Autonomous Database
+
+## Introduction
+
+In this lab we will provision an Oracle Autonomous Database to use as the vector store for the following labs. We will be using the new vector data type in Oracle Database 23ai.
+
+Estimated Time: 20 mins
+
+### Prerequisites
+
+* An Oracle Cloud Infrastructure Account
+* Permissions to create an Autonomous Database
+
+## Task 1: Create the Autonomous Database
+
+1. Log in to your OCI console.
+
+2. Open the main "hamburger" menu in the top left corner of the Console. Select "Oracle Database" and then click "Autonomous Database."
+
+
+3. Select the correct compartment from the "List Scope"→"Compartment" on the left side of the page, and then click the "Create Autonomous Database" button.
+
+
+4. Change the "Display name" and "Database name" to "LiveLabVS" and choose the "Transaction Processing" workload. Everything else can remain as the default.
+
+
+5. Make sure the database version is "23ai". Everything else can remain as the default.
+
+
+6. Enter an administrator password. For this lab, we will use "**Livelabpassword1!**".
+
+
+7. Leave everything else as the default, and click the "Create Autonomous Database" button.
+
+8. Wait while the database is fully provisioned. Once the "ADW" icon turns from orange to green, and the word "AVAILABLE" appears under it, the database is ready.
+
+
+## Task 2: Download the Autonomous Database Wallet File
+
+1. Once the database is ready, click the "Database connection" button on the database details page.
+
+
+2. Leave "Wallet Type" as "Instance wallet" and click the "Download wallet" button. Enter a password for the wallet. For this lab, we will be using "**Livelabpassword1!**". Click the "Download" button.
+
+
+
+3. Close the database connection page
+
+## Task 3(Optional): Create an AIUSER Database Account
+
+1. From the database details page, click the "Database actions" dropdown button and select "Database Users".
+
+
+2. Click the "Create User" button on the right side of the page.
+
+
+3. Enter the following details for the user:
+a. Username: **AIUSER**
+b. Quota on tablespace DATA: **UNLIMITED**
+c. Password: **Livelabpassword1!**
+Enable the slider for "Web Access"
+
+
+4. Click the "ADMIN" profile button in the top right of the page, and select "Sign Out".
+
+
+5. Enter the credentials for the user account you just created. In this lab we use the following:
+a. Username: **AIUSER**
+b. Password: **Livelabpassword1!**
+
+
+6. Select the "Development" tab and select "SQL" from the list. Click the "Open" button.
+
+
+## Task 4: Create Database Tables For Vector Store
+**If you did Task 3, skip to number 2 below:**
+1. From the database details page, click the "Database actions" dropdown button and select "SQL".
+
+
+2. Copy and paste the SQL code from the create_tables.sql file into the SQL worksheet and click the "Run Script" button (or press F5).
+
+
+
+
+```sql
+
+create table BOOKS
+("ID" NUMBER NOT NULL,
+"NAME" VARCHAR2(100) NOT NULL,
+PRIMARY KEY ("ID")
+);
+
+create table CHUNKS
+("ID" VARCHAR2(64) NOT NULL,
+"CHUNK" CLOB,
+"VEC" VECTOR(1024, FLOAT64),
+"PAGE_NUM" VARCHAR2(10),
+"BOOK_ID" NUMBER,
+PRIMARY KEY ("ID"),
+CONSTRAINT fk_book
+ FOREIGN KEY (BOOK_ID)
+ REFERENCES BOOKS (ID)
+);
+
+```
+
+## **Acknowledgements**
+
+* **Authors** - Travis Ledbetter
+* **Last Updated By/Date** - Travis Ledbetter, October 2024
+
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-sql.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-sql.png
new file mode 100644
index 00000000..d049b998
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-sql.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-users.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-users.png
new file mode 100644
index 00000000..ab248b07
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-actions-users.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-admin-signout.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-admin-signout.png
new file mode 100644
index 00000000..a7732231
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-admin-signout.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-connection-button.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-connection-button.png
new file mode 100644
index 00000000..fed715d1
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-connection-button.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-name.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-name.png
new file mode 100644
index 00000000..43e67ca7
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-name.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-passwd.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-passwd.png
new file mode 100644
index 00000000..27e14b24
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-passwd.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-version.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-version.png
new file mode 100644
index 00000000..ccae265d
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-create-form-version.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-dev-sql.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-dev-sql.png
new file mode 100644
index 00000000..97553e0a
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-dev-sql.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-lifecycle-tile-green.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-lifecycle-tile-green.png
new file mode 100644
index 00000000..bcaa0db8
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-lifecycle-tile-green.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-login-form.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-login-form.png
new file mode 100644
index 00000000..85faffe8
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-login-form.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-sql-worksheet.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-sql-worksheet.png
new file mode 100644
index 00000000..9577d173
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-sql-worksheet.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user-form.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user-form.png
new file mode 100644
index 00000000..85063170
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user-form.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user.png
new file mode 100644
index 00000000..4c394f1c
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-users-create-user.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-download.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-download.png
new file mode 100644
index 00000000..c72c6dd7
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-download.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-password.png b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-password.png
new file mode 100644
index 00000000..a8182e15
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/adb-wallet-password.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/oci-create-adb.png b/generative-ai-rag-llama-index/1-create-vector-db/images/oci-create-adb.png
new file mode 100644
index 00000000..1121a5c2
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/oci-create-adb.png differ
diff --git a/generative-ai-rag-llama-index/1-create-vector-db/images/oci-main-menu.png b/generative-ai-rag-llama-index/1-create-vector-db/images/oci-main-menu.png
new file mode 100644
index 00000000..7a8a4472
Binary files /dev/null and b/generative-ai-rag-llama-index/1-create-vector-db/images/oci-main-menu.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/create-compute-instance.md b/generative-ai-rag-llama-index/2-create-compute-instance/create-compute-instance.md
new file mode 100644
index 00000000..8412f2c1
--- /dev/null
+++ b/generative-ai-rag-llama-index/2-create-compute-instance/create-compute-instance.md
@@ -0,0 +1,91 @@
+# Lab 2: Set up the Compute Instance and Connect to GitHub Code
+
+## Introduction
+This lab you will be creating a virtual machine that will install python 3.11, clone the GitHub Repo, and open necessary port.
+
+Estimated Time: 30 minutes
+
+### Prerequisites
+* Lab 1 of this Livelab completed.
+
+## Task 1: Set up OCI Compute Instance
+
+1. Open the main "hamburger" menu in the top left corner of the Console. Select "Compute" and then click "Instances."
+
+2. Select the correct compartment from the "List Scope"→"Compartment" on the left side of the page, and then click the "Create Instance" button.
+
+3. Select the correct compartment from the "List Scope"→"Compartment" on the left side of the page, and then click the "Create Instance" button.
+4. Fill in the following information:
+**Name:** LiveLab
+
+**Shape:** VM.Standard.A1.FLEX
+
+**Image:** Oracle Linux
+
+Click on **'Edit'** on Primary VNIC Information
+
+Click **'Create New Virtual Cloud Network'**
+
+5. Save private key for access.
+ 
+
+6. Click **'Create'**
+
+
+
+## Task 2: Install Python and Clone the Repo
+1. Launch Cloud Shell
+ 
+2. Ssh into compute instance.
+```bash
+
+ssh i ~/[private-key] @
+
+```
+
+3. Install Python 3.11 on VM.
+
+```bash
+
+sudo yum update
+sudo yum upgrade
+sudo yum install python3.11-devel
+python3.11 --version
+
+```
+
+4. Clone the [git repository](https://github.com/enisaras/Oracle-23ai-ADB-Vector-Search-Chatbot):
+```bash
+
+git clone https://github.com/enisaras/Oracle-23ai-ADB-Vector-Search-Chatbot.git
+
+```
+
+
+5. Install requirements.txt:
+
+```bash
+
+cd Oracle-23ai-ADB-Vector-Search-Chatbot
+pip install -r requirement.txt
+
+```
+
+## Task 3: Open Port on VCN
+
+1. On your network, open port 8501:
+Go your VCN
+Go to Default Security Lists
+Add ingress rules:
+ CIDR: 0.0.0.0/0
+ IP protocol: TCP
+ Destination Port Range: 8501
+
+ 
+
+## **Acknowledgements**
+
+* **Authors** - Shay Hameed
+* **Last Updated By/Date** - Travis Ledbetter, October 2024
+
+You may now **proceed to the next lab**
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo.png
new file mode 100644
index 00000000..9e814453
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo2.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo2.png
new file mode 100644
index 00000000..b7d90ee8
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo2.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo3.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo3.png
new file mode 100644
index 00000000..9daa0a67
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/clone-repo3.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/create-instance.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/create-instance.png
new file mode 100644
index 00000000..d66de2cb
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/create-instance.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/download-private-public-key.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/download-private-public-key.png
new file mode 100644
index 00000000..fec35035
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/download-private-public-key.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/hamburger-menu-compute.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/hamburger-menu-compute.png
new file mode 100644
index 00000000..02d51014
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/hamburger-menu-compute.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/on-creation-vm.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/on-creation-vm.png
new file mode 100644
index 00000000..b8359417
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/on-creation-vm.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/open-cloud-shell.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/open-cloud-shell.png
new file mode 100644
index 00000000..40f5c5d5
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/open-cloud-shell.png differ
diff --git a/generative-ai-rag-llama-index/2-create-compute-instance/images/vcn-port-opening.png b/generative-ai-rag-llama-index/2-create-compute-instance/images/vcn-port-opening.png
new file mode 100644
index 00000000..78c6946c
Binary files /dev/null and b/generative-ai-rag-llama-index/2-create-compute-instance/images/vcn-port-opening.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/build-rag-pipeline.md b/generative-ai-rag-llama-index/3-build-rag-pipeline/build-rag-pipeline.md
new file mode 100644
index 00000000..10eabcc5
--- /dev/null
+++ b/generative-ai-rag-llama-index/3-build-rag-pipeline/build-rag-pipeline.md
@@ -0,0 +1,73 @@
+# Lab 3: Build RAG Pipeline
+
+## Introduction
+Today, generative AI is one of the fastest growing fields in technology. Thanks to the advancement in research and industry, companies can now query their unstructured data intelligently using Vector AI Search and generate new content, analysis of events and much more using generative models. In this section we will define, explore and use OCI Embedding and Generative Chat models as well as build a modular RAG pipeline from user provided text data. This section is meant to be educational in nature. If you have experience with Generative AI, feel free to skip the steps marked optional.
+
+Estimated Time: 30 minutes
+
+### Prerequisites
+
+* A tenancy subscribed to the Chicago region.
+* Permissions to use OCI Generative AI service shared APIs.
+
+## Task 1 (Optional): OCI Generative AI Embedding Models:
+
+The first step to any machine learning task is data. For a very long time, companies all around the world have been querying their structured data stored in a database using SQL statements. For unstructured data, which is defined as any data that is not stored in a table with rows and columns, large blocks text, images, video and audio are all examples of unstructured data. With the help of embedding models this is not the case anymore. These AI models allow us to turn unstructured data into vectors that can be queried.
+
+Vectors are numerical representations of data that capture the semantic meaning of unstructured content. These vectors can then be used to perform tasks such as similarity search, clustering, and classification, allowing companies to query, analyze, and retrieve insights from their unstructured data efficiently.
+
+
+
+1. Click the **Navigation Menu** in the upper left, navigate to **Analytics & AI**, and select **Generative AI**.
+ 
+2. On the left navigation panel under **playground**, click **Embedding**.
+ 
+3. Use one of the example templates to embed text or bring in your own data.
+ 
+4. Click run to visualize results. Pay special attention to how similar sentences are grouped together.
+ 
+
+This concludes our section on embedding models. Embedding models are a crucial step in our RAG pipeline, enabling us to uncover similarities in text and perform other semantic applications. Next we will experiment with OCI Generative AI Chat models.
+
+## Task 2 (Optional): OCI Generative AI Chat Models
+
+To enable enterprises to take advantage of the ever growing Generative AI models Oracle has introduced a new cloud service called OCI Generative AI Chat models. These models can be utilized through the Generative AI shared API(focus of this section) or through the Dedicated AI Clusters for additional performance and dedicated hosting. Oracle is adding new models for new use cases all the time, meaning the model offerings may change. We will test out some of these models on the OCI Generative AI playground.
+
+1. Make sure you are in the **OCI Generative AI console**.
+2. On the left hand navigation panel, click **Chat**.
+ 
+3. Click on "View Model Details" to see models that are available to use, and choose a model.
+ 
+4. Test out models with the examples provided, or use your own queries.
+ 
+
+## Task 3 (Optional): Overview of Retrieval Augmented Generation
+
+Everything that we have covered in the previous sections and labs have been building up to a RAG pipeline. We first created the 23ai Autonomous Vector Database, a compute instance for our front-end and went over Embedding and Chat models. In this task we will introduce you to retrieval augmented generation and talk about each component of the **RAG Pipeline**.
+
+RAG Pipeline Components:
+
+1. Data Ingestion
+ * Collect and preprocess domain-specific data.
+ * Generate embeddings using an embedding model.
+2. Vector Storage
+ * Store embeddings in the Autonomous Vector Database.
+ * Utilize the vector datatype for efficient storage and retrieval.
+3. Query Processing
+ * User inputs a query.
+ * Generate an embedding of the query.
+4. Similarity Search
+ * Search the vector database using the query embedding.
+ * Retrieve the most relevant documents or data points.
+5. Response Generation
+ * Feed the retrieved information into a generative AI model.
+ * Generate a context-aware and accurate response.
+
+Now that we have an understanding of our RAG components, we can go ahead and proceed to the final step, setting up our front end and finally experimenting with our RAG pipeline
+
+You may now **proceed to the next lab**.
+
+## **Acknowledgements**
+
+* **Authors** - Enis Aras
+* **Last Updated By/Date** - Travis Ledbetter, October 2024
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/Chat_left_side.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/Chat_left_side.png
new file mode 100644
index 00000000..847657b3
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/Chat_left_side.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/basic_transform.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/basic_transform.png
new file mode 100644
index 00000000..68ef6798
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/basic_transform.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/chat_example.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/chat_example.png
new file mode 100644
index 00000000..952c590d
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/chat_example.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_example.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_example.png
new file mode 100644
index 00000000..1b2b983b
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_example.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_graph.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_graph.png
new file mode 100644
index 00000000..3f9ec132
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_graph.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_left_side.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_left_side.png
new file mode 100644
index 00000000..161a860d
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/embedding_left_side.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/model_details.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/model_details.png
new file mode 100644
index 00000000..e325bac6
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/model_details.png differ
diff --git a/generative-ai-rag-llama-index/3-build-rag-pipeline/images/navigation_menu_ai.png b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/navigation_menu_ai.png
new file mode 100644
index 00000000..652957aa
Binary files /dev/null and b/generative-ai-rag-llama-index/3-build-rag-pipeline/images/navigation_menu_ai.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/RAG_text_generated.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/RAG_text_generated.png
new file mode 100644
index 00000000..b0d42eda
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/RAG_text_generated.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/adb_navigation_menu.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/adb_navigation_menu.png
new file mode 100644
index 00000000..7a8a4472
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/adb_navigation_menu.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/browse_files.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/browse_files.png
new file mode 100644
index 00000000..03de3d96
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/browse_files.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/database_connection.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/database_connection.png
new file mode 100644
index 00000000..84a633d4
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/database_connection.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/db_config.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/db_config.png
new file mode 100644
index 00000000..4c97a78a
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/db_config.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/disable_rag.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/disable_rag.png
new file mode 100644
index 00000000..ea81bdb8
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/disable_rag.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/frontend_splash_page.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/frontend_splash_page.png
new file mode 100644
index 00000000..88788528
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/frontend_splash_page.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/genai_config.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/genai_config.png
new file mode 100644
index 00000000..f1c1e4f0
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/genai_config.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/navigate-compartment.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/navigate-compartment.png
new file mode 100644
index 00000000..943f19f0
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/navigate-compartment.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/tns_names.png b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/tns_names.png
new file mode 100644
index 00000000..6b0e3c80
Binary files /dev/null and b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/images/tns_names.png differ
diff --git a/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/setup-frontend.md b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/setup-frontend.md
new file mode 100644
index 00000000..c2c09c62
--- /dev/null
+++ b/generative-ai-rag-llama-index/4-setup-gen-ai-frontend/setup-frontend.md
@@ -0,0 +1,67 @@
+# Lab 4: Set up and Experiment with Streamlit Frontend
+
+## Introduction
+
+The final lab will cover setting up our front end, which is built on the open source Python package **Streamlit**. To orchastrate our RAG pipeline(refer to detailed explanation in Lab 3 for detailed overview) we will use **Llama-Index** to setup our LLM Chain and experiment with hyperparameters.
+
+Estimated time: 30 Minutes
+
+### Prerequisites
+* Labs 1 and 2 of this Livelab completed.
+* An environment authenticated with OCI API Keys: [docs](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_authentication_methods.htm)
+
+## Task 1: Update Config File(Database)
+
+Assuming that you have gone through all the previous steps, you should now have all the infrastructure you need to run our application. One final thing we need to do before running the app is collect the paramaters that we need to run it:
+
+1. Navigate to the **Autonomous Database** that we created on [Lab 1](../1-create-vector-db/create-vector-db.md).
+ 
+2. Once you are in Autonomous Database details page, click **Database Connections**.
+ 
+3. Scroll down to the bottom and copy one of the **service names**.
+ 
+4. Navigate to your favorite code editor in the remote compute instance and fill out the DB details.
+ 
+
+## Task 2: Update Config File(OCI Generative AI)
+
+1. Click the hamburger menu, navigate to **Identity & Security** then **Compartments**.
+ 
+2. Choose the compartment where you provisioned your ADB, Copy OCID of the Compartment.
+3. Navigate back to config file and paste details in their respective fields.
+ 
+
+## Task 3: (Optional) Obtain Cohere Reranker API Key
+
+Reranker is an optional step on our pipeline, but one that can improve relevancy of results by putting it through another layer of evaulation. OCI does not currently have a Reranker as a service, but for testing purposes Cohere offers a Reranker API that we can use. To obtain a Cohere API key, please navigate to [Cohere Website](https://cohere.com).
+
+## Task 4: Running RAG Front End
+
+1. Navigate to your terminal window and make sure you are connected to the compute instance previously created in [Lab 2](..2-create-compute-instance/create-compute-instance.md)
+2. Change directory into the code repository we have previously cloned in Lab 2.
+3. Create a new directory called **wallet** and unzip the previously downloaded zip file in this directory.
+4. Enter the following command to run the front end application.
+
+```streamlit run app.py```
+
+If you run into any issues in this portion of the lab, you can check error messages and detailed logging on your terminal.
+
+## Task 5: Experimenting with RAG Frontend
+1. After completing the previous task, navigate to ```http://localhost:8501``` on your browser.
+ 
+2. Upload a file for processing. This may take some time depending on the size of your file. Supported file types are .txt, .pdf, .csv and .tsv. You can use the example file used in this lab [Oracle 23ai Vector Search User Guide](https://docs.oracle.com/en/database/oracle/oracle-database/23/vecse/oracle-ai-vector-search-users-guide.pdf).
+ 
+3. Once the data is preprocessed and vector generation is finished, your RAG Agent is ready to chat with. Make your first query.
+ 
+4. Evaluate results and pay attention to citations retrieved from document. These citations help us reference documents to ensure relevancy in results.
+5. Optionally, disable RAG to ask model questions without context provided.
+ 
+6. This RAG application allows for many customization options. Try adjusting the model, hyperparameters, minimum similarity score and more. To get more information on model hyperparameters visit [this](https://docs.oracle.com/en-us/iaas/Content/generative-ai/chat-models.htm#parameters-chat) link.
+
+You may now **proceed to the next lab**.
+
+## **Acknowledgements**
+
+* **Authors** - Enis Aras
+* **Code** - Enis Aras, PS Pathak, Travis Ledbetter
+* **Last Updated By/Date** - Travis Ledbetter, October 2024
diff --git a/generative-ai-rag-llama-index/workshop/tenancy/index.html b/generative-ai-rag-llama-index/workshop/tenancy/index.html
new file mode 100644
index 00000000..79e335f5
--- /dev/null
+++ b/generative-ai-rag-llama-index/workshop/tenancy/index.html
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+ Oracle LiveLabs
+
+
+
+
+
+
+
+
+
+
+
+
+
Oracle LiveLabs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/generative-ai-rag-llama-index/workshop/tenancy/manifest.json b/generative-ai-rag-llama-index/workshop/tenancy/manifest.json
new file mode 100644
index 00000000..95d5e0d2
--- /dev/null
+++ b/generative-ai-rag-llama-index/workshop/tenancy/manifest.json
@@ -0,0 +1,41 @@
+{
+ "workshoptitle": "Oracle AI Vector Search with OCI Generative AI and Llama Index",
+ "help": "livelabs-help-aimldb_us@oracle.com",
+ "tutorials": [
+ {
+ "title": "Introduction",
+ "description": "The Introduction is always second for LiveLabs. The title and contents menu title match for the Introduction.",
+ "filename": "../../0-introduction/introduction.md"
+ },
+ {
+ "title": "Getting Started",
+ "description": "Get a Free Trial",
+ "filename": "https://oracle-livelabs.github.io/common/labs/cloud-login/pre-register-free-tier-account.md"
+ },
+ {
+ "title": "Lab 1: Create and configure Autonomous Database",
+ "description": "Labs that follow the introduction are numbered, starting with Lab 1",
+ "filename": "../../1-create-vector-db/create-vector-db.md"
+ },
+ {
+ "title": "Lab 2: Set up the Compute Instance and Connect to GitHub Code",
+ "description": "Labs that follow the introduction are numbered, starting with Lab 1",
+ "filename": "../../2-create-compute-instance/create-compute-instance.md"
+ },
+ {
+ "title": "Lab 3: Build RAG Pipeline",
+ "description": "Labs that follow the introduction are numbered, starting with Lab 1",
+ "filename": "../../3-build-rag-pipeline/build-rag-pipeline.md"
+ },
+ {
+ "title": "Lab 4: Set up and Experiment with Streamlit Frontend",
+ "description": "Labs that follow the introduction are numbered, starting with Lab 1",
+ "filename": "../../4-setup-gen-ai-frontend/setup-frontend.md"
+ },
+ {
+ "title": "Need Help?",
+ "description": "Solutions to Common Problems and Directions for Receiving Live Help",
+ "filename": "https://oracle-livelabs.github.io/common/labs/need-help/need-help-freetier.md"
+ }
+ ]
+ }
\ No newline at end of file