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

AWS Bedrock

Hãy truy cập AWS docs để đăng ký AWS và thiết lập thông tin xác thực của bạn.

Bạn cũng sẽ cần bật quyền truy cập mô hình cho tài khoản của mình, việc này có thể thực hiện bằng cách làm theo các hướng dẫn này.

Xác thực

Luôn thiết lập khu vực Bedrock mà LibreChat nên sử dụng:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

LibreChat hỗ trợ các phương thức xác thực sau đây cho Bedrock.

Hồ sơ AWS

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

Sử dụng tùy chọn này khi bạn đã có thông tin xác thực trong ~/.aws/config hoặc ~/.aws/credentials, hoặc khi profile của bạn sử dụng AWS IAM Identity Center, giả định vai trò (role assumption), hoặc credential_process.

BEDROCK_AWS_PROFILE là một cài đặt dành riêng cho LibreChat, giúp chuyển cấu hình (profile) đã chọn vào chuỗi nhà cung cấp thông tin xác thực AWS SDK cho Bedrock. Cài đặt này giới hạn phạm vi chọn cấu hình cho Bedrock mà không làm thay đổi thông tin xác thực được sử dụng bởi các tích hợp khác. Biến môi trường AWS_PROFILE tiêu chuẩn của AWS vẫn được hỗ trợ bởi chuỗi nhà cung cấp mặc định của AWS SDK.

Nếu hồ sơ của bạn sử dụng credential_process, hãy bảo mật tệp cấu hình AWS và lệnh hỗ trợ. AWS cảnh báo rằng các thông tin bí mật được ghi vào stderr có thể bị các SDK và công cụ ghi lại hoặc lưu vào nhật ký.

Chuỗi nhà cung cấp thông tin xác thực AWS mặc định

Bạn có thể bỏ qua các thông tin xác thực và cài đặt hồ sơ dành riêng cho Bedrock để AWS SDK for JavaScript tự động giải quyết thông tin xác thực:

BEDROCK_AWS_DEFAULT_REGION=us-east-1

Đây là phương pháp ưu tiên cho các triển khai sử dụng vai trò IAM hoặc nguồn thông tin xác thực ngắn hạn gốc của AWS khác. SDK sẽ kiểm tra các nhà cung cấp thông tin xác thực được hỗ trợ theo thứ tự ưu tiên và dừng lại ở thông tin xác thực hợp lệ đầu tiên mà nó tìm thấy. Các nguồn phổ biến bao gồm biến môi trường, IAM Identity Center/SSO, các tệp cấu hình và thông tin xác thực dùng chung, danh tính web, thông tin xác thực vùng chứa ECS, siêu dữ liệu phiên bản EC2 và thông tin xác thực quy trình.

Ví dụ: nếu các biến tiêu chuẩn của AWS là AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY được thiết lập, các thông tin xác thực đó có thể được ưu tiên hơn so với thông tin xác thực dựa trên hồ sơ trong ~/.aws/credentials hoặc ~/.aws/config.

Khóa API Bedrock

Các khóa API Amazon Bedrock xác thực các lệnh gọi Bedrock bằng bearer auth thay vì thông tin xác thực AWS được ký SigV4. Trong LibreChat, hãy cấu hình chúng bằng biến môi trường có phạm vi Bedrock:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key

BEDROCK_AWS_BEARER_TOKEN là biến dành riêng cho LibreChat. Tài liệu của AWS và các ví dụ về SDK/CLI thô của AWS sử dụng biến môi trường AWS_BEARER_TOKEN_BEDROCK theo tiêu chuẩn của AWS, nhưng LibreChat cố tình sử dụng tên có phạm vi Bedrock để token này chỉ ảnh hưởng đến cấu hình endpoint của Bedrock. LibreChat truyền giá trị này cho AWS SDK dưới dạng xác thực bearer.

Để cho phép người dùng cung cấp khóa API Bedrock của riêng họ từ giao diện người dùng LibreChat, hãy thiết lập:

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=user_provided

Các khóa API Bedrock ngắn hạn kế thừa quyền của AWS principal được sử dụng để tạo ra chúng, chỉ có hiệu lực trong khu vực AWS nơi chúng được tạo và sẽ hết hạn sau tối đa 12 giờ hoặc theo thời hạn của phiên nguồn. Các khóa API Bedrock dài hạn chỉ được khuyến nghị sử dụng cho mục đích khám phá và phát triển. Xem tài liệu của AWS để biết cách sử dụng khóa API Bedrocktạo khóa API Bedrock.

Thông tin xác thực Bedrock tĩnh

Chỉ sử dụng các biến môi trường tĩnh dành riêng cho Bedrock khi các profile hoặc vai trò IAM không phù hợp:

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

Nếu BEDROCK_AWS_ACCESS_KEY_IDBEDROCK_AWS_SECRET_ACCESS_KEY được thiết lập, LibreChat sẽ chuyển trực tiếp chúng đến client Bedrock. Các thông tin này phải được cung cấp cùng nhau và chúng sẽ được ưu tiên hơn BEDROCK_AWS_PROFILE cũng như chuỗi nhà cung cấp mặc định của SDK cho Bedrock.

Nếu BEDROCK_AWS_BEARER_TOKEN được thiết lập, LibreChat sẽ sử dụng xác thực bearer cho Bedrock thay vì thông tin xác thực tĩnh, BEDROCK_AWS_PROFILE, hoặc chuỗi nhà cung cấp mặc định của SDK.

Để biết chi tiết về hành vi xác thực của AWS, hãy xem chuỗi nhà cung cấp xác thực AWS SDK cho JavaScript, tài liệu tham khảo cài đặt AWS SDKs and Tools, và các lưu ý bảo mật về credential_process của AWS.

Cấu hình các model

  • Bạn có thể tùy chọn chỉ định các model mà bạn muốn cung cấp bằng cách sử dụng 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

Lưu ý: Nếu bỏ qua, tất cả các ID mô hình đã biết và được hỗ trợ sẽ được tự động đưa vào.

  • Các mô hình Claude Fable/Mythos-class trên Bedrock chỉ dành cho inference-profile. Hãy sử dụng profile ID như us.anthropic.claude-fable-5 và bật tính năng chia sẻ dữ liệu Anthropic trong bảng điều khiển Bedrock hoặc Data Retention API trước khi gọi chúng.

  • Xem tất cả các ID model Bedrock tại đây:

Cấu hình bổ sung

Bạn có thể cấu hình thêm endpoint Bedrock trong tệp librechat.yaml của mình:

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: (Tùy chọn) Thiết lập tốc độ xử lý mỗi token mới theo đơn vị mili giây.

    • Điều này có thể giúp ổn định quá trình xử lý các yêu cầu đồng thời và cung cấp khả năng hiển thị luồng dữ liệu (stream) trên giao diện người dùng mượt mà hơn.
  • titleModel: (Tùy chọn) Chỉ định model sẽ được sử dụng để tạo tiêu đề cuộc trò chuyện.

    • Khuyên dùng: anthropic.claude-3-haiku-20240307-v1:0.
    • Bỏ qua hoặc đặt là current_model để sử dụng cùng một model như trong đoạn chat.
  • availableRegions: (Tùy chọn) Chỉ định các khu vực AWS mà bạn muốn cung cấp.

    • Nếu được cung cấp, người dùng sẽ thấy một menu thả xuống để chọn khu vực. Nếu không được chọn, khu vực mặc định sẽ được sử dụng.
    • image
  • guardrailConfig: (Tùy chọn) Cấu hình AWS Bedrock Guardrails để lọc nội dung.

    • guardrailIdentifier: ID hoặc ARN của guardrail từ AWS Bedrock Console của bạn.
    • guardrailVersion: Số phiên bản guardrail (ví dụ: "1") hoặc "DRAFT".
    • trace: (Tùy chọn) Bật ghi nhật ký trace: "enabled", "disabled", hoặc "enabled_full".
    • streamProcessingMode: (Tùy chọn) Thiết lập chế độ xử lý luồng: "sync" hoặc "async" (mặc định là "sync").
    • Xem tài liệu AWS Bedrock Guardrails để biết cách tạo và quản lý guardrails.

Hồ sơ suy luận (Inference Profiles)

Các cấu hình suy luận (inference profiles) của AWS Bedrock cho phép bạn tạo các cấu hình định tuyến tùy chỉnh cho các mô hình nền tảng, hỗ trợ cân bằng tải liên vùng, phân bổ chi phí và kiểm soát tuân thủ. Bạn có thể ánh xạ các ID mô hình tới các ARN cấu hình suy luận tùy chỉnh trong tệp librechat.yaml của mình:

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

Để xem hướng dẫn đầy đủ về cách tạo hồ sơ, cấu hình LibreChat, thiết lập ghi nhật ký và khắc phục sự cố, hãy xem Bedrock Inference Profiles.

Để tham khảo trường YAML, hãy xem Cấu trúc đối tượng AWS Bedrock.

Tải lên tài liệu

Bedrock hỗ trợ tải tài liệu trực tiếp lên nhà cung cấp thông qua tùy chọn Upload to Provider trong menu thả xuống đính kèm tệp. Các tài liệu được gửi đến Bedrock Converse API dưới dạng tệp đính kèm tài liệu gốc.

Các định dạng được hỗ trợ: PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT và Markdown (.md)

Hạn chế:

  • Kích thước tệp tối đa cho mỗi tài liệu: 4.5 MB
  • Tên tệp được tự động làm sạch để tuân thủ các yêu cầu đặt tên của Bedrock (chữ và số, dấu cách, dấu gạch nối, dấu ngoặc đơn, dấu ngoặc vuông; tối đa 200 ký tự)

Để biết thêm thông tin về các tùy chọn tải tệp lên, hãy xem tài liệu OCR for Documents.

Ghi chú

  • Các mô hình sau đây không được hỗ trợ do thiếu khả năng truyền phát (streaming):

    • ai21.j2-mid-v1
  • Các mô hình sau đây không được hỗ trợ do thiếu tính năng hỗ trợ lịch sử hội thoại:

    • ai21.j2-ultra-v1
    • cohere.command-text-v14
    • cohere.command-light-text-v14
  • Endpoint AWS Bedrock hỗ trợ tất cả Shared Endpoint Settings thông qua tệp cấu hình librechat.yaml, bao gồm streamRate, titleModel, titleMethod, titlePrompt, titlePromptTemplatetitleEndpoint

Hướng dẫn này thế nào?