Alibaba Cloud ACKにDifyをデプロイする

# overview

ACKにDifyをデプロイできるらしいので試してみる！

コンポーネントが用意されてるっぽいのでめっちゃ楽そう〜

とりあえず公式ドキュメントをなぞってやってみる〜〜〜✌️

https://www.alibabacloud.com/help/en/ack/cloud-native-ai-suite/use-cases/building-customized-ai-question-and-answer-assistant-based-on-dify

# やってみる

まずはクラスタ作成！
ふつーにつくる　VPCとかvSwitchとかもふつーにつくる


![](https://storage.googleapis.com/zenn-user-upload/875307fe26d3-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/c398e73f4105-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/ae3a4eec916c-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/84607734d34f-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/3c0ecfcc059b-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/df0adb670dbf-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/0d116e26dd7a-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/6f07cf32e6d4-20241218.png)

Ingressはいつものnginxを指定した！

公式曰く

> クラスターの安定性を確保するために、クラスターの Kubernetes システム用に少なくとも 2 つの vCPU と 4 GB のメモリを予約し、Container Storage Interface (CSI) プラグインをインストールすることをお勧めします。


だそうなので、4vCPU16GBのインスタンスタイプ選択 & ボリュームプラグインのとこのチェックはつけっぱで！

で、いざ作成〜〜〜〜
![](https://storage.googleapis.com/zenn-user-upload/d5f5de51ab07-20241218.png)

できぴ〜〜〜〜〜〜〜

次はクラスタにDifyをいれる！

Helmデプロイするらしい

![](https://storage.googleapis.com/zenn-user-upload/a04f87e98fdd-20241218.png)

ここのデプロイを押し

![](https://storage.googleapis.com/zenn-user-upload/3adf9bef5416-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/81f18999c904-20241218.png)

ack-difyを選んでバージョン最新でデプロイ！

![](https://storage.googleapis.com/zenn-user-upload/8e461e7ca04a-20241218.png)

デプロイされた！

ので外部からアクセスするために名前空間`dify-system` にingressを追加する〜

![](https://storage.googleapis.com/zenn-user-upload/d4a576923607-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/3d3f85980efa-20241218.png)

ingressできぴ！

書かれてるエンドポイントにアクセスすると。。。

![](https://storage.googleapis.com/zenn-user-upload/1458c9eab650-20241218.png)

きた〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜difyうごいてる✌️

# Difyの設定

セットアップしてログインする！

![](https://storage.googleapis.com/zenn-user-upload/0dd68d1c1786-20241218.png)

無事入れたので、チャットボットつくろ〜

まずモデルプロバイダを設定しなきゃなので、一旦[Alibaba Cloud Model Studio](https://bailian.console.alibabacloud.com/)にいってモデルの設定する！

![](https://storage.googleapis.com/zenn-user-upload/57566604f681-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/30e360c9e272-20241218.png)

Modelsにいくといろんなモデルがあった！

とりあえずqwen-maxつかってみる〜

![](https://storage.googleapis.com/zenn-user-upload/99f64cb9b4c0-20241218.png)

APIの詳細はこれ
![](https://storage.googleapis.com/zenn-user-upload/a2839053625d-20241218.png)

まずAPI Keyを発行する！

右上のアカウントからAPI-KEYにいって作成〜!

![](https://storage.googleapis.com/zenn-user-upload/582de255fed8-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/fb8261297029-20241218.png)
![](https://storage.googleapis.com/zenn-user-upload/0ae26116dd46-20241218.png)


API詳細にあった接続先([https://dashscope-intl.aliyuncs.com/compatible-mode/v1](https://dashscope-intl.aliyuncs.com/compatible-mode/v1))と↑でつくったAPI KEYをdifyの方に設定する

difyの画面に戻って、右上のアカウント → 設定 → モデルプロバイダ　へ

![](https://storage.googleapis.com/zenn-user-upload/67ae5e1292ed-20241218.png)

今回はOpenAI-API-compatibleを選べばいいっぽいので選択する

![](https://storage.googleapis.com/zenn-user-upload/a5e83d9c0030-20241218.png)

以下を入力する

Model Name: `qwen-max`

API Key: ↑で作った[Alibaba Cloud Model Studio](https://bailian.console.alibabacloud.com/)のAPI KEY

API endpoint URL: [https://dashscope-intl.aliyuncs.com/compatible-mode/v1](https://dashscope-intl.aliyuncs.com/compatible-mode/v1)

Model Context size: 8000

Upper bound for max tokens: 2000

![](https://storage.googleapis.com/zenn-user-upload/8400cecf5243-20241218.png)

いけた〜！！！！！！！！！！！！

ので、システムモデルにこのモデルを設定する！

![](https://storage.googleapis.com/zenn-user-upload/46fc801d3d72-20241218.png)

準備できた！雑チャットボットつくる！

![](https://storage.googleapis.com/zenn-user-upload/7f57e8e53ca4-20241218.png)

公開してアプリ実行して、実際会話してみた
![](https://storage.googleapis.com/zenn-user-upload/133b5e1373e2-20241218.png)

きちゃ〜〜〜〜〜〜〜〜〜〜〜！！！！！！！！！！！！

ちょっと中国語まざったりしちゃってるけど、言ってることはいい感じな気がする！

これにて挙動確認終了✌️

# まとめ

- クラスタつくったらHelmの設定いれるだけでDifyがデプロイできるの楽すぎる
- Difyのモデルプロバイダ、OpenAI-API-compatibleを使うのか〜
- とにかく楽に自前環境作れるの良すぎる
- ただDifyで使うDBはアリババのマネージドのものではないので、今度はそこ設定したい

おわり！