Skip to content

Commit 8f6221d

Browse files
Sachin Goyalsankhsin
authored andcommitted
Added - Support for Oracle Cloud AI Service Generative AI Agent Service
1 parent 0d617e3 commit 8f6221d

File tree

53 files changed

+8613
-0
lines changed

Some content is hidden

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

53 files changed

+8613
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
resource "oci_generative_ai_agent_agent" "test_agent" {
5+
#Required
6+
compartment_id = var.compartment_ocid
7+
8+
#Optional
9+
display_name = var.agent_display_name
10+
description = var.agent_description
11+
welcome_message = var.agent_welcome_message
12+
#defined_tags not tested - cannot test in home region
13+
freeform_tags = var.test_freeform_tags
14+
knowledge_base_ids = [
15+
oci_generative_ai_agent_knowledge_base.test_service_managed_knowledge_base.id
16+
]
17+
}
18+
19+
data "oci_generative_ai_agent_agent" "test_agent" {
20+
#Required
21+
agent_id = oci_generative_ai_agent_agent.test_agent.id
22+
}
23+
24+
data "oci_generative_ai_agent_agents" "test_agents" {
25+
#Required
26+
compartment_id = var.compartment_ocid
27+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
resource "oci_generative_ai_agent_agent_endpoint" "test_agent_endpoint" {
2+
#Required
3+
compartment_id = var.compartment_ocid
4+
agent_id = data.oci_generative_ai_agent_agent.test_agent.id
5+
6+
#Optional
7+
display_name = var.test_agent_endpoint_display_name
8+
description = var.test_agent_endpoint_description
9+
#defined_tags not tested - cannot test in home region
10+
freeform_tags = var.test_freeform_tags
11+
should_enable_citation = var.should_enable_citation
12+
should_enable_session = var.should_enable_session
13+
should_enable_trace = var.should_enable_trace
14+
content_moderation_config {
15+
should_enable_on_input = var.should_enable_on_input
16+
should_enable_on_output = var.should_enable_on_output
17+
}
18+
session_config {
19+
idle_timeout_in_seconds = var.idle_timeout_in_seconds
20+
}
21+
}
22+
23+
data "oci_generative_ai_agent_agent_endpoint" "test_agent_endpoint" {
24+
#Required
25+
agent_endpoint_id = oci_generative_ai_agent_agent_endpoint.test_agent_endpoint.id
26+
}
27+
28+
data "oci_generative_ai_agent_agent_endpoints" "test_agent_endpoints" {
29+
#Required
30+
compartment_id = var.compartment_ocid
31+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
resource "oci_generative_ai_agent_data_ingestion_job" "test_data_ingestion_job" {
2+
#Required
3+
compartment_id = var.compartment_ocid
4+
data_source_id = oci_generative_ai_agent_data_source.test_data_source.id
5+
6+
#Optional
7+
display_name = var.test_data_ingestion_job_display_name
8+
description = var.test_data_ingestion_job_description
9+
#defined_tags not tested - cannot test in home region
10+
freeform_tags = var.test_freeform_tags
11+
}
12+
13+
data "oci_generative_ai_agent_data_ingestion_job" "test_data_ingestion_job" {
14+
#Required
15+
data_ingestion_job_id = oci_generative_ai_agent_data_ingestion_job.test_data_ingestion_job.id
16+
}
17+
18+
data "oci_generative_ai_agent_data_ingestion_jobs" "test_data_ingestion_jobs" {
19+
#Required
20+
compartment_id = var.compartment_ocid
21+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
resource "oci_generative_ai_agent_data_source" "test_data_source" {
2+
#Required
3+
compartment_id = var.compartment_ocid
4+
knowledge_base_id = oci_generative_ai_agent_knowledge_base.test_service_managed_knowledge_base.id
5+
data_source_config {
6+
data_source_config_type = "OCI_OBJECT_STORAGE"
7+
object_storage_prefixes {
8+
bucket = data.oci_objectstorage_bucket.bucket.name
9+
namespace = data.oci_objectstorage_namespace.ns.namespace
10+
prefix = var.test_data_source_prefix
11+
}
12+
}
13+
14+
#Optional
15+
display_name = var.test_data_source_display_name
16+
description = var.test_data_source_description
17+
#defined_tags not tested - cannot test in home region
18+
freeform_tags = var.test_freeform_tags
19+
}
20+
21+
data "oci_generative_ai_agent_data_source" "test_data_source" {
22+
#Required
23+
data_source_id = oci_generative_ai_agent_data_source.test_data_source.id
24+
}
25+
26+
data "oci_generative_ai_agent_data_sources" "test_data_sources" {
27+
#Required
28+
compartment_id = var.compartment_ocid
29+
}
30+
31+
data "oci_objectstorage_namespace" "ns" {
32+
#Optional
33+
compartment_id = var.compartment_ocid
34+
}
35+
36+
data "oci_objectstorage_bucket" "bucket" {
37+
name = "oci-docs"
38+
namespace = data.oci_objectstorage_namespace.ns.namespace
39+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Overview
2+
This is a Terraform configuration that creates the Generative AI Agent service on Oracle Cloud Infrastructure.
3+
4+
The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
resource "oci_generative_ai_agent_knowledge_base" "test_service_managed_knowledge_base" {
2+
#Required
3+
compartment_id = var.compartment_ocid
4+
index_config {
5+
index_config_type = var.index_config_type_default
6+
should_enable_hybrid_search = var.should_enable_hybrid_search
7+
}
8+
9+
#Optional
10+
display_name = var.test_knowledge_base_display_name
11+
description = var.test_knowledge_base_description
12+
#defined_tags not tested - cannot test in home region
13+
freeform_tags = var.test_freeform_tags
14+
}
15+
16+
data "oci_generative_ai_agent_knowledge_base" "test_service_managed_knowledge_base" {
17+
#Required
18+
knowledge_base_id = oci_generative_ai_agent_knowledge_base.test_service_managed_knowledge_base.id
19+
}
20+
21+
data "oci_generative_ai_agent_knowledge_bases" "test_knowledge_bases" {
22+
#Required
23+
compartment_id = var.compartment_ocid
24+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable config_file_profile {
5+
}
6+
7+
variable "region" {
8+
}
9+
10+
variable "compartment_ocid" {
11+
12+
}
13+
14+
provider "oci" {
15+
auth = "SecurityToken"
16+
config_file_profile = var.config_file_profile
17+
region = var.region
18+
}
19+
20+
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "agent_display_name" {
5+
default = "agent"
6+
}
7+
8+
variable "agent_description" {
9+
default = "this is an agent"
10+
}
11+
12+
variable "agent_welcome_message" {
13+
default = "welcomeMessage"
14+
}
15+
16+
variable "should_enable_citation" {
17+
default = "false"
18+
}
19+
20+
variable "should_enable_session" {
21+
default = "true"
22+
}
23+
24+
variable "should_enable_trace" {
25+
default = "false"
26+
}
27+
28+
variable "should_enable_on_input" {
29+
default = "false"
30+
}
31+
32+
variable "should_enable_on_output" {
33+
default = "false"
34+
}
35+
36+
variable "idle_timeout_in_seconds" {
37+
default = 3600
38+
}
39+
40+
variable "index_config_type_default" {
41+
default = "DEFAULT_INDEX_CONFIG"
42+
}
43+
44+
variable "should_enable_hybrid_search" {
45+
default = "false"
46+
}
47+
48+
variable "test_agent_endpoint_display_name" {
49+
default = "test_agent_endpoint"
50+
}
51+
52+
variable "test_agent_endpoint_description" {
53+
default = "test agent endpoint"
54+
}
55+
56+
variable "test_knowledge_base_display_name" {
57+
default = "test_knowledge_base"
58+
}
59+
60+
variable "test_knowledge_base_description" {
61+
default = "test knowledgeBase"
62+
}
63+
64+
variable "test_data_source_display_name" {
65+
default = "test_data_source"
66+
}
67+
68+
variable "test_data_source_description" {
69+
default = "test dataSource"
70+
}
71+
72+
variable "test_data_ingestion_job_display_name" {
73+
default = "test_data_ingestion_job"
74+
}
75+
76+
variable "test_data_ingestion_job_description" {
77+
default = "test dataIngestionJob"
78+
}
79+
80+
variable "test_data_source_prefix" {
81+
default = "sample text.pdf"
82+
}
83+
84+
variable "test_freeform_tags" {
85+
default = {
86+
"bar-key" = "value"
87+
}
88+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package client
5+
6+
import (
7+
oci_generative_ai_agent "github.com/oracle/oci-go-sdk/v65/generativeaiagent"
8+
9+
oci_common "github.com/oracle/oci-go-sdk/v65/common"
10+
)
11+
12+
func init() {
13+
RegisterOracleClient("oci_generative_ai_agent.GenerativeAiAgentClient", &OracleClient{InitClientFn: initGenerativeaiagentGenerativeAiAgentClient})
14+
}
15+
16+
func initGenerativeaiagentGenerativeAiAgentClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
17+
client, err := oci_generative_ai_agent.NewGenerativeAiAgentClientWithConfigurationProvider(configProvider)
18+
if err != nil {
19+
return nil, err
20+
}
21+
err = configureClient(&client.BaseClient)
22+
if err != nil {
23+
return nil, err
24+
}
25+
26+
if serviceClientOverrides.HostUrlOverride != "" {
27+
client.Host = serviceClientOverrides.HostUrlOverride
28+
}
29+
return &client, nil
30+
}
31+
32+
func (m *OracleClients) GenerativeAiAgentClient() *oci_generative_ai_agent.GenerativeAiAgentClient {
33+
return m.GetClient("oci_generative_ai_agent.GenerativeAiAgentClient").(*oci_generative_ai_agent.GenerativeAiAgentClient)
34+
}

0 commit comments

Comments
 (0)