-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Publishing new livelab - Deploy an ODA Chatbot powered by Generative …
…AI Agents using 23ai Vector DB: WMS ID 11764, also made changes to WMS ID 11617 (#351) * Added ATOM steps * Update manifest.json * Updated images * update manifest.json * Update manifest.json * Added zip files * Updated few links * Update introduction.md * Updated files * Updated files * updated intro * Update provision.md * Update introduction.md * Updated files * completed first draft of intro * Updated files * Updated files * Updated files * Updated files * Update provision.md * Updated need help links * Update provision.md * Update provision.md * Deleted images from sample workshop * Updated Provision.md * Updated Provision.md * Updated Provision.md and addded and image * Update provision.md * Update provision.md * Update provision.md * Updated files * Added another lab Added another lab * Update provision.md Updated few steps * Updated names * Updated Updated * Updated * Updated files * Updated file Updated * Updated instructions Updated instructions * Updated files Updated files * Updated files Updated files * Updated date * Files removed Files removed * Updated model to command rplus Updated model to command rplus * Updated date * Updated to chat rplus model Updated to chat rplus model * Updated files Updated files * Updated files Updated files * Updated files Updated files * Updated model instructions * Update provision.md * Updated provision.md * Update provision.md * Updated file * Adding 23ai agent workshop Adding 23ai agent workshop * Updated files * Updated files * Updated files * Update dbconn_create_conn.png * Updated files * Updated files * Updated files * Updated files * Updated files * Updated files * Updated files * Create oda_locate.png * Updated images * Updated Last Updated date --------- Co-authored-by: JB Anderson <[email protected]>
- Loading branch information
1 parent
ca46045
commit 6255c09
Showing
103 changed files
with
1,488 additions
and
7 deletions.
There are no files selected for viewing
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
# Create ADB and DB Tools Connection | ||
|
||
## Introduction | ||
|
||
This lab will take you through the steps needed to provision Oracle Autonomous Database 23ai and Database Tools Connection. Keep in mind this is an optional lab if you already have a 23ai db provisioned and an existing DB tools connection. You can directly move to lab 3 if you also have a table and vector search function ready. | ||
|
||
Estimated Time: 30 minutes | ||
|
||
### About Oracle ADB 23ai | ||
|
||
Oracle Database 23ai is the next long-term support release of Oracle Database. It includes over 300 new features with a focus on artificial intelligence (AI) and developer productivity. Oracle AI Vector Search is designed for Artificial Intelligence (AI) workloads and allows you to query data based on semantics, rather than keywords. | ||
This feature provides a built-in VECTOR data type that enables vector similarity searches within the database. | ||
With a built-in VECTOR data type, you can run run AI-powered vector similarity searches within the database instead of having to move business data to a separate vector database. | ||
|
||
### Objectives | ||
|
||
In this lab, you will: | ||
|
||
* Provision an Oracle ADB 23ai | ||
* Create DB Tools Connection | ||
|
||
### Prerequisites | ||
|
||
This lab assumes you have: | ||
|
||
* All previous labs successfully completed | ||
* Must have an Administrator Account or Permissions to manage several OCI Services: Oracle Databases, Networking, Policies. | ||
|
||
## Task 1: Dynamic Group and Policy Definition | ||
|
||
This task will help you ensure that the Dynamic Group and Policy are correctly defined. | ||
|
||
1. Locate Domains under Identity & Security | ||
|
||
![Domain Navigation](images/locate_domain.png) | ||
|
||
2. Click on your current domain name | ||
|
||
![Click Domain](images/click_domain.png) | ||
|
||
3. Click on Dynamic Groups, and then your Dynamic Group name | ||
|
||
![Click DG](images/click_dg.png) | ||
|
||
**Note** The name of your dynamic group can be different. | ||
|
||
4. Ensure that your Dynamic Group is properly defined - as follows. Then click on Identity | ||
|
||
![DG Details](images/dg_details.png) | ||
|
||
5. Click on Policies, ensure that you are in your "root" compartment, then click on your Policy name | ||
|
||
![Click Policy](images/click_policy.png) | ||
|
||
**Note** The name of your policy can be different. | ||
|
||
6. Ensure that your Policy is properly defined - as follows. | ||
|
||
![Policy Details](images/policy_details.png) | ||
|
||
**Note** If you are using a non-default identity domain - then instead of of just supplying the dynamic group name, you need to provide domain-name/group-name in the policy statements. | ||
|
||
## Task 2: Create VCN and private subnet | ||
|
||
This task will help you to create a VCN and private subnet in your compartment. | ||
|
||
1. Go to Networking -> Virtual cloud networks and Create VCN. Provide IPv4 CIDR Blocks as 10.0.0.0/16 | ||
|
||
2. Go to the newly created VCN and click on Create Subnet. Provide IPv4 CIDR Block as 10.0.1.0/24 and click on Private Subnet. You can leave rest as default. Click on Create Subnet. | ||
|
||
3. Click on newly created subnet and go to the Security List. Add following ingress rules in the security list. Make sure to have the ingress rule to access database port 1521-1522 | ||
|
||
![Ingress Rules](images/ingress_rules.png) | ||
|
||
## Task 3: Create Vault to store database secrets | ||
|
||
This task will help you to create vault which would be used to save secrets for the database | ||
|
||
1. Locate Vault under Key Management & Secret Management. Provide Name and click on Create Vault. | ||
|
||
![Vault](images/create_vault.png) | ||
|
||
2. Go to the newly created Vault. Click on Create Key. | ||
|
||
3. Provide Name and leave rest as default. Choose Protection Mode as HSM and click on Create Key. | ||
|
||
![Create Key](images/create_key.png) | ||
|
||
## Task 4: Create Autonomous Database | ||
|
||
This task involves creating Autonomous Database 23ai. | ||
|
||
1. Locate Autonomous Databases under Oracle Databases. Click on Create Autonomous Database. | ||
|
||
![Create ADB](images/create_adb.png) | ||
|
||
2. Provide information for Compartment, Display name, Database name. Choose workload type as Data Warehouse. Choose deployment type as Serverless. Choose database version as 23ai and give it a password of your preference. | ||
|
||
3. Make sure to select the Network Access: Private Endpoint access only, and select the VCN and subnet mentioned in above section. Also, do not check Require mutual TLS (mTLS) authentication. | ||
|
||
![ADB creation](images/adb.png) | ||
|
||
4. Finally provide a valid email ID and click on Create Autonomous Database. | ||
|
||
## Task 5: Create Database Tools Connection | ||
|
||
This task involves creating a Database Tools Connection which will be used to query the database using SQL Worksheet. | ||
|
||
1. Locate Database Tools Connections under Developer Services. Click on Create connection. | ||
|
||
![Create conn](images/dbconn.png) | ||
|
||
2. Provide Name and Compartment information. Choose Oracle Autonomous Database as Database cloud service. Provide Username as admin. | ||
|
||
3. Click on Create password secret. Provide Name, Vault and Key createdin Task 3. Provide same password used at the time of ADB creation in previous task. | ||
|
||
![Create Password](images/dbconn_pass.png) | ||
|
||
4. Use the newly created password secret as User password secret. | ||
|
||
5. Copy the connection string from your autonomous database. Go to ADB and click on database connection and copy any of the low, medium or high connection strings as shown below, | ||
|
||
![Create Conn String](images/conn_string.png) | ||
|
||
6. Modify the connection string with the following: Reduce retry_count form 20 to 3; Replace host with private ip address. You can get Private IP address from the autonomous database as shown below. | ||
|
||
![Private IP](images/pvt_ip.png) | ||
|
||
7. Click on Create private endpoint. Provide Name and private subnet created in Task 1. | ||
|
||
![Private Endpoint](images/dbconn_pvt_endp.png) | ||
|
||
8. Choose newly created private endpoint as Private Endpoint. | ||
|
||
9. Choose Wallet format as None in SSO details. | ||
|
||
10. Click on Create to create a database tools connection. | ||
|
||
![Create DBTools](images/dbconn_create_conn.png) | ||
|
||
11. Go to newly create Database Tools connection. Click on Validate. | ||
|
||
![Validate DBTools](images/dbconn_validate.png) | ||
|
||
## Acknowledgements | ||
|
||
* **Author** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE | ||
* **Contributors** | ||
* **Kaushik Kundu**, Master Principal Cloud Architect, NACIE | ||
* **Last Updated By/Date** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE, October 2024 |
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.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Introduction | ||
|
||
## About this Workshop | ||
|
||
This workshop will help to configure Generative AI powered chatbot (ATOM) on your own OCI tenancy. | ||
This workshop enables developers to perform GenAI RAG on documents stored in 23ai database using the OCI Generative AI Agent Service. | ||
The users can then | ||
|
||
- Connect to OCI Generative AI Agent Service from OCI Digital Assistant Chatbot (hosted in OCI Visual Builder ATOM Application) | ||
- Get responses of their question (in natural language) from those custom documents. | ||
By following the workshop users can install this ATOM application in their own tenancy | ||
|
||
![User View](images/image_intro.png) | ||
|
||
Estimated Workshop Time: 3 hours | ||
|
||
### Objectives | ||
|
||
Objective of this workshop is to set-up the required OCI services to create a full Generative AI Agent solution with RAG capabilities: | ||
|
||
![Architecture Diagram](images/architecture_23ai.png) | ||
|
||
* OCI Generative AI Agent Service – Users can configure OCI Generative AI Agent Service (create and configure Knowledge Bases and Agents). | ||
Users can then ingest and perform RAG on the user’s documents in 23ai database, using OCI Generative AI Agent Service. | ||
* OCI Digital Assistant (ODA) – Users can create ODA instance and import the provided ODA Skill. | ||
Users can then connect from ODA chatbot to OCI Generative AI Agent Service. | ||
* OCI Visual Builder (VB) ATOM Application – User can create OCI Visual Builder (VB) instance and import ATOM VB web application. | ||
Users can then embed the ODA chatbot in ATOM application. Then the users can get responses from their PDF manuals / documents, using the ATOM application. | ||
|
||
In this workshop, you will learn how to: | ||
|
||
* Create autonomous database and upload documents in the database. | ||
* Setup & configure Generative AI Agent Service (Knowledge Bases and Agents) | ||
* Setup & configure ODA as an LLM powered chatbot | ||
* Setup & configure Visual Builder as a frontend channel for ODA | ||
* Test out the features and capabilities of this ATOM application | ||
|
||
### Prerequisites | ||
|
||
This lab assumes you have: | ||
|
||
* An Oracle Cloud Account | ||
* Access to OCI Generative AI Agents | ||
* Access to a Region where the Agent service is available: Chicago, Frankfurt | ||
* Must have an Administrator Account or Permissions to manage several OCI Services: Generative AI Agents, Digital Assistant, Visual Builder, 23ai database, OCIR, Network, Dynamic Groups, Policies, IDCS/Identity Domain Confidential Applications, Resource Manager | ||
* Familiarity with Oracle Cloud Infrastructure (OCI) is helpful | ||
|
||
## Learn More | ||
|
||
* [What Is Generative AI? How Does It Work?](https://www.oracle.com/artificial-intelligence/generative-ai/what-is-generative-ai/) | ||
* [What Is Retrieval-Augmented Generation (RAG)?](https://www.oracle.com/artificial-intelligence/generative-ai/retrieval-augmented-generation-rag/) | ||
* [Overview of Generative AI Service](https://docs.oracle.com/en-us/iaas/Content/generative-ai/overview.htm) | ||
* [Overview of Digital Assistants and Skills](https://docs.oracle.com/en-us/iaas/digital-assistant/doc/overview-digital-assistants-and-skills.html) | ||
* [Overview of Visual Builder](https://docs.oracle.com/en-us/iaas/visual-builder/doc/oracle-visual-builder.html) | ||
* [Oracle Digital Assistant's large language model integration](https://docs.oracle.com/en/cloud/paas/digital-assistant/use-chatbot/llm-blocks-skills.html) | ||
|
||
## Acknowledgements | ||
|
||
* **Author** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE | ||
* **Contributors** | ||
* **Kaushik Kundu**, Master Principal Cloud Architect, NACIE | ||
* **Last Updated By/Date** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE, October 2024 |
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# Create Knowledge base and chat with agent | ||
|
||
## Introduction | ||
|
||
This lab walks you through the steps to setup an OCI Generative AI Agent including ingesting a knowledge base from 23ai adb. | ||
|
||
Estimated Time: 30 minutes | ||
|
||
### About Generative AI Agents | ||
|
||
OCI Generative AI Agents is a fully managed service that combines the power of large language models (LLMs) with an intelligent retrieval system to create contextually relevant answers by searching your knowledge base, making your AI applications smart and efficient. | ||
|
||
OCI Generative AI Agents supports several ways to onboard your data and then allows you and your customers to interact with your data using a chat interface or API. | ||
|
||
### Objectives | ||
|
||
In this lab, you will: | ||
|
||
* Create Knowledge base | ||
* Create Agent | ||
* Chat with agent | ||
|
||
### Prerequisites | ||
|
||
This lab assumes you have: | ||
|
||
* All previous labs successfully completed | ||
* Permissions to manage OCI Services: Generative AI Agents | ||
* Access to a Region where the Agent service is available: Chicago, Frankfurt | ||
|
||
## Task 1: Create Knowledge Base | ||
|
||
This task will help you create a knowledge base using 23ai database as source. | ||
|
||
1. Locate Knowledge Bases under Analytics & AI -> Generative AI Agents. | ||
|
||
![KB Navigation](images/locate_kb.png) | ||
|
||
2. Click on your Create knowledge base. Provide Name, Data store type as Oracle AI Vector Search, Provide Database tool connection and click on Test connection. Once successful provide the vector search function created in the optional lab or your own vector search function. Lastly, click on create to create the Knowledge base. | ||
|
||
![KB creation](images/create_kb.png) | ||
|
||
## Task 2: Create Agent | ||
|
||
1. Locate Agents under Analytics & AI -> Generative AI Agents. | ||
|
||
![Agent Navigation](images/locate_agent.png) | ||
|
||
2. Click on Create Agent. Provide Name, an optional welcome message - Hi I'm 23ai Vector DB RAG Agent. How can I help you? Select the Knowledge base created in previous task. Click on Create. | ||
|
||
![Create Agent](images/create_agent.png) | ||
|
||
3. In few minutes the status of recently created Agent will change from Creating to Active. Click on "Endpoints" menu item in the left panel and then the Endpoint link in the right panel. | ||
|
||
![Endpoint Agent](images/agent_active_endpoint.png) | ||
|
||
4. It’ll open up the Endpoint Screen. Copy and keep the OCID of the Endpoint. It’ll be used later. Click on "Launch chat" button | ||
|
||
![Agent Endpoint](images/agent_endpoint.png) | ||
|
||
## Task 3: Chat with Agent | ||
|
||
1. Locate Chat under Analytics & AI -> Generative AI Agents. | ||
|
||
![Chat Navigation](images/locate_chat.png) | ||
|
||
2. Select agent created in the previous task from the dropdown. Also, select the endpoint associated with that agent. Ask a relevant question depending on information stored in DB and start chatting with the agent. | ||
|
||
## Acknowledgements | ||
|
||
* **Author** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE | ||
* **Contributors** | ||
* **Kaushik Kundu**, Master Principal Cloud Architect, NACIE | ||
* **Last Updated By/Date** | ||
* **Abhinav Jain**, Senior Cloud Engineer, NACIE, October 2024 |
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.