本記事はこちらのブログを参考にしています。
翻訳にはアリババクラウドのModelStudio(Qwen)を使用しております。
インドネシアのアリババクラウドソリューションアーキテクト、M Fakhri Darmawanが執筆
今日の急速に進化するデジタル世界において、チャットボットはビジネスや開発者がユーザーエクスペリエンスを向上させ、ワークフローを自動化し、顧客とのやり取りを拡大するために欠かせないツールとなっています。しかし、もし完全にカスタマイズ可能な高度な知能を持つチャットボットを作ることができたらどうでしょうか?そこで登場するのが、Qwenです。これはアリババクラウドの最先端の大規模言語モデルであり、さらにModel StudioとFunction Compute(FC)の強力な機能と組み合わせることで、その可能性を最大限に引き出すことができます。このブログでは、これらの最新技術を使用して独自のチャットボットを作成するためのステップバイステップガイドをお届けします。これにより、会話型AIのすべてのポテンシャルを簡単に活用できるようになります。
ステップ 1
次のLINKを使用して無料でModel Studioをアクティベートしてください。次にAPIキーを作成します。
ステップ 2
APIキーの作成と取得
- ページ右上にある
にカーソルを合わせ、「API-KEY」を選択します。
- 左側のナビゲーションペインで「All API Keys」または「My API Key」を選択して、APIキーを表示または作成します。「Create My API Key」または既存のAPIキーを確認するにはクリックします。
注意
- Alibaba Cloudアカウントを使用している場合のみ、「All API Keys」ページを利用できます。Alibaba CloudアカウントはすべてのRAMユーザーのAPIキーを取得できますが、RAMユーザーは自身のAPIキーのみ取得可能です。
- APIキーは秘密にして、不正使用によるセキュリティリスクや財政的な損失を避けてください。APIキーは重要な資産であるため、安全に保管してください。
- 「Actions」列の「Delete」をクリックして既存のAPIキーを削除すると、そのキーを使用してModel Studioサービスを利用することはできなくなります。このキーに関連付けられているすべてのアプリケーションやサービスは動作しなくなります。
ステップ 3
Model Studioアプリケーションの作成とデプロイ
エージェントアプリケーション - Alibaba Cloud Model Studio - Alibaba Cloud Documentation Center
ステップ 4
アプリケーションIDの取得
アプリケーションIDとワークスペースIDの取得 - Alibaba Cloud Model Studio - Alibaba Cloud Documentation Center
ステップ 5
チャットボットサンプルアプリケーションのデプロイ
前提条件
- nodejsバージョン22をインストール (LinuxでNode.js v22をインストールする方法: ステップバイステップガイド)
- npmをインストール
- serverless devをインストールおよび設定 (クイックスタート - Function Compute - Alibaba Cloud Documentation Center)
手順
- このgithubリポジトリからコードをダウンロードします。
- コードを解凍します。
-
s.yaml
ファイル内のコードを変更します。 yaml
edition: 3.0.0
name: fc3-example
access: default
resources:
fcDemo:
component: fc3
props:
region: ap-southeast-1
handler: handler
role:
disableOndemand: false
description: web-chatbot
timeout: 180
internetAccess: true
layers:
- acs:fc:ap-southeast-1:official:layers/Nodejs16/versions/2
customRuntimeConfig:
args:
- run
- start
port: 9000
command:
- npmlogConfig: # slsでログプロジェクトを定義してFC用のログを有効にする
enableRequestMetrics: true
enableInstanceMetrics: true
logBeginRule: DefaultRegex
project: serverless-ap-southeast-5-xxx
logstore: default-logs
functionName: webchat-bot
runtime: custom
instanceConcurrency: 1
memorySize: 128
environmentVariables:
PATH: >-
/opt/nodejs16/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin:/opt/bin:/code:/code/bin
BAILIAN_APP_ID: 386XXX # ここにmodel studioアプリケーションIDを入力
BAILIAN_API_KEY: sk-xxx # ここにAPIキーを入力、またはFC設定 -> 環境変数で設定
LD_LIBRARY_PATH: >-
/code:/code/lib:/usr/local/lib:/opt/lib:/opt/php8.1/lib:/opt/php8.0/lib:/opt/php7.2/lib
STATIC_DIR: /public
NODE_PATH: /opt/nodejs/node_modules
SECRET:
code: ./webchat-bot-fd
triggers:
- triggerConfig:
methods:
- GET
- POST
- PUT
- DELETE
- HEAD
- PATCH
authType: anonymous
disableURLInternet: false
triggerName: httpTrigger
description:
qualifier: LATEST
triggerType: http
変更が必要なコード:
a) 行37. BAILIAN_APP_ID: 386XXX # ここにmodel studioアプリケーションIDを入力
b) 行38. BAILIAN_API_KEY: sk-xxx # ここにAPIキーを入力、またはFC設定 -> 環境変数で設定
- serverless deploymentを使用してコードをデプロイします。 bash
s deploy s.yaml
デプロイ成功時の結果:text
[2025-03-14 17:08:53][WARN][s_cli] It is not recommended to run the command as root user. (node:56555) [DEP0060] DeprecationWarning: The util._extend
API is deprecated. Please use Object.assign() instead. (Use node --trace-deprecation ...
to show where the warning was created)
⌛ Steps for [deploy] of [fc3-example]
disableOndemand: false
- You can also specify to use local configuration through --assume-yes/-y during deployment
? Deploy it with local config? Yes
(node:56555) [DEP0040] DeprecationWarning: Thepunycode
module
TIPS:
s info
を使用すると、より詳細な情報を取得できます。
✔ [fcDemo] が完了しました (14.88秒)
🚀 [fc3-example] の [deploy] 結果
リージョン: ap-southeast-1
customRuntimeConfig:
args:
- run
- start
command:
- npm
port: 9000
説明: web-chatbot
環境変数:
BAILIAN_API_KEY: sk-xxx
BAILIAN_APP_ID: 386b4ab2a301472688b3e35906a15fe1
LD_LIBRARY_PATH: /code:/code/lib:/usr/local/lib:/opt/lib:/opt/php8.1/lib:/opt/php8.0/lib:/opt/php7.2/lib
NODE_PATH: /opt/nodejs/node_modules
PATH: /opt/nodejs16/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin:/opt/bin:/code:/code/bin
SECRET:
STATIC_DIR: /public
functionArn: acs:fc:ap-southeast-1:5846842125303498:functions/webchat-bot
関数名: webchat-bot
ハンドラ: handler
インスタンス同時実行数: 1
インターネットアクセス: true
レイヤー:
- acs:fc:ap-southeast-1:official:layers/Nodejs16/versions/2
メモリサイズ: 128
ロール:
ランタイム: custom
タイムアウト: 180
トリガー: - 説明:
修飾子: LATEST
トリガー設定:
メソッド:
- GET
- POST
- PUT
- DELETE
- HEAD
- PATCH
認証タイプ: anonymous
URLインターネット無効化: false
トリガー名: httpTrigger
トリガー種別: http
URL:
システムURL: https://webchat-bot-usebaqmcxe.ap-southeast-1.fcapp.run
システムイントラネットURL: https://webchat-bot-usebaqmcxe.ap-southeast-1-vpc.fcapp.run
__component: fc3
-
ドメインを追加します。
! 6
ドメインを入力し、関数とバージョンを選択してからアプリケーションを作成します。
! 7
ドメインを設定し、Function ComputeからのCNAMEにポイントします。 -
ドメインに移動し、アプリケーションをテストして独自のプロンプトを使用してみてください。
! 8
メリット:
• 簡単なデプロイ: サーバーを管理する必要はありません。Function Computeがスケーリングとインフラストラクチャを処理します。
• カスタマイズ可能: Model Studioを使用すると、Qwenを特定のビジネス要件に合わせて調整できます。
• コスト効率: 会話中に使用されるコンピューティングリソースに対してのみ支払います。
ユースケース:
• カスタマーサポートの自動化。
• Webサイトやアプリ用の仮想アシスタント。
• 対話型FAQボット。
このセットアップは、Qwenの強力な対話型AI、Model Studioのカスタマイズ機能、およびFunction Computeのスケーラビリティを組み合わせることで、柔軟で効率的なチャットボットソリューションを提供します。