For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.vn

  • Registry Host: vcr.vngcloud.vn

Lưu ý: Phân trang của vCR bắt đầu từ 1 (page=1 là trang đầu tiên). Đường dẫn image sử dụng backendName của repository (không phải tên hiển thị): vcr.vngcloud.vn/{backendName}/{imageName}:{tag}


Tạo Repository

Portal (GUI)

  1. Mở https://vcr.console.greennode.ai → "Create Repository"

  2. Đ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ụ, 10 GB

  3. Nhấn Create

  4. 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)

  1. Trên trang chi tiết repository → "Robot Accounts""Create Robot Account"

  2. Điền thông tin: Name, Duration (ngày), Permissions (push + pull)

  3. Nhấn Create

  4. Sao chép Secret Key ngay lập tức — chỉ hiển thị một lần

  5. 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

Vấn đề
Cách khắc phục

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=1page=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ố

Lỗi
Nguyên nhân
Cách sửa

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.vn

  • LLM 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)

  1. Mở https://aiplatform.console.greennode.ai/models

  2. 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ố model trong các lệnh gọi API)

RESTful API

Quan trọng: Sử dụng trường path (không phải code) làm tham số model khi 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)

  1. Mở https://aiplatform.console.greennode.ai/models → "API Keys""Create API Key"

  2. Nhập Name (5–50 ký tự chữ thường/số/gạch ngang) → Create

  3. Đợ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ố

Lỗi
Nguyên nhân
Cách sửa

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:

  1. Biến môi trường (ưu tiên cao nhất):

  1. .greennode.json trong 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

GreenNodeAgentBaseApp 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:

Trường
Tương ứng với Header
Mô tả

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)


Memory Client (MemoryClient)


Tích Hợp LangGraph (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ị:

Chính sách
Mô tả
Người dùng thường gặp

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):

Biến
Mô tả

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:

Loại Credential
Nơi lưu trữ
KHÔNG lưu ở đây

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:

  1. Truy cập https://iam.console.greennode.ai/service-accounts

  2. Nhấn vào tài khoản dịch vụ → tab "Security credentials""Reset"

  3. Sao chép client secret mới (chỉ hiển thị một lần)

  4. Cập nhật GREENNODE_CLIENT_SECRET trong 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