DashScope Python SDK 1.x インターフェースのレガシー使用方法のクイックリファレンスと、1.x から 2.0 への移行対応表です。既存の 1.x プロジェクト向けの参考資料です。
本ページは、引き続き DashScope Python SDK 1.x を使用している既存プロジェクト向けです。1.x インターフェースの典型的な使用方法をまとめ、対応する 2.0 のコードを示します。
1.x はモジュールレベルのグローバル変数で設定します。2.0 は
ステップ実行のタスク(1.x の
ステップごとの制御(旧
1.x はコールバッククラス(
ローカルファイルの一括認識(1.x の
1.x の
一括合成には
バッチ埋め込み(1.x の
アプリケーションのストリーミング呼び出しでは
移行時に注意すべき動作上の相違点は、インターフェース名以外に以下のとおりです。
インターフェース移行対応表
| 能力 | 1.x インターフェース | 2.0 インターフェース |
|---|---|---|
| テキスト生成 | Generation.call / AioGeneration.call | client.chat.completions.create |
| マルチモーダル対話 | MultiModalConversation.call | client.multimodal.chat.create |
| 画像生成 | ImageSynthesis.call/async_call/fetch/wait | client.images.generate / client.images.jobs.* |
| 動画生成 | VideoSynthesis.call/async_call/fetch/wait | client.videos.generate / client.videos.jobs.* |
| 音声ファイルの文字起こし | Transcription.async_call/fetch/wait | client.audio.asr.transcribe / client.audio.asr.jobs.* |
| リアルタイム音声認識 | Recognition.start/send_audio_frame/stop | client.audio.asr.recognize(...) context manager |
| 音声合成 | SpeechSynthesizer (tts_v2 callback style) | client.audio.tts.synthesize/stream/connect |
| テキスト埋め込み | TextEmbedding.call / BatchTextEmbedding | client.embeddings.create / client.embeddings.jobs.* |
| Rerank | TextReRank.call | client.rerank.create |
| エージェントアプリケーション | Application.call | client.apps.completions.create |
| ファイル管理 | Files.upload/list/get/delete | client.files.upload/list/get/delete |
| モデル一覧 | Models.list/get | client.models.list/get |
クライアントの構築と認証
1.x はモジュールレベルのグローバル変数で設定します。2.0 は Client コンストラクターの引数で設定します(優先順位: コンストラクター > dashscope.settings > 環境変数 > ~/.dashscope/config.toml)。
テキスト生成
マルチモーダル対話
画像生成
async_call/fetch/wait)は client.images.jobs.create/fetch/wait に対応します。タスクの状態判定は rsp.output.task_status == 'SUCCEEDED' から job.succeeded に変わります。
動画生成
1.x の
VideoSynthesis では extend_prompt のデフォルトは True です。2.0 では prompt_extend となり、デフォルトはサーバー側で決定されます。旧デフォルトに依存していた呼び出しでは prompt_extend=True を明示的に渡す必要があります。音声ファイルの文字起こし
async_call + fetch ループ)は、client.audio.asr.jobs.create + jobs.fetch ループに対応します。
リアルタイム音声認識
1.x はコールバッククラス(Recognition + RecognitionCallback)を使用します。2.0 ではコンテキストマネージャー + イベントの反復処理を使用します。
Recognition.call(file))は、for event in client.audio.asr.recognize_file(path, model=...): に対応します。
音声合成
1.x の tts_v2 はコールバックで音声を受け取ります。2.0 では反復処理/セッション形式を使用します。
client.audio.tts.synthesize(text, model=..., voice=...) を使用します。純粋なストリーミングでは client.audio.tts.stream(text, ...) を反復処理します。
埋め込みとリランキング
BatchTextEmbedding)は client.embeddings.jobs.create/fetch/wait に対応します。リランキングの TextReRank.call は client.rerank.create に対応し、結果の取得は resp.output.results[i] から resp.results[i] に変わります。
エージェントアプリケーションの呼び出し
incremental_output パラメーターが維持されます(フレームの形式を決定します)。フレームごとの出力は response.output.text から partial.text に変わります。
動作上の相違点
移行時に注意すべき動作上の相違点は、インターフェース名以外に以下のとおりです。
- エラー処理: 1.x ではレスポンス上の
status_code/codeを自查します。2.0 ではデフォルトで失敗時にDashScopeError例外ファミリーを送出します(e.code/e.status_code/e.request_id/e.messageを含む)。エンベロープ形式が必要な場合はClient(raise_on_error=False)を構築してください。 - ストリーミング出力: 1.x の
Generation.call(stream=True)はデフォルトで毎フレーム全文を再送します(増分にはincremental_output=True)。2.0 のストリームは常に増分です。Model Studio アプリケーション(apps.completions)はincremental_outputスイッチを維持します。 - 非同期タスクの待機: 1.x の
waitはデフォルトで無期限に待機し、タイムアウト時にエラーレスポンスを返します。2.0 のjobs.waitはデフォルトで合計 24 時間の予算と指数バックオフでのポーリングを行い、タスクが FAILED になると例外を送出します。 - レスポンス構造: 1.x では業務内容が
outputフィールドの下にラップされます(response.output.choices[...])。2.0 ではフラット化されており(response.choices[...])、resp.output_textやjob.succeededなどの簡易アクセスが追加されています。 - シグネチャ外パラメーター: 2.0 の各リソースメソッドは閉じた名前付きシグネチャを持ちます。1.x で透過的に渡していたモデル固有のパラメーターは
parameters={...}経由に変更が必要です(画像素材系はextra_input=)。
関連ドキュメント
- インストールとアップグレード: SDK のインストール
- テキスト生成: テキスト生成, ストリーミング出力, マルチターン対話
- 画像と動画: 画像生成, 動画生成
- 音声: 音声ファイルの文字起こし, リアルタイム音声認識, リアルタイム音声合成
- 埋め込みとリランキング: 埋め込み, リランキング
- アプリケーション呼び出し: Application calling