OpenAIClientOptionsWithAzureAgent interface

Rozszerzone opcje klienta OpenAI o konfigurację endpoint Azure Agent.

Rozszerzenie

ClientOptions

Właściwości

azureConfig

Azure Agent endpoint configuration.

Właściwości dziedziczone

adminAPIKey

Domyślnie używa process.env['OPENAI_ADMIN_KEY'].

apiKey

Klucz API używany do uwierzytelniania.

  • Akceptuje albo statyczny ciąg znaków, albo funkcję asynchroniczną, która rozwiązuje się do ciągu znaków.
  • Domyślnie przyjmuje process.env['OPENAI_API_KEY'].
  • Gdy funkcja jest dostarczana, jest wywoływana przy tworzeniu nagłówków uwierzytelniania nosiciela dla każdej próby, w tym powtórek i wywołań bezpośrednich buildRequest() . Wynik każdego wywołania jest używany do własnego żądania.
  • Funkcja musi zwrócić ciąg niepusty; w przeciwnym razie rzucany jest OpenAIError.
  • Jeśli funkcja wyrzuci, błąd jest opakowany w OpenAIError, a oryginalny błąd dostępny jest jako .cause
  • Wzajemnie wykluczające się z workloadIdentity.
baseURL

Nadpisz domyślny bazowy URL API, np. "https://api.example.com/v2/"

Domyślnie przyjmuje process.env['OPENAI_BASE_URL'].

credential

Certyfikat pierwszej klasy utworzony z fromX509 .openai/auth/x509-transport

dangerouslyAllowBrowser

Domyślnie korzystanie z tej biblioteki po stronie klienta nie jest dozwolone, ponieważ grozi ujawnieniem twoich tajnych poświadczeń API dla atakujących. Ustaw tę opcję true tylko wtedy, gdy rozumiesz ryzyko i masz odpowiednie środki łagodzące.

dataResidency

Wybierz regionalny punkt końcowy OpenAI. To nadpisuje dziedziczony lub bazowy adres URL środowiskowy i jest wzajemnie wyłączny z jawnym baseURL lub provider. Dostępność zależy od Twojego projektu i modelu; nie ma żadnego planu awaryjnego. null i pozostawić undefined zwykłą rozdzielczość bazowych URL bez zmian.

defaultHeaders

Domyślne nagłówki do każdego żądania do API.

Można je usunąć w pojedynczych żądaniach, ustawiając nagłówek na null opcjach żądania.

defaultQuery

Domyślne parametry zapytania do każdego żądania do API.

Można je usunąć w pojedynczych żądaniach, wyraźnie ustawiając parametr na undefined w opcjach żądania.

fetch

Określ fetch niestandardową implementację funkcji.

Jeśli nie zostanie to podano, spodziewamy się, że jest to fetch definiowane globalnie.

fetchOptions

Dodatkowe RequestInit opcje do przekazania na fetch wezwania. Właściwości będą nadpisane na każde żądanie fetchOptions.

logger

Ustaw drwala.

Domyślnie ustawia się na globalThis.console.

logLevel

Ustaw poziom kłody.

Domyślnie przyjmuje process.env['OPENAI_LOG'] lub 'ostrzeżenie', jeśli nie jest ustawione.

maxRetries

Maksymalna liczba powtórzeń żądania przez klienta w przypadku tymczasowej awarii, takiej jak błąd sieciowy lub błąd 5XX ze strony serwera.

organization

Domyślnie przyjmuje process.env['OPENAI_ORG_ID'].

project

Domyślnie przyjmuje process.env['OPENAI_PROJECT_ID'].

provider

Skonfiguruj tego klienta do korzystania z zewnętrznego dostawcy API. Wzajemnie wykluczające się z najwyższym poziomem uwierzytelniania i baseURL opcjami.

timeout

Maksymalny czas (w milisekundach), jaki klient powinien oczekiwać na odpowiedź od serwera, zanim wymierzy czas wykonania pojedynczego żądania.

Należy pamiętać, że timeouty żądań są domyślnie powtarzane, więc w najgorszym przypadku możesz czekać znacznie dłużej niż ten czas, zanim obietnica się powiedzie lub nie powiod.

Node.js pobieranie wymusza niezależne limity czasu na nagłówek odpowiedzi i bezczynności ciała, zazwyczaj domyślnie wynosząc pięć minut, nawet jeśli ten limit jest dłuższy. Aby je zwiększyć, zainstaluj undici i skonfiguruj Agenta z odpowiednią implementacją pobierania:

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

Domyślnie wybiera process.env['OPENAI_WEBHOOK_SECRET'].

workloadIdentity

Konfiguracja tożsamości obciążenia dla uwierzytelniania wymiany tokenów OAuth2. Wzajemnie wykluczające się z apiKey.

x509Transport

Zatwierdzone, zamrożone Node.js transfer certyfikatów wymagany tylko dla tożsamości obciążenia X.509.

Szczegóły właściwości

azureConfig

Azure Agent endpoint configuration.

azureConfig?: AzureAgentConfig

Wartość właściwości

Szczegóły właściwości dziedziczonej

adminAPIKey

Domyślnie używa process.env['OPENAI_ADMIN_KEY'].

adminAPIKey?: string | null

Wartość właściwości

string | null

Dziedziczone od OpenAIClientOptions.adminAPIKey

apiKey

Klucz API używany do uwierzytelniania.

  • Akceptuje albo statyczny ciąg znaków, albo funkcję asynchroniczną, która rozwiązuje się do ciągu znaków.
  • Domyślnie przyjmuje process.env['OPENAI_API_KEY'].
  • Gdy funkcja jest dostarczana, jest wywoływana przy tworzeniu nagłówków uwierzytelniania nosiciela dla każdej próby, w tym powtórek i wywołań bezpośrednich buildRequest() . Wynik każdego wywołania jest używany do własnego żądania.
  • Funkcja musi zwrócić ciąg niepusty; w przeciwnym razie rzucany jest OpenAIError.
  • Jeśli funkcja wyrzuci, błąd jest opakowany w OpenAIError, a oryginalny błąd dostępny jest jako .cause
  • Wzajemnie wykluczające się z workloadIdentity.
apiKey?: string | ApiKeySetter | null

Wartość właściwości

string | ApiKeySetter | null

Dziedziczone od OpenAIClientOptions.apiKey

baseURL

Nadpisz domyślny bazowy URL API, np. "https://api.example.com/v2/"

Domyślnie przyjmuje process.env['OPENAI_BASE_URL'].

baseURL?: string | null

Wartość właściwości

string | null

Dziedziczone od OpenAIClientOptions.baseURL

credential

Certyfikat pierwszej klasy utworzony z fromX509 .openai/auth/x509-transport

credential?: X509Credential

Wartość właściwości

X509Credential

Dziedziczone z OpenAIClientOptions.credential

dangerouslyAllowBrowser

Domyślnie korzystanie z tej biblioteki po stronie klienta nie jest dozwolone, ponieważ grozi ujawnieniem twoich tajnych poświadczeń API dla atakujących. Ustaw tę opcję true tylko wtedy, gdy rozumiesz ryzyko i masz odpowiednie środki łagodzące.

dangerouslyAllowBrowser?: boolean

Wartość właściwości

boolean

Dziedziczone od OpenAIClientOptions.dangerouslyAllowBrowser

dataResidency

Wybierz regionalny punkt końcowy OpenAI. To nadpisuje dziedziczony lub bazowy adres URL środowiskowy i jest wzajemnie wyłączny z jawnym baseURL lub provider. Dostępność zależy od Twojego projektu i modelu; nie ma żadnego planu awaryjnego. null i pozostawić undefined zwykłą rozdzielczość bazowych URL bez zmian.

dataResidency?: DataResidency | null

Wartość właściwości

DataResidency | null

Dziedziczone z OpenAIClientOptions.dataResidency

defaultHeaders

Domyślne nagłówki do każdego żądania do API.

Można je usunąć w pojedynczych żądaniach, ustawiając nagłówek na null opcjach żądania.

defaultHeaders?: HeadersLike

Wartość właściwości

HeadersLike

Dziedziczone od OpenAIClientOptions.defaultHeaders

defaultQuery

Domyślne parametry zapytania do każdego żądania do API.

Można je usunąć w pojedynczych żądaniach, wyraźnie ustawiając parametr na undefined w opcjach żądania.

defaultQuery?: Record<string, string | undefined>

Wartość właściwości

Record<string, string | undefined>

Dziedziczone od OpenAIClientOptions.defaultQuery

fetch

Określ fetch niestandardową implementację funkcji.

Jeśli nie zostanie to podano, spodziewamy się, że jest to fetch definiowane globalnie.

fetch?: Fetch

Wartość właściwości

Fetch

Dziedziczone od OpenAIClientOptions.fetch

fetchOptions

Dodatkowe RequestInit opcje do przekazania na fetch wezwania. Właściwości będą nadpisane na każde żądanie fetchOptions.

fetchOptions?: MergedRequestInit

Wartość właściwości

MergedRequestInit

Dziedziczone od OpenAIClientOptions.fetchOptions

logger

Ustaw drwala.

Domyślnie ustawia się na globalThis.console.

logger?: Logger

Wartość właściwości

Logger

Dziedziczone od OpenAIClientOptions.logger

logLevel

Ustaw poziom kłody.

Domyślnie przyjmuje process.env['OPENAI_LOG'] lub 'ostrzeżenie', jeśli nie jest ustawione.

logLevel?: LogLevel

Wartość właściwości

LogLevel

Dziedziczone od OpenAIClientOptions.logLevel

maxRetries

Maksymalna liczba powtórzeń żądania przez klienta w przypadku tymczasowej awarii, takiej jak błąd sieciowy lub błąd 5XX ze strony serwera.

maxRetries?: number

Wartość właściwości

number

Dziedziczone od OpenAIClientOptions.maxRetries

organization

Domyślnie przyjmuje process.env['OPENAI_ORG_ID'].

organization?: string | null

Wartość właściwości

string | null

Dziedziczone od OpenAIClientOptions.organization

project

Domyślnie przyjmuje process.env['OPENAI_PROJECT_ID'].

project?: string | null

Wartość właściwości

string | null

Dziedziczone od OpenAIClientOptions.project

provider

Skonfiguruj tego klienta do korzystania z zewnętrznego dostawcy API. Wzajemnie wykluczające się z najwyższym poziomem uwierzytelniania i baseURL opcjami.

provider?: Provider

Wartość właściwości

Provider

Dziedziczone od OpenAIClientOptions.provider

timeout

Maksymalny czas (w milisekundach), jaki klient powinien oczekiwać na odpowiedź od serwera, zanim wymierzy czas wykonania pojedynczego żądania.

Należy pamiętać, że timeouty żądań są domyślnie powtarzane, więc w najgorszym przypadku możesz czekać znacznie dłużej niż ten czas, zanim obietnica się powiedzie lub nie powiod.

Node.js pobieranie wymusza niezależne limity czasu na nagłówek odpowiedzi i bezczynności ciała, zazwyczaj domyślnie wynosząc pięć minut, nawet jeśli ten limit jest dłuższy. Aby je zwiększyć, zainstaluj undici i skonfiguruj Agenta z odpowiednią implementacją pobierania:

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

Wartość właściwości

number

Dziedziczone od OpenAIClientOptions.timeout

webhookSecret

Domyślnie wybiera process.env['OPENAI_WEBHOOK_SECRET'].

webhookSecret?: string | null

Wartość właściwości

string | null

Dziedziczone od OpenAIClientOptions.webhookSecret

workloadIdentity

Konfiguracja tożsamości obciążenia dla uwierzytelniania wymiany tokenów OAuth2. Wzajemnie wykluczające się z apiKey.

workloadIdentity?: WorkloadIdentity | X509WorkloadIdentity

Wartość właściwości

WorkloadIdentity | X509WorkloadIdentity

Dziedziczone od OpenAIClientOptions.workloadIdentity

x509Transport

Zatwierdzone, zamrożone Node.js transfer certyfikatów wymagany tylko dla tożsamości obciążenia X.509.

x509Transport?: X509Transport

Wartość właściwości

X509Transport

Dziedziczone z OpenAIClientOptions.x509Transport