Skip to main content

DashScope SDK Expert

DashScope Python SDK に組み込まれた SDK インテリジェントアシスタント。要件を伝えるだけでバージョン検証済みの実行可能コードが得られ、エラーメッセージやファイルパスを渡すだけで自動的に診断・修正・検証を行います。

DashScope SDK Expert(以下「SDK Expert」)は、dashscope Python SDK(1.27.3 以降)に組み込まれた SDK インテリジェントアシスタント CLI です。本ページは一般的な使用ガイドであり、SDK Expert を使った開発とトラブルシューティングの方法を説明します。各インターフェイスの完全なパラメーターはサイドバーの個別インターフェイスリファレンスページを参照してください。対応する機能領域は後述の「対応機能の概要」に記載しています。

クイックスタート

  1. API キーと base_url を準備する:Model Studio コンソールの「API Key 管理」でキー(sk- プレフィックス)を作成します。キーはリージョンごとに独立しています。環境変数、またはセッション内の /setup で設定します。
    export DASHSCOPE_API_KEY=sk-xxxxxxxx
    export DASHSCOPE_HTTP_BASE_URL=https://{workspace-id}.{region}.maas.aliyuncs.com/api/v1
    
    base_url はリージョンごとに異なります。ドメインの対応関係は ベース URL の概要 を参照してください。
  2. SDK をインストール/アップグレードする:SDK Expert は dashscope Python SDK 1.27.3 で導入されました。
    # 実行に失敗する場合は、pip を pip3 に置き換えてください
    pip install -U dashscope
    
  3. CLI を起動する:ターミナルで dashscope(サブコマンドなし)を実行すると、SDK Expert の対話型セッションに入ります。python -m dashscope.acli でも起動できます(acli は SDK Expert の CLI エントリーモジュールです)。初回起動時に SDK Expert ナレッジパック(api-doc/diagnose などの skill を含む)のダウンロードを求められます。手動でインストールすることもできます。
    dashscope
    # または SDK Expert ナレッジパックを手動でインストール
    python -m dashscope.acli example download dashscope-sdk-expert
    
  4. ヘルプを表示する:セッション内で /help を入力すると、すべての command と skill を確認できます。command はセッション操作(/clear /help /exit など)、skill は機能領域のスイッチ(/skill <名前>)です。判断が付かない場合は自然言語で質問すれば、SDK Expert が自動的に skill を選択します。
  5. 必要に応じて質問する:要件を自然言語で説明します。例:
    • 「qwen-plus でストリーミング出力し、トークン消費量を集計して」
    • 「このエラー Throttling.RateQuota はどういう意味で、どう直せばいい?」
    • 「gen.py を読んで InvalidParameter エラーの根本原因を診断して」
    Ctrl+T による音声入力、@ファイルパス によるファイル添付(SDK Expert が直接読み取ります)、↑ キーによるコマンド履歴の呼び出しにも対応しています。
SDK Expert はローカルの dashscope バージョンを照合し、古い場合は pip install -U dashscope でのアップグレードを促します。
マルチモーダルや Tongyi 以外のモデルを利用する場合:pip install -U 'dashscope[acli-all]'。

対応機能の概要

SDK Expert ナレッジパックをインストールすると、次の skill が利用できます(すべて確認するには /skill を実行)。
skill用途例
api-docSDK API ドキュメントを検索する/skill api-doc Generation
sdk-exampleサンプルコードを生成する/skill sdk-example TextEmbedding
error-codeエラーコードの意味と修正方法/skill error-code InvalidApiKey
diagnoseコードファイルを読み、根本原因を特定する/skill diagnose ./my_code.py
explain-codeコードのロジックを説明する/skill explain-code <コード>
translate多言語翻訳/skill translate en hello world
update-sdkナレッジインデックスを更新する/skill update-sdk <sdk のパス>
SDK Expert は DashScope SDK のすべての機能領域(テキスト生成、マルチモーダル、音声、検索、ファインチューニングとデプロイ、Agent など)に対応しています。特定のインターフェイスのドキュメントやサンプルを調べるには api-doc/sdk-example を使い、コード生成やトラブルシューティングは自然言語で質問するだけで済みます。
SDK Expert は完全な agentic CLI であり、マルチエージェント連携、MCP(Model Context Protocol、外部ツール連携の標準)サーバー、スケジュールタスク(/cron)、監査(/audit)、セッションの圧縮と履歴(/compress、/history)などにも対応します。セッション内でよく使う / コマンドをカテゴリー別に示します。
  • セッション管理:/help /clear /info /stats /setup /exit /feedback
  • 機能とツール:/skill /mcp /voice /tts /copy
  • 履歴と監査:/history /compress /cron /audit /dev /example
完全な一覧は /help の出力を参照してください。

ベストプラクティス 1:要件を伝えるだけ。ドキュメントを読まずに実行可能なコードを得る

課題:SDK のインターフェイスは数が多く、バージョンの更新も速いため、開発者はパラメーター名、入力形式、モデル一覧を確認するためにドキュメントを読む必要がありました。 方法:SDK Expert に要件を伝えると、次の処理が自動で行われます。
  1. 組み込みの SDK ナレッジベース(モデル一覧/パラメーター/入出力構造/エラーコード)と照合する
  2. ローカルの SDK バージョンを確認する(不一致の場合はアップグレードを促す)
  3. 実行可能なコードを生成し、実際に実行して出力を表示する
対話例:
> qwen-plus で文章をストリーミング出力し、トークン消費量を集計して

SDK Expert:
1. api-doc/sdk-example skill を選択し、ローカルの dashscope バージョンを照合
2. スクリプトを生成して実行し、ストリーミング出力とトークン統計を表示(下記参照)
import os, dashscope
client = dashscope.Client(api_key=os.getenv("DASHSCOPE_API_KEY"))
stream = client.chat.completions.create(
    model="qwen-plus",
    messages=[{"role": "user", "content": "秋についての詩を書いてください"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
# 最後の chunk に usage(input/output tokens)が含まれます
秋風が落ち葉を...(1 文字ずつストリーミング出力)
usage: input=10 output=52
ヒント:
  • 言語やフレームワークを指定する:「FastAPI のエンドポイントとしてラップして」「async/await で非同期に呼び出して」など
  • バージョンを指定する:「dashscope 1.20.x を使っていますが、このパラメーターは使えますか?」——SDK Expert はインストール済みバージョンを確認してから回答します
  • 詳細を追加で質問する:「パラメーターの値の範囲は?」「ほかに使えるモデルは?」

ベストプラクティス 2:トラブルシューティング。原因の特定と修正を任せる

課題:呼び出しがエラーになったとき、エラーコードの意味が分かりにくく、スタックトレースが SDK 内部を指すため、コードの問題かパラメーターの問題か判断しにくくなります。 方法(シナリオに応じて 3 つの方法から選択):
  1. エラーコードやエラーメッセージを貼り付ける → /skill error-code <エラーコード>(例:/skill error-code Throttling.RateQuota)→ SDK Expert がエラーコードの意味に加えて、実行可能な修正案(同時実行数の調整/パラメーターの変更/クォータの申請)と必要に応じたコードスニペットを出力します。
  2. 問題のあるコードファイルのパスを渡す → /skill diagnose <ファイルパス>(例:/skill diagnose gen.py)→ SDK Expert がソースコードを読み取り、よくある根本原因(旧形式の prompt の混在、messages 構造の誤り、api_key/workspace の未設定、非同期タスクのポーリング漏れ)と照合して、推定される根本原因と修正候補を出力します。
  3. 自動修正のループ → /skill diagnose で根本原因を特定 → 確認用の diff プレビューを生成 → 確認後に SDK Expert が修正を適用し、スクリプトを再実行して検証 → 「読み取り → 診断 → 修正 → 検証」の流れになります。SDK Expert はファイルを変更する前に確認を求め、ロールバックにも対応します。
対話例:
> gen.py を実行すると InvalidParameter: url error が出ます。直してください

SDK Expert:
1. /skill diagnose gen.py → image_url にローカルパスが渡されていることを特定
2. 確認用の diff を生成(下記参照)
3. 確認後に適用し、スクリプトを再実行して 200 を返す
- image_url="/tmp/photo.jpg"
+ image_url="https://example.com/photo.jpg"
ヒント:
  • サーバー側ログと突き合わせるため、エラー報告には request_id を添えてください(request_id はレスポンス本文の response.request_id フィールド、またはエラーオブジェクトの属性にあります)
  • 複雑な問題では、まず SDK Expert に「このコードのロジックを説明して」(/skill explain-code)と依頼し、認識をそろえてから修正しましょう
  • SDK 自体の不具合や要件が満たされない場合は、GitHub に Issue を作成してフィードバックできます

よくある質問

SDK Expert が勝手にソースコードを変更しますか? いいえ。ファイルを変更する前に SDK Expert が diff プレビューを生成して確認を求め、確認後にのみ適用します。ロールバックにも対応しています。 オフラインで使えますか? いいえ。SDK Expert はモデル推論を呼び出すため(トークンを消費し、Model Studio の料金体系で課金されます)、ネットワーク接続と有効な API キーが必要です。 生成されたコードをそのまま本番環境で使えますか? SDK Expert はバージョン検証済みの実行可能コードを生成しますが、本番環境で使う前にクォータ、同時実行数、エラー処理、機密情報について自身で確認してください。 Python 以外のコードも生成できますか? ほかの言語のコードテキストも生成できますが、Python 以外の SDK についてはバージョンを検証しません(バージョン体系が異なるため、自身で確認してください)。 自分のコードはアップロードされますか? 診断(/skill diagnose)やコードの添付を行うと、コードの内容がモデルの推論に送信されます。機密データにはご注意ください。