このトピックでは、ACK Serverless クラスターに FastChat アプリケーションを迅速にデプロイする方法について説明します。コンソールまたは kubectl を使用してアプリケーションをデプロイできます。デプロイが完了したら、外部エンドポイントを介して FastChat にアクセスし、AI 生成コンテンツ (AIGC) を体験できます。
前提条件
中国 (北京) 、中国 (杭州) 、中国 (上海) 、または中国 (深圳) リージョンに ACK Serverless クラスターを作成し、クラスターのインターネットアクセスを有効化していること。 詳細については、「ASK クラスターの作成」をご参照ください。
FastChat の概要
FastChat は、大規模言語モデルのトレーニング、サービング、評価のための、インテリジェントで使いやすいチャットボットです。これは、Vicuna や FastChat-T5 などの高度な大規模言語モデル上に構築された、分散型のマルチモデルサービスです。FastChat は Web インターフェイスを提供し、OpenAI RESTful API と互換性があります。
Alibaba Cloud は、サードパーティモデルである FastChat の合法性、セキュリティ、または正確性を保証しません。Alibaba Cloud は、FastChat の使用に起因するいかなる損害についても責任を負いません。
お客様は、FastChat のユーザー契約、利用規約、および関連する法律や規制を遵守する必要があります。お客様は、FastChat の使用に起因するすべての結果に対して責任を負います。
ステップ 1: FastChat アプリケーションのデプロイ
FastChat アプリケーションは、コンソールを使用するか、kubectl で YAML ファイルを適用することでデプロイできます。
コンソール
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[ステートレス] ページで、[イメージから作成] をクリックします。
[基本情報] ページで、[アプリケーション名] を fastchat に、[レプリカ数] を 1 に設定し、[次へ] をクリックします。
[コンテナー設定] ページで、次のパラメーターを設定し、[次へ] をクリックします。
次の表にコンテナーのパラメーターを示します。記載されていないパラメーターについては、デフォルト設定を保持してください。
設定エリア
設定項目
例
基本設定
イメージ名
yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0
必須リソース
CPU: 8 コア
メモリ: 32 GB
重要後のステップで、Pod アノテーションを追加して ECI Pod の ECS インスタンスタイプを指定するため、この設定は有効になりません。
ヘルスチェック
Readiness Probe
[Readiness Probe] を選択し、[TCP ソケット] を選択して、ポートを 7860 に設定します。
ライフサイクル
起動コマンド
コンテナーの起動コマンドを
["sh","-c","/root/webui.sh"]に設定します。[高度な設定] ページで、[サービス] の右側にある [作成] をクリックし、サービスパラメーターを設定して FastChat アプリケーションを公開します。
次の表にサービスパラメーターを示します。記載されていないパラメーターについては、デフォルト設定を保持してください。
設定項目
例
名前
fastchat-svc
サービスタイプ
[Server Load Balancer (LoadBalancer)] を選択します。
ロードバランサータイプ: Classic Load Balancer (CLB)
リソースの選択: リソースの作成
ポートマッピング
名前: example-port
サービスポート: 7860
コンテナーポート: 7860
プロトコル: TCP
[高度な設定] ページの [ラベルとアノテーション] セクションで、次の表の Pod アノテーションを追加し、[作成] をクリックします。
名前
値
k8s.aliyun.com/eci-use-specs
ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlarge
k8s.aliyun.com/eci-extra-ephemeral-storage
100Gi

[ステートレス] ページに戻ります。アプリケーション名をクリックして、アプリケーション詳細ページに移動します。[Pod] タブで、Pod のステータスが [実行中] に変わるまで待ちます。次に、[アクセス方法] タブをクリックして、[外部エンドポイント] から IP アドレスを取得します。
kubectl
kubectl を使用して ACK Serverless クラスターに接続します。詳細については、「kubectl を使用して Kubernetes クラスターに接続する」をご参照ください。
FastChat アプリケーション用に fastchat.yaml という名前のファイルを作成し、次のコードをファイルにコピーします。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: fastchat name: fastchat namespace: default spec: replicas: 1 selector: matchLabels: app: fastchat template: metadata: labels: app: fastchat alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-use-specs: ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlarge k8s.aliyun.com/eci-extra-ephemeral-storage: 100Gi spec: dnsPolicy: Default containers: - command: - sh - -c - "/root/webui.sh" image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0 imagePullPolicy: IfNotPresent name: fastchat ports: - containerPort: 7860 protocol: TCP readinessProbe: failureThreshold: 3 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 7860 timeoutSeconds: 1 resources: requests: cpu: "8" memory: 16Gi limits: nvidia.com/gpu: 1 --- apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU name: fastchat-svc namespace: default spec: externalTrafficPolicy: Local ports: - port: 7860 protocol: TCP targetPort: 7860 selector: app: fastchat type: LoadBalancer次のコマンドを実行して、fastchat アプリケーションをデプロイします。
kubectl apply -f fastchat.yaml次のコマンドを実行して、Pod が Normal 状態であることを確認します。
kubectl get deployment fastchat予想される出力:
NAME READY UP-TO-DATE AVAILABLE AGE fastchat 1/1 1 1 38m
ステップ 2: サービスへのアクセス
ブラウザにサービスの外部 IP アドレス (EXTERNAL-IP) を入力して、FastChat アプリケーションにアクセスします。

ステップ 3: リソースの解放
チュートリアルが完了したら、不要な料金を避けるためにリソースを解放します。
作成したアプリケーションとサービスの削除
Container Service for Kubernetes (ACK) コンソールの [クラスター] ページで、対象クラスターの名前をクリックします。
左側のナビゲーションウィンドウで、[ワークロード] > [ステートレス] を選択します。fastchat アプリケーションを選択し、[一括削除] をクリックし、プロンプトに従って削除を確認します。
クラスターの削除
ACK Serverless クラスターはパブリックプレビュー中で、無料トライアルを提供しています。ただし、ACK Serverless クラスターで使用される他の Alibaba Cloud サービスについては、サービスの課金ルールに基づいて料金を支払う必要があります。料金は、これらの Alibaba Cloud サービスによって別途請求されます。設定が完了したら、次のいずれかの方法でクラスターを管理できます。
クラスターが不要になった場合は、ACK コンソールにログインします。[クラスター] ページで、クラスターの [アクション] 列で [その他] > [削除] を選択してクラスターを削除します。[クラスターの削除] ダイアログボックスで、[クラスターによって作成された ALB インスタンスを削除]、[クラスターによって作成された Alibaba Cloud DNS PrivateZone インスタンスを削除]、および [上記情報を理解し、指定したクラスターを削除します] を選択し、[OK] をクリックします。ACK Serverless クラスターの削除方法の詳細については、「ACK Serverless クラスターの削除」をご参照ください。
クラスターを引き続き使用する場合は、トライアル期間が終了する 1 時間以上前に Alibaba Cloud アカウントにチャージし、アカウントの残高が 100 元以上であることを確認してください。ACK Serverless Pro クラスターで使用される Alibaba Cloud サービスの課金の詳細については、「クラウドサービス料金」をご参照ください。
お問い合わせ
ACK の AIGC サービス有効化についてご質問がある場合は、DingTalk グループ 31850017754 にご参加ください。