無金鑰驗證方法
在 Azure OpenAI for JavaScript 的無密鑰驗證中,您可以使用 Azure 的受控識別或服務主體進行驗證,而不是硬式編碼 API 密鑰或其他認證。 這是透過 DefaultAzureCredential 或 ManagedIdentityCredential 類別來完成,其提供安全且簡化的方式,以取得驗證 Azure 服務所需的令牌。 以下是其實際運作方式:
- 設定 Azure 環境:確定您的 Azure 環境已使用受控身分識別正確設定。
- 初始化認證:使用適用於 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);
- 建立客戶端實體:使用從
AzureOpenAI取得的端點和憑證來實體化您的DefaultAzureCredential。 - 進行 API 呼叫:使用用戶端安全地與 Azure OpenAI 服務互動,而不需明確處理敏感性認證。