Skip to content

Commit 6f9c000

Browse files
Merge branch 'main' into operating-model
2 parents 57c6269 + 4c94f0a commit 6f9c000

File tree

47 files changed

+385
-105
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+385
-105
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Integrate OCI AI Speech Service and Generative AI Summarization in Visual Builder
2+
3+
## Introduction
4+
OCI Speech is an AI service that applies automatic speech recognition technology to transform audio-based content into text. Generative AI, The Large Language Model (LLM) analyzes the text input, and can generate, summarize, transform, extract information. Using these AI capabilities, we built a low code application- “Integrate OCI AI Speech Service and Generative AI Summarization in Visual Builder " to invoke AI Speech REST API to convert audio file into text and then further invoke the Generative AI REST API to Summarize it.
5+
6+
<img src="./AISpeechGenAISummary.jpg>
7+
</img>
8+
9+
## Prerequisites
10+
11+
Before getting started, make sure you have the access to these services:
12+
13+
- Oracle Speech Service
14+
- Oracle Generative AI Service
15+
- Oracle Visual Builder Cloud Service
16+
- Oracle Visual Builder Service Connection
17+
18+
## AI Speech and OCI Generative AI Service Integration Architecture
19+
1. AI Speech App using VBCS
20+
o Oracle Visual Builder Cloud Service (VBCS) is a hosted environment for your application development infrastructure. It provides an open-source standards-based development service to create, collaborate on, and deploy applications within Oracle Cloud. This application is developed in VBCS.
21+
2. Transcriptions with OCI AI Speech Service:
22+
o Speech harnesses the power of spoken language enabling you to easily convert media files containing human speech into highly exact text transcriptions.
23+
o Produces an accurate and easy to use JSON and SubRip Subtitle (SRT) files written directly to the Object Storage bucket you choose.
24+
3. Integration with OCI Generative AI Service:
25+
o The transcriptions (text) sent to the OCI Generative AI Service for text summarization.
26+
4. Integration with OCI AI Vision and OCI Generative AI Service using Visual Builder Service Endpoint:
27+
o Build a Service Connection Endpoint option is used to integrate VBCS app and OCI Object Storage, OCI AI Speech Service, and Generative AI Summarization.
28+
5. Summarization Process:
29+
o OCI Generative AI Service generates text using the keywords received from OCI Speech service, to create a concise summary of the audio or video.
30+
31+
32+
<img src="./files/AISpeechSummaryAppArch.svg>
33+
</img>
34+
35+
## Application Flow in Detail (VBCS, OCI Speech, OCI Generative AI Service)
36+
In this application,
37+
• The Drag and Drop component in VBCS allows the user to drop the audio or video.
38+
• Create an Service Endpoint connection in Visual Builder to handle the communication between Visual Builder and OCI Speech Service.
39+
• Pass the selected audio or video from Visual Builder to OCI Speech Service to convert into the text.
40+
• OCI Speech Service analyzes the media (audio or video) file and converts into the text.
41+
• The OCI Speech Service returns the trascription to the AI Speech Service Endpoint and returns the results to Visual Builder app.
42+
• The trascription further pass to Generative AI Service Endpoint and returns the Summarization results to Visual Builder app.
43+
44+
User (Visual Builder) --> (Drag and Drop File) --> |Media File (adudio or video) --> (Service Endpoint) --> |OCI Speech Service| --> |Speech to Text| --> (Service Endpoint) --> |Result| --> (Visual Builder) --> (Gen AI Service Endpoint) --> |Result| --> (Visual Builder)
45+
46+
<img src="./AISpeechEngine.png">
47+
</img>
48+
49+
## Service Endpoint call - Invoke OCI Object Storage
50+
uploadfile - /n/{namespaceName}/b/{bucketName}/o/{objectName}
51+
getObject - /n/{namespaceName}/b/{bucketName}/o/{outputFolderName}/{outputObjectName}
52+
53+
54+
## Service Endpoint call - Invoke AI Speech Service
55+
create transcription - /transcriptionJobs
56+
get transcription - transcriptionJobs/{transcriptionJobId}
57+
58+
## Service Endpoint call - Invoke Generative AI Service
59+
create summary - /20231130/actions/summarizeText
60+
61+
62+
## Conclusion
63+
64+
In this article, we've covered how to utilise Oracle AI Speech Service features to provide a transription and summarize using Geneartive AI service .
65+
Feel free to modify and expand upon this template according to your specific use case and preferences.
66+
67+
68+
# License
69+
70+
Copyright (c) 2024 Oracle and/or its affiliates.
71+
72+
Licensed under the Universal Permissive License (UPL), Version 1.0.
73+
74+
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
75+

ai-and-application-integration/ai-services/generative-ai-service/speech-genai/files/AISpeechSummaryAppArch.svg

Lines changed: 4 additions & 0 deletions
Loading
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<!--
2+
Copyright (c) 2024 Oracle and/or its affiliates.
3+
4+
The Universal Permissive License (UPL), Version 1.0
5+
6+
Subject to the condition set forth below, permission is hereby granted to any
7+
person obtaining a copy of this software, associated documentation and/or data
8+
(collectively the "Software"), free of charge and under any and all copyright
9+
rights in the Software, and any and all patent rights owned or freely
10+
licensable by each licensor hereunder covering either (i) the unmodified
11+
Software as contributed to or provided by such licensor, or (ii) the Larger
12+
Works (as defined below), to deal in both
13+
14+
(a) the Software, and
15+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
16+
one is included with the Software (each a "Larger Work" to which the Software
17+
is contributed by such licensors),
18+
19+
without restriction, including without limitation the rights to copy, create
20+
derivative works of, display, perform, and distribute the Software and make,
21+
use, sell, offer for sale, import, export, have made, and have sold the
22+
Software and the Larger Work(s), and to sublicense the foregoing rights on
23+
either these or other terms.
24+
25+
This license is subject to the following condition:
26+
The above copyright notice and either this complete permission notice or at
27+
a minimum a reference to the UPL must be included in all copies or
28+
substantial portions of the Software.
29+
30+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
31+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
32+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
33+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
34+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
36+
SOFTWARE.
37+
-->
38+
39+
### Guide
40+
41+
Please see the <a href="https://medium.com/@mika.rinne/ci-cd-for-nodejs-on-oci-without-kubernetes-a6f94b4b2948">setup guide on Medium</a>.
42+
43+
### License
44+
45+
Copyright (c) 2024 Oracle and/or its affiliates.
46+
47+
Licensed under the Universal Permissive License (UPL), Version 1.0.
48+
49+
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
version: 0.1
2+
component: build
3+
timeoutInSeconds: 180
4+
shell: bash
5+
failImmediatelyOnError: true
6+
env:
7+
exportedVariables:
8+
- buildId
9+
steps:
10+
- type: Command
11+
name: "create build-id for the artifact"
12+
command: |
13+
buildId=`echo ${OCI_BUILD_RUN_ID} | rev | cut -c 1-6 | rev`
14+
echo "Build ID: $buildId"
15+
- type: Command
16+
name: "build and run NodeJS app, create zip artifact if runs ok"
17+
command: |
18+
cd source
19+
npm install
20+
npm start &
21+
sleep 2
22+
res=$(curl -s localhost:5000)
23+
echo ">>>> $res"
24+
cd ..
25+
zip -q -r nodejs.zip source
26+
outputArtifacts:
27+
- name: nodejs
28+
type: BINARY
29+
location: ./nodejs.zip
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 1.0
2+
component: deployment
3+
runAs: ocarun
4+
env:
5+
variables:
6+
version: ${buildId}
7+
files:
8+
- source: /nodejs.zip
9+
destination: /tmp
10+
steps:
11+
- stepType: Command
12+
name: kill NodeJS
13+
command: "pkill -f 'node /home/opc/source/server.js'"
14+
timeoutInSeconds: 60
15+
runAs: root
16+
- stepType: Command
17+
name: copy NodeJS
18+
command: "cp /tmp/nodejs.zip /home/opc/nodejs.zip"
19+
timeoutInSeconds: 60
20+
runAs: root
21+
- stepType: Command
22+
name: unzip
23+
command: "unzip -o nodejs.zip -d /home/opc"
24+
timeoutInSeconds: 60
25+
runAs: root
26+
- stepType: Command
27+
name: start NodeJS
28+
command: "nohup node /home/opc/source/server.js &"
29+
timeoutInSeconds: 60
30+
runAs: root
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "node",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "server.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1",
8+
"start": "node server.js"
9+
},
10+
"author": "",
11+
"license": "ISC",
12+
"dependencies": {
13+
"express": "^4.18.2"
14+
}
15+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
Copyright (c) 2024 Oracle and/or its affiliates.
3+
4+
The Universal Permissive License (UPL), Version 1.0
5+
6+
Subject to the condition set forth below, permission is hereby granted to any
7+
person obtaining a copy of this software, associated documentation and/or data
8+
(collectively the "Software"), free of charge and under any and all copyright
9+
rights in the Software, and any and all patent rights owned or freely
10+
licensable by each licensor hereunder covering either (i) the unmodified
11+
Software as contributed to or provided by such licensor, or (ii) the Larger
12+
Works (as defined below), to deal in both
13+
14+
(a) the Software, and
15+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
16+
one is included with the Software (each a "Larger Work" to which the Software
17+
is contributed by such licensors),
18+
19+
without restriction, including without limitation the rights to copy, create
20+
derivative works of, display, perform, and distribute the Software and make,
21+
use, sell, offer for sale, import, export, have made, and have sold the
22+
Software and the Larger Work(s), and to sublicense the foregoing rights on
23+
either these or other terms.
24+
25+
This license is subject to the following condition:
26+
The above copyright notice and either this complete permission notice or at
27+
a minimum a reference to the UPL must be included in all copies or
28+
substantial portions of the Software.
29+
30+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
31+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
32+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
33+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
34+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
36+
SOFTWARE.
37+
*/
38+
39+
const express = require('express')
40+
const app = express()
41+
const port = 5000
42+
43+
app.get('/', (req, res) => {
44+
res.send('Hello from NodeJS on OCI <3')
45+
})
46+
47+
app.listen(port, () => {
48+
console.log(`Listening on port ${port}`)
49+
})

cloud-infrastructure/networking/README.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Cloud Networking
22

33
Oracle Cloud Infrastructure (OCI) networking and connectivity products and services enable customers to manage and scale their networks. Customers can connect securely to a customizable, isolated virtual cloud network (VCN), and take advantage of inexpensive data egress charges. Granular access control of networking technologies provides connectivity solutions across both physical and virtual networks.
4-
4+
5+
Reviewed: 19.02.2024
56

67
# Table of Contents
78

@@ -14,20 +15,6 @@ Oracle Cloud Infrastructure (OCI) networking and connectivity products and servi
1415
- [OCI Networking](https://www.oracle.com/cloud/networking/)
1516
- [Network Command Center Services](https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/net_command_center.htm)
1617

17-
18-
## Team Publications
19-
20-
### Reference Architectures & Step-by-step Guides
21-
22-
23-
### Blogs
24-
25-
26-
27-
### Videos & Podcasts
28-
29-
30-
3118
# License
3219

3320
Copyright (c) 2024 Oracle and/or its affiliates.

0 commit comments

Comments
 (0)