Nhân vật quả địa cầu Eco², được tinh chỉnh cho portfolio này từ nhân vật chính chính thức mới nhất: quả địa cầu xanh da trời với lục địa xanh lá, mầm cây trên đỉnh và khuôn mặt cười màu nâu
Trở lại phòng trưng bày

Eco²

Backend · Cloud infrastructure

Hướng dẫn phân loại rác từ một bức ảnh và một cuộc trò chuyện.

Trợ lý AI tất cả trong một, hiểu cách phân loại rác tái chế ở Hàn Quốc.

2025.10.31 — 2026.02.10

Dự án nhóm · nền tảng hạ tầng và triển khai → backend miền → xử lý bất đồng bộ, tác nhân hội thoại, kiểm chứng

2025 새싹 해커톤 (Saessak Hackathon)Giải Xuất sắc · 2025.12.02

  • Ứng dụng webDịch vụ đã đóng

Eco² vocabulary

Lens
Service Path
Request Path
Async Work
Operations
Infrastructure
Measurement
  1. edge
  2. auth offload
  3. domain api
  1. task queue
  2. scan pipeline
  3. chat agent
  4. event bus
  1. cluster
  2. gitops
  3. autoscaling
  1. observability
  2. load test
  3. evaluation

Edge: ROUTE 53 · ALB · HTTPS 443 · internet-facing · external-dns · istio-ingressgateway · NodePort · eco2-gateway · VirtualService · x-canary · AuthorizationPolicy · ENVOY SIDECAR · kiali-serverAuth Offload: AuthorizationPolicy · action: CUSTOM · notPaths · envoyExtAuthzGrpc · failOpen: false · CheckRequest · x-user-id · BlacklistCache · BootstrapFromRedis · outbox:blacklist · blacklist.events · UsersServiceDomain API: VirtualService · x-user-id · /api/v1/scan · X-Idempotency-Key · job_id · stream_url · 202 ACCEPTED · Retry-After · ScanTask · UsersService · ImageService · ENVOY SIDECARTask Queue: outbox:blacklist · blacklist.events · RabbitmqCluster · scan.direct · reward.events · dlx · x-dead-letter-exchange · chat.process · AioPikaBroker · task_acks_late · apply_async · gevent · scan.vision · scan.rule · scan.answer · scan.reward · CELERY CHAIN · QueueLength · inspect ping · QUEUE SATURATIONScan Pipeline: ScanTask · scan.direct · reward.events · apply_async · gevent · scan.vision · scan.rule · scan.answer · scan.reward · CELERY CHAIN · RewardStep · item_class_list.yaml · situation_tags.yaml · LITE RAG · JsonRegulationRetriever · PipelineStage · waste_rag · XADD · domain: worker-ai · pipeline_duration · vision_stage_durationChat Agent: ImageService · chat.process · AioPikaBroker · create_chat_graph · route_by_intent · MULTI-INTENT FANOUT · waste_rag · recyclable_price · collection_point · image_generation · aggregator · thread_id · SyncableRedisSaver · AsyncPostgresSaver · LANGSMITH_TRACING · regenerateEvent Bus: job_id · stream_url · PipelineStage · XADD · scan:events:{shard} · XREADGROUP · XACK · XAUTOCLAIM · PendingReclaimer · STATE KV · scan:state:{job_id} · sse:events:{shard} · SSEBroadcastManager · Last-Event-ID · scan_sse_connections_active · ServiceMonitor · traceparentCluster: NodePort · kubeadm init · kubeadm join · vxlanMode · BGPConfiguration · module "vpc" · worker_ai · nodeSelector · domain: worker-ai · NoSchedule · 24-NODE CLUSTERGitOps: external-dns · x-canary · dev-root · ApplicationSet · sync-wave · selfHeal · ignoreDifferences · argocd-image-updater · update-strategy: digest · write-back-method · targetRevision · ci-services.ymlAutoscaling: ignoreDifferences · ScaledObject · QueueLength · cooldownPeriod · pollingInterval · fallback · maxReplicaCount · stabilizationWindowSeconds · HorizontalPodAutoscaler · scan_sse_connections_active · prometheus-adapterObservability: 24-NODE CLUSTER · prometheus-adapter · FLUENT BIT · Elasticsearch · Kibana · kube-prometheus-stack · AlertmanagerConfig · ServiceMonitor · JAEGER · OPENTELEMETRY · traceparent · kiali-server · LANGSMITH_TRACINGLoad Test: k6 · ramping-vus · thresholds · pipeline_duration · vision_stage_duration · poll_timeout · inspect ping · WORKER RESTART · POLLING TIMEOUT · QUEUE SATURATIONEvaluation: EvalConfig · eval_mode · eval_sample_rate · eval_cost_budget_daily_usd · EvalResult · EvalGrade · code_grader · llm_grader · CUSUM · regenerate · OpenAIBARSEvaluator

24 node thực sự kết nối với nhau ra sao, từng luồng một.

Kubernetes tự quản lý, dựng bằng kubeadm. Bản đồ đặt 24 node vật lý và các workload trên chúng vào năm lớp của README, rồi nối chúng bằng các kết nối thực tế. Chọn một luồng thì chỉ đường đi đó được làm nổi bật, với các bước đánh số.

Nó nhận diện rác thải từ ảnh và giải thích cách bỏ, và trong hội thoại thì gọi các công cụ về địa điểm, thời tiết, giá thu mua đồ tái chế và tìm kiếm web, đồng thời tạo hình ảnh. Trong dự án nhóm này, tôi bắt đầu từ nền tảng cụm và triển khai rồi mở rộng phạm vi sang backend miền, xử lý bất đồng bộ, tác nhân hội thoại và kiểm chứng.

Từ phát triển trong cuộc thi đến củng cố backend và vận hành

Dịch vụ đã kết thúc vận hành; video demo đã ghi và báo cáo kỹ thuật cho thấy nó hoạt động.

Bản đồ kết nối cụm · vẽ lại từ manifest và mã tại commit a072127
Bản đồ kết nối cụm Eco² · 24 nodeBản đồ 24 node vật lý bên trong năm dải lớp của README. Trình duyệt chỉ tra tên trong Route 53; sau khi TLS kết thúc tại ALB trên cổng 443, Istio ingress Envoy trên NodePort gửi yêu cầu đến một API miền. Scan API đưa công việc vào hàng đợi RabbitMQ và trả về job_id ngay; scan-worker trong pool AI XADD các sự kiện tiến độ vào Redis Streams. Event Router đọc chúng, cập nhật State KV và phát lên Pub/Sub, rồi SSE Gateway gửi chúng đến trình duyệt. checkpoint-syncer lưu checkpoint của Chat, còn persistence consumer trên node Chat lưu tin nhắn vào PostgreSQL. Platform Layer không phải đường đi của yêu cầu; nó cấu hình, mở rộng và quan sát.Trình duyệtHTTPS · SSEAWS ALB443 · TLS kết thúc tại đâyRoute 53DNSGitHub Actions · Docker Hubimage · revision của manifestLLM APIOpenAI · GoogleLangSmithTruy vết lượt chạy LLMFluent BitDaemonSet · mọi nodek8s-masterALB Controller · ExternalDNSArgo CD image updaterIstiodcontrol planek8s-ingress-gatewayIstio ingress Envoyk8s-api-scanScan APIk8s-api-chatChat APImessage consumerpersistence consumerk8s-api-authauth APIext-authzk8s-api-infoInfo APIinfo-workerk8s-api-charactercharacter APIk8s-api-imageimages APIk8s-api-usersusers APIk8s-api-locationlocation APIk8s-sse-gatewaySSE Gatewayk8s-event-routerEvent Routerk8s-rabbitmqRabbitMQk8s-worker-aik8s-worker-ai-2k8s-worker-storagek8s-worker-storage-2k8s-redis-pubsubPub/Subk8s-redis-streamsStreamsState KVk8s-redis-cacheCachek8s-postgresqlPostgreSQLk8s-redis-authblacklistk8s-monitoringKEDAPrometheusGrafanaAlertmanagerk8s-loggingElasticsearchKibanascan-workerchat-workercheckpoint-syncerauth-relayauth-workerusers-workercharacter-workercharacter-match-workerKialiJaeger · dev in-memoryCụm Kubernetes24 node · kubeadmEdge Layer1 nodeService Layer8 node · Envoy sidecarIntegration Layer7 nodePersistence Layer5 nodePlatform Layer3 node · cấu hình · mở rộng · quan sátAWS quản lýPool AIdomain: worker-aiPool storagedomain: worker-storageKhông gắn node1Tra cứu DNS2 HTTPS 443 · Trình duyệt → AWS ALB23HTTP · NodePort4VirtualService5Tác vụ Celery6 consume · RabbitMQ → scan-worker67 HTTPS · Pool AI → LLM API78XADD scan:events9XREADGROUP10SETEX state11PUBLISH12SUBSCRIBE13Luồng SSE14Khôi phục khi kết nối lại1 HTTPS 443 · Trình duyệt → AWS ALB12HTTP · NodePort3VirtualService4Tác vụ Taskiq5 consume · RabbitMQ → chat-worker56 HTTPS · Pool AI → LLM API67XADD chat:events8XREADGROUP9PUBLISH10SUBSCRIBE11Luồng SSE12checkpoint13đọc checkpoint14đồng bộ sang PostgreSQL15chat-persistence group16lưu tin nhắn1Tra cứu DNS2 HTTPS 443 · Trình duyệt → AWS ALB23HTTP · NodePort4ext-authz · gRPC 500515tra blacklist6VirtualService7gRPC8gRPC1outbox:blacklist2blacklist.events3 blacklist.events · RabbitMQ → auth-worker34lưu blacklist5 Celery batch · RabbitMQ → users-worker56UPSERT1image · revision của manifest2Ingress → ALB · bản ghi DNS3cấu hình xDS4số pod5 số pod · KEDA → Pool storage56log7 Truy vết lượt chạy LLM · Pool AI → LangSmith7

Yêu cầu Scan → gửi trực tiếp

Một yêu cầu phân tích ảnh trở thành công việc trong hàng đợi, và các sự kiện tiến độ của nó quay về cùng trình duyệt.

  1. Trình duyệttra cứu DNS: Tra cứu DNSRoute 53

    Chỉ tên được phân giải từ bản ghi Route 53. Yêu cầu không đi qua DNS.

  2. Trình duyệtluồng dữ liệu: HTTPS 443AWS ALB

    TLS kết thúc tại ALB.

  3. AWS ALBluồng dữ liệu: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Được chuyển đến Istio ingress Envoy qua NodePort của EC2 instance target.

  4. Istio ingress Envoyk8s-ingress-gatewayluồng dữ liệu: VirtualServiceScan APIk8s-api-scan

    Được định tuyến đến Scan API, nơi đưa công việc vào hàng đợi và trả về job_id ngay; truy vấn kết quả nhận 202 cho đến khi công việc xong.

  5. Scan APIk8s-api-scanluồng dữ liệu: Tác vụ CeleryRabbitMQk8s-rabbitmq

    Tác vụ Scan được đưa vào RabbitMQ.

  6. RabbitMQk8s-rabbitmqluồng dữ liệu: consumescan-workerk8s-worker-ai · k8s-worker-ai-2

    scan-worker (Celery · gevent) trong pool AI nhận và chạy Vision → Rule → Answer → Reward. Bốn giai đoạn này là các Celery task nối thành chuỗi, không phải node.

  7. Pool AIk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: HTTPSLLM API

    Worker scan và chat gọi API của OpenAI và Google.

  8. scan-workerk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: XADD scan:eventsStreamsk8s-redis-streams

    Sự kiện tiến độ được ghi vào một trong bốn shard của Streams.

  9. Streamsk8s-redis-streamsluồng dữ liệu: XREADGROUPEvent Routerk8s-event-router

    Event Router đọc chúng theo consumer group và XACK sau khi xử lý; pending và reclaim giữ việc gửi ở mức at-least-once.

  10. Event Routerk8s-event-routerluồng dữ liệu: SETEX stateState KVk8s-redis-streams

    Nó ghi trạng thái mới nhất và một dấu chống xử lý trùng vào State KV trên cùng node Redis.

  11. Event Routerk8s-event-routerluồng dữ liệu: PUBLISHPub/Subk8s-redis-pubsub

    Được gửi theo thời gian thực trên kênh của công việc trong shard Pub/Sub.

  12. Pub/Subk8s-redis-pubsubluồng dữ liệu: SUBSCRIBESSE Gatewayk8s-sse-gateway

    SSE Gateway đăng ký qua một listener dùng chung cho mỗi tiến trình và phân phát đến từng trình duyệt đang kết nối.

  13. SSE Gatewayk8s-sse-gatewayluồng dữ liệu: Luồng SSETrình duyệt

    Một kết nối được mở qua cùng đường ALB và ingress. Việc gửi là at-least-once; các bản trùng được xử lý idempotent.

  14. State KVk8s-redis-streamsluồng dữ liệu: Khôi phục khi kết nối lạiSSE Gatewayk8s-sse-gateway

    Khi kết nối lại với Last-Event-ID, State KV và Streams được lưu giữ sẽ bù các sự kiện bị lỡ.

Chat · token và lưu trữ

Token của Chat đi cùng đường sự kiện với Scan; checkpoint và tin nhắn được lưu bởi hai workload khác nhau.

  1. Trình duyệtluồng dữ liệu: HTTPS 443AWS ALB

    TLS kết thúc tại ALB.

  2. AWS ALBluồng dữ liệu: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Được chuyển đến Istio ingress Envoy qua NodePort của EC2 instance target.

  3. Istio ingress Envoyk8s-ingress-gatewayluồng dữ liệu: VirtualServiceChat APIk8s-api-chat

    Được định tuyến đến Chat API.

  4. Chat APIk8s-api-chatluồng dữ liệu: Tác vụ TaskiqRabbitMQk8s-rabbitmq

    Tác vụ Chat được đưa vào RabbitMQ.

  5. RabbitMQk8s-rabbitmqluồng dữ liệu: consumechat-workerk8s-worker-ai · k8s-worker-ai-2

    chat-worker (Taskiq · asyncio) phân loại ý định bằng LangGraph, rồi chạy vision nếu cần, các công cụ được chọn, aggregator và bản tóm tắt nếu cần, rồi trả lời. Mỗi yêu cầu chỉ chạy các nhánh nó cần.

  6. Pool AIk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: HTTPSLLM API

    Worker scan và chat gọi API của OpenAI và Google.

  7. chat-workerk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: XADD chat:eventsStreamsk8s-redis-streams

    Token và sự kiện giai đoạn được ghi vào bốn shard của Streams; từ đó đường gửi giống như của Scan.

  8. Streamsk8s-redis-streamsluồng dữ liệu: XREADGROUPEvent Routerk8s-event-router

    Event Router đọc chúng theo consumer group và XACK sau khi xử lý; pending và reclaim giữ việc gửi ở mức at-least-once.

  9. Event Routerk8s-event-routerluồng dữ liệu: PUBLISHPub/Subk8s-redis-pubsub

    Được gửi theo thời gian thực trên kênh của công việc trong shard Pub/Sub.

  10. Pub/Subk8s-redis-pubsubluồng dữ liệu: SUBSCRIBESSE Gatewayk8s-sse-gateway

    SSE Gateway đăng ký qua một listener dùng chung cho mỗi tiến trình và phân phát đến từng trình duyệt đang kết nối.

  11. SSE Gatewayk8s-sse-gatewayluồng dữ liệu: Luồng SSETrình duyệt

    Một kết nối được mở qua cùng đường ALB và ingress. Việc gửi là at-least-once; các bản trùng được xử lý idempotent.

  12. chat-workerk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: checkpointCachek8s-redis-cache

    Checkpoint của LangGraph được giữ trong Redis Cache.

  13. Cachek8s-redis-cacheluồng dữ liệu: đọc checkpointcheckpoint-syncerk8s-worker-ai · k8s-worker-ai-2

    checkpoint-syncer đọc checkpoint từ Redis.

  14. checkpoint-syncerk8s-worker-ai · k8s-worker-ai-2luồng dữ liệu: đồng bộ sang PostgreSQLPostgreSQLk8s-postgresql

    AsyncPostgresSaver lưu nó vào PostgreSQL một cách bất đồng bộ.

  15. Streamsk8s-redis-streamsluồng dữ liệu: chat-persistence grouppersistence consumerk8s-api-chat

    Persistence consumer trên node Chat đọc các sự kiện done theo consumer group.

  16. persistence consumerk8s-api-chatluồng dữ liệu: lưu tin nhắnPostgreSQLk8s-postgresql

    Tin nhắn Chat được lưu vào PostgreSQL. Đây là workload khác với checkpoint-syncer.

Đầu vào · xác thực

Đường đi đồng bộ từ điểm vào của cụm đến một domain API. Chỉ các đường dẫn có chính sách bảo vệ mới kiểm tra xác thực trước; lưu lượng pod giữa các node chạy trên Calico VXLAN.

  1. Trình duyệttra cứu DNS: Tra cứu DNSRoute 53

    Chỉ tên được phân giải từ bản ghi Route 53. Yêu cầu không đi qua DNS.

  2. Trình duyệtluồng dữ liệu: HTTPS 443AWS ALB

    TLS kết thúc tại ALB.

  3. AWS ALBluồng dữ liệu: HTTP · NodePortIstio ingress Envoyk8s-ingress-gateway

    Được chuyển đến Istio ingress Envoy qua NodePort của EC2 instance target.

  4. Istio ingress Envoyk8s-ingress-gatewayluồng dữ liệu: ext-authz · gRPC 50051ext-authzk8s-api-auth

    Chỉ các đường dẫn thuộc chính sách CUSTOM mới hỏi Go ext-authz trước (timeout 2 s, failOpen false). Các đường dẫn như login, health và docs được loại trừ.

  5. ext-authzk8s-api-authluồng dữ liệu: tra blacklistblacklistk8s-redis-auth

    Token được kiểm tra với blacklist trong Redis.

  6. Istio ingress Envoyk8s-ingress-gatewayluồng dữ liệu: VirtualServiceChat APIk8s-api-chat

    Được định tuyến đến Chat API.

  7. Chat APIk8s-api-chatluồng dữ liệu: gRPCimages APIk8s-api-image

    Lệnh gọi đồng bộ chat → images được nêu trong README.

  8. auth APIk8s-api-authluồng dữ liệu: gRPCusers APIk8s-api-users

    Lệnh gọi đồng bộ auth → users được nêu trong README.

Pool storage · ghi bất đồng bộ

Blacklist xác thực và quyền sở hữu nhân vật được lưu bởi các worker của pool storage, nhận công việc từ RabbitMQ.

  1. blacklistk8s-redis-authluồng dữ liệu: outbox:blacklistauth-relayk8s-worker-storage · k8s-worker-storage-2

    auth-relay (auth-Bus trong README) đọc outbox của Redis.

  2. auth-relayk8s-worker-storage · k8s-worker-storage-2luồng dữ liệu: blacklist.eventsRabbitMQk8s-rabbitmq

    Nó phát lại lên RabbitMQ, có thử lại và DLQ.

  3. RabbitMQk8s-rabbitmqluồng dữ liệu: blacklist.eventsauth-workerk8s-worker-storage · k8s-worker-storage-2

    auth-worker nhận các sự kiện blacklist.

  4. auth-workerk8s-worker-storage · k8s-worker-storage-2luồng dữ liệu: lưu blacklistblacklistk8s-redis-auth

    Chúng được lưu vào blacklist trong Redis.

  5. RabbitMQk8s-rabbitmqluồng dữ liệu: Celery batchusers-workerk8s-worker-storage · k8s-worker-storage-2

    users-worker nhận công việc về quyền sở hữu nhân vật theo lô.

  6. users-workerk8s-worker-storage · k8s-worker-storage-2luồng dữ liệu: UPSERTPostgreSQLk8s-postgresql

    Được áp dụng vào PostgreSQL.

Cấu hình · mở rộng · quan sát

Platform Layer không phải một bước yêu cầu đi qua; nó triển khai, cấu hình, mở rộng và quan sát các lớp khác. Các node là instance EC2 tạo bằng Terraform, với kubeadm và Calico được cài bằng Ansible; CI chỉ kiểm tra Terraform và không bao giờ tự động apply.

  1. GitHub Actions · Docker Hubcấu hình · mở rộng: image · revision của manifestArgo CD image updaterk8s-master

    Argo CD đưa cấu hình cụm về khớp qua App-of-Apps và Sync Waves. Chỉ vị trí control-plane của image updater được xác nhận.

  2. ALB Controller · ExternalDNSk8s-mastercấu hình · mở rộng: Ingress → ALB · bản ghi DNSAWS quản lý

    ALB Controller và ExternalDNS cấu hình tài nguyên phía AWS. Đây không phải đường yêu cầu đi qua.

  3. Istiodk8s-mastercấu hình · mở rộng: cấu hình xDSIstio ingress Envoyk8s-ingress-gateway

    Istiod đẩy cấu hình Gateway, VirtualService và EnvoyFilter qua xDS đến ingress Envoy và Envoy sidecar của từng API.

  4. KEDAk8s-monitoringcấu hình · mở rộng: số podPool AIk8s-worker-ai · k8s-worker-ai-2

    KEDA điều chỉnh số pod của worker. Số node không thay đổi.

  5. KEDAk8s-monitoringcấu hình · mở rộng: số podPool storagek8s-worker-storage · k8s-worker-storage-2

    Các pod worker của pool storage được mở rộng theo cùng cách.

  6. Fluent Bitkhả năng quan sát: logElasticsearchk8s-logging

    Fluent Bit là một DaemonSet trên mọi node và gửi log đến Elasticsearch.

  7. Pool AIk8s-worker-ai · k8s-worker-ai-2khả năng quan sát: Truy vết lượt chạy LLMLangSmith

    Trace của các lệnh gọi LLM được gửi đến LangSmith, một SaaS bên ngoài.

Mọi kết nối có cùng độ đậm. Chọn một luồng để chỉ làm nổi bật đường đi của nó, kèm các bước được đánh số.

  • Nét liền · hướng đi của yêu cầu, công việc, sự kiện và thao tác ghi
  • Nét chấm · tra cứu DNS; yêu cầu không đi qua đây
  • Nét đứt · cấu hình hoặc mở rộng; không phải đường dữ liệu
  • Nét gạch dài xen chấm · log và truy vết lượt chạy
  • Nét đen đậm · luồng được chọn; số chỉ thứ tự
  • Hộp · một node vật lý, tên host ở phần đầu
  • Chip bên trong · một workload chạy trên node đó
  • Khung nét đứt · một pool lập lịch hai node
  • Hộp nét đứt · bên ngoài cụm, không tính là node
  • Viền cam · nơi một mô hình quyết định
  • Control plane1 node
  • Domain API8 node
  • Pool AI2 node
  • Pool storage2 node
  • Data5 node
  • Platform6 node

Năm lớp của README (các dải) và các nhóm vật lý (màu phần đầu mỗi node) nhóm cùng 24 node theo cách khác nhau. State KV dùng chung node với Streams và không được tính riêng; Route 53, ALB và các dịch vụ ngoài cụm không phải node. Pool là phạm vi lập lịch, không có nghĩa mọi pod đều chạy trên cả hai node.

Bố cục 24 node · theo danh sách node trên bảng điều khiển January 21, 2026

24node

24 = 1 control plane + 8 API + 4 worker + 5 data + 6 platform

  1. 1Control plane

    role: control-plane

    kube-apiserver · scheduler · controller-manager · etcd, cùng các controller của nền tảng.

    1. k8s-master
  2. 8Domain API

    domain: <dịch vụ>

    Mỗi miền một node. Lệnh gọi nội bộ dùng gRPC.

    1. k8s-api-auth
    2. k8s-api-users
    3. k8s-api-scan
    4. k8s-api-character
    5. k8s-api-location
    6. k8s-api-image
    7. k8s-api-chat
    8. k8s-api-info
  3. 4Execution worker

    Hai pool lập lịch, mỗi pool hai node. KEDA thay đổi số pod; số node giữ nguyên.

    Pool storagedomain: worker-storage
    1. k8s-worker-storage
    2. k8s-worker-storage-2
    Pool AIdomain: worker-ai
    1. k8s-worker-ai
    2. k8s-worker-ai-2
  4. 5Data

    Redis được tách ra bốn node theo mục đích. Lưu trữ PostgreSQL là EBS CSI · gp3.

    1. k8s-postgresql
    2. k8s-redis-auth
    3. k8s-redis-streams
    4. k8s-redis-cache
    5. k8s-redis-pubsub
  5. 6Platform

    Nhắn tin, khả năng quan sát, đầu vào và gửi thời gian thực mỗi thứ có node riêng.

    1. k8s-rabbitmq
    2. k8s-monitoring
    3. k8s-logging
    4. k8s-ingress-gateway
    5. k8s-sse-gateway
    6. k8s-event-router
Mọi node
  • Fluent Bit · DaemonSet
  • Calico

Mô hình đã cấu hình · theo nhà cung cấp

Dịch vụ đã ngừng hoạt động, nên đây là các mô hình được cấu hình trong kho mã, không phải lựa chọn có sẵn hôm nay. Mỗi vai trò được liệt kê riêng; đây không phải danh sách các lượt chạy đã kiểm chứng.

  • OpenAI

    Nhà cung cấp mặc định của Chat

    Chat

    • openai/gpt-5.2mặc định

    Mô hình mặc định là gpt-5.2; nếu yêu cầu chỉ định mô hình thì dùng mô hình đó.

    Scan

    • gpt-5.2mặc định
    • gpt-5.2-pro
    • gpt-5.1
    • gpt-5
    • gpt-5-pro
    • gpt-5-mini

    Các mô hình nằm ngoài ánh xạ 13 mô hình bị từ chối.

    Ánh xạ hình ảnh

    • gpt-image-1.5

    Tách biệt với gpt-5.2, mô hình điều phối của Responses. Tạo hình ảnh mặc định bị tắt.

    Đánh giá

    • gpt-4o-minimặc định

    LLM grader cho đánh giá hội thoại, tách biệt với mô hình Chat.

  • Google

    Khi Chat chọn Google

    Chat

    • google/gemini-3-pro-preview
    • google/gemini-3-flash-preview

    Khi chọn Google, gemini-3-flash-preview là mặc định.

    Scan

    • gemini-3-pro-preview
    • gemini-3-flash-preview
    • gemini-2.5-pro
    • gemini-2.5-flash
    • gemini-2.5-flash-lite
    • gemini-2.0-flash
    • gemini-2.0-flash-lite

    Ánh xạ hình ảnh

    • gemini-3-pro-image-preview