無金鑰驗證方法

已完成

在 Azure OpenAI for JavaScript 的無密鑰驗證中,您可以使用 Azure 的受控識別或服務主體進行驗證,而不是硬式編碼 API 密鑰或其他認證。 這是透過 DefaultAzureCredentialManagedIdentityCredential 類別來完成,其提供安全且簡化的方式,以取得驗證 Azure 服務所需的令牌。 以下是其實際運作方式:

  1. 設定 Azure 環境:確定您的 Azure 環境已使用受控身分識別正確設定。
  2. 初始化認證:使用適用於 JavaScript 的 Azure Identity SDK DefaultAzureCredential 類別或 ManagedIdentityCredential 類別,順暢地處理驗證程式。

以下是範例代碼段:

import { AzureOpenAI } from 'openai';
import { getBearerTokenProvider, DefaultAzureCredential } from '@azure/identity';

// Make sure to set AZURE_OPENAI_ENDPOINT with the endpoint of your Azure resource.

const credential = new DefaultAzureCredential();
const scope = 'https://cognitiveservices.azure.com/.default';
const azureADTokenProvider = getBearerTokenProvider(credential, scope);

// Create client instance
// 3) Create an Azure OpenAI client
const openai = new AzureOpenAI({ azureADTokenProvider });

// 4) Make API call and print response
const result = await openai.chat.completions.create({
  model: 'gpt-4-1106-preview',
  messages: [{ role: 'user', content: 'Say hello!' }],
});

console.log(result.choices[0]!.message?.content);
  1. 建立客戶端實體:使用從 AzureOpenAI取得的端點和憑證來實體化您的 DefaultAzureCredential
  2. 進行 API 呼叫:使用用戶端安全地與 Azure OpenAI 服務互動,而不需明確處理敏感性認證。