Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

AWS Bedrock

Przejdź do dokumentacji AWS, aby zarejestrować się w AWS i skonfigurować swoje dane uwierzytelniające.

Będziesz musiał również włączyć dostęp do modelu dla swojego konta, co możesz zrobić, postępując zgodnie z tymi instrukcjami.

Uwierzytelnianie

Zawsze ustawiaj region Bedrock, z którego ma korzystać LibreChat:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

LibreChat obsługuje następujące metody uwierzytelniania dla Bedrock.

Profil AWS

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_PROFILE=your-profile-name

Użyj tego, gdy masz już poświadczenia w ~/.aws/config lub ~/.aws/credentials albo gdy Twój profil korzysta z AWS IAM Identity Center, przyjmowania roli (role assumption) lub credential_process.

BEDROCK_AWS_PROFILE to ustawienie specyficzne dla LibreChat, które przekazuje wybrany profil do łańcucha dostawców poświadczeń AWS SDK dla Bedrock. Ogranicza to wybór profilu do Bedrock bez zmiany poświadczeń używanych przez inne integracje. Standardowa zmienna środowiskowa AWS AWS_PROFILE jest nadal obsługiwana przez domyślny łańcuch dostawców AWS SDK.

Jeśli Twój profil używa credential_process, zabezpiecz plik konfiguracyjny AWS oraz polecenie pomocnicze. AWS ostrzega, że poufne dane zapisane w stderr mogą zostać przechwycone lub zarejestrowane przez zestawy SDK i narzędzia.

Domyślny łańcuch dostawców poświadczeń AWS

Możesz pominąć dane uwierzytelniające i ustawienia profilu specyficzne dla Bedrock, aby pozwolić AWS SDK for JavaScript na automatyczne rozpoznanie danych uwierzytelniających:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

Jest to preferowane podejście w przypadku wdrożeń korzystających z ról IAM lub innego natywnego dla AWS źródła krótkoterminowych poświadczeń. Zestaw SDK sprawdza obsługiwanych dostawców poświadczeń w określonej kolejności pierwszeństwa i zatrzymuje się na pierwszych prawidłowych poświadczeniach, które znajdzie. Typowe źródła obejmują zmienne środowiskowe, IAM Identity Center/SSO, współdzielone pliki konfiguracyjne i poświadczeń, tożsamość internetową (web identity), poświadczenia kontenera ECS, metadane instancji EC2 oraz poświadczenia procesowe.

Na przykład, jeśli ustawione są standardowe dla AWS zmienne AWS_ACCESS_KEY_ID oraz AWS_SECRET_ACCESS_KEY, poświadczenia te mogą mieć pierwszeństwo przed poświadczeniami opartymi na profilach w ~/.aws/credentials lub ~/.aws/config.

Klucz API Bedrock

Klucze API Amazon Bedrock uwierzytelniają wywołania Bedrock za pomocą uwierzytelniania bearer zamiast poświadczeń AWS podpisanych przez SigV4. W LibreChat skonfiguruj je za pomocą zmiennej środowiskowej o zasięgu Bedrock:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key

BEDROCK_AWS_BEARER_TOKEN jest specyficzne dla LibreChat. Dokumentacja AWS oraz surowe przykłady AWS SDK/CLI używają standardowej dla AWS zmiennej środowiskowej AWS_BEARER_TOKEN_BEDROCK, ale LibreChat celowo używa nazwy ograniczonej do Bedrock, aby token wpływał tylko na konfigurację endpointu Bedrock. LibreChat przekazuje tę wartość do AWS SDK jako uwierzytelnienie bearer.

Aby umożliwić użytkownikom podawanie własnego klucza API Bedrock z poziomu interfejsu LibreChat, ustaw:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=user_provided

Krótkoterminowe klucze API Bedrock dziedziczą uprawnienia podmiotu AWS użytego do ich wygenerowania, są ważne tylko w regionie AWS, w którym zostały wygenerowane, i wygasają najpóźniej po 12 godzinach lub w momencie wygaśnięcia sesji źródłowej. Długoterminowe klucze API Bedrock są zalecane wyłącznie do celów eksploracji i programowania. Zobacz dokumentację AWS dotyczącą korzystania z kluczy API Bedrock oraz generowania kluczy API Bedrock.

Statyczne poświadczenia Bedrock

Używaj statycznych zmiennych środowiskowych specyficznych dla Bedrock tylko wtedy, gdy profile lub role IAM nie są odpowiednie:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id
BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key
# BEDROCK_AWS_SESSION_TOKEN=your_session_token

Jeśli BEDROCK_AWS_ACCESS_KEY_ID oraz BEDROCK_AWS_SECRET_ACCESS_KEY są ustawione, LibreChat przekazuje je bezpośrednio do klienta Bedrock. Muszą one zostać dostarczone razem i mają pierwszeństwo przed BEDROCK_AWS_PROFILE oraz domyślnym łańcuchem dostawców SDK dla Bedrock.

Jeśli ustawiono BEDROCK_AWS_BEARER_TOKEN, LibreChat używa uwierzytelniania bearer dla Bedrock zamiast statycznych poświadczeń, BEDROCK_AWS_PROFILE lub domyślnego łańcucha dostawców SDK.

Szczegółowe informacje na temat zachowania poświadczeń AWS można znaleźć w dokumentacji AWS SDK for JavaScript credential provider chain, AWS SDKs and Tools settings reference oraz w uwagach dotyczących bezpieczeństwa AWS credential_process.

Konfigurowanie modeli

  • Opcjonalnie możesz określić, które modele mają być dostępne za pomocą BEDROCK_AWS_MODELS:
BEDROCK_AWS_MODELS=anthropic.claude-fable-5,anthropic.claude-opus-4-8,anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,meta.llama3-1-8b-instruct-v1:0

Uwaga: Jeśli zostanie pominięte, wszystkie znane i obsługiwane identyfikatory modeli zostaną uwzględnione automatycznie.

  • Modele klasy Claude Fable/Mythos w Bedrock są dostępne wyłącznie przez profile wnioskowania (inference-profile). Użyj identyfikatora profilu, takiego jak us.anthropic.claude-fable-5, i włącz udostępnianie danych Anthropic w konsoli Bedrock lub za pomocą API retencji danych (Data Retention API) przed ich wywołaniem.

  • Zobacz wszystkie identyfikatory modeli Bedrock tutaj:

Dodatkowa konfiguracja

Możesz dodatkowo skonfigurować endpoint Bedrock w swoim pliku librechat.yaml:

endpoints:
  bedrock:
    availableRegions:
      - 'us-east-1'
      - 'us-west-2'
    streamRate: 35
    titleModel: 'anthropic.claude-3-haiku-20240307-v1:0'
    guardrailConfig:
      guardrailIdentifier: 'abc123xyz'
      guardrailVersion: '1'
      trace: 'enabled'
      streamProcessingMode: 'sync'
  • streamRate: (Opcjonalne) Ustaw szybkość przetwarzania każdego nowego tokena w milisekundach.

    • Może to pomóc w ustabilizowaniu przetwarzania współbieżnych żądań i zapewnić płynniejsze renderowanie strumienia w interfejsie użytkownika.
  • titleModel: (Opcjonalnie) Określ model, który ma być używany do generowania tytułów konwersacji.

    • Zalecane: anthropic.claude-3-haiku-20240307-v1:0.
    • Pomiń lub ustaw jako current_model, aby użyć tego samego modelu co w czacie.
  • availableRegions: (Opcjonalnie) Określ regiony AWS, które chcesz udostępnić.

    • Jeśli zostanie podany, użytkownicy zobaczą listę rozwijaną umożliwiającą wybór regionu. Jeśli nie zostanie wybrany, użyty zostanie region domyślny.
    • image
  • guardrailConfig: (Opcjonalnie) Skonfiguruj AWS Bedrock Guardrails do filtrowania treści.

    • guardrailIdentifier: Identyfikator lub ARN guardrail z Twojej konsoli AWS Bedrock.
    • guardrailVersion: Numer wersji guardrail (np. "1") lub "DRAFT".
    • trace: (Opcjonalnie) Włącz logowanie śledzenia: "enabled", "disabled" lub "enabled_full".
    • streamProcessingMode: (Opcjonalnie) Ustaw tryb przetwarzania strumienia: "sync" lub "async" (domyślnie "sync").
    • Zobacz dokumentację AWS Bedrock Guardrails, aby dowiedzieć się, jak tworzyć i zarządzać guardrails.

Profile wnioskowania

Profile wnioskowania AWS Bedrock pozwalają na tworzenie niestandardowych konfiguracji routingu dla modeli podstawowych (foundation models), umożliwiając równoważenie obciążenia między regionami, alokację kosztów oraz kontrolę zgodności. Możesz zmapować identyfikatory modeli (model IDs) na niestandardowe ARN profili wnioskowania w swoim librechat.yaml:

endpoints:
  bedrock:
    inferenceProfiles:
      'us.anthropic.claude-3-7-sonnet-20250219-v1:0': '${BEDROCK_CLAUDE_37_PROFILE}'

Aby uzyskać pełny przewodnik na temat tworzenia profili, konfigurowania LibreChat, ustawiania logowania oraz rozwiązywania problemów, zobacz Bedrock Inference Profiles.

Aby uzyskać odniesienie do pola YAML, zobacz Struktura obiektu AWS Bedrock.

Przesyłanie dokumentów

Bedrock obsługuje przesyłanie dokumentów bezpośrednio do dostawcy za pomocą opcji Upload to Provider w menu rozwijanym załączników plików. Dokumenty są wysyłane do API Bedrock Converse jako natywne załączniki dokumentów.

Obsługiwane formaty: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT oraz Markdown (.md)

Ograniczenia:

  • Maksymalny rozmiar pliku na dokument: 4.5 MB
  • Nazwy plików są automatycznie oczyszczane, aby były zgodne z wymaganiami Bedrock dotyczącymi nazewnictwa (znaki alfanumeryczne, spacje, myślniki, nawiasy okrągłe, nawiasy kwadratowe; maks. 200 znaków)

Aby uzyskać więcej informacji na temat opcji przesyłania plików, zobacz dokumentację OCR for Documents.

Uwagi

  • Następujące modele nie są obsługiwane ze względu na brak możliwości przesyłania strumieniowego:

    • ai21.j2-mid-v1
  • Poniższe modele nie są obsługiwane ze względu na brak wsparcia dla historii konwersacji:

    • ai21.j2-ultra-v1
    • cohere.command-text-v14
    • cohere.command-light-text-v14
  • Punkt końcowy AWS Bedrock obsługuje wszystkie Shared Endpoint Settings za pośrednictwem pliku konfiguracyjnego librechat.yaml, w tym streamRate, titleModel, titleMethod, titlePrompt, titlePromptTemplate oraz titleEndpoint.

Jaka jest ta instrukcja?