openai (wymiana tokenów RFC 8693) i anthropic
(RFC 7523 jwt-bearer). Najpierw skonfiguruj dostawcę tożsamości i konto usługi
po stronie dostawcy:
OpenAI,
Anthropic.
Konfiguracja
Anthropic czyta te same zmienne co oficjalne SDK, więc istniejące wdrożenie działa bez zmian:config.yaml:
OPENAI_EU_IDENTITY_TOKEN_FILE dla dostawcy o nazwie openai-eu.
Jak to działa
- Pierwsze żądanie czeka na wymianę tokenu tożsamości. Token dostępu jest buforowany i odświeżany w tle dwie minuty przed wygaśnięciem (wcześniej dla bardzo krótkotrwałych tokenów), a żądania w tym czasie używają tokenu z bufora. Żądanie czeka na wymianę tylko wtedy, gdy w buforze nie ma używalnego tokenu.
identity_token_filejest odczytywany przy każdej wymianie, więc tokeny rotowane na dysku pozostają aktualne. Gdy ustawiono plik iidentity_token, wygrywa plik.- Jeśli odświeżenie się nie powiedzie, buforowany token jest używany do 30 sekund przed wygaśnięciem. Po błędzie gateway czeka 5 sekund, zanim ponowi wymianę.
- Gdy nie ma ważnego tokenu, żądanie wychodzi bez niego i dostawca je odrzuca.
Log gatewaya podaje przyczynę (
workload identity token exchange failed). - Wymiana korzysta z proxy wychodzącego dostawcy, jeśli jest skonfigurowane.
- Ani token tożsamości, ani token dostępu nigdy nie trafia do logów.
Zasady
- Klucz API ma pierwszeństwo przed workload identity, tak jak w oficjalnych
SDK. GoModel loguje ostrzeżenie, gdy ustawiono oba. Przy migracji usuń
<PROVIDER>_API_KEY. - Dostawca z pliku konfiguracji z
workload_identitynie przejmuje samego<PROVIDER>_API_KEYze środowiska, chyba że jego nazwa to nazwa typu. - Brak wymaganego pola albo
workload_identityprzy innym typie dostawcy powoduje, że ten dostawca się nie uruchamia, a log wskazuje pole. - Workload identity konfiguruje się w
config.yamllub zmiennymi środowiskowymi. W edytorze dostawców w dashboardzie nie jest jeszcze dostępne.