MemVault – Process meetings with OCI Speech and find insights with Autonomous database 23ai and GenAI
Learn how to load and process meetings and find insights with Autonomous database 23ai and GenAI.
You can obtain useful and actionable information from meeting recordings. With this solution playbook you learn how to use Oracle technologies to ask questions about your meetings, summarize meetings or just simply take notes.
To deploy this architecture, you’ll need:
- OCI Speech
- An embedding model
- Oracle Database 23ai
- APEX
- OCI Generative AI
This architecture features the primary components listed below :
Oracle Cloud Infrastructure (OCI) Speech is one of several cloud-native AI services. You can use the Speech service to convert audio files to readable text stored in JSON format.
Speech uses automatic speech recognition (ASR) technology to provide grammatically correct transcriptions of video and audio files. It handles low-fidelity audio and challenging recordings like meetings or call center calls. Using Speech, you can turn files stored in OCI Object Storage or a data asset into accurate, normalized, timestamped, and profanity-filtered text.
Oracle Database 23ai provides AI vector search to query data based on semantics rather than keywords.
Vectors (or embeddings) are multidimensional representations of documents, images, videos, sound, etc. With vector encoding, you can look for similarities using mathematical calculations. Oracle 23ai enables combining similarity searches with business data using simple SQL, enhancing LLM responses with contextual relevance.
Oracle Cloud Infrastructure Generative AI is a fully managed service offering customizable large language models (LLMs). Use cases include:
- Text generation
- Summarization
- Semantic search
You can use pretrained models or fine-tune custom ones on dedicated AI clusters.
In this architecture, LLMs are used to generate:
- User manuals for selected project types
- Descriptions of products sent to the shopping cart
Oracle APEX is a low-code platform for building secure and scalable enterprise apps that run wherever Oracle Database is installed.
It includes:
- UI themes
- Navigation controls
- Form handlers
- Flexible reports
We recommend having background knowledge of:
- Oracle Database
- APEX
- REST services
However, simply following the steps in this playbook will deploy the app in your tenant.
This solution requires the following services:
- Oracle Cloud Infrastructure Speech
- Oracle Cloud Infrastructure Language
- Oracle Cloud Infrastructure Generative AI
| Service Name | Role | Required to... |
|---|---|---|
| Oracle Cloud Infrastructure Speech | manage ai-service-speech-family |
Create and manage transcription jobs |
| Oracle Cloud Infrastructure Language | manage ai-service-language-family |
Manage language projects and sentiments |
| Oracle Cloud Infrastructure Generative AI | manage generative-ai-family |
Manage AI models, generate text, and perform summarization |
Download the code from GitHub.
The sample code is available on GitHub.
- Clone or download the repository
- Follow the instructions in the
README.md - Follow the steps in this solution playbook to configure the app
OCI API keys are used for secure authentication when accessing OCI resources via REST APIs. You’ll need a public/private key pair.
To generate API keys in the OCI console:
- Log in to your OCI tenant.
- View the user's details:
- For yourself: Open the Profile menu → My profile
- For others: Go to Identity and Security → Users
- In Resources, click API Keys
- Click Add API Key → Generate API Key Pair
- Download the private key and save it to your
.ocidirectory - Copy the Configuration File Preview into your
~/.oci/config
- Navigate to Identity → Compartments
- Locate your compartment and note the OCID
- Go to Storage → Object Storage and Archive Storage
- Click Buckets → Create Bucket
- Name the bucket
AI_Meetings - Click Create
Configure Workspace Credentials
The app uses a common OCI Credential for OCI Generative AI, Speech, & Object Storage services. The credential static ID that is referenced by the App setting is oci_credential by the App Substitution Strings
- G_APP_OCI_CREDENTIAL
- G_APP_OCI_GENAI_CREDENTIAL
- G_APP_OCI_OBJSTOR_CREDENTIAL
- G_APP_OCI_SPEECH_CREDENTIAL
For deployments that require the use of separate credentials per service, follow the prepare your user section and then create a new APEX Web Credential per new credential referencing the Creating Web Credentials documentation.
Following the Creating Web Credentials documentation, edit the OCI_CREDENTIAL credential record for the OCI Native Authentication authentication type. This credential has the static Identifier of oci_credential that is referenced by all of the app settings.
Configuring the App
The App uses two sets of configuration settings: app definition substitution strings & tenancy details.
Configuring the App Configuration Settings
The App definition leverages a common Web Credential and normally does not need to be updated. For deployments that require the use of separate credentials, the App Configuration settings should reflect the use of the credentials.
Follow the Editing the Application Definition to update the value of the substitution strings that are defined by the App.
Configuring the App Tenancy Details
Tenancy details are managed in an App via the App Configuration menu item:
- Log into the App
- Use the navigation menu and select App Configuration under Settings
- Enter the details for the Tenancy and Region for the AI Services:
- AI Services Region
- Object Storage Namespace
- Bucket Compartment OCID
- Source Bucket
- Output Bucket
- Speech AI Model
- Click Apply
To learn more about , see the following resources:
Oracle takes security seriously and has a dedicated response team for reporting security vulnerabilities and to answer any security and vulnerability related questions.
We welcome all contributions to this sample and have a contribution guide for you to follow if you'd like to contribute.
Developers choosing to distribute a binary implementation of this project are responsible for obtaining and providing all required licenses and copyright notices for the third-party code used in order to ensure compliance with their respective open source licenses.
If you need help with this sample, please log an issue within this repository and the code owners will help out where we can.
Copyright (c) 2025 Oracle and/or its affiliates.
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

