Skip to content

Commit cfb3e12

Browse files
Merge branch 'main' into fix-image
2 parents b2746c6 + f7157a6 commit cfb3e12

File tree

813 files changed

+51690
-4921
lines changed

Some content is hidden

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

813 files changed

+51690
-4921
lines changed

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,11 @@ terraform.rc
3939
.DS_Store
4040

4141
#VSC files
42-
.vscode
42+
.vscode
43+
44+
# Exclude cached Python binary files
45+
*.pyc
46+
__pycache__
47+
48+
desktop.ini
49+

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"githubPullRequests.ignoredPullRequestBranches": [
3+
"main"
4+
]
5+
}

README.md

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,57 @@
1-
# Welcome to the Oracle Technology Specialists GitHub Repository
1+
# Technology Engineering GitHub Repository
22

3-
## Who are we?
3+
## Introduction
44

5-
We are a team of Oracle specialists focussing on technology cloud and software products. We answer questions, create demos and workshops, do hands-on guides, create code snippets and examples, and do health checks on existing solutions. We help our customers to find solutions to business challenges and to move workloads to Oracle cloud.
5+
### Who are we?
66

7-
## Why do we have a Git Repository?
7+
We are a team of Oracle specialists focusing on cloud and software products. We answer questions, create demos and workshops, provide hands-on guides, develop code snippets and examples, and perform health checks on existing solutions. We help our customers find solutions to business challenges and migrate workloads to the Oracle Cloud.
88

9-
We create all kinds of interesting assets in our line of work, which we believe should be open-source and accessible to everyone. We want to share our architecture patterns for solutions, technical step-by-step guides, and code examples. We believe this will simplify how we work internally in Oracle, while also sharing access to the same assets with our customers, implementation partners, and everyone interested. We want to be transparent on how we work and also grow the quality of our assets and best practices with the contribution coming from the community.
9+
### Why do we have a Git Repository?
1010

11-
## How to use this Repository?
11+
We create various interesting assets in our line of work, which we believe should be open-source and accessible to everyone. We want to share our architecture patterns for solutions, technical step-by-step guides, and code examples. We simplify how we work internally in Oracle, while also sharing access to the same assets with our customers, implementation partners, and everyone interested. We want to be transparent on how we work and also grow the quality of our assets and best practices, with contributions coming from the community.
12+
13+
## Getting Started
14+
15+
This is not a single software product repository, but a collection of various assets (code or not) in one single 'larger' repository. Thus, you won't 'install' this repository; rather, search it to find various interesting assets.
1216

1317
We structure our assets by our internal product areas and reflect this in the folder structure of this repository. The repository will have at least four levels of folders, starting with the first representing a wider product area (like Infrastructure Cloud), followed by a specific product area (like Compute), followed by a product or cloud service (like Bare Metal Compute), and finally by an asset for that product (like How-to-Guides).
1418

19+
As there is a lot of individual content within this repository and under a wider folder hierarchy, discovering that content is not as easy. Here's how you can find content or navigate the folder structure:
20+
21+
- Manually search via navigation through the folder hierarchy
22+
- Use the search feature of GitHub on the top right-hand side of the browser - it works better if you are logged into your GitHub account. You can search specific code languages and filter content that way. Also, you can search for keywords such as 'Workshop'. Lastly, if you enter the search from a subfolder, you can choose to only search in that folder, hopefully resulting in more useful search results.
23+
- Use direct links to share a specific asset or folder of the repository.
24+
25+
Some of our assets are code-based and can also be installed. There is always a README file within the asset folder, explaining the installation process.
26+
27+
## Documentation
28+
29+
As per the previous chapter on how to install, we have various assets in this one larger repository. If you find a code asset, it will have a README file for installation, documentation, and example purposes.
30+
31+
## Examples
32+
33+
As per the previous chapter on *Getting Started*, we have various assets in this one larger repository. If you find a code asset, it will have a README file for installation, documentation, and example purposes.
34+
35+
See the bullet points from the chapter *Getting Started* list as an example on how to navigate the repository.
36+
37+
## Help
38+
39+
If you find an error, can't find what you were looking for, or would like to suggest a new asset, please use the Issues feature of GitHub (Account login required).
40+
41+
## Contributing
42+
43+
This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md).
44+
45+
## Security
46+
47+
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process.
48+
1549
## License
50+
1651
Copyright (c) 2025 Oracle and/or its affiliates.
1752

1853
Licensed under the Universal Permissive License (UPL), Version 1.0.
1954

2055
See [LICENSE](LICENSE) for more details.
2156

22-
ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK.
57+
ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.  FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK.

ai/README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1-
# AI Services
1+
# OCI Generative AI and AI Services
22

3-
Oracle Cloud Infrastructure (OCI) AI Services, Generative AI Services and Generative AI Agents are a collection of services with prebuilt machine learning and Generative AI models that make it easy for developers to apply AI to applications and business processes. The models can be custom-trained (or fine-tuned) for more accurate business results. Teams within an organization can reuse the models, datasets, and data labels across services. OCI AI makes it possible for developers to easily add AI to applications without slowing down application development.
3+
Oracle Cloud Infrastructure (OCI) [Generative AI Service](https://docs.oracle.com/en-us/iaas/Content/generative-ai/overview.htm), [Generative AI Agents](https://docs.oracle.com/en-us/iaas/Content/generative-ai-agents/overview.htm) and [AI Services](https://www.oracle.com/uk/artificial-intelligence/ai-services/) are a collection of services with prebuilt machine learning and Generative AI models that make it easy for developers to apply AI to applications and business processes. The models can be custom-trained (or fine-tuned) for more accurate business results. Teams within an organization can reuse the models, datasets, and data labels across services. OCI AI makes it possible for developers to easily add AI to applications without slowing down application development.
44

5-
Reviewed: 03.06.2025
5+
Reviewed: 21.08.2025
66

77

88
# Useful Links
99

1010
## Examples and hands-on workshops
1111
- [AI Solutions Hub](https://www.oracle.com/artificial-intelligence/solutions/)
1212
- [Oracle LiveLabs](https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/home)
13+
- [This repository](https://github.com/oracle-devrel/technology-engineering/tree/main/ai) and [Oracle-samples repository](https://github.com/oracle-samples/oci-data-science-ai-samples)
14+
- [Oracle Developer Coaching channel on Youtube](https://www.youtube.com/@oracledevs)
1315

1416
## Discover Oracle AI
15-
- [Oracle AI Services on Oracle.com](https://www.oracle.com/artificial-intelligence/ai-services/)
17+
- [Oracle AI on Oracle.com](https://www.oracle.com/artificial-intelligence/)
1618
- [Oracle Generative AI on Oracle.com](https://www.oracle.com/artificial-intelligence/generative-ai/generative-ai-service/)
17-
- [Oracle AI Strategy and Platform webinar](https://go.oracle.com/LP=138234?elqCampaignId=489428&src1=:so:ch:or:dg::::&SC=:so:ch:or:dg::::&pcode=WWMK230822P00010)
19+
- [Oracle AI First Principles - Youtube series](https://www.youtube.com/watch?v=ZCX-gT1q0ZQ)
1820
- [Oracle’s Generative AI strategy](https://blogs.oracle.com/ai-and-datascience/post/generative-ai-strategy)
19-
- [AI use cases - 10 examples](https://www.oracle.com/a/ocom/docs/gated/ai-use-cases-ebook.pdf)
20-
- [Availability of AI Services across OCI datacenters](https://www.oracle.com/uk/cloud/public-cloud-regions/service-availability/#commercial)
21+
- [Oracle AI & Data Science Blog](https://blogs.oracle.com/ai-and-datascience/)
22+
- [AI use cases - 11 examples](https://www.oracle.com/a/ocom/docs/gated/ai-use-cases-ebook.pdf)
23+
- [Availability of AI Services across OCI datacenters](https://www.oracle.com/cloud/distributed-cloud/#service-availability)
2124

2225
## Learning paths and certifications
2326
- [OCI AI Foundations Certification](https://mylearn.oracle.com/ou/learning-path/become-an-oci-ai-foundations-associate-2024/140164)

ai/gen-ai-agents/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Oracle’s Generative AI Agents is a fully managed service that combines the pow
1818
## Reusable Assets Overview
1919
- [HCM agent created by partner Conneqtion Group which contains agents to connect to Fusion HCM, Expense and many others](https://www.youtube.com/watch?v=OhZcWx_H_tQ)
2020
- [Finance analytics agent created by our partner TPX impact](https://bit.ly/genai4analyst)
21+
- [Custom RAG agent, based on Langgraph](./custom-rag-agent)
2122

2223
# Useful Links
2324

@@ -38,3 +39,4 @@ Copyright (c) 2025 Oracle and/or its affiliates.
3839
Licensed under the Universal Permissive License (UPL), Version 1.0.
3940

4041
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
42+
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
MIT License
2-
3-
Copyright (c) 2025 Oracle
4-
5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
11-
12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
14-
15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
1+
MIT License
2+
3+
Copyright (c) 2024 jin38324
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
2+
# OCI OpenAI-Compatible Gateway
3+
4+
Simple FastAPI gateway exposing OCI LLMs and Agents via OpenAI-compatible API.
5+
Big thanks to https://github.com/RETAJD/modelsOCI-toOpenAI/tree/main
6+
7+
## Quick Start
8+
9+
1. **Install dependencies**:
10+
```bash
11+
pip install fastapi uvicorn oci pyyaml openai
12+
```
13+
14+
2. **Set API key (optional)**:
15+
```bash
16+
export GATEWAY_API_KEYS="ocigenerativeai" #default
17+
```
18+
19+
3. **Prepare config files** (`agents.yaml`, `models.yaml`) next to `app.py`:
20+
21+
Example `agents.yaml`:
22+
```yaml
23+
agents:
24+
- id: "sales-kb"
25+
name: "Sales KB Agent"
26+
description: "Grounded in sales docs"
27+
region: "eu-frankfurt-1"
28+
endpoint_ocid: "ocid1.genaiagentendpoint.oc1.xxx"
29+
```
30+
31+
Example `models.yaml`:
32+
```yaml
33+
region: eu-frankfurt-1
34+
compartment_id: "ocid1.compartment.oc1..xxx"
35+
models:
36+
ondemand:
37+
- name: "cohere.command-r"
38+
model_id: "cohere.command-r"
39+
description: "Command R Model"
40+
```
41+
42+
4. **Run the app**:
43+
```bash
44+
uvicorn app:app --host 0.0.0.0 --port 8088
45+
```
46+
or
47+
```bash
48+
python app.py
49+
```
50+
51+
## Usage Example
52+
53+
```python
54+
from openai import OpenAI
55+
56+
client = OpenAI(api_key="ocigenerativeai", base_url="http://localhost:8088/v1/")
57+
58+
r1 = client.chat.completions.create(
59+
model="ignored",
60+
messages=[{"role": "user", "content": "Reply with 'pong'."}],
61+
extra_body={
62+
"agent_endpoint_ocid": "ocid1.genaiagentendpoint.oc1.eu-frankfurt-1.", #your genai agent **endpoint** OCID
63+
"region": "eu-frankfurt-1",
64+
},
65+
)
66+
print(r1.choices[0].message.content)
67+
68+
```
69+
70+
## n8n/Open WebUI Integration
71+
72+
- URL: `http://localhost:8088/v1`
73+
- Model: `agent:sales-kb` or model names from `models.yaml`
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# agents.yaml
2+
agents:
3+
- id: "sales-kb" # your local handle
4+
name: "Sales KB Agent"
5+
description: "Grounded in sales docs"
6+
region: "eu-frankfurt-1" # agent region
7+
endpoint_ocid: "ocid1.genaiagentendpoint.oc1.eu-frankfurt-1." # ai agent **endpoint OCID**

ai/gen-ai-agents/agentsOCI-OpenAI-gateway/api/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)