Skip to content

API リファレンス ​

Chat Completions ​

POST https://api.platform.preferredai.jp/v1/chat/completions

与えられたチャットメッセージに対して、生成 AI モデルが応答を生成します。

現在サポートしているモデルは PLaMo Prime のみになります。

モデル IDコンテキスト長最大アウトプットトークン数Reasoning対応
plamo-3.0-prime262,144 トークン20,480 トークン対応
plamo-3.1-prime262,144 トークン20,480 トークン対応

サンプル ​

curl の場合は PLaMoのAPIキーを PLAMO_API_KEY という環境変数に、 Pythonのライブラリの場合は OPENAI_API_KEY という環境変数にセットしてください。

リクエスト ​

bash
$ curl \
    -H "Authorization: Bearer ${PLAMO_API_KEY}" \
    -H "Content-Type: application/json" \
    "https://api.platform.preferredai.jp/v1/chat/completions" \
    -d @- << EOF
{
  "messages": [
    {
      "role": "system",
      "content": "あなたは旅行アドバイザーです"
    },
    {
      "role": "user",
      "content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"
    }
  ],
  "model": "plamo-3.0-prime"
}
EOF
python
import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    base_url="https://api.platform.preferredai.jp/v1",
    model="plamo-3.0-prime",
    streaming=True,
    # other params...,
)

messages=[
    {"role": "system", "content": "あなたは旅行アドバイザーです"},
    {"role": "user", "content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"},
]

for chunk in llm.stream(messages):
    print(chunk.content, end="", flush=True)
python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.platform.preferredai.jp/v1",
    # other params...,
)

completion = client.chat.completions.create(
    model="plamo-3.0-prime",
    messages=[
        {"role": "system", "content": "あなたは旅行アドバイザーです"},
        {"role": "user", "content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"},
    ],
    stream=True,
)

for chunk in completion:
    if chunk.choices and chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="", flush=True)

レスポンス ​

json

{
    "id": "chat-eb6da3a371c546c8a8c4629794328c5b",
    "object": "chat.completion",
    "created": 1733220118,
    "model": "plamo-3.0-prime",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "二次方程式の解の公式は以下の通りで....",
                "tool_calls": []
            },
            "logprobs": null,
            "finish_reason": "stop",
            "stop_reason": null
        }
    ],
    "usage": {
        "prompt_tokens": 169,
        "total_tokens": 394,
        "completion_tokens": 225
    },
    "prompt_logprobs": null
}
json
data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[{"index":0,"delta":{"role":"assistant"},"logprobs":null,"finish_reason":null}],"usage":{"prompt_tokens":143,"total_tokens":143,"completion_tokens":0}}

data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[{"index":0,"delta":{"content":"PL"},"logprobs":null,"finish_reason":null}],"usage":{"prompt_tokens":143,"total_tokens":144,"completion_tokens":1}}

data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[{"index":0,"delta":{"content":"a"},"logprobs":null,"finish_reason":null}],"usage":{"prompt_tokens":143,"total_tokens":145,"completion_tokens":2}}

data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[{"index":0,"delta":{"content":"Mo"},"logprobs":null,"finish_reason":null}],"usage":{"prompt_tokens":143,"total_tokens":146,"completion_tokens":3}}

data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[{"index":0,"delta":{"content":""},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":143,"total_tokens":148,"completion_tokens":5}}

data: {"id":"chat-e05656fa4721494a93d54410881f00c8","object":"chat.completion.chunk","created":1734345308,"model":"plamo-3.0-prime","choices":[],"usage":{"prompt_tokens":143,"total_tokens":148,"completion_tokens":5}}

data: [DONE]

/chat/completions エンドポイントでは、Reasoningに対応しているモデルの場合、 reasoning および reasoning_content をサポートしています。 非ストリーミング時のレスポンスでは各 choice.message に reasoning と reasoning_content が含まれます。 ストリーミング時(stream: true)は各チャンクの choice.delta に reasoning と reasoning_content が段階的に含まれます。

リクエストパラメータ ​

以下のパラメータを JSON 形式でリクエストボディに指定してください。

パラメータ型必須デフォルト値説明
modelstringyes使用するモデルの ID を指定します。
messagesarray of MessageObjectyesチャットメッセージをリスト形式で設定します。各メッセージは、role と content を持ちます。
frequency_penaltyfloatno0.0トークンの繰り返し頻度を制御します。有効な値は -2.0 から 2.0 の間の値です。
max_tokensinteger or nullno20480指定したトークン数まで生成した場合、そこで生成を打ち切ります。生成される内容によっては、これより早く生成が終了することがあります。モデルの最大アウトプットトークン数を超えて設定することはできません。
nintegerno11 回のリクエストで生成を実行する回数を指定します。有効な値は 1 か 2 です。
presence_penaltyfloatno0.0すでに出力されたトークンが再び出現することに対するペナルティを付与します。有効な値は -2.0 から 2.0 の間の値です。
reasoningReasoningObjectnonullreasoning 関連の設定を行えます。
reasoning_effortnone or mediumnononereasoning をどれくらい行うかを選べます。サポートされているのは reasoning しない none か、標準的な量の reasoning を行う medium のみです。reasoning 内の effort を指定した場合、こちらは無視されます。
response_formatResponseFormatObject or nullnonullレスポンスの出力形式を指定します。{ "type": "json_schema", "json_schema": {...} } を指定すると、指定した JSON Schema に従った JSON 形式のレスポンスを生成します。
seedinteger or nullnonullトークンを生成する際の乱数のシード値を指定します。内部状態によっては、同じシード値を指定しても異なる結果が得られることがあります。
safety_identifierstring or nullnonullユーザを識別するための識別子です。PLaMo API側で不正を検知した場合などに利用する場合があります。サーバ側で永続化されうるため、個人情報や機密情報などは含めないでください。
stoparray of strings, strings or nullnonull指定した単語が出てきた場合に生成を終了します。
streambooleannofalseストリーミングレスポンスを利用する場合は 'true' を指定します。
stream_optionsStreamOptionObject or nullnonullstream を有効にした場合のオプションを指定します。詳しくは後述の StreamOptionObject を参照してください。
temperaturefloatno0.3サンプリング温度を指定します。有効な値は 0 から 2.0 の間の値です。
toolsarray of ChatCompletionToolsObjectnonullFunction Calling で使う Function を設定します。
tool_choiceChatCompletionToolChoiceObject or "none" or "auto" or "required"nonull呼び出す Function を指定します。
top_pfloatno1.0トークンの生成結果をどこまで考慮するかを指定します。有効な値は 0 から 1.0 の間の値です。
web_search_optionsWebSearchOptionsObject or nullnonull指定すると Web を検索し、検索結果を出典として引用しながら回答します。詳しくはWeb 検索を参照してください。

レスポンス(ストリーミングを利用しない場合) ​

フィールド型説明
idstringメッセージごとに固有の ID が付与されます。
choicesarray of ChoiceObjectチャット形式の生成結果を返します。
createdinteger生成した UNIX 時間を返します。
modelstringモデル ID を返します。
objectstring'chat.completion' を固定で返します。
usageUsageObject利用状況に関するオブジェクトを返します。
plamo_usage_detailsarray of PlamoUsageDetailObject or nullPLaMo 独自のトークン利用内訳(Web 検索回数、推論トークン等)を返します。

レスポンス(ストリーミングを利用する場合) ​

レスポンスはserver-sent eventsを利用して返されます。 なお、最後には event: [DONE] が返されます。

フィールド型説明
idstringメッセージごとに固有の ID が付与されます。
choicesarray of StreamChoiceObjectチャット形式の生成結果を返します。
createdinteger生成した UNIX 時間を返します。
modelstringモデル ID を返します。
objectstring'chat.completion.chunk' を固定で返します。
usageUsageObject or null利用状況を保存したオブジェクトを返します。
plamo_usage_detailsarray of PlamoUsageDetailObject or nullPLaMo 独自のトークン利用内訳を返します。最後の usage チャンクに含まれます。

max_tokensにおける注意事項 ​

現在、APIは 入力トークン数+max_tokens がモデルのコンテキスト長を超えた場合にエラーを出力します。 実際に文字を生成した場合に、出力として出てくるトークン数がコンテキスト長に収まる場合であったとしても、入力の時点でエラーを出力します。

特に max_tokens は明示的に設定されなかった場合に20480が設定されます。そのため、入力がコンテキスト長未満だったとしてもエラーになります。 その場合は 入力トークン数+max_tokens がモデルのコンテキスト長を超えないように、明示的に指定をしてください。

Web 検索 ​

web_search_options を指定すると、モデルが必要に応じて Web を検索し、検索結果を出典として引用しながら回答します。 対応モデルは plamo-3.1-prime です。

リクエスト ​

bash
$ curl \
    -H "Authorization: Bearer ${PLAMO_API_KEY}" \
    -H "Content-Type: application/json" \
    "https://api.platform.preferredai.jp/v1/chat/completions" \
    -d @- << EOF
{
  "model": "plamo-3.1-prime",
  "messages": [
    {"role": "user", "content": "Preferred Networks の本社所在地は?"}
  ],
  "web_search_options": {
    "search_context_size": "low",
    "user_location": {
      "type": "approximate",
      "approximate": {"country": "JP", "city": "Tokyo", "timezone": "Asia/Tokyo"}
    }
  }
}
EOF

レスポンス ​

json
{
    "id": "chatcmpl-621c7cbd-a821-48b1-90b9-70c142934562",
    "object": "chat.completion",
    "model": "plamo-3.1-prime",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Preferred Networksの本社所在地は、東京都千代田区大手町1-6-1大手町ビルです。 ([preferred.jp](https://www.preferred.jp/ja/company))",
                "annotations": [
                    {
                        "type": "url_citation",
                        "url_citation": {
                            "url": "https://www.preferred.jp/ja/company",
                            "title": "会社概要 - 株式会社Preferred Networks",
                            "start_index": 52,
                            "end_index": 93
                        }
                    }
                ],
                "tool_calls": []
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 20796,
        "completion_tokens": 383,
        "total_tokens": 21179
    },
    "plamo_usage_details": [
        {"model": "plamo-3.1-prime", "usage_type": "main_response", "input_tokens": 20796, "output_tokens": 383, "token_consumed": 21179},
        {"model": "web_search_basic", "usage_type": "web_search", "input_tokens": 1, "output_tokens": 0, "token_consumed": 1}
    ]
}
  • 回答本文には、ページから引用した箇所の後ろに ([ドメイン](URL)) の形で出典のリンクが入ります。
  • message.annotations には、回答の参照した出典が url_citation として入ります。start_index / end_index は本文中の引用箇所を指し、検索結果からの引用は文末の幅 0 の位置を指します。
  • 検索の回数は plamo_usage_details の usage_type が web_search の項目の token_consumed です。料金は、トークン数と検索の回数に応じてかかります。
  • reasoning_effort と reasoning(summary を含む)を指定できます。stream を指定した場合は、検索の後に回答が届きます。
  • response_format に JSON Schema を指定した場合は、その形式で回答し、引用は返しません。
  • 出力の上限に達した場合は finish_reason が length になります。
  • 次のパラメータは指定できません(400 エラーになります)。
    • temperature、top_p、presence_penalty、frequency_penalty、seed
    • n、stop、logprobs、tools、tool_choice
  • 画像を含むメッセージでは Web 検索を使えません。

Deep Research API ​

POST https://api.platform.preferredai.jp/v1/responses

質問について Web を繰り返し検索し、引用付きのレポートを生成します。 OpenAI Responses API の background: true と同じ形の非同期ジョブです。 作成するとすぐに status: "queued" の Response オブジェクトが返ります。 生成には数分から数十分かかるため、返された id で結果を取得してください。

モデル ID説明
plamo-3.1-prime-deep-researchDeep Research 用のモデルです。このモデル以外を指定した場合は Deep Research になりません。

サンプル ​

リクエスト ​

bash
$ curl \
    -H "Authorization: Bearer ${PLAMO_API_KEY}" \
    -H "Content-Type: application/json" \
    "https://api.platform.preferredai.jp/v1/responses" \
    -d @- << EOF
{
  "model": "plamo-3.1-prime-deep-research",
  "input": "国内の生成 AI 規制の動向を調べてください",
  "background": true
}
EOF

レスポンス ​

json
{
    "id": "resp_3f9a1c...",
    "object": "response",
    "created_at": 1791272415.0,
    "status": "queued",
    "background": true,
    "model": "plamo-3.1-prime-deep-research",
    "output": [],
    "usage": null,
    "tool_usage": null,
    "error": null,
    "tools": [{"type": "web_search"}],
    "max_tool_calls": 100,
    "incomplete_details": null
}
json
{
    "id": "resp_3f9a1c...",
    "object": "response",
    "status": "completed",
    "output": [
        {
            "type": "web_search_call",
            "id": "ws_...",
            "status": "completed",
            "action": {"type": "search", "query": "生成AI 規制 日本", "queries": ["生成AI 規制 日本"]}
        },
        {
            "type": "reasoning",
            "id": "rs_...",
            "summary": [{"type": "summary_text", "text": "..."}]
        },
        {
            "type": "message",
            "id": "msg_...",
            "role": "assistant",
            "status": "completed",
            "content": [
                {
                    "type": "output_text",
                    "text": "# 国内の生成 AI 規制の動向\n\n...",
                    "annotations": [
                        {"type": "url_citation", "start_index": 120, "end_index": 180, "url": "https://...", "title": "..."}
                    ]
                }
            ]
        }
    ],
    "usage": {"input_tokens": 182340, "output_tokens": 21530, "total_tokens": 203870},
    "tool_usage": {"web_search": {"num_requests": 18}}
}

結果の取得 ​

エンドポイント説明
GET /v1/responses/{id}ジョブの現在の Response オブジェクトを返します。status は queued → in_progress → completed / incomplete / failed / cancelled と進みます。
GET /v1/responses/{id}?stream=true進捗を server-sent events で返します。すでに発生したイベントから順に送ります。接続が切れた場合は、受け取った最後のイベントの sequence_number を starting_after に指定すると続きから受け取れます。
POST /v1/responses/{id}/cancelジョブを中止します。中止したジョブは status: "cancelled" になります。

ストリーミングでは OpenAI Responses API と同じ response.* イベントが届きます。主なイベントは次のとおりです。

  • response.queued / response.in_progress / response.completed
  • response.output_item.added / response.web_search_call.searching
  • response.reasoning_summary_text.delta
  • response.output_text.delta / response.output_text.annotation.added

結果は作成から 24 時間保持されます。別のテナントが作成したジョブは取得できません(404 が返されます)。

リクエストパラメータ ​

以下のパラメータを JSON 形式でリクエストボディに指定してください。ここに挙げていないパラメータを指定するとエラーになります。

パラメータ型必須デフォルト値説明
modelstringyesplamo-3.1-prime-deep-research を指定します。
inputstring or array of MessageObjectyes調べたい内容を指定します。配列の場合は最後の user メッセージが質問になり、その後ろの assistant メッセージは調査の方針として使われます。system メッセージは使われません。
backgroundbooleanyestrue を指定します。true 以外はエラーになります。
streambooleannofalse作成時の true はサポートされていません。進捗は GET /v1/responses/{id}?stream=true で取得してください。
toolsarraynonull[{"type": "web_search", "filters": {"allowed_domains": [...], "blocked_domains": [...]}}] の形で、参照する出典のドメインを絞り込めます。web_search 以外の tool と filters 以外のオプションは指定できません。
max_tool_callsintegerno1001 ジョブで行う検索・ページの閲覧・ページ内の検索の合計回数の上限です。有効な値は 1 から 100 です。上限に達すると、残りの章は省かれます。
includearray of stringnonull["web_search_call.action.sources"] を指定すると、各 web_search_call の action.sources に検索結果の URL が含まれます。
metadataobjectnonull任意の文字列のキーと値を指定できます。
storebooleannonullOpenAI Responses API との互換のために受け付けます。値によらず、結果は作成から 24 時間保持されます。

注意事項 ​

  • 1 ジョブの実行時間の上限は約 25 分です。超えた場合は status: "failed"、error.code: "timeout" で終了します。
  • 調査の一部の処理(章の見出しの生成など)が失敗した場合は、その処理を飛ばしてレポートを最後まで書き、status: "incomplete" で終わります。何が欠けたかは reasoning の summary に英語で書かれます。
  • 料金は、レポートの生成にかかったトークン数と、tool_usage.web_search.num_requests の検索回数に応じてかかります。

Tokenize API ​

POST https://api.platform.preferredai.jp/v1/tokenize

与えられた文字列をトークンに変換し、トークン列およびトークン数を返します。 なお、Chat Completion ではチャットに変換されるため、さまざまなプロンプトが自動で挿入されます。 そのため、このトークン数と実際にテキストが生成される際のトークン数とは厳密に一致はしません。

また、PLaMo で利用しているTokenizerは公開されているため、同様の機能を API 経由ではなくシステム内部に組み込むことも可能です。

サンプル ​

リクエスト ​

bash
$ curl \
    -H "Authorization: Bearer ${PLAMO_API_KEY}" \
    -H "Content-Type: application/json" \
    "https://api.platform.preferredai.jp/v1/tokenize" \
    -d '{"prompt": "こんにちは", "model": "plamo-3.0-prime"}'

レスポンス ​

bash
{
    "count": 4,
    "max_model_len": 16384,
    "tokens": [
        1,
        1,
        35913,
        37607
    ]
}

リクエストパラメータ ​

以下のパラメータを JSON 形式でリクエストボディに指定してください。

パラメータ型必須デフォルト値説明
modelstringyes使用するモデルの ID を指定します。
promptstringmessages か prompt のどちらかは必須トークンを計算したい文字列を指定します。
messagesarray of MessageObjectmessages か prompt のどちらかは必須トークンを計算したい文字列を指定します。Chat Completions エンドポイントで使用するチャットメッセージと同じ形式が使用できます。
add_special_tokensbooleannotrueBOSなどの特殊トークンを追加するかどうかを指定します。
add_generation_promptbooleannotrue内部で付与する生成用の文字まで適応してtokenize計算をするかどうかを指定します。messages を指定した場合のみ有効です。

レスポンス ​

フィールド型説明
countinteger全体のトークン数です。
max_model_lenintegerモデルが受け付けられる最大のトークン数です。
tokensarray of integer実際の各トークンです。

Models API ​

利用可能なモデルなどのデータを取得します。

サンプル ​

リクエスト ​

curl の場合は PLaMoのAPIキーを PLAMO_API_KEY という環境変数に、 Pythonのライブラリの場合は OPENAI_API_KEY という環境変数にセットしてください。

bash
$ curl \
    -H "Authorization: Bearer ${PLAMO_API_KEY}" \
    -H "Content-Type: application/json" \
    "https://api.platform.preferredai.jp/v1/models"
python
from openai import OpenAI
client = OpenAI(
    base_url="https://api.platform.preferredai.jp/v1",
)

models = client.models.list()
print(models)

model_name = models.data[0].id
model = client.models.retrieve(model_name)
print(model)

レスポンス ​

json
{
    "data": [
        {
            "id": "plamo-3.0-prime",
            "created": 1732978800,
            "object": "model",
            "owned_by": "system",
            "max_model_len": 262144
        }
    ],
    "object": "list"
}

Index Models ​

GET https://api.platform.preferredai.jp/v1/models

利用可能なモデル一覧を取得します。

レスポンス ​

フィールド型説明
objectstringlistが固定で入ります。
dataarray of ModelObjectモデルオブジェクトを返します

Get Model ​

GET https://api.platform.preferredai.jp/v1/models/{model}

指定したモデルの情報を取得します。

パスパラメータ ​

パラメータ型必須説明
modelstringyes使用するモデルの ID を指定します。

レスポンス ​

ModelObject を返します。

オブジェクト一覧 ​

MessageObject ​

チャットメッセージを示します。主に System, User, Assistant からなります。

パラメータ型必須デフォルト値説明
contentstringyesメッセージの内容を示します。
rolestringyesメッセージの役割を示します。'system', 'user', 'assistant' のどれかである必要があります。
namestringno同じ role をさらに識別する際に利用する名前です。
reasoningstringnoレスポンスで送られてきた reasoning を設定します。
reasoning_contentstringnoレスポンスで送られてきた reasoning_content を設定します。

ReasoningObject ​

reasoning 関連のパラメータを指定します。

パラメータ型必須デフォルト値説明
summarystringnonullreasoning 本文の要約を生成するかどうかを指示できます。 auto / concise / detailed のいずれかを指定します。省略時は要約生成を行いません。なお、要約生成に利用したトークンはそのままトークン利用としてカウントされます。
effortnone or mediumnononereasoning をどれくらい行うかを選べます。サポートされているのは reasoning しない none か、標準的な量の reasoning を行う medium のみです。 reasoning_effort より優先されます。

ResponseFormatObject ​

レスポンスの出力形式を指定します。

パラメータ型必須デフォルト値説明
typestringyesjson_schema を指定してください。
json_schemaResponseFormatJsonSchemaObjectyesモデルが生成する JSON の構造を JSON Schema で指定します。

ResponseFormatJsonSchemaObject ​

Structured Outputs で利用する JSON Schema の設定を指定します。

パラメータ型必須デフォルト値説明
namestringyesレスポンス形式の名前です。
descriptionstring or nullnonullレスポンス形式の説明です。
schemaobjectyesレスポンスが従う JSON Schema オブジェクトです。JSON Schema の仕様については、JSON Schema を参照してください。
strictbooleannofalsetrue を指定すると、モデルは schema で定義した構造に厳密に従うレスポンスを生成します。利用できる JSON Schema には制限があります。

StreamOptionObject ​

ストリーミングレスポンスを利用したときのオプションを示します。

パラメータ型必須デフォルト値説明
include_usagebooleannoストリーミングレスポンスが終わる直前に利用状況を返すか否かを指定します。

ChatCompletionToolsObject ​

Function Calling 機能で利用する Function を定義します。

フィールド型説明
typestring'function' を指定してください。
functionChatCompletionsToolsFunctionObjectFunction Calling 機能で利用する Function 本体を定義します。

ChatCompletionToolsFunctionObject ​

Function 本体を定義します。

フィールド型説明
namestringFunction の名前です
descriptionstringFunction の説明です。
parametersstringJSON Schema で表現される Function に与えることができる引数の定義です。JSON Schema についてはこちらを参照してください。 https://json-schema.org/understanding-json-schema

ChatCompletionToolChoiceObject ​

どの Function を利用するかを定義します。

フィールド型説明
typestring'function' を指定してください。
functionChatCompletionToolChoiceFunctionObject利用する Function を指定します。

ChatCompletionToolChoiceFunctionObject ​

Function を指定します。

フィールド型説明
namestring'tools' パラメータで指定した Function の名前を指定してください。

ChoiceObject ​

Chat 形式で生成した発言の結果を示します。

フィールド型説明
indexinteger複数の ChoiceObject があった場合に何番目の Object かを返します。
finish_reason'stop' or 'length'指定した単語が出てきた場合や、トークンの生成の結果自然に終了した場合は stop を、最大生成トークン数を超えた場合は length を返します。
logprobsnull現在サポートされていません。
messageChatMessageObject発言の内容を返します。
stop_reasoninteger or string or null現在サポートされていません。

ChatMessageObject ​

発言の内容を示します。

フィールド型説明
contentstringメッセージの内容を返します。
reasoningstring or nullモデルの推論内容を返します。Reasoning対応モデルでのみ含まれる可能性があります。
reasoning_contentstring or nullreasoning と同じ内容が含まれます。
annotationsarray or nullWeb 検索を使った場合に、回答が参照した出典を url_citation の形で返します。詳しくはWeb 検索を参照してください。
rolestringメッセージの役割を返します。'system', 'user', 'assistant' のどれかになります。
tool_callsChatMessageToolCallsObjectモデルによって生成された Function Calling の情報です。

ChatMessageToolCallsObject ​

Functionの結果を示します。

フィールド型説明
idstring一意に割り振られたIDです。
typestring'function' になります。
functionChatMessageToolCallsFunctionObjectFunction Calling で呼び出された Function の情報です。

ChatMessageToolCallsFunctionObject ​

呼び出された Function の情報です。

フィールド型説明
namestringFunction の名前を示します。
argumentsstringJSON で記述された Function の引数です。

StreamChoiceObject ​

Chat 形式で生成した発言の結果をストリームで示します。

フィールド型説明
indexinteger複数の ChoiceObject があった場合に何番目の Object かを返します。
finish_reason'stop' or 'length'指定した単語が出てきた場合や、トークンの生成の結果自然に終了した場合は stop を、最大生成トークン数を超えた場合は length を返します。
logprobsnull現在サポートされていません。
deltaChatMessageDeltaObject追加で生成した発言の内容を返します。
stop_reasoninteger or string or null現在サポートされていません。

ChatMessageDeltaObject ​

発言の内容をストリームで示します。

フィールド型説明
contentstringメッセージの内容を返します。role の割り当てが実行されたときなど、content フィールドが存在しない場合もあります。
reasoningstring or nullモデルの推論内容を返します。Reasoning対応モデルでのみ含まれる可能性があります。
reasoning_contentstring or nullreasoning と同じ内容が含まれます。
annotationsarray or nullWeb 検索を使った場合に、回答が参照した出典を url_citation の形で返します。ストリーミングでは最終チャンクに含まれます。
rolestringメッセージの役割を返します。'system', 'user', 'assistant' のどれかになります。なお、新しい role が割り当てられたときのみ設定されます。

WebSearchOptionsObject ​

Web 検索の設定を指定します。

パラメータ型必須デフォルト値説明
search_context_sizelow or medium or highnomedium回答に使う文脈のうち、検索結果に割く量です。low は 1/4、medium は 1/2、high は全部を使います。
user_locationobject or nullnonull{"type": "approximate", "approximate": {"country": "JP", "city": "Tokyo", "region": "Tokyo", "timezone": "Asia/Tokyo"}} の形で、利用者のおおよその地域を指定します。approximate の各フィールドは省略できます。
filtersobject or nullnonull{"allowed_domains": ["example.com"]} の形で、参照する出典のドメインを絞り込みます。1〜100 件を指定できます。

UsageObject ​

トークン生成の結果などを示します。

フィールド型説明
completion_tokensinteger生成したトークン数を返します。

PlamoUsageDetailObject ​

PLaMo 独自のモデル別・利用種別ごとの利用内訳を示します。

フィールド型説明
modelstring利用したモデルまたは擬似モデル名です(例: plamo-3.1-prime, web_search_basic)。
usage_typestring利用種別です(例: main_response, web_search)。
input_tokensinteger入力トークン数(または Web 検索のリクエスト単位数)です。
output_tokensinteger出力トークン数です。
token_consumedinteger消費された総トークン数(または消費単位)です。

ModelObject ​

モデルに関する情報を示します。

フィールド型説明
idstringモデルを識別する文字列です。APIのパラメータに利用できます。
createdintegerモデルが作成された時刻です。
objectstringこのオブジェクトの種類を表します。現在は常に model が入ります。
owned_bystringモデルの所有者を示します。現在は常に system が入ります。
max_model_lenintegerモデルのコンテキスト長を返します

旧APIエンドポイントについて ​

https://platform.preferredai.jp/api/completion/v1 以下のAPIエンドポイントは移行されました。 新しいエンドポイントは https://api.platform.preferredai.jp/v1 です。

旧APIエンドポイントは引き続き利用可能ですが、非推奨です。新しいAPIエンドポイントをご利用ください。