Supporting Services
Chương này trình bày các dịch vụ và công cụ hỗ trợ quy trình làm việc với agent của bạn — lưu trữ container image (vCR), truy cập mô hình LLM (AIP), Python SDK, và các phương pháp bảo mật tốt nhất. Đây không phải là các module chính của AgentBase, nhưng bạn sẽ cần chúng để xây dựng và triển khai agent.
Container Registry (vCR)
Portal: https://vcr.console.greennode.ai
API Base URL:
https://vcr.api.vngcloud.vnRegistry Host:
vcr.vngcloud.vn
Lưu ý: Phân trang của vCR bắt đầu từ 1 (
page=1là trang đầu tiên). Đường dẫn image sử dụngbackendNamecủa repository (không phải tên hiển thị):vcr.vngcloud.vn/{backendName}/{imageName}:{tag}
Tạo Repository
Portal (GUI)
Mở https://vcr.console.greennode.ai → "Create Repository"
Điền thông tin:
Repository Name: ví dụ,
my-first-agent(duy nhất, chữ thường, chữ cái, số và dấu gạch ngang)Access: Private (khuyến nghị)
Quota Limit: ví dụ,
10GB
Nhấn Create
Ghi lại backendName từ trang chi tiết repository — sử dụng tên này trong đường dẫn image
RESTful API
�Điều kiện cần: Tất cả các ví dụ API dưới đây sử dụng
$TOKEN— một IAM bearer token. Xem Cấu hình Xác thực để biết cách lấy token.
Phản hồi bao gồm backendName — sử dụng tên này trong đường dẫn Docker image.
Tạo Robot Account
Robot account là các tài khoản dịch vụ dùng để push/pull Docker.
Portal (GUI)
Trên trang chi tiết repository → "Robot Accounts" → "Create Robot Account"
Điền thông tin: Name, Duration (ngày), Permissions (push + pull)
Nhấn Create
Sao chép Secret Key ngay lập tức — chỉ hiển thị một lần
Tên đầy đủ (
backendName) có định dạng:{prefix}-{chosen-name}(ví dụ,109072-deploy-bot)
RESTful API
Phản hồi bao gồm secretKey — lưu lại ngay lập tức, không thể truy xuất lại.
Push & Pull Image
Sử dụng trong Runtime (tạo runtime):
Quản Lý Image
Liệt kê image:
Xóa image:
Xóa repository:
Quan trọng: Bạn PHẢI xóa tất cả image trước khi xóa repository.
Các Lỗi API Đã Biết
name= là bắt buộc khi liệt kê image
Luôn thêm ?name= kể cả khi để trống
Phân trang bắt đầu từ 1
Dùng page=1 — page=0 trả về 400
Xóa repo thất bại nếu còn image
Xóa tất cả image trước, sau đó xóa repo
Xử Lý Sự Cố
Docker push bị từ chối
Robot account thiếu quyền push
Tạo lại với quyền push+pull rõ ràng
Docker login thất bại
Sai định dạng username
Dùng backendName đầy đủ (ví dụ, 109072-deploy-bot)
Xóa repo thất bại
Vẫn còn image
Xóa tất cả image trước
400 khi liệt kê image
Thiếu tham số name=
Luôn thêm ?name= kể cả khi để trống
AI Platform (AIP) — Truy cập LLM
Portal: https://aiplatform.console.greennode.ai/models
Management API:
https://aiplatform-hcm.api.vngcloud.vnLLM Endpoint:
https://maas-llm-aiplatform-hcm.api.vngcloud.vn/v1(tương thích OpenAI)
Lưu ý: AIP sử dụng phân trang bắt đầu từ 1 (
page=1). Tên API key phải tuân theo mẫu^[a-z0-9\-]{5,50}$.
Duyệt Mô Hình
Portal (GUI)
Mở https://aiplatform.console.greennode.ai/models
Duyệt các mô hình có sẵn — nhấn vào một mô hình để xem
path(dùng làm tham sốmodeltrong các lệnh gọi API)
RESTful API
Quan trọng: Sử dụng trường
path(không phảicode) làm tham sốmodelkhi gọi LLM endpoint.
Tạo API Key
Lưu ý: Việc tạo API key là bất đồng bộ — hãy kiểm tra định kỳ cho đến khi trạng thái là
ACTIVE.
Portal (GUI)
Mở https://aiplatform.console.greennode.ai/models → "API Keys" → "Create API Key"
Nhập Name (5–50 ký tự chữ thường/số/gạch ngang) → Create
Đợi trạng thái
ACTIVE→ sao chép giá trị key
RESTful API
Gọi Mô Hình LLM
Python (OpenAI SDK):
curl:
Xử Lý Sự Cố
401 khi gọi LLM
AIP key không hợp lệ hoặc hết hạn
Kiểm tra trạng thái key, tạo key mới nếu cần
Không tìm thấy mô hình
Sai tham số model
Dùng trường path từ chi tiết mô hình, không phải code
Hết quota API key
Quá nhiều key
Xóa key không dùng, sau đó tạo key mới
SDK & Tích hợp
Cài Đặt
Thiết Lập Xác Thực
SDK đọc thông tin xác thực theo thứ tự ưu tiên sau:
Biến môi trường (ưu tiên cao nhất):
.greennode.jsontrong thư mục làm việc hiện tại (dự phòng):
Trên AgentBase Runtime: GREENNODE_CLIENT_ID, GREENNODE_CLIENT_SECRET, và GREENNODE_AGENT_IDENTITY được tự động inject bởi runtime.
Xây Dựng Agent với GreenNodeAgentBaseApp
GreenNodeAgentBaseAppGreenNodeAgentBaseApp là web server tích hợp sẵn của SDK. Nó xử lý việc bind cổng, định tuyến health check, và phân phối request.
Các trường của RequestContext:
context.user_id
X-GreenNode-AgentBase-User-Id
Định danh người dùng cuối (cho actor_id của Memory)
context.session_id
X-GreenNode-AgentBase-Session-Id
Định danh phiên (cho thread_id của LangGraph)
Decorator Inject Credential
Identity Client (IdentityClient)
IdentityClient)Memory Client (MemoryClient)
MemoryClient)Tích Hợp LangGraph (AgentBaseMemoryEvents)
AgentBaseMemoryEvents)Để xem mẫu hoàn chỉnh (short-term + long-term memory trong một agent), xem Memory mục 6.10.
Các Phương Pháp Bảo Mật Tốt Nhất
Quyền IAM
Tất cả thao tác AgentBase đều yêu cầu một tài khoản dịch vụ GreenNode IAM. Xem Bắt đầu để biết các bước thiết lập.
Các chính sách khuyến nghị:
AgentBaseFullAccess
Toàn quyền truy cập dịch vụ Identity, Runtime, và Memory
Nhà phát triển, đội nền tảng
vcrFullAccess
Toàn quyền truy cập Container Registry
Pipeline build, nhà phát triển
AiPlatformFullAccess
Truy cập mô hình LLM và API key trên AI Platform
Nhà phát triển, agent
Nguyên tắc đặc quyền tối thiểu:
Sử dụng tài khoản dịch vụ thay vì tài khoản cá nhân — không bao giờ dùng API key cá nhân trong CI/CD
Tách riêng tài khoản dịch vụ cho mỗi môi trường (dev/prod)
Xoay vòng key định kỳ
Không bao giờ chia sẻ thông tin xác thực của tài khoản dịch vụ
Credential được tự động inject trên Runtime (không cần thiết lập thủ công):
GREENNODE_CLIENT_ID
Client ID tài khoản dịch vụ IAM
GREENNODE_CLIENT_SECRET
Client secret tài khoản dịch vụ IAM
GREENNODE_AGENT_IDENTITY
Tên agent identity
Quản Lý Credential
Vòng đời secret:
Bảo Mật Máy Trạm Phát Triển
Quy tắc gitignore cho các dự án AgentBase:
Hướng dẫn lưu trữ credential:
IAM client_id/client_secret
Biến môi trường hoặc .greennode.json
Dockerfile, mã nguồn, git
LLM API key (AIP)
.env (dev cục bộ) hoặc Access Control (production)
Dockerfile, mã nguồn, git
Mật khẩu robot account vCR
Biến môi trường GREENNODE_VCR_PASSWORD (CI)
Mã nguồn, git
API key bên ngoài (OpenAI, v.v.)
AgentBase Access Control dưới dạng auth provider
Bất kỳ đâu trong code hoặc config
Pre-commit hook để ngăn commit chứa secret:
Xoay Vòng Credential
Xoay vòng static API key (có hiệu lực từ request tiếp theo):
Đặt lại credential tài khoản dịch vụ IAM:
Truy cập https://iam.console.greennode.ai/service-accounts
Nhấn vào tài khoản dịch vụ → tab "Security credentials" → "Reset"
Sao chép client secret mới (chỉ hiển thị một lần)
Cập nhật
GREENNODE_CLIENT_SECRETtrong môi trường của bạn
Đặt lại tài khoản dịch vụ runtime (nếu credential runtime bị lộ):
Lưu ý: Thao tác này tạo lại credential cho runtime — container sẽ khởi động lại với credential mới.
Last updated

