OpenAIClientOptionsWithAzureAgent interface

擴展 OpenAI 客戶端選項可包含 Azure Agent 端點配置。

Extends

ClientOptions

屬性

azureConfig

Azure Agent endpoint configuration.

繼承的屬性

adminAPIKey

預設為 process.env['OPENAI_ADMIN_KEY']。

apiKey

API 金鑰用於認證。

  • 接受靜態字串或非同步函式,後者解析為字串。
  • 預設為 process.env['OPENAI_API_KEY']。
  • 當提供函式時,會在每次嘗試建立承載認證標頭時(包括重試與直接 buildRequest() 呼叫)時被呼叫。 每個召喚的結果都用於其自己的請求。
  • 函式必須回傳非空字串;否則會拋出 OpenAIError。
  • 若函式拋出,錯誤會被包裹在 OpenAIError,原始錯誤為 cause。
  • 與 workloadIdentity互斥。
baseURL

覆寫 API 的預設基礎 URL,例如「https://api.example.com/v2/"

預設為 process.env['OPENAI_BASE_URL']。

credential

一fromX509級證書憑證由 。openai/auth/x509-transport

dangerouslyAllowBrowser

預設情況下,客戶端不允許使用此函式庫,因為這有可能暴露你的秘密 API 憑證給攻擊者。 只有當你了解風險並有適當的緩解措施時,才可設定此選項 true 。

dataResidency

選擇一個 OpenAI 區域端點。 此 URL 覆蓋繼承或環境基礎 URL,且與明確 baseURL 的 或 provider.() 互斥。 可用性取決於你的專案與模式;不會執行備援。 null 並 undefined 保持一般基礎 URL 解析度不變。

defaultHeaders

每次向 API 請求時都要包含預設標頭。

這些可透過在請求選項中明確設定標頭為 來 null 移除。

defaultQuery

每次請求 API 時都要包含預設的查詢參數。

這些參數可在個別請求中移除,方法是在請求選項中明確設定參數為 。undefined

fetch

指定一個自訂 fetch 函式實作。

若未提供,我們預期該定義 fetch 為全域。

fetchOptions

通話時還會提供RequestInit額外fetch選項。 屬性將被每個請求 fetchOptions覆蓋。

logger

設定木樁。

預設為 globalThis.console。

logLevel

設定原木水平。

預設為 process.env['OPENAI_LOG'],若未設定則為「warn」。

maxRetries

客戶端在暫時性故障(如網路錯誤或伺服器 5XX 錯誤)時,最多可重試請求的次數。

organization

預設為 process.env['OPENAI_ORG_ID']。

project

預設為 process.env['OPENAI_PROJECT_ID']。

provider

將此用戶端設定為使用第三方 API 提供者。 互斥,具備頂層驗證與 baseURL 選項。

timeout

客戶端在逾時前應等待伺服器回應的最大時間(以毫秒為單位)。

請注意,請求逾時預設會重試,因此在最壞情況下,你可能會等比這個逾時更久,承諾才會成功或失敗。

Node.js 擷取強制執行獨立的回應標頭與身體不活動逾時,通常預設為五分鐘,即使逾時時間較長。 要增加這些數量,請安裝 undici 並設定一個與 Fetch 相符實作的代理程式:

import { Agent, fetch } from 'undici';

const timeout = 20 * 60 * 1000;
const client = new OpenAI({
  timeout,
  fetch,
  fetchOptions: {
    dispatcher: new Agent({ headersTimeout: timeout, bodyTimeout: timeout }),
  },
});
webhookSecret

預設為 process.env['OPENAI_WEBHOOK_SECRET']。

workloadIdentity

OAuth2 令牌交換驗證的工作負載身份設定。 與 apiKey互斥。

x509Transport

核准且凍結的 Node.js 憑證傳輸,僅需用於 X.509 工作負載身份。

屬性詳細資料

azureConfig

Azure Agent endpoint configuration.

azureConfig?: AzureAgentConfig

屬性值

繼承的屬性詳細資料

adminAPIKey

預設為 process.env['OPENAI_ADMIN_KEY']。

adminAPIKey?: string | null

屬性值

string | null

繼承自 OpenAIClientOptions.adminAPIKey

apiKey

API 金鑰用於認證。

  • 接受靜態字串或非同步函式,後者解析為字串。
  • 預設為 process.env['OPENAI_API_KEY']。
  • 當提供函式時,會在每次嘗試建立承載認證標頭時(包括重試與直接 buildRequest() 呼叫)時被呼叫。 每個召喚的結果都用於其自己的請求。
  • 函式必須回傳非空字串;否則會拋出 OpenAIError。
  • 若函式拋出,錯誤會被包裹在 OpenAIError,原始錯誤為 cause。
  • 與 workloadIdentity互斥。
apiKey?: string | ApiKeySetter | null

屬性值

string | ApiKeySetter | null

繼承自 OpenAIClientOptions.apiKey

baseURL

覆寫 API 的預設基礎 URL,例如「https://api.example.com/v2/"

預設為 process.env['OPENAI_BASE_URL']。

baseURL?: string | null

屬性值

string | null

繼承自 OpenAIClientOptions.baseURL

credential

一fromX509級證書憑證由 。openai/auth/x509-transport

credential?: X509Credential

屬性值

X509Credential

繼承自 OpenAIClientOptions.credential

dangerouslyAllowBrowser

預設情況下,客戶端不允許使用此函式庫,因為這有可能暴露你的秘密 API 憑證給攻擊者。 只有當你了解風險並有適當的緩解措施時,才可設定此選項 true 。

dangerouslyAllowBrowser?: boolean

屬性值

boolean

繼承自 OpenAIClientOptions.dangerouslyAllowBrowser(開放AIClientOptions.dangerouslyAllowBrowser)

dataResidency

選擇一個 OpenAI 區域端點。 此 URL 覆蓋繼承或環境基礎 URL,且與明確 baseURL 的 或 provider.() 互斥。 可用性取決於你的專案與模式;不會執行備援。 null 並 undefined 保持一般基礎 URL 解析度不變。

dataResidency?: DataResidency | null

屬性值

DataResidency | null

繼承自 OpenAIClientOptions.dataResidency

defaultHeaders

每次向 API 請求時都要包含預設標頭。

這些可透過在請求選項中明確設定標頭為 來 null 移除。

defaultHeaders?: HeadersLike

屬性值

HeadersLike

繼承自 OpenAIClientOptions.defaultHeaders

defaultQuery

每次請求 API 時都要包含預設的查詢參數。

這些參數可在個別請求中移除,方法是在請求選項中明確設定參數為 。undefined

defaultQuery?: Record<string, string | undefined>

屬性值

Record<string, string | undefined>

繼承自 OpenAIClientOptions.defaultQuery

fetch

指定一個自訂 fetch 函式實作。

若未提供,我們預期該定義 fetch 為全域。

fetch?: Fetch

屬性值

Fetch

繼承自 OpenAIClientOptions.fetch

fetchOptions

通話時還會提供RequestInit額外fetch選項。 屬性將被每個請求 fetchOptions覆蓋。

fetchOptions?: MergedRequestInit

屬性值

MergedRequestInit

繼承自 OpenAIClientOptions.fetchOptions

logger

設定木樁。

預設為 globalThis.console。

logger?: Logger

屬性值

Logger

繼承自 OpenAIClientOptions.logger

logLevel

設定原木水平。

預設為 process.env['OPENAI_LOG'],若未設定則為「warn」。

logLevel?: LogLevel

屬性值

LogLevel

繼承自 OpenAIClientOptions.logLevel

maxRetries

客戶端在暫時性故障(如網路錯誤或伺服器 5XX 錯誤)時,最多可重試請求的次數。

maxRetries?: number

屬性值

number

繼承自 OpenAIClientOptions.maxRetries

organization

預設為 process.env['OPENAI_ORG_ID']。

organization?: string | null

屬性值

string | null

繼承自 OpenAIClientOptions.organization

project

預設為 process.env['OPENAI_PROJECT_ID']。

project?: string | null

屬性值

string | null

繼承自 OpenAIClientOptions.project

provider

將此用戶端設定為使用第三方 API 提供者。 互斥,具備頂層驗證與 baseURL 選項。

provider?: Provider

屬性值

Provider

繼承自 OpenAIClientOptions.provider

timeout

客戶端在逾時前應等待伺服器回應的最大時間(以毫秒為單位)。

請注意,請求逾時預設會重試,因此在最壞情況下,你可能會等比這個逾時更久,承諾才會成功或失敗。

Node.js 擷取強制執行獨立的回應標頭與身體不活動逾時,通常預設為五分鐘,即使逾時時間較長。 要增加這些數量,請安裝 undici 並設定一個與 Fetch 相符實作的代理程式:

import { Agent, fetch } from 'undici';

const timeout = 20 * 60 * 1000;
const client = new OpenAI({
  timeout,
  fetch,
  fetchOptions: {
    dispatcher: new Agent({ headersTimeout: timeout, bodyTimeout: timeout }),
  },
});
timeout?: number

屬性值

number

繼承自 OpenAIClientOptions.timeout

webhookSecret

預設為 process.env['OPENAI_WEBHOOK_SECRET']。

webhookSecret?: string | null

屬性值

string | null

繼承自 OpenAIClientOptions.webhookSecret

workloadIdentity

OAuth2 令牌交換驗證的工作負載身份設定。 與 apiKey互斥。

workloadIdentity?: WorkloadIdentity | X509WorkloadIdentity

屬性值

WorkloadIdentity | X509WorkloadIdentity

繼承自 OpenAIClientOptions.workloadIdentity

x509Transport

核准且凍結的 Node.js 憑證傳輸,僅需用於 X.509 工作負載身份。

x509Transport?: X509Transport

屬性值

X509Transport

繼承自 OpenAIClientOptions.x509Transport