Bỏ qua đến nội dung
AI Portal Docs
Trên trang này Toàn cảnh hệ thống 1/8

Mỗi khách hàng có bản triển khai riêng, dựng từ cùng một mã nguồn và cùng bộ mẫu hạ tầng, chạy ngay trong tài khoản AWS của chính họ. Một bản triển khai phục vụ một tổ chứcTổ chứcOrganisationKhông gian của công ty bạn trong portal. Mỗi bản triển khai chạy một tổ chức, trong chính tài khoản AWS của bạn.Mở trong Thuật ngữ, không dùng chung gì với khách hàng khác, và mọi lần gọi mô hình đều đi qua một gateway duy nhất.

Quy tắc chính

  1. CloudFront là lối vào công khai duy nhất. Mọi thứ khác nằm phía sau nó.
  2. Mọi lần gọi mô hình đều đi qua LiteLLM. Không gì gọi thẳng Bedrock.
  3. Danh tính và chính sách đi cùng mỗi yêu cầu, và agent không thể nới rộng chúng.
  4. Một host agent chạy mọi agent. Tạo agent không triển khai thêm gì.
  5. Quản trị viên chỉ làm việc trong portal. Console của LiteLLM và Keycloak dành cho ECV break-glass.

Toàn cảnh hệ thống

Một bản triển khai, trong tài khoản AWS của bạn Di chuột vào một ô để xem chi tiết
Bên ngoài Dịch vụ AWS
Trình duyệt của mọi người
/api câu trả lời truyền về

Di chuột hoặc chọn một ô để xem vai trò của nó.

Đường yêu cầu Lệnh gọi hỗ trợ Tuỳ chọn Rời tài khoản của bạn

Trình duyệt vào portal qua CloudFront. Web app tĩnh được lấy từ một bucket riêng tư; yêu cầu dưới /api đi tới API của portal, còn yêu cầu dưới /idp đi tới Keycloak. Từ API của portal, một tin nhắn chat đi tới môi trường chạy agent, nơi gọi mô hình qua 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ữ, và LiteLLM gọi 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ữ.

Các dịch vụ hỗ trợ nằm dọc theo đường đi đó:

Thành phầnLàm gì
LiteLLMĐồng thời là MCP gateway cho ứng dụng (ứng dụng kết nối)
RedisPhiên của API portal, bộ đệm luồng chat, cache
Secrets Manager và KMSThông tin xác thực và mã hoá
CloudWatch và S3Số liệu và cảnh báo
S3Tệp, kể cả bucket riêng tư chứa web app

Hạ tầng được mô tả trong kho Terragrunt riêng của tài khoản khách hàng và do chủ tài khoản đó áp dụng; kho mã của portal không tự cấp phát gì. Một khách hàng mới là một bản triển khai đáp ứng yêu cầu triển khai, cộng với cấu hình khởi tạo — nhà cung cấp danh tính, thương hiệu, danh mục mô hình và ngân sách — không cần sửa mã.

Các lớp

#LớpLàm gìXây bằng
1Web appChat, workspace và Admin consoleReact, Vite, TypeScript
2API của portalKiểm tra quyền, dữ liệu, lớp quản trị, chuyển sự kiện tới trình duyệtNestJS, theo mô hình backend-for-frontend (BFF)
3AgentVòng lặp suy luận, điều phối tool, bộ nhớStrands Agents TypeScript SDK, trong môi trường chạy agent trên host không trạng thái dùng chung
4Gateway mô hìnhĐịnh tuyến, virtual key, hạn mức, phân bổ chi phíLiteLLM đứng trước Bedrock
5Gateway toolKhám phá ứng dụng, ranh giới xác thực, chính sách gọiLiteLLM làm MCP gateway, sau một adapter của portal
6Bộ nhớ và tri thứcNạp dữ liệu, tìm kiếm kết hợp trên bộ nhớ và tri thức, trích dẫnpgvector trong Postgres của portal, tạo embedding qua LiteLLM
7Danh tínhĐăng nhập một lần, cấp tài khoản qua SCIM, claim tổ chứcKeycloak làm trung gian cho Entra ID; portal là máy chủ SCIM
8Quản trịQuyền dùng mô hình, ngân sách, kiểm traChính sách LiteLLM, nhật ký kiểm tra nằm trong Postgres của portal
9Hạ tầngTính toán, mạng, mã hoá, sao lưuCloudFront, một host không trạng thái, một host dữ liệu, S3, kho bí mật của tài khoản

Quản trị viên phía khách hàng chỉ dùng portal. Portal thay họ gọi API quản trị của LiteLLM và Keycloak; console của hai dịch vụ này được giữ cho ECV break-glass.

Đường đi của một tin nhắn

  1. Đăng nhập

    Keycloak đăng nhập cho người dùng, làm trung gian cho đăng nhập một lần và MFA qua Entra ID của bạn. API của portal hoàn tất bước trao đổi mã OIDC.

  2. Giữ phiên

    API của portal giữ token; trình duyệt chỉ giữ cookie phiên. Token mang tài khoản và các realm role của nó.

  3. Kiểm tra ai và được gì

    API của portal đọc chỗ ngồi của người đó trong cơ sở dữ liệu portal — phòng ban, nhóm, vai trò tùy chỉnh và quyền hạn — đọc mới ở mỗi yêu cầu.

  4. Chạy agent

    API của portal gọi môi trường chạy agent với cấu hình của agent, cùng danh tính và chính sách đã xác định của người dùng. Khi agent gọi ngược lại để lấy bộ nhớ, tri thức, web hay artifact, mỗi lần gọi ngược mang một bí mật dùng chung.

  5. Gọi mô hình

    Mỗi lần gọi mô hình đi tới LiteLLM bằng virtual keyKhoá ảoVirtual keyKhoá cổng cấp cho từng phòng ban, để mỗi lệnh gọi mô hình được giới hạn và tính phí đúng phòng ban. Người dùng không bao giờ phải dùng tới khoá này.Mở trong Thuật ngữ của phòng ban, rồi tới Bedrock. Một lượt có thể gọi nhiều lần.

  6. Truyền ngược về

    Tiến trình và câu trả lời được truyền về qua API của portal dưới dạng server-sent events, phát lại từ bộ đệm Redis Streams để trang được tải lại tiếp tục đúng chỗ đã dừng. Xem Vòng đời của một lượt.

  7. Ghi nhận

    Mỗi lần gọi mô hình để lại một dòng nhật ký kiểm tra, với chi phí tính cho phòng ban.

Bất biến

Bất biếnTác dụng
Mọi lần gọi mô hình đều đi qua LiteLLM; không lần nào tới thẳng BedrockHạn mức, phân bổ chi phí và quyền dùng mô hình được áp dụng ở một nơi
Danh tính đã xác minh và chính sách đã xác định của người dùng được truyền vào agent, và agent không thể nới rộng chúngThành viên phòng ban là dữ liệu người dùng trực tiếp trong cơ sở dữ liệu portal, được đọc ở mỗi yêu cầu, nên việc chuyển phòng ban có hiệu lực ngay ở yêu cầu kế tiếp

Những gì đi ra khỏi tài khoản của bạn

Phần lớn lưu lượng ở lại trong tài khoản AWS của bạn. Đây là các ngoại lệ:

Lưu lượngKhi nào
Đăng nhậpKeycloak trao đổi với tenant Entra ID của bạn
Đồng bộ SharePointPortal đọc các thư mục SharePoint bạn kết nối vào kho tri thức, qua Microsoft Graph
Ứng dụng kết nốiMột ứng dụng chạy bên ngoài tài khoản của bạn nhận các lần gọi mà người dùng cho phép
Tìm kiếm và nghiên cứu webChỉ khi tổ chức của bạn bật các tool này
Khóa nhà cung cấp tự dánChỉ khi một phòng ban hay một người thêm khóa cho nhà cung cấp ngoài Bedrock

Vì sao hoạt động như vậy

Vì sao mỗi khách hàng một bản triển khai?

Dữ liệu, khóa và nhật ký kiểm tra của bạn nằm trong một tài khoản bạn kiểm soát, theo chính sách AWS của chính bạn. Mọi bản triển khai đều cùng mã nguồn và cùng bộ mẫu hạ tầng, nên khách hàng mới chỉ là cấu hình — nhà cung cấp danh tính, thương hiệu, mô hình, ngân sách — không phải sửa mã.

Vì sao mọi lần gọi mô hình phải qua LiteLLM?

Đó là nơi duy nhất áp dụng ngân sách, giới hạn tốc độ, quyền dùng mô hình và phân bổ chi phí. Mỗi lần gọi mang khóa của phòng ban, nên không gì — kể cả ứng dụng hay agent — tới được Bedrock mà không bị đếm và giới hạn.

Vì sao một host agent dùng chung thay vì mỗi agent một host?

Agent là cấu hình — chỉ dẫn, tool, tri thức và một mô hình — lưu trong portal và được nạp mỗi lần chạy. Một host nghĩa là tạo hay sửa agent không bao giờ phải triển khai gì, và mọi agent nhận cùng các kiểm tra bảo mật và bản cập nhật cùng lúc.

Bên dưới

Môi trường phát triển cục bộ

Môi trường phát triển cục bộ chạy Postgres, Redis, RustFS (thay cho S3), Keycloak và LiteLLM bằng Docker Compose.

Liên quan

AI Portal Docs
EN VI