Przejdź do głównej zawartości

Cookbook komend CGC dla ASK AI

Ten lekki cookbook pomaga ASK AI odpowiadać na praktyczne pytania o komendy CGC krótkim workflow albo komendą, bez długiego tutorialu. Używaj go przy pytaniach o to, jak uruchomić model, uruchomić GPU, create volume, filebrowser, custom image, batch job, port, secret, database, troubleshooting i cleanup.

Każda komenda CGC poniżej to best-effort propozycja startowa z istniejącej dokumentacji CGC. Nie gwarantuje dopasowania do VRAM, sizingu, quota, dostępności GPU ani gotowości produkcyjnej. Przy GPU, storage i quota poproś użytkownika, żeby sprawdził:

cgc status

Wygenerowane URL-e i tokeny aplikacji zwykle sprawdza się przez:

cgc compute list -d

Używaj tylko tych placeholderów: <name>, <volume_name>, <gpu_count>, <gpu_type>, <image_name>, <secret_name>, <APP_TOKEN>, <PORT_NUMBER>, <MODEL_ID>.

Przykładowe pytania

Użytkownicy mogą wkleić do ASK AI pytania w takim stylu:

Daj komendę do PyTorch na 1 GPU z wolumenem.
Jak wrzucić model przez filebrowser?
Mam własny Docker image, jak go odpalić?
Jak wystawić aplikację na porcie <PORT_NUMBER>?
Jak posprzątać compute/job/volume?
Jak sprawdzić działające compute, wolumeny, bazy danych, URL-e i tokeny?
Jak wejść przez SSH do mojego compute?
Jak wystawić port tylko wewnątrz namespace?

Listowanie i inspekcja zasobów

Użyj tego, gdy użytkownik pyta, co działa, gdzie znaleźć URL, gdzie znaleźć app token albo jak sprawdzić wolumeny i bazy danych.

Propozycja startowa:

cgc status

Propozycja startowa:

cgc compute list

Propozycja startowa:

cgc compute list -d

Propozycja startowa:

cgc volume list

Propozycja startowa:

cgc db list -d

Serwowanie modeli

vLLM

Użyj vllm-openai do serwowania modelu przez API kompatybilne z OpenAI, gdy model jest już dostępny bez dodawania tokenu albo gdy pliki modelu są już na zamontowanym wolumenie. Dla bramkowanego modelu Hugging Face źródłowe docs vLLM wymagają HF tokenu; ten cookbook nie dodaje tej komendy, bo dozwolona lista placeholderów nie ma placeholdera dla HF tokenu.

Propozycja startowa:

cgc compute create vllm-openai -n <name> -c 4 -m 8 -g <gpu_count> -gt <gpu_type> -v <volume_name> -- --model=<MODEL_ID>

Jeśli użytkownik pyta o więcej niż jedno GPU, a szablon vLLM jest w kontekście, dodaj udokumentowaną zmienną środowiskową tensor parallel.

Propozycja startowa:

cgc compute create vllm-openai -n <name> -c 4 -m 8 -g <gpu_count> -gt <gpu_type> -v <volume_name> -e TENSOR_PARALLEL_SIZE=<gpu_count> -- --model=<MODEL_ID>

To nie gwarantuje, że model zmieści się w VRAM. Sprawdź cgc status, żeby zobaczyć dostępność GPU i quota.

llama.cpp

Użyj llama-cpp do serwowania modeli w stylu GGUF, gdy plik modelu jest już na zamontowanym wolumenie.

Propozycja startowa:

cgc compute create -n <name> -c 4 -m 8 -g <gpu_count> -gt <gpu_type> -v <volume_name> llama-cpp -- --model /models/<MODEL_ID> --n_gpu_layers 999 --parallel 10 --ctx_size 81920

To nie gwarantuje, że model zmieści się w VRAM. Udokumentowane opcje context size i parallel mogą zwiększyć zużycie pamięci.

Triton

Użyj nvidia-triton, gdy użytkownik ma repozytorium modeli Triton. Zgodnie z dokumentacją obraz Triton może wymagać repository secret.

Propozycja startowa:

cgc volume create -s 10 <volume_name>

Propozycja startowa:

cgc compute create --name <name> -c 2 -m 26 -g <gpu_count> -gt <gpu_type> nvidia-triton --repository-secret <secret_name>

Propozycja startowa:

cgc volume mount <volume_name> -t <name> -fp /models

Środowiska developerskie GPU

Użyj tych szablonów, gdy użytkownik pyta o notebooki albo środowiska developerskie na GPU. To są tylko propozycje startowe; sizing i dostępność GPU nie są gwarantowane.

PyTorch

Propozycja startowa:

cgc compute create --name <name> -c 40 -m 1024 -g <gpu_count> -gt <gpu_type> -v <volume_name> nvidia-pytorch

TensorFlow

Propozycja startowa:

cgc compute create --name <name> -c 40 -m 1024 -g <gpu_count> -gt <gpu_type> -v <volume_name> nvidia-tensorflow

RAPIDS

Propozycja startowa:

cgc compute create --name <name> -c 10 -m 82 -g <gpu_count> -gt <gpu_type> -v <volume_name> nvidia-rapids

Wolumen i filebrowser

Użyj tego, gdy użytkownik pyta, jak utworzyć wolumen, zamontować go albo wgrać pliki modelu przez filebrowser.

Propozycja startowa:

cgc volume create -s 10 <volume_name>

Propozycja startowa:

cgc compute filebrowser create

Propozycja startowa:

cgc volume mount <volume_name> -t filebrowser

Propozycja startowa:

cgc compute list -d

Do filebrowser zaloguj się użytkownikiem admin i app tokenem pokazanym przez cgc compute list -d. Potem wgraj albo przenieś pliki na zamontowany wolumen.

Montowanie wolumenów i inspekcja mountów

Użyj tego, gdy użytkownik pyta, gdzie jest zamontowany wolumen, jak zamontować wolumen do działającego zasobu albo jak zrobić mount albo unmount.

Propozycja startowa:

cgc compute list-mounts

Propozycja startowa:

cgc volume mount <volume_name> -t <name>

Uwaga: operacje mount/unmount mogą zrestartować docelowy compute resource. Najpierw zapisz pracę; dane w ephemeral storage mogą zostać utracone, a dane zapisane na wolumenach powinny pozostać.

Propozycja startowa:

cgc volume umount <volume_name> -t <name>

Custom image i BYOI compute

Użyj custom dla bring-your-own-image compute. Szablony custom domyślnie nie tworzą portu usługi, więc w razie potrzeby dodaj port osobno.

Propozycja startowa:

cgc compute create custom -n <name> -g <gpu_count> -gt <gpu_type> -c 8 -m 24 -v <volume_name> --image <image_name>

Dla prywatnego registry użyj istniejącego repository secret.

Propozycja startowa:

cgc compute create custom -n <name> -g <gpu_count> -gt <gpu_type> -c 8 -m 24 -v <volume_name> --image <image_name> --repository-secret <secret_name>

Jeśli szablon wymaga app token, użyj udokumentowanej flagi CGC env i nie wklejaj prawdziwych sekretów do ASK AI.

Propozycja startowa:

cgc compute create custom -n <name> -c 8 -m 24 --image <image_name> -ce app_token=<APP_TOKEN>

Batch jobs

Użyj cgc job create, gdy użytkownik chce jednorazowy batch job z custom image.

Propozycja startowa:

cgc job create -n <name> -g <gpu_count> -gt <gpu_type> -c 8 -m 24 -v <volume_name> --image <image_name>

Dla prywatnego registry użyj istniejącego repository secret.

Propozycja startowa:

cgc job create -n <name> -g <gpu_count> -gt <gpu_type> -c 8 -m 24 -v <volume_name> --image <image_name> --repository-secret <secret_name>

LLM API bez dedykowanego GPU

Użyj tego, gdy użytkownik pyta o shared LLM API albo klucz LLM API bez uruchamiania własnego serwera modelu na GPU.

Propozycja startowa:

cgc api-keys create --level LLM

Propozycja startowa:

cgc billing status

Jeśli użytkownik pyta o uruchomienie udokumentowanej aplikacji LLM API, użyj workflow compute dla LLM API.

Propozycja startowa:

cgc volume create -s 1 <volume_name>

Propozycja startowa:

cgc compute create -n <name> -c 1 -m 2 -v <volume_name> llm-api

Porty i networking

Użyj cgc compute port, gdy użytkownik pyta, jak wystawić aplikację na porcie. Dokumentacja ostrzega, że dodanie portu może przeładować compute resource. Jeśli aplikacja nie ma autoryzacji, wystawienie jej może ujawnić dane.

Propozycja startowa:

cgc compute port add <name> -n http -p <PORT_NUMBER>

Dla portu dostępnego tylko wewnętrznie w namespace użyj udokumentowanej flagi no-ingress.

Propozycja startowa:

cgc compute port add <name> -n http -p <PORT_NUMBER> -ni

Propozycja startowa:

cgc compute port list <name>

Uwaga: delete portu to destrukcyjna zmiana routingu dla tej wystawionej ścieżki.

Propozycja startowa:

cgc compute port delete <name> -n http

Secrets i repository secrets

Użyj repository secrets tylko wtedy, gdy kontekst dokumentacji zawiera --repository-secret. Nazwy sekretów i wartości tokenów traktuj jako podane przez użytkownika i niezweryfikowane w dokumentacji, chyba że kontekst je potwierdza. Nie dodawaj prawdziwych ani zmyślonych sekretów w odpowiedzi.

Propozycja startowa:

cgc secret list

Propozycja startowa:

cgc compute create custom -n <name> -c 8 -m 24 --image <image_name> --repository-secret <secret_name>

Propozycja startowa:

cgc job create -n <name> -c 8 -m 24 --image <image_name> --repository-secret <secret_name>

Dostęp SSH do zasobu

Użyj tego, gdy użytkownik pyta, jak wejść przez SSH do działającego compute resource. Zakładamy, że SSH access jest już skonfigurowany w CGC. Udokumentowany workflow rsync wymaga też ścieżek source i destination, więc nie proponuj komendy rsync, jeśli użytkownik nie poda tych wartości i nie ma ich w pobranym kontekście dokumentacji.

Propozycja startowa:

ssh -t cgc@cgc-api.comtegra.cloud -p 2222 <name>

Bazy danych i vector databases

Użyj tych szablonów, gdy użytkownik pyta o database, PostgreSQL, pgvector, PG-Vector albo Weaviate.

PostgreSQL

Propozycja startowa:

cgc volume create -s 5 <volume_name>

Propozycja startowa:

cgc db create --name <name> -c 4 -m 4 -v <volume_name> postgresql

pgvector

Propozycja startowa:

cgc db create -n <name> pg-vector

Weaviate

Propozycja startowa:

cgc volume create -s 5 <volume_name>

Propozycja startowa:

cgc db create --name <name> -c 4 -m 8 -v <volume_name> weaviate

Kompozycja aplikacji: OpenWebUI i LLM APIs

Użyj tego, gdy użytkownik pyta o OpenWebUI ze shared LLM API. Dla vLLM albo llama.cpp najpierw uruchom serwer modelu, a potem skonfiguruj URL i API key w ustawieniach OpenWebUI zgodnie z dokumentacją OpenWebUI; nie wymyślaj flagi CLI dla URL, jeśli nie ma jej w pobranym kontekście dokumentacji.

Propozycja startowa dla LLM API:

cgc volume create -s 1 <volume_name>

Propozycja startowa dla LLM API:

cgc compute create -n <name> -c 1 -m 2 -v <volume_name> llm-api

Propozycja startowa dla OpenWebUI:

cgc compute create -c 2 -m 2 -n <name> -e openai_api_key=<APP_TOKEN> -v <volume_name> open-webui

Tutaj <APP_TOKEN> oznacza klucz LLM API utworzony przez cgc api-keys create --level LLM; to nie compute app token z cgc compute list -d. Użyj cgc compute list -d, żeby znaleźć wygenerowane URL-e i app tokeny dla działających compute resources.

Troubleshooting i cleanup

Przy troubleshooting zacznij od statusu, logów i eventów.

Propozycja startowa:

cgc status

Propozycja startowa:

cgc logs <name>

Propozycja startowa:

cgc events <name>

Uwaga: komendy delete w cleanup są destrukcyjne. Przed zaproponowaniem delete potwierdź nazwę zasobu i to, czy wolumen zawiera dane.

Propozycja startowa:

cgc compute delete <name>

Uwaga: usunięcie job usuwa ten zasób job.

Propozycja startowa:

cgc job delete <name>

Uwaga: usunięcie volume może usunąć zapisane dane.

Propozycja startowa:

cgc volume delete <volume_name> --force