The diagram path now follows a documented standard procedure (lookup the closest Oracle Architecture Center reference → confirm components → author absolute_layout → spec validator → render → visually verify) and ships persistent guardrails so layout regressions can't recur. Persistent procedure changes (apply to all users, all sessions): - tools/diagram_spec_validator.py — geometry checks (CONTAINER_TOO_THIN, CONTAINER_PADDING_VIOLATION, LABEL_OVERFLOW_PARENT) run BEFORE either renderer (drawio + PPTX). Catches the subnet-collapse / label-overflow bugs that the post-render drawio validator missed. - tools/oci_diagram_gen.py + tools/oci_pptx_diagram_gen.py — call the spec validator before emitting any output. Adds mysql / mysql_heatwave type aliases. - tools/archcenter_pattern_lookup.py — scores against cached page descriptions (not just the 1-line summary), supports --queries for multi-fragment composition, and applies synonym expansion via kb/architecture-center/synonyms.yaml so "LB HA cross AD" matches "load balancer high availability availability domain". - kb/architecture-center/synonyms.yaml — canonical synonym table (load balancer, autonomous database, data guard, …) used by the lookup scorer. KB enrichment: - tools/archcenter_description_fetcher.py + 121 cached _description.md under kb/diagram/assets/archcenter-refs/<slug>/. Removes the runtime dependency on docs.oracle.com when authoring specs and feeds the pattern-lookup scorer. - 110+ cached .drawio / .svg / .png references for offline reuse, plus the OCI Toolkit v24.2 import (kb/diagram/assets/oci-toolkit-drawio). Documentation: - docs/skill/output-formats.md — new "Standard diagram-generation procedure (MANDATORY)" + geometry rules + the new validator entry. - SKILL.md option 2 — references the mandatory procedure. - README.md — describes the spec validator, archcenter_pattern_lookup and description fetcher, and updates the KB-health table. Tooling that backs the procedure (cumulative across recent sessions): tools/archcenter_case_runner.py, archcenter_batch_driver.py, archcenter_zip_downloader.py, drawio_visual_validator.py, drawio_fidelity_eval.py, harvest_drawio_icon.py, import_oci_library.py, oci_pptx_diagram_gen.py, oci_pptx_render.py, refresh_pptx_icon_index.py. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.6 KiB
Implement retrieval augmented generation by using Oracle Integration
- Source: https://docs.oracle.com/en/solutions/implement-rag-oci/index.html
- Date: 2024-09
- Type: reference-architecture
- Services: genai, oic, adb-s
- Tags: ai-ml, integration, autonomous
Summary (catalog)
RAG implementation using OIC for document ingestion pipeline. Pre-built OIC adapters for SaaS data sources, ADB-S for vector storage, GenAI for embedding and generation.
Architecture (fetched from source)
Architecture
This reference architecture shows how you can implement a RAG framework using semantic search technique to answer a user query on a corporate data using low-code or no-code integration platform such as Oracle Integration (OIC) services.
In this architecture, Oracle Cloud Infrastructure Generative AI is used to create embeddings and generates optimized or helpful answers/responses based on the context specific corporate data. Oracle Autonomous Database 23ai is used to store the vector embeddings, create indexes and allows to do a semantic search based on the similarity or distance instead of keyword-based search. OCI Functions is used to perform a chunking of corporate documents or data using the standard LangChain python packages. OIC services handles the entire orchestration and automation process from receiving the corporate data to storing/querying those as vector embeddings and generate the optimized and creative context specific answers for the user queries in real or near-time fashion.
The following diagrams illustrate two processes supported by this reference architecture:
- Retrieval process:
Description of the illustration rag-oic.png
rag-oic-oracle.zip
In this process, the following occurs:
-
Corporate or company data is received to Oracle Integration Retriever service in various formats such as PDF, TXT, CSV, XML, JSON,and so on by way of REST, File or sFTP, or any other protocols.
-
The Retriever service chunks the documents or data by using OCI Functions .
-
The Retriever service then gets the vector embeddings for each chunk of data by calling the OCI Generative AI Embedding service by using embedding models such as Cohere or others.
-
Finally, the Retriever service stores these embeddings in the Oracle Autonomous Database 23ai along with the chunked data.
-
Augmentation and Generation process:
Description of the illustration rag-oic-aug-gen.png
rag-oic-aug-gen-oracle.zip
In this process, the following occurs:
-
Corporate or company users through front end applications ask queries or questions about company data, such as polices, HR, sales, purchase history, financial reports, issues, and so on.
-
OIC's Generate service receives the query data and invokes its local integration's Augment service to get the context for that query.
-
OIC's Augment service, once invoked, calls OCI Generative AI 's Embedding service to get the vector embeddings of the query data.
-
OIC's Augment service gets the context stored in the Oracle Autonomous Database 23ai, based on the semantic search of the query data vector embeddings. Retrieved context is sent back as a response to the Generate service.
-
The Generate service, with the received context and query, invokes the OCI Generative AI Generation service to generate the appropriate response.
-
Finally, the Generate service replies with the generated response to the user.
OIC helps customers automate the end-to-end RAG process. Customers or companies can benefit from using a low-code, no-code integration platform to implement RAG on their corporate data. Building RAG by using a low-code, no-code platform enables development and go-to-market within hours or days rather than months.
The architecture has the following components:
- Autonomous Database
Oracle Autonomous Database is a fully managed, preconfigured database environments that you can use for transaction processing and data warehousing workloads. You do not need to configure or manage any hardware, or install any software. Oracle Cloud Infrastructure handles creating the database, as well as backing up, patching, upgrading, and tuning the database.
-
Autonomous Transaction Processing Oracle Autonomous Transaction Processing is a self-driving, self-securing, self-repairing database service that is optimized for transaction processing workloads. You do not need to configure or manage any hardware, or install any software. Oracle Cloud Infrastructure handles creating the database, as well as backing up, patching, upgrading, and tuning the database.
-
Functions Oracle Cloud Infrastructure Functions is a fully managed, multitenant, highly scalable, on-demand, Functions-as-a-Service (FaaS) platform. It is powered by the Fn Project open source engine. Functions enable you to deploy your code, and either call it directly or trigger it in response to events. Oracle Functions uses Docker containers hosted in Oracle Cloud Infrastructure Registry .
-
Integration Oracle Integration is a fully managed service that allows you to integrate your applications, automate processes, gain insight into your business processes, and create visual applications.
-
Generative AI Oracle Cloud Infrastructure Generative AI is a fully managed OCI service that provides a set of state-of-the-art, customizable large language models (LLMs) that cover a wide range of use cases for text generation, summarization, semantic search, and more. Use the playground to try out the ready-to-use pretrained models, or create and host your own fine-tuned custom models based on your own data on dedicated AI clusters.
-
Oracle Database 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. Features such as AI Vector Search enable you to leverage a new generation of AI models to generate and store vectors of documents, images, sound, and so on; index them and quickly look for similarity while leveraging the existing analytical capabilities of Oracle Database. This combined with the already extensive set of Machine Learning algorithms enables you to quickly create sophisticated AI-enabled applications. Oracle Database 23ai also uses AI to optimize many of the key database functions to make more accurate estimates on timings and resource costings.
Explore More
Learn more about implementing RAG by using Oracle Integration.
Review these additional resources:
-
Best practices framework for Oracle Cloud Infrastructure
-
Oracle Cloud Infrastructure Documentation
-
Oracle Integration
-
OCI Functions
-
About Oracle Database 23ai
-
Deploy generative AI models to OCI
Review these OCI Generative AI resources:
-
Generative AI Documentation Home
-
Generative AI capabilities
-
Press release: Oracle Introduces Integrated Vector Database to Augment Generative AI and Dramatically Increase Developer Productivity
-
Using the Large Language Models (LLMs) in Generative AI (Using the Playground)
-
About the Generation Models in Generative AI
-
About the Summarization Models in Generative AI
-
About the Embedding Models in Generative AI
Acknowledgments
Author: Pavan Rajalbandi
Title and Copyright Information
Implement retrieval augmented generation by using Oracle Integration
G14623-01
September 2024
Copyright © 2024,
Oracle and/or its affiliates.