Halaman ini menyediakan informasi tentang metode dan klien autentikasi yang didukung. Ini menyediakan kode sampel yang dapat Anda gunakan untuk menghubungkan layanan komputasi ke Azure OpenAI di Model Foundry menggunakan Konektor Layanan. Halaman ini juga mencantumkan nama dan nilai variabel lingkungan default yang diperoleh saat membuat koneksi layanan.
Layanan komputasi yang didukung
Konektor Layanan dapat digunakan untuk menyambungkan layanan komputasi berikut ke Azure OpenAI:
- Azure App Service
- Azure Container Apps
- Azure Functions
- Azure Kubernetes Service (AKS)
- Azure Spring Apps
Jenis Autentikasi yang Didukung serta jenis klien
Tabel ini memperlihatkan kombinasi metode autentikasi dan klien mana yang didukung untuk menyambungkan layanan komputasi Anda ke Azure OpenAI menggunakan Konektor Layanan. "Ya" menunjukkan bahwa kombinasi didukung, sementara "Tidak" menunjukkan bahwa kombinasi tersebut tidak didukung.
| Jenis klien |
Identitas terkelola yang ditetapkan sistem |
Identitas terkelola yang ditetapkan pengguna |
Rahasia/string koneksi |
Perwakilan layanan |
| .NET |
Ya |
Ya |
Ya |
Ya |
| Java |
Ya |
Ya |
Ya |
Ya |
| Node.js |
Ya |
Ya |
Ya |
Ya |
| Python |
Ya |
Ya |
Ya |
Ya |
| Tidak |
Ya |
Ya |
Ya |
Ya |
Tabel ini menunjukkan bahwa semua kombinasi jenis klien dan metode autentikasi dalam tabel didukung. Semua jenis klien dapat menggunakan salah satu metode autentikasi untuk menyambungkan ke Azure OpenAI menggunakan Konektor Layanan.
Nama variabel lingkungan default atau properti aplikasi dan kode sampel
Gunakan detail koneksi berikut untuk menyambungkan layanan komputasi ke Azure OpenAI. Untuk informasi selengkapnya, lihat Konvensi penamaan konfigurasi.
Identitas terkelola yang ditetapkan sistem
| Nama Variabel Lingkungan |
Deskripsi |
Sampel nilai |
| AZURE_OPENAI_BASE |
Titik akhir Azure OpenAI |
https://<Azure-OpenAI-name>.openai.azure.com/ |
Kode Sampel
Untuk menyambungkan ke Azure OpenAI menggunakan identitas terkelola yang ditetapkan sistem, lihat langkah-langkah dan kode berikut.
Instal dependensi.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Autentikasi menggunakan pustaka Azure Identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
using Azure.AI.OpenAI;
using Azure.Identity;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
AzureOpenAIClient openAIClient = new(
new Uri(endpoint),
credential
);
Tambahkan dependensi berikut dalam file pom.xml Anda:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Instal dependensi.
pip install openai
pip install azure-identity
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Instal dependensi.
npm install --save @azure/identity
npm install @azure/openai
Autentikasi menggunakan @azure/identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Untuk bahasa lain, Anda dapat menggunakan informasi koneksi yang diatur Konektor Layanan ke variabel lingkungan untuk menyambungkan ke Azure OpenAI. Untuk detail variabel lingkungan, lihat Mengintegrasikan Azure OpenAI dengan Konektor Layanan.
Identitas terkelola yang ditetapkan pengguna
| Nama Variabel Lingkungan |
Deskripsi |
Sampel nilai |
| AZURE_OPENAI_BASE |
Titik Akhir Azure OpenAI |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_CLIENTID |
ID klien Anda |
<client-ID> |
Kode Sampel
Untuk menyambungkan ke Azure OpenAI menggunakan identitas terkelola yang ditetapkan pengguna, lihat langkah dan kode berikut.
Instal dependensi.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Autentikasi menggunakan pustaka Azure Identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
using Azure.AI.OpenAI;
using Azure.Identity;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
AzureOpenAIClient openAIClient = new(
new Uri(endpoint),
credential
);
Tambahkan dependensi berikut dalam file pom.xml Anda:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Instal dependensi.
pip install openai
pip install azure-identity
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Instal dependensi.
npm install --save @azure/identity
npm install @azure/openai
Autentikasi menggunakan @azure/identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Untuk bahasa lain, Anda dapat menggunakan informasi koneksi yang diatur Konektor Layanan ke variabel lingkungan untuk menyambungkan ke Azure OpenAI. Untuk detail variabel lingkungan, lihat Mengintegrasikan Azure OpenAI dengan Konektor Layanan.
String koneksi
| Nama Variabel Lingkungan |
Deskripsi |
Sampel nilai |
| AZURE_OPENAI_BASE |
Titik Akhir Azure OpenAI |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_KEY |
Kunci API Azure OpenAI |
<api-key> |
Kode Sampel
Untuk menyambungkan ke Azure OpenAI menggunakan string koneksi, lihat langkah dan kode berikut.
Instal dependensi berikut.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Core --version 1.40.0
Dapatkan titik akhir Azure OpenAI dan kunci API dari variabel lingkungan yang ditambahkan oleh Konektor Layanan.
using Azure.AI.OpenAI;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE")
string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_KEY");
AzureOpenAIClient openAIClient = new(
new Uri(endpoint),
new AzureKeyCredential(key));
Tambahkan dependensi berikut dalam file pom.xml Anda:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.49.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
Dapatkan titik akhir Azure OpenAI dan kunci API dari variabel lingkungan yang ditambahkan oleh Konektor Layanan.
String endpoint = System.getenv("AZURE_OPENAI_BASE");
String key = System.getenv("AZURE_OPENAI_KEY");
OpenAIClient client = new OpenAIClientBuilder()
.credential(new AzureKeyCredential(key))
.endpoint(endpoint)
.buildClient();
Instal dependensi berikut.
pip install openai
pip install azure-core
Dapatkan titik akhir Azure OpenAI dan kunci API dari variabel lingkungan yang ditambahkan oleh Konektor Layanan.
import os
from openai import AzureOpenAI
from azure.core.credentials import AzureKeyCredential
key = os.environ['AZURE_OPENAI_KEY']
endpoint = os.environ['AZURE_OPENAI_BASE']
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
api_key=key
)
Instal dependensi berikut.
npm install @azure/openai
npm install @azure/core-auth
Dapatkan titik akhir Azure OpenAI dan kunci API dari variabel lingkungan yang ditambahkan oleh Konektor Layanan.
import { OpenAIClient } from "@azure/openai";
import { AzureKeyCredential } from "@azure/core-auth";
const endpoint = process.env.AZURE_OPENAI_BASE;
const credential = new AzureKeyCredential(process.env.AZURE_OPENAI_KEY);
const client = new OpenAIClient(endpoint, credential);
Untuk bahasa lain, Anda dapat menggunakan informasi koneksi yang diatur Konektor Layanan ke variabel lingkungan untuk menyambungkan ke Azure OpenAI. Untuk detail variabel lingkungan, lihat Mengintegrasikan Azure OpenAI dengan Konektor Layanan.
Perwakilan layanan
| Nama Variabel Lingkungan |
Deskripsi |
Sampel nilai |
| AZURE_OPENAI_BASE |
Titik Akhir Azure OpenAI |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_CLIENTID |
ID klien Anda |
<client-ID> |
| AZURE_OPENAI_CLIENTSECRET |
Rahasia klien Anda |
<client-secret> |
| AZURE_OPENAI_TENANTID |
ID penyewa Anda |
<tenant-ID> |
Kode Sampel
Untuk menyambungkan ke Azure OpenAI menggunakan perwakilan layanan, lihat langkah-langkah dan kode berikut.
Instal dependensi.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Autentikasi menggunakan pustaka Azure Identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
using Azure.AI.OpenAI;
using Azure.Identity;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
AzureOpenAIClient openAIClient = new(
new Uri(endpoint),
credential
);
Tambahkan dependensi berikut dalam file pom.xml Anda:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Instal dependensi.
pip install openai
pip install azure-identity
Autentikasi menggunakan azure-identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Instal dependensi.
npm install --save @azure/identity
npm install @azure/openai
Autentikasi menggunakan @azure/identity dan dapatkan titik akhir Azure OpenAI dari variabel lingkungan yang ditambahkan oleh Konektor Layanan. Saat Anda menggunakan kode berikut, batalkan komentar bagian cuplikan kode untuk jenis autentikasi yang ingin Anda gunakan.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Untuk bahasa lain, Anda dapat menggunakan informasi koneksi yang diatur Konektor Layanan ke variabel lingkungan untuk menyambungkan ke Azure OpenAI. Untuk detail variabel lingkungan, lihat Mengintegrasikan Azure OpenAI dengan Konektor Layanan.
Konten terkait