Danh mục mô hình
Mỗi mô hình một dòng, hai phân công mô hình của tổ chức, và cách buộc gateway phục vụ đúng như vậy.
Danh mục là một bảng, mỗi mô hình một dòng. Portal nắm sự thật đó, và gateway LiteLLMLiteLLM (cổng mô hình)LiteLLM (model gateway)Cổng mà mọi lệnh gọi mô hình đi qua. Nó định tuyến tới Bedrock, áp khoá và ngân sách của từng phòng ban, và ghi chi phí từng lệnh gọi.Mở trong Thuật ngữ được đồng bộ để phục vụ đúng như vậy. Mô hình nào làm từng việc riêng của portal là một câu trả lời khác: hai phân công mô hình nằm trên tổ chức.
Quy tắc chính
- Portal là nguồn sự thật. Gateway được đồng bộ theo danh mục; không ai xuất bản danh mục bằng tay.
- Mô hình không có trạng thái phê duyệt. Tích chọn một mô hình trong bộ chọn là đưa nó vào danh mục và để nó phục vụ ngay.
- Không gì bị xoá. Rút một mô hình là tắt nó, vì các dòng nhật ký và hoá đơn cũ có ghi tên nó.
- Mô hình chat mới tới mọi phòng ban cùng lúc. Phòng ban tự chặn mô hình trên màn hình của mình.
- Khóa tự dán cho nhà cung cấp khác (BYOK) phải chờ phê duyệt và chỉ phục vụ chủ của nó.
Một dòng chứa gì
| Trường | Nghĩa |
|---|---|
| Loại (kind) | Văn bản hay vector |
| Khả năng (capabilities) | Mô hình nhận gì hoặc làm được gì trong quá trình chạy |
| Nhà cung cấp (provider) | Dòng này đi tới upstream nào |
| Hãng (vendor) | Ai làm ra mô hình |
| Tên phục vụ | Tên gateway dùng để phục vụ nó |
| Định danh upstream | Định danh gateway gọi tới |
| Giá | Sao chép từ bảng giá của gateway |
| Active, served | Quản trị viên yêu cầu gì, và gateway trả lời gì |
Gateway ghi tiền tố của nhà cung cấp trước định danh upstream: bedrock/, gemini/, openai/ hoặc anthropic/. BedrockAmazon BedrockAmazon BedrockDịch vụ mô hình của AWS, chạy trong region của tài khoản bạn. Mô hình và embedding của portal đến từ đây, luôn qua LiteLLM.Mở trong Thuật ngữ chứa mô hình của nhiều hãng, nên “Bedrock” là cách một mô hình được phục vụ; ai làm ra nó là hãng, đọc từ nhà cung cấp khi thêm mô hình.
Loại, khả năng và phân công
| Khái niệm | Nghĩa | Câu trả lời từ đâu |
|---|---|---|
| Loại | Mô hình tạo ra gì: văn bản hay vector. Không bao giờ đổi và dùng để lọc mọi bộ chọn | Nhà cung cấp, nơi công bố mô hình nào xuất vector |
| Khả năng | Mô hình nhận gì hoặc làm gì trong quá trình chạy: đọc hình, gọi tool, suy luận sâu. Là một tập giá trị trên dòng, nên khả năng mới chỉ tốn một giá trị chứ không phải một cột | Nhà cung cấp trước: Bedrock công bố đầu vào hình ảnh, và việc dùng tool chạy qua API hội thoại. Suy luận sâu và prompt caching lấy từ một bảng portal tự giữ, so khớp theo định danh |
| Phân công mô hình | Tổ chức này dùng một mô hình vào việc gì. Có hai, mỗi cái chỉ định tối đa một mô hình | Tổ chức |
Đầu ra mới là một loại; đầu vào mới là một khả năng. Câu trả lời của nhà cung cấp và của portal được gộp khi thêm mô hình và ghi lên dòng, nên bản phát hành sau không thể đổi một mô hình đang dùng, và quản trị viên có thể sửa một câu trả lời sai. Mô hình mà bảng của portal chưa từng biết sẽ được thêm chỉ với câu trả lời của nhà cung cấp.
Hai phân công mô hình
Admin console gọi chúng là việc riêng của portal — đừng nhầm với tác vụ nền trên hàng đợi công việc.
| Phân công | Mô hình làm gì | Khi không chỉ định mô hình nào |
|---|---|---|
| Tìm kiếm tài liệu (mô hình tìm kiếm) | Làm cho tài liệu và bộ nhớ tìm kiếm được | Không gì tìm kiếm được, trừ tệp đã tắt tìm kiếm ngữ nghĩa (Keyword only) |
| Tác vụ nền (mô hình nền) | Mô tả hình trên trang ở mức Text + figures, viết lại trang ở mức Full rewrite, và viết tóm tắt suy luận | Tệp yêu cầu mô hình đọc sẽ bị từ chối các trang đó, kèm lý do nêu tên phân công. OCR vẫn đọc mọi trang mà lớp văn bản không phục vụ được |
- Chat không phải một phân công. Chat cung cấp mọi mô hình văn bản đang bật trừ những mô hình phòng ban của người đó chặn, vì người vận hành đưa nhiều mô hình vào danh mục để có thể chuyển agent giữa chúng.
- Phân công để trống là một trạng thái thật. Tổ chức chưa gán mô hình embedding sẽ không lập chỉ mục gì cho đến khi có.
- Đọc hình cần mô hình đọc được hình. Một trang chỉ được mô hình đọc khi tệp của nó yêu cầu Text + figures hoặc Full rewrite. Portal kiểm tra danh mục và từ chối các trang đó kèm lý do khi không làm được. Khả năng này không bắt buộc với bản thân phân công, vì tổ chức không có bản scan thì không bao giờ cần.
- Độ rộng embedding là cố định. Mỗi cột vector có độ rộng cố định, nên mô hình embedding thay thế phải trả về cùng số chiều, nếu không kho tri thức phải embedding lại.
Đồng bộ
-
Bộ chọn liệt kê mô hình Bedrock
Quản trị viên tích chọn bao nhiêu tuỳ ý. Các dòng được ghi, ở trạng thái active.
-
Đẩy route
Bật một mô hình sẽ đẩy đúng route đó lên gateway.
-
Sao chép giá
Giá gateway công bố được sao chép lên các dòng.
-
Một lượt quét giữ mọi thứ khớp
Một lượt quét tự chạy: nó đẩy lại route, hỏi gateway đang phục vụ gì và route nào trả lời được một lần thăm dò upstream, rồi ghi cả hai câu trả lời lên các dòng.
Không có nút xuất bản và không có route xuất bản. Lần đẩy thất bại trong lúc gateway khởi động lại sẽ được lượt quét kế tiếp thử lại. Việc đồng bộ suy ra cần đẩy gì từ các dòng và có tính lũy đẳng, nên không cần hàng đợi, và một danh mục đã đúng chỉ tốn một lần đọc, không ghi gì.
Thay thông tin xác thực của tổ chức sẽ đẩy lại mọi route nó đang giữ, vì mỗi deployment trên gateway giữ bản sao khóa riêng và gateway không bao giờ trả lại khóa đã lưu để so sánh.
Màn hình danh mục đọc các cột mà lượt quét đã ghi, nên một màn hình chỉ tốn một truy vấn và không phải chờ gateway hay Bedrock. Cả hai lần đọc gateway đều trả lời cho toàn bộ gateway, nên một lượt quét bao trọn danh mục.
| Trạng thái | Nghĩa |
|---|---|
active | Điều quản trị viên yêu cầu |
served | Điều gateway trả lời ở lượt quét gần nhất. Khác với active trong lúc lần đẩy đang bắt kịp, và vẫn khác khi có gì đó cấu hình sai |
healthy | Đang phục vụ, đã có giá, và trả lời được lần thăm dò upstream ở lượt quét gần nhất |
observed at | Lần cuối lượt quét kiểm tra. Trống trong vài giây đầu đời của mô hình, màn hình hiện là đang đồng bộ chứ không phải lỗi |
Thêm và rút mô hình
- Thêm. Chọn một mô hình trong số những gì thông tin xác thực của tổ chức tới được là đưa nó vào danh mục và để nó phục vụ, trong một yêu cầu.
- Rút là công tắc riêng của mô hình. Mô hình bị tắt sẽ rời mọi bộ chọn, và lượt nào chỉ định nó sẽ bị gateway từ chối.
- Quy tắc chặn của phòng ban vẫn còn. Các quy tắc chặn nêu tên mô hình bị rút được giữ nguyên, nên bật lại sẽ khôi phục đúng như trước.
- Không gì bị xoá, vì các dòng nhật ký kiểm tra và hoá đơn tháng trước có ghi tên mô hình.
- Mô hình mới tới mọi người. Một phòng ban dùng được mọi mô hình chat cho đến khi chặn một mô hình. Việc chặn được đặt trên màn hình của chính phòng ban — xem Phòng ban.
- Mô hình đang được phân công phải giữ bật. Không thể tắt mô hình đang giữ một phân công cho đến khi phân công trỏ sang mô hình khác. Phân công chỉ được chỉ định mô hình đã có trong danh mục, đúng loại và đang bật.
- Danh mục quyết định. Mô hình mà một phân công chỉ định được đọc từ danh mục của tổ chức, không bao giờ từ biến môi trường của bản triển khai.
- Mô hình embedding được định giá và tắt như mọi mô hình khác, không thể bị phòng ban chặn, và không bao giờ xuất hiện trong bộ chọn chat.
Giá và prompt caching
Gateway giữ bảng giá của hãng và tính tiền, nên việc đồng bộ sao chép giá công bố của nó lên dòng. Mô hình được tạo mà chưa có giá và không dùng được cho đến khi sao chép xong — đó là lúc nó trở nên phục vụ được. Mỗi mức giá trả cho cái gì, và vì sao một prompt được cache cần bốn mức giá, có ở Kiểm tra và theo dõi chi phí.
Điểm đánh dấu cache prompt được cấu hình trên mô hình được phục vụ. Agent nói chuyện với gateway qua một adapter chat kiểu OpenAI không chuyển tiếp chỉ dẫn cache, nên gateway tự chèn điểm đánh dấu vào system prompt và tin nhắn cuối, và các lần gọi sau dùng lại phần tiền tố khớp.
Một route chỉ có điểm đánh dấu khi danh mục có cả hai câu trả lời về nó:
- Khả năng
PROMPT_CACHE— nhà cung cấp cache prompt trên mô hình này. Bảng của portal đặt nó cho các mô hình Claude mà Bedrock liệt kê là đã phát hành chính thức cho caching tường minh; quản trị viên có thể bật hoặc xoá nó trên bất kỳ mô hình nào. Claude 3.5 Sonnet v2 bị loại vì Bedrock liệt kê nó ở dạng preview. Một mức giá cache được công bố không phải câu trả lời này: danh mục của LiteLLM có giá cache cho cả những route mà Bedrock từ chối chỉ dẫn cache. - Cả hai mức giá cache — dòng nhật ký từ chối định giá token cache khi không có giá, và một lần gọi không tính tiền được là lần gọi thất bại. Giá được sao từ gateway sau lần đẩy đầu tiên, nên mô hình mới vào danh mục bắt đầu không có điểm đánh dấu và có chúng ở lượt quét kế tiếp.
| Quy tắc | Chi tiết |
|---|---|
| Bật theo từng yêu cầu | Không có. Gateway loại bỏ mọi công tắc caching trong thân yêu cầu như một trường điều khiển không tin cậy, và chỉ đọc nó từ metadata của khóa |
| Tắt theo từng yêu cầu | Bên gọi không có gì để dùng lại sẽ gửi danh sách chèn rỗng, được gateway gộp đè lên danh sách của route |
| Điểm đánh dấu bị từ chối | Lần gọi bị Bedrock từ chối vì mang chỉ dẫn cache sẽ thất bại như mọi lần bị từ chối khác. Cách sửa là xoá PROMPT_CACHE trên mô hình đó; lượt quét kế tiếp gỡ điểm đánh dấu |
| Route cũ hoặc cấu hình riêng | Có thể vẫn bật điểm đánh dấu. Route đã triển khai cho biết có yêu cầu caching không; token đọc và ghi cache cho biết caching có thực sự xảy ra không |
| Xử lý tài liệu | Có thể yêu cầu caching trên từng khối nội dung, độc lập với cấu hình gateway của agent |
| Đọc trang | Từ chối điểm đánh dấu hoàn toàn. Mỗi lần gọi mang ảnh trang riêng trước phần chữ, nên không có tiền tố nào lặp lại, và chỉ dẫn dùng chung chỉ 124 token trong khi tiền tố nhỏ nhất nhà cung cấp cache được là 512. Qua 270 lần gọi trước khi tắt: 836.577 token được ghi vào cache, không token nào được đọc lại, với giá của lần ghi |
Truyền tham số tool theo luồng
Claude viết tham số của lần gọi tool dần dần, nhưng Bedrock giữ lại từng tham số cho đến khi giá trị hoàn chỉnh, trừ khi yêu cầu bật tính năng truyền tool chi tiết (fine-grained tool streaming) của Anthropic. Một tệp agent viết là một chuỗi dài, nên nếu không bật, bộ đếm tiến độ trong chat đứng ở vài ký tự đầu rồi nhảy thẳng tới cả tệp.
Khả năng TOOL_STREAMING cho biết mô hình chấp nhận cờ này. Bảng của portal đặt nó cho Claude 3.7 Sonnet và các dòng Claude 4 và 5; quản trị viên có thể bật hoặc xoá nó trên bất kỳ mô hình nào. Claude 3 Haiku từ chối cờ này, và Bedrock từ chối chính tham số đó với mọi mô hình không phải Claude.
| Quy tắc | Chi tiết |
|---|---|
| Đồng bộ | Đặt cờ truyền tool chi tiết trên route có TOOL_STREAMING, và bỏ tham số này ở mọi route khác |
| Bỏ cờ | Thay route thay vì cập nhật. Cập nhật sẽ gộp tham số và không gỡ được tham số nào, còn danh sách rỗng vẫn được gửi đi, điều mà mô hình không phải Claude sẽ từ chối |
| Tham số dở dang | Tham số dừng trước khi thành JSON hợp lệ, vì chạm giới hạn đầu ra, quay về mô hình dưới dạng một lần gọi thất bại |
Tự mang khóa (BYOK)
Nhà cung cấp ngoài Bedrock được gọi bằng khóa do chính chủ của nó cung cấp — một phòng ban hoặc một người. Mỗi người quản lý khóa của mình ở Settings › Model keys; quản trị viên ở Mô hình.
Mỗi thông tin xác thực mang theo các dòng danh mục riêng. Hai phòng ban cùng dán khóa Gemini sẽ có hai dòng, hai tên route và hai deployment trên gateway, mỗi cái mang khóa riêng. Nhờ vậy tên route công khai luôn duy nhất, và việc đồng bộ, lượt quét phục vụ, sao chép giá, dòng nhật ký và quy tắc chặn của phòng ban vẫn làm việc trên các dòng như mọi khi.
PENDING— khóa được dán và mô hình được tích chọn. Không route nào được phục vụ cho đến khi người cómodel_catalog.managequyết định.- Đã phê duyệt — các route được phục vụ, cho chủ khóa và không ai khác.
- Đã thay khóa — khóa được thay dưới cùng tham chiếu và dòng quay về
PENDING, vì khóa đã thay là khóa mới. - Đã rút — các route bị gỡ và các dòng danh mục được giữ lại, nên phê duyệt lần nữa sẽ khôi phục những gì thông tin xác thực đó từng có.
| Quy tắc | Chi tiết |
|---|---|
| Chủ sở hữu | Đúng một phòng ban hoặc một người — cũng là đối tượng duy nhất được dùng các dòng đó |
| Bản thân khóa | Được portal niêm phong và tham chiếu, không bao giờ lưu trên dòng và không bao giờ hiện lại trên màn hình |
| Đưa vào danh mục | Portal hỏi nhà cung cấp khóa vừa dán tới được những gì, và mô hình được tích chọn từ danh sách đó. Đó là phép thử thật duy nhất cho khóa: đọc lại một bí mật đã niêm phong không chứng minh được nhà cung cấp có chấp nhận nó hay không. Gemini và Anthropic công bố tên hiển thị và cả hai giới hạn token; OpenAI chỉ công bố định danh, nên mô hình của nó được đặt tên theo định danh và dùng giới hạn mặc định của danh mục |
| Loại | Luôn là văn bản. Mô hình embedding tài liệu là một phân công cho cả tổ chức, điều mà khóa của một phòng ban không thể trả lời thay mọi người |
| Giá | Sao từ gateway như mọi dòng khác, nên mô hình mà gateway không công bố giá sẽ không có giá và vì thế không dùng được |
Chi phí trên các dòng này nằm ngoài quỹ ngân sách của phòng ban — xem Ngân sách và chính sách.
Thông tin xác thực
Tổ chức giữ một thông tin xác thực cho mỗi mục đích: Bedrock, Firecrawl, Tavily và SharePoint. Mọi mô hình trong tài khoản đều được phục vụ bằng thông tin xác thực Bedrock, trừ khi dòng của nó chỉ định một khóa tự dán.
| Quy tắc | Chi tiết |
|---|---|
| Tham chiếu, không phải bí mật | Hoặc là một bí mật portal niêm phong, hoặc ARN đầy đủ của một secret trong Secrets Manager do tài khoản AWS sở hữu. Được phân giải đúng lúc gọi và không bao giờ hiện trên màn hình |
| Thay khóa | Thay tham chiếu tại chỗ |
| Vô hiệu hoá | Chặn mọi lần gọi phân giải qua nó; việc đồng bộ báo từng mô hình không còn cấp được |
| IAM role của host | Thông tin xác thực Bedrock có thể không chứa tham chiếu nào. Khi đó backend ký các lần đọc danh mục và kiểm tra kết nối bằng SigV4 từ chuỗi thông tin xác thực của chính nó, và cấp access key, secret và session token tạm thời của nó cho LiteLLM. Được cung cấp mặc định; bản triển khai có thể tắt |
| Đổi phương thức | Thay mọi deployment trên gateway mà tổ chức đang giữ. Cập nhật không gỡ được khóa đã lưu, nên mỗi deployment được đánh dấu phương thức đã dùng, và deployment nào có dấu khác sẽ bị thay. Deployment có từ trước khi có dấu được coi là đang mang khóa |
Với IAM role của host, AWS SDK cache và làm mới thông tin xác thực role của backend. Mỗi lượt quét so một phiên bản phiên mờ — một giá trị băm — và cập nhật route khi phiên thay đổi. Thông tin xác thực đã phân giải không xuất hiện trong báo cáo đồng bộ hay phản hồi API. Gateway giữ phiên tạm cho đến lần cập nhật kế tiếp, được tin cậy với phiên đó, và thừa hưởng quyền IAM của role backend trong suốt thời gian phiên còn hiệu lực.
Chỉ backend cần truy cập instance metadata. Gateway dùng phiên được cấp cho cả chat lẫn embedding, nên một host gateway riêng có thể giữ nguyên cấu hình metadata hiện có. Thông tin xác thực thiếu session token hoặc thời hạn hợp lệ sẽ bị từ chối. Xác thực Bedrock của LiteLLM hỗ trợ các tham số AWS này, và chuỗi thông tin xác thực của AWS SDK phân giải được EC2 instance profile.
Quyền của vai trò EC2
Role gắn với backend cần quyền đọc danh mục, đọc tính khả dụng và gọi mô hình. Chính sách sau giới hạn việc gọi trong các dòng Claude, Cohere embedding và Titan embedding. Thay <account-id> bằng tài khoản của bản triển khai và đề nghị chủ hạ tầng của tài khoản cấp quyền.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockCatalogRead",
"Effect": "Allow",
"Action": [
"bedrock:ListFoundationModels",
"bedrock:ListInferenceProfiles",
"bedrock:GetFoundationModelAvailability"
],
"Resource": "*"
},
{
"Sid": "BedrockModelInvoke",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:*::foundation-model/anthropic.claude-*",
"arn:aws:bedrock:*::foundation-model/cohere.embed-*",
"arn:aws:bedrock:*::foundation-model/amazon.titan-embed-*",
"arn:aws:bedrock:*:<account-id>:inference-profile/*"
]
}
]
}Ký tự đại diện cho region trên foundation mô hình cho phép inference profile theo vùng và toàn cầu gọi tới mô hình đích của chúng. Dòng mô hình khác cần thêm ARN foundation mô hình của nó vào quyền gọi. Guardrails cần thêm một câu lệnh cho Bedrock guardrail của tổ chức — xem Guardrails.
Bộ chọn mô hình
Cách quản trị viên thêm mô hình có ở Mô hình. Phía sau màn hình:
- Khi mở bộ chọn, console hỏi Bedrock tổ chức này thấy được gì, bằng thông tin xác thực của chính tổ chức ở region nó được tính phí. Không gì được lưu lại, nên mô hình AWS đã rút sẽ vắng mặt ở lần sau.
- Quản trị viên tích chọn bao nhiêu mô hình tuỳ ý. Mô hình vừa gọi trực tiếp được vừa qua inference profile là hai định danh và hai dòng; tên thứ hai được thêm hậu tố để tránh trùng.
- Một yêu cầu ghi mọi mô hình đã tích, mỗi cái đều để phục vụ. Nhà cung cấp được đọc một lần cho cả lô, tên được cấp dựa trên một lần đọc danh mục, và chỉ cần một mục nhà cung cấp không cung cấp là cả lô không được ghi. Định danh lấy từ bộ chọn chứ không từ biểu mẫu; khóa tự dán cho nhà cung cấp khác cũng được chọn theo cùng cách.
- Cửa sổ ngữ cảnh và trần đầu ra bắt đầu ở giá trị mặc định, và chỉ sửa ở số ít mô hình cần. Cửa sổ ngữ cảnh sai chỉ thu hẹp những gì được gửi, không bao giờ làm hỏng lần gọi.
Khả năng dùng tool được suy ra: Bedrock chỉ công bố mô hình có phục vụ API mà việc dùng tool chạy qua hay không, nên console đọc câu trả lời từ đó và cho quản trị viên ghi đè.
Vùng Bedrock và inference profile
Phần lớn mô hình hiện nay chỉ được phục vụ qua inference profile. Một profile trải trên nhiều region: profile theo vùng chuyển sang region lân cận, profile toàn cầu không gắn region nào.
Ai được dùng mô hình nào có ở Ngân sách và chính sách.
Bên dưới
Mã lỗi khi đồng bộ
| Mã | Nghĩa |
|---|---|
byok_credential_not_approved | Các route của khóa tự dán bị giữ lại cho đến khi được phê duyệt |
org_has_no_bedrock_credential | Thông tin xác thực Bedrock đã bị vô hiệu hoá, nên không cấp được mô hình |
Bí mật, thiết lập và tham số gateway
| Tên | Vai trò |
|---|---|
governance.managed_secrets | Nơi lưu bí mật đã niêm phong, tham chiếu dạng portal:<id> |
BEDROCK_INSTANCE_ROLE_ENABLED | Ghi đè mặc định cung cấp phương thức IAM role của host |
litellm_params.aws_session_name | Giữ phiên bản phiên mà mỗi lượt quét so sánh |
cachePrompt | Yêu cầu true cho route có PROMPT_CACHE và cả hai mức giá cache, false cho route khác |
enable_prompt_caching | Bị loại khỏi thân yêu cầu; chỉ đọc từ metadata của khóa |
anthropic_beta | Mang cờ truyền tool chi tiết trên các route TOOL_STREAMING |
Agent dùng adapter chat OpenAI của Strands SDK, vì vậy adapter của gateway tự chèn điểm đánh dấu cache.
Độ rộng và kiểu mã hoá embedding
Độ rộng và kiểu mã hoá được yêu cầu rõ ở mọi lần gọi embedding. Một client tự chọn có thể chọn nhị phân nén và giải mã thành byte trong khi gateway trả về số thường, khiến vector chỉ còn một phần tư độ rộng. Độ rộng sai bị từ chối ngay tại nơi tạo ra, và dữ liệu kiểm thử cho bước đó tái hiện đúng câu trả lời thật của gateway.
Mô hình của môi trường phát triển
Môi trường phát triển chạy một mô hình chat cũ hơn vì lời từ chối theo chính sách region nêu trên, và bộ seed ghi chú điều đó ngay nơi khai báo định danh.