このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
This feature requires Kong Gateway Enterprise.
This guide walks you through setting up the AI Proxy plugin with a cloud-hosted model, using the cloud’s native authentication mechanism.
Overview
When running software on a cloud-hosted virtual machine or container instance, the provider offers a keyless role-based access mechanism, allowing you to call services native to that cloud provider without having to store any keys inside the running instance (or in the Kong configuration).
This operates like a single-sign-on (SSO) mechanism for your cloud applications.
Kong’s AI Gateway (AI Proxy) can take advantage of the authentication mechanisms for many different cloud providers and, where available, can also use this authentication to call LLM-based services using those same methods.
Supported providers
Kong’s AI Gateway currently supports the following cloud authentication:
AI-Proxy LLM Provider | Cloud Provider | Type |
---|---|---|
azure |
Azure OpenAI | Entra / Managed Identity Authentication |
Azure OpenAI
When hosting your LLMs with Azure OpenAI Service and running them through AI Proxy, it is possible to use the assigned Azure Managed Identity or User-Assigned Identity of the VM, Kubernetes service-account, or ACS container, to call the Azure OpenAI models.
You can also use an Entra principal or App Registration (client_id
, client_secret
, and tenant_id
triplet) when
Kong is hosted outside of Azure.
How you do this depends on where and how you are running Kong Gateway.
Prerequisites
You must be running a Kong Gateway Enterprise instance.
Ensure that the Azure principal that you have assigned to the Compute resource (that is running your Kong Gateway) has the necessary Entra or IAM permissions to execute commands on the desired OpenAI instances. It must have one of the following permissions:
- Cognitive Services OpenAI User
- Cognitive Services OpenAI Contributor
See Azure’s documentation on managed identity to set this up.
Configuring the AI Proxy Plugin to use Azure Identity
When running Kong inside of your Azure subscription, AI Proxy is usually able to detect the designated Managed Identity or User-Assigned Identity of that Azure Compute resource, and use it accordingly.
Azure-Assigned Managed Identity
To use an Azure-Assigned Managed Identity, set up your plugin config like this:
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=ai-proxy-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
route: ROUTE_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
route = {
id = konnect_gateway_route.my_route.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/consumer_groups/{consumerGroupName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーグループIDを代入して、次のリクエストをします:
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにKongConsumerGroupオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumerGroup CONSUMER_GROUP_NAME konghq.com/plugins=ai-proxy-example
CONSUMER_GROUP_NAMEを、このプラグイン構成が対象とするコンシューマグループの名前に置き換えます。 kubectl get KongConsumerGroupを実行すると、利用可能なコンシューマグループを確認できます。
注: KongPluginリソースは一度だけ定義する必要があり、 名前空間内の任意のサービス、コンシューマ、コンシューマグループ、またはルートに適用できます。プラグインをクラスタ全体で利用できるようにする場合は、KongPlugin
の代わりにKongClusterPlugin
リソースを作成します。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
consumer_group: CONSUMER_GROUP_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
consumer_group = {
id = konnect_gateway_consumer_group.my_consumer_group.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-ai-proxy>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
plugin: ai-proxy
宣言型構成ファイルにplugins
エントリを追加します。
plugins:
- name: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
User-Assigned Identity
To use a User-Assigned Identity, specify its client ID like this:
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=ai-proxy-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
route: ROUTE_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
route = {
id = konnect_gateway_route.my_route.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/consumer_groups/{consumerGroupName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーグループIDを代入して、次のリクエストをします:
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにKongConsumerGroupオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumerGroup CONSUMER_GROUP_NAME konghq.com/plugins=ai-proxy-example
CONSUMER_GROUP_NAMEを、このプラグイン構成が対象とするコンシューマグループの名前に置き換えます。 kubectl get KongConsumerGroupを実行すると、利用可能なコンシューマグループを確認できます。
注: KongPluginリソースは一度だけ定義する必要があり、 名前空間内の任意のサービス、コンシューマ、コンシューマグループ、またはルートに適用できます。プラグインをクラスタ全体で利用できるようにする場合は、KongPlugin
の代わりにKongClusterPlugin
リソースを作成します。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
consumer_group: CONSUMER_GROUP_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
consumer_group = {
id = konnect_gateway_consumer_group.my_consumer_group.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-ai-proxy>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
plugin: ai-proxy
宣言型構成ファイルにplugins
エントリを追加します。
plugins:
- name: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
Using Entra or app registration
If running outside of Azure, to use an Entra principal or app registration, specify all properties like this:
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_client_secret": "be0c34b6-b5f1-4343-99a3-140df73e0c1c",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_client_secret":"be0c34b6-b5f1-4343-99a3-140df73e0c1c","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=ai-proxy-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
route: ROUTE_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_client_secret = "be0c34b6-b5f1-4343-99a3-140df73e0c1c"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
route = {
id = konnect_gateway_route.my_route.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/consumer_groups/{consumerGroupName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_client_secret": "be0c34b6-b5f1-4343-99a3-140df73e0c1c",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーグループIDを代入して、次のリクエストをします:
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_client_secret":"be0c34b6-b5f1-4343-99a3-140df73e0c1c","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにKongConsumerGroupオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumerGroup CONSUMER_GROUP_NAME konghq.com/plugins=ai-proxy-example
CONSUMER_GROUP_NAMEを、このプラグイン構成が対象とするコンシューマグループの名前に置き換えます。 kubectl get KongConsumerGroupを実行すると、利用可能なコンシューマグループを確認できます。
注: KongPluginリソースは一度だけ定義する必要があり、 名前空間内の任意のサービス、コンシューマ、コンシューマグループ、またはルートに適用できます。プラグインをクラスタ全体で利用できるようにする場合は、KongPlugin
の代わりにKongClusterPlugin
リソースを作成します。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
consumer_group: CONSUMER_GROUP_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_client_secret = "be0c34b6-b5f1-4343-99a3-140df73e0c1c"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
consumer_group = {
id = konnect_gateway_consumer_group.my_consumer_group.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_client_secret": "be0c34b6-b5f1-4343-99a3-140df73e0c1c",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_client_secret":"be0c34b6-b5f1-4343-99a3-140df73e0c1c","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-ai-proxy>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
plugin: ai-proxy
宣言型構成ファイルにplugins
エントリを追加します。
plugins:
- name: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_client_secret: be0c34b6-b5f1-4343-99a3-140df73e0c1c
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_client_secret = "be0c34b6-b5f1-4343-99a3-140df73e0c1c"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}
Environment variables
You can also specify some (or all) of these properties as environment variables. For example:
Environment variable:
AZURE_CLIENT_SECRET="be0c34b6-b5f1-4343-99a3-140df73e0c1c"
Plugin configuration:
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=ai-proxy-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
route: ROUTE_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
route = {
id = konnect_gateway_route.my_route.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/consumer_groups/{consumerGroupName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーンID、コンシューマーグループIDを代入して、次のリクエストをします:
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{consumerGroupId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: ai-proxy-example
plugin: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
" | kubectl apply -f -
次に、次のようにKongConsumerGroupオブジェクトに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate KongConsumerGroup CONSUMER_GROUP_NAME konghq.com/plugins=ai-proxy-example
CONSUMER_GROUP_NAMEを、このプラグイン構成が対象とするコンシューマグループの名前に置き換えます。 kubectl get KongConsumerGroupを実行すると、利用可能なコンシューマグループを確認できます。
注: KongPluginリソースは一度だけ定義する必要があり、 名前空間内の任意のサービス、コンシューマ、コンシューマグループ、またはルートに適用できます。プラグインをクラスタ全体で利用できるようにする場合は、KongPlugin
の代わりにKongClusterPlugin
リソースを作成します。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: ai-proxy
consumer_group: CONSUMER_GROUP_NAME|ID
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
CONSUMER_GROUP_NAME | IDを、このプラグイン構成の対象となるコンシューマグループのidまたはnameに置き換えてください。 |
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
consumer_group = {
id = konnect_gateway_consumer_group.my_consumer_group.id
}
}
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "ai-proxy",
"config": {
"route_type": "llm/v1/chat",
"auth": {
"azure_use_managed_identity": true,
"azure_client_id": "aabdecea-fc38-40ca-9edd-263878b290fe",
"azure_tenant_id": "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
},
"model": {
"provider": "azure",
"name": "gpt-35-turbo",
"options": {
"azure_instance": "my-openai-instance",
"azure_deployment_id": "kong-gpt-3-5"
}
}
}
}
'
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"ai-proxy","config":{"route_type":"llm/v1/chat","auth":{"azure_use_managed_identity":true,"azure_client_id":"aabdecea-fc38-40ca-9edd-263878b290fe","azure_tenant_id":"1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"},"model":{"provider":"azure","name":"gpt-35-turbo","options":{"azure_instance":"my-openai-instance","azure_deployment_id":"kong-gpt-3-5"}}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-ai-proxy>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
plugin: ai-proxy
宣言型構成ファイルにplugins
エントリを追加します。
plugins:
- name: ai-proxy
config:
route_type: llm/v1/chat
auth:
azure_use_managed_identity: true
azure_client_id: aabdecea-fc38-40ca-9edd-263878b290fe
azure_tenant_id: 1e583ecd-9293-4db1-b1c0-2b6126cb5fdd
model:
provider: azure
name: gpt-35-turbo
options:
azure_instance: my-openai-instance
azure_deployment_id: kong-gpt-3-5
前提条件: パーソナルアクセストークンの設定
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "kpat_YOUR_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Kong Konnectゲートウェイプラグインを作成するには、Terraform 構成に以下を追加します。
resource "konnect_gateway_plugin_ai_proxy" "my_ai_proxy" {
enabled = true
config = {
route_type = "llm/v1/chat"
auth = {
azure_use_managed_identity = true
azure_client_id = "aabdecea-fc38-40ca-9edd-263878b290fe"
azure_tenant_id = "1e583ecd-9293-4db1-b1c0-2b6126cb5fdd"
}
model = {
provider = "azure"
name = "gpt-35-turbo"
options = {
azure_instance = "my-openai-instance"
azure_deployment_id = "kong-gpt-3-5"
}
}
}
control_plane_id = konnect_gateway_control_plane.my_konnect_cp.id
}