すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:OpenAI 互換 - Completions

最終更新日:Nov 12, 2025

Completions API は、コード補完やコンテンツの続きの生成などのテキスト補完シナリオ向けに設計されています。

重要

このドキュメントは、中国 (北京) リージョンにのみ適用されます。モデルを使用するには、中国 (北京) リージョンの API キー を使用する必要があります。

サポートされているモデル

現在、次の Qwen Coder モデルがサポートされています:

qwen2.5-coder-0.5b-instruct, qwen2.5-coder-1.5b-instruct, qwen2.5-coder-3b-instruct, qwen2.5-coder-7b-instruct, qwen2.5-coder-14b-instruct, qwen2.5-coder-32b-instruct, qwen-coder-turbo-0919, qwen-coder-turbo-latest, qwen-coder-turbo

前提条件

API キーを取得し、API キーを環境変数として設定している必要があります。OpenAI SDK を使用する場合は、SDK をインストールする必要があります。

使用方法

Completions API を使用してテキスト補完を行うことができます。次のシナリオがサポートされています:

  1. 指定されたプレフィックスから続くテキストを生成します。

  2. 指定されたプレフィックスとサフィックスに基づいて中間コンテンツを生成します。

この API は、指定されたサフィックスの前にコンテンツを生成することはサポートしていません。

使用方法

関数名、入力パラメーター、使用方法などの情報をプレフィックスで渡すことができます。Completions API は生成されたコードを返します。

プロンプトテンプレートは次のとおりです:

<|fim_prefix|>{prefix_content}<|fim_suffix|>

テンプレートでは、{prefix_content} は指定するプレフィックスです。

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

completion = client.completions.create(
  model="qwen2.5-coder-32b-instruct",
  prompt="<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
)

print(completion.choices[0].text)
import OpenAI from "openai";

const openai = new OpenAI(
    {
        // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: apiKey: "sk-xxx",
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.completions.create({
        model: "qwen2.5-coder-32b-instruct",
        prompt: "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
    });
    console.log(completion.choices[0].text)
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2.5-coder-32b-instruct",
    "prompt": "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>"
}'

プレフィックスとサフィックスに基づく中間コンテンツの生成

Completions API を使用すると、指定されたプレフィックスとサフィックスに基づいて中間コンテンツを生成できます。関数名、入力パラメーター、使用方法などの情報をプレフィックスで渡し、関数の戻りパラメーターなどの情報をサフィックスで渡すことができます。Completions API は生成されたコードを返します。

プロンプトテンプレートは次のとおりです:

<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>

テンプレートでは、{prefix_content} はプレフィックスで、{suffix_content} はサフィックスです。

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

prefix_content = f"""def reverse_words_with_special_chars(s):
'''
文字列内の各単語を逆順にします (アルファベット以外の文字の位置は保持)。単語の順序は維持されます。
    例:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    パラメーター:
        s (str): 入力文字列 (句読点を含む場合があります)。
    戻り値:
        str: 単語は逆順にされ、アルファベット以外の文字は元の位置に保持された処理済み文字列。
'''
"""

suffix_content = "return result"

completion = client.completions.create(
  model="qwen2.5-coder-32b-instruct",
  prompt=f"<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>",
)

print(completion.choices[0].text)
import OpenAI from 'openai';


const client = new OpenAI({
  baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
  apiKey: process.env.DASHSCOPE_API_KEY
});

const prefixContent = `def reverse_words_with_special_chars(s):
'''
文字列内の各単語を逆順にします (アルファベット以外の文字の位置は保持)。単語の順序は維持されます。
    例:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    パラメーター:
        s (str): 入力文字列 (句読点を含む場合があります)。
    戻り値:
        str: 単語は逆順にされ、アルファベット以外の文字は元の位置に保持された処理済み文字列。
'''
`;

const suffixContent = "return result";

async function main() {
  const completion = await client.completions.create({
    model: "qwen2.5-coder-32b-instruct",
    prompt: `<|fim_prefix|>${prefixContent}<|fim_suffix|>${suffixContent}<|fim_middle|>`
  });

  console.log(completion.choices[0].text);
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2.5-coder-32b-instruct",
    "prompt": "<|fim_prefix|>def reverse_words_with_special_chars(s):\n\"\"\"\n文字列内の各単語を逆順にします (アルファベット以外の文字の位置は保持)。単語の順序は維持されます。\n    例:\n    reverse_words_with_special_chars(\"Hello, world!\") -> \"olleH, dlrow!\"\n    パラメーター:\n        s (str): 入力文字列 (句読点を含む場合があります)。\n    戻り値:\n        str: 単語は逆順にされ、アルファベット以外の文字は元の位置に保持された処理済み文字列。\n\"\"\"\n<|fim_suffix|>return result<|fim_middle|>"
}'

リクエストとレスポンスのパラメーター

リクエストパラメーター

パラメーター

タイプ

必須

説明

model

string

はい

呼び出すモデルの名前。

prompt

string

はい

補完を生成するためのプロンプト。

max_tokens

integer

いいえ

レスポンスで返すトークンの最大数。

max_tokens の設定は、モデルの生成プロセスには影響しません。モデルによって生成されたトークン数が max_tokens の値を超えた場合、レスポンスは切り捨てられます。

temperature

float

いいえ

サンプリング温度。生成されるテキストの多様性をコントロールします。

温度の値が高いほど、生成されるテキストの多様性が高くなります。温度の値が低いほど、生成されるテキストの決定性が高くなります。

有効な値: [0, 2.0)。

「temperature」と「top_p」はどちらもテキストの多様性をコントロールするため、どちらか一方のみを設定してください。

top_p

float

いいえ

核サンプリングの確率のしきい値。生成されるテキストの多様性をコントロールします。

top_p の値が高いほど、生成されるテキストの多様性が高くなります。top_p の値が低いほど、生成されるテキストの決定性が高くなります。

有効な値: (0, 1.0]。

「temperature」と「top_p」はどちらもテキストの多様性をコントロールするため、どちらか一方のみを設定してください。

stream

boolean

いいえ

レスポンスにストリーミング出力を使用するかどうかを指定します。有効な値:

  • false (デフォルト): すべてのコンテンツが生成された後に結果が返されます。

  • true: 出力は増分的に生成され、ストリーミングされます。コンテンツの一部が生成されるたびに、チャンクがすぐに送信されます。

stream_options

object

いいえ

ストリーミング出力が有効な場合、このパラメーターを {"include_usage": true} に設定すると、出力の最終行に使用されたトークン数が表示されます。

stop

string or array

いいえ

モデルは、「stop」パラメーターで指定された文字列または token_id を出力しようとすると、テキストの生成を停止します。

不要なコンテンツをフィルターで除外するために停止シーケンスを指定します。

seed

integer

いいえ

「seed」パラメーターを設定すると、テキスト生成プロセスがより決定論的になります。これは通常、モデルが実行ごとに一貫した結果を生成するようにするために使用されます。

一貫した結果を得るには、各モデル呼び出しで指定するのと同じ「seed」値を渡し、他のパラメーターは変更しないようにします。そうすると、モデルは同じ結果を返そうとします。

有効な値: 0 から 231-1。

presence_penalty

float

いいえ

生成されるテキスト内のコンテンツの繰り返し度合いをコントロールします。

有効な値: [-2.0, 2.0]。正の値は繰り返しを減らし、負の値は繰り返しを増やします。

レスポンスパラメーター

パラメーター

タイプ

説明

id

string

呼び出しの一意の識別子。

choices

array

モデルから生成されたコンテンツの配列。

choices[0].text

string

リクエストに対して生成されたコンテンツ。

choices[0].finish_reason

string

モデルがコンテンツの生成を停止した理由。

choices[0].index

integer

配列内の現在の要素のインデックス。値は常に 0 です。

choices[0].logprobs

object

このパラメーターは常に空です。

created

integer

リクエストが作成されたときの UNIX タイムスタンプ。

model

string

リクエストに使用されたモデルの名前。

system_fingerprint

string

このパラメーターは常に空です。

object

string

オブジェクトタイプ。常に "text_completion" です。

usage

object

リクエストの使用状況の統計。

usage.prompt_tokens

integer

prompt から変換されたトークンの数。

usage.completion_tokens

integer

choices[0].text から変換されたトークンの数。

usage.total_tokens

integer

usage.prompt_tokensusage.completion_tokens の合計。

エラーコード

呼び出しが失敗した場合は、「エラーメッセージ」を参照してトラブルシューティングを行ってください。