API リファレンス
Chat Completions
POST https://api.platform.preferredai.jp/v1/chat/completions
与えられたチャットメッセージに対して、生成 AI モデルが応答を生成します。
現在サポートしているモデルは PLaMo Prime のみになります。
| モデル ID | コンテキスト長 | 最大アウトプットトークン数 | Reasoning対応 |
|---|---|---|---|
plamo-3.0-prime | 262,144 トークン | 20,480 トークン | 対応 |
plamo-3.1-prime | 262,144 トークン | 20,480 トークン | 対応 |
サンプル
curl の場合は PLaMoのAPIキーを PLAMO_API_KEY という環境変数に、 Pythonのライブラリの場合は OPENAI_API_KEY という環境変数にセットしてください。
リクエスト
$ 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"
}
EOFimport 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)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)レスポンス
{
"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
}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 形式でリクエストボディに指定してください。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| model | string | yes | 使用するモデルの ID を指定します。 | |
| messages | array of MessageObject | yes | チャットメッセージをリスト形式で設定します。各メッセージは、role と content を持ちます。 | |
| frequency_penalty | float | no | 0.0 | トークンの繰り返し頻度を制御します。有効な値は -2.0 から 2.0 の間の値です。 |
| max_tokens | integer or null | no | 20480 | 指定したトークン数まで生成した場合、そこで生成を打ち切ります。生成される内容によっては、これより早く生成が終了することがあります。モデルの最大アウトプットトークン数を超えて設定することはできません。 |
| n | integer | no | 1 | 1 回のリクエストで生成を実行する回数を指定します。有効な値は 1 か 2 です。 |
| presence_penalty | float | no | 0.0 | すでに出力されたトークンが再び出現することに対するペナルティを付与します。有効な値は -2.0 から 2.0 の間の値です。 |
| reasoning | ReasoningObject | no | null | reasoning 関連の設定を行えます。 |
| reasoning_effort | none or medium | no | none | reasoning をどれくらい行うかを選べます。サポートされているのは reasoning しない none か、標準的な量の reasoning を行う medium のみです。reasoning 内の effort を指定した場合、こちらは無視されます。 |
| response_format | ResponseFormatObject or null | no | null | レスポンスの出力形式を指定します。{ "type": "json_schema", "json_schema": {...} } を指定すると、指定した JSON Schema に従った JSON 形式のレスポンスを生成します。 |
| seed | integer or null | no | null | トークンを生成する際の乱数のシード値を指定します。内部状態によっては、同じシード値を指定しても異なる結果が得られることがあります。 |
| safety_identifier | string or null | no | null | ユーザを識別するための識別子です。PLaMo API側で不正を検知した場合などに利用する場合があります。サーバ側で永続化されうるため、個人情報や機密情報などは含めないでください。 |
| stop | array of strings, strings or null | no | null | 指定した単語が出てきた場合に生成を終了します。 |
| stream | boolean | no | false | ストリーミングレスポンスを利用する場合は 'true' を指定します。 |
| stream_options | StreamOptionObject or null | no | null | stream を有効にした場合のオプションを指定します。詳しくは後述の StreamOptionObject を参照してください。 |
| temperature | float | no | 0.3 | サンプリング温度を指定します。有効な値は 0 から 2.0 の間の値です。 |
| tools | array of ChatCompletionToolsObject | no | null | Function Calling で使う Function を設定します。 |
| tool_choice | ChatCompletionToolChoiceObject or "none" or "auto" or "required" | no | null | 呼び出す Function を指定します。 |
| top_p | float | no | 1.0 | トークンの生成結果をどこまで考慮するかを指定します。有効な値は 0 から 1.0 の間の値です。 |
web_search_options | WebSearchOptionsObject or null | no | null | 指定すると Web を検索し、検索結果を出典として引用しながら回答します。詳しくはWeb 検索を参照してください。 |
レスポンス(ストリーミングを利用しない場合)
| フィールド | 型 | 説明 |
|---|---|---|
| id | string | メッセージごとに固有の ID が付与されます。 |
| choices | array of ChoiceObject | チャット形式の生成結果を返します。 |
| created | integer | 生成した UNIX 時間を返します。 |
| model | string | モデル ID を返します。 |
| object | string | 'chat.completion' を固定で返します。 |
| usage | UsageObject | 利用状況に関するオブジェクトを返します。 |
| plamo_usage_details | array of PlamoUsageDetailObject or null | PLaMo 独自のトークン利用内訳(Web 検索回数、推論トークン等)を返します。 |
レスポンス(ストリーミングを利用する場合)
レスポンスはserver-sent eventsを利用して返されます。 なお、最後には event: [DONE] が返されます。
| フィールド | 型 | 説明 |
|---|---|---|
| id | string | メッセージごとに固有の ID が付与されます。 |
| choices | array of StreamChoiceObject | チャット形式の生成結果を返します。 |
| created | integer | 生成した UNIX 時間を返します。 |
| model | string | モデル ID を返します。 |
| object | string | 'chat.completion.chunk' を固定で返します。 |
| usage | UsageObject or null | 利用状況を保存したオブジェクトを返します。 |
| plamo_usage_details | array of PlamoUsageDetailObject or null | PLaMo 独自のトークン利用内訳を返します。最後の usage チャンクに含まれます。 |
max_tokensにおける注意事項
現在、APIは 入力トークン数+max_tokens がモデルのコンテキスト長を超えた場合にエラーを出力します。 実際に文字を生成した場合に、出力として出てくるトークン数がコンテキスト長に収まる場合であったとしても、入力の時点でエラーを出力します。
特に max_tokens は明示的に設定されなかった場合に20480が設定されます。そのため、入力がコンテキスト長未満だったとしてもエラーになります。 その場合は 入力トークン数+max_tokens がモデルのコンテキスト長を超えないように、明示的に指定をしてください。
Web 検索
web_search_options を指定すると、モデルが必要に応じて Web を検索し、検索結果を出典として引用しながら回答します。 対応モデルは plamo-3.1-prime です。
リクエスト
$ 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レスポンス
{
"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、seedn、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-research | Deep Research 用のモデルです。このモデル以外を指定した場合は Deep Research になりません。 |
サンプル
リクエスト
$ 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レスポンス
{
"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
}{
"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.completedresponse.output_item.added/response.web_search_call.searchingresponse.reasoning_summary_text.deltaresponse.output_text.delta/response.output_text.annotation.added
結果は作成から 24 時間保持されます。別のテナントが作成したジョブは取得できません(404 が返されます)。
リクエストパラメータ
以下のパラメータを JSON 形式でリクエストボディに指定してください。ここに挙げていないパラメータを指定するとエラーになります。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| model | string | yes | plamo-3.1-prime-deep-research を指定します。 | |
| input | string or array of MessageObject | yes | 調べたい内容を指定します。配列の場合は最後の user メッセージが質問になり、その後ろの assistant メッセージは調査の方針として使われます。system メッセージは使われません。 | |
| background | boolean | yes | true を指定します。true 以外はエラーになります。 | |
| stream | boolean | no | false | 作成時の true はサポートされていません。進捗は GET /v1/responses/{id}?stream=true で取得してください。 |
| tools | array | no | null | [{"type": "web_search", "filters": {"allowed_domains": [...], "blocked_domains": [...]}}] の形で、参照する出典のドメインを絞り込めます。web_search 以外の tool と filters 以外のオプションは指定できません。 |
| max_tool_calls | integer | no | 100 | 1 ジョブで行う検索・ページの閲覧・ページ内の検索の合計回数の上限です。有効な値は 1 から 100 です。上限に達すると、残りの章は省かれます。 |
| include | array of string | no | null | ["web_search_call.action.sources"] を指定すると、各 web_search_call の action.sources に検索結果の URL が含まれます。 |
| metadata | object | no | null | 任意の文字列のキーと値を指定できます。 |
| store | boolean | no | null | OpenAI 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 経由ではなくシステム内部に組み込むことも可能です。
サンプル
リクエスト
$ 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"}'レスポンス
{
"count": 4,
"max_model_len": 16384,
"tokens": [
1,
1,
35913,
37607
]
}リクエストパラメータ
以下のパラメータを JSON 形式でリクエストボディに指定してください。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| model | string | yes | 使用するモデルの ID を指定します。 | |
| prompt | string | messages か prompt のどちらかは必須 | トークンを計算したい文字列を指定します。 | |
| messages | array of MessageObject | messages か prompt のどちらかは必須 | トークンを計算したい文字列を指定します。Chat Completions エンドポイントで使用するチャットメッセージと同じ形式が使用できます。 | |
| add_special_tokens | boolean | no | true | BOSなどの特殊トークンを追加するかどうかを指定します。 |
| add_generation_prompt | boolean | no | true | 内部で付与する生成用の文字まで適応してtokenize計算をするかどうかを指定します。messages を指定した場合のみ有効です。 |
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| count | integer | 全体のトークン数です。 |
| max_model_len | integer | モデルが受け付けられる最大のトークン数です。 |
| tokens | array of integer | 実際の各トークンです。 |
Models API
利用可能なモデルなどのデータを取得します。
サンプル
リクエスト
curl の場合は PLaMoのAPIキーを PLAMO_API_KEY という環境変数に、 Pythonのライブラリの場合は OPENAI_API_KEY という環境変数にセットしてください。
$ curl \
-H "Authorization: Bearer ${PLAMO_API_KEY}" \
-H "Content-Type: application/json" \
"https://api.platform.preferredai.jp/v1/models"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)レスポンス
{
"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
利用可能なモデル一覧を取得します。
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| object | string | listが固定で入ります。 |
| data | array of ModelObject | モデルオブジェクトを返します |
Get Model
GET https://api.platform.preferredai.jp/v1/models/{model}
指定したモデルの情報を取得します。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| model | string | yes | 使用するモデルの ID を指定します。 |
レスポンス
ModelObject を返します。
オブジェクト一覧
MessageObject
チャットメッセージを示します。主に System, User, Assistant からなります。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| content | string | yes | メッセージの内容を示します。 | |
| role | string | yes | メッセージの役割を示します。'system', 'user', 'assistant' のどれかである必要があります。 | |
| name | string | no | 同じ role をさらに識別する際に利用する名前です。 | |
| reasoning | string | no | レスポンスで送られてきた reasoning を設定します。 | |
| reasoning_content | string | no | レスポンスで送られてきた reasoning_content を設定します。 |
ReasoningObject
reasoning 関連のパラメータを指定します。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| summary | string | no | null | reasoning 本文の要約を生成するかどうかを指示できます。 auto / concise / detailed のいずれかを指定します。省略時は要約生成を行いません。なお、要約生成に利用したトークンはそのままトークン利用としてカウントされます。 |
| effort | none or medium | no | none | reasoning をどれくらい行うかを選べます。サポートされているのは reasoning しない none か、標準的な量の reasoning を行う medium のみです。 reasoning_effort より優先されます。 |
ResponseFormatObject
レスポンスの出力形式を指定します。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| type | string | yes | json_schema を指定してください。 | |
| json_schema | ResponseFormatJsonSchemaObject | yes | モデルが生成する JSON の構造を JSON Schema で指定します。 |
ResponseFormatJsonSchemaObject
Structured Outputs で利用する JSON Schema の設定を指定します。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| name | string | yes | レスポンス形式の名前です。 | |
| description | string or null | no | null | レスポンス形式の説明です。 |
| schema | object | yes | レスポンスが従う JSON Schema オブジェクトです。JSON Schema の仕様については、JSON Schema を参照してください。 | |
| strict | boolean | no | false | true を指定すると、モデルは schema で定義した構造に厳密に従うレスポンスを生成します。利用できる JSON Schema には制限があります。 |
StreamOptionObject
ストリーミングレスポンスを利用したときのオプションを示します。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| include_usage | boolean | no | ストリーミングレスポンスが終わる直前に利用状況を返すか否かを指定します。 |
ChatCompletionToolsObject
Function Calling 機能で利用する Function を定義します。
| フィールド | 型 | 説明 |
|---|---|---|
| type | string | 'function' を指定してください。 |
| function | ChatCompletionsToolsFunctionObject | Function Calling 機能で利用する Function 本体を定義します。 |
ChatCompletionToolsFunctionObject
Function 本体を定義します。
| フィールド | 型 | 説明 |
|---|---|---|
| name | string | Function の名前です |
| description | string | Function の説明です。 |
| parameters | string | JSON Schema で表現される Function に与えることができる引数の定義です。JSON Schema についてはこちらを参照してください。 https://json-schema.org/understanding-json-schema |
ChatCompletionToolChoiceObject
どの Function を利用するかを定義します。
| フィールド | 型 | 説明 |
|---|---|---|
| type | string | 'function' を指定してください。 |
| function | ChatCompletionToolChoiceFunctionObject | 利用する Function を指定します。 |
ChatCompletionToolChoiceFunctionObject
Function を指定します。
| フィールド | 型 | 説明 |
|---|---|---|
| name | string | 'tools' パラメータで指定した Function の名前を指定してください。 |
ChoiceObject
Chat 形式で生成した発言の結果を示します。
| フィールド | 型 | 説明 |
|---|---|---|
| index | integer | 複数の ChoiceObject があった場合に何番目の Object かを返します。 |
| finish_reason | 'stop' or 'length' | 指定した単語が出てきた場合や、トークンの生成の結果自然に終了した場合は stop を、最大生成トークン数を超えた場合は length を返します。 |
| logprobs | null | 現在サポートされていません。 |
| message | ChatMessageObject | 発言の内容を返します。 |
| stop_reason | integer or string or null | 現在サポートされていません。 |
ChatMessageObject
発言の内容を示します。
| フィールド | 型 | 説明 |
|---|---|---|
| content | string | メッセージの内容を返します。 |
| reasoning | string or null | モデルの推論内容を返します。Reasoning対応モデルでのみ含まれる可能性があります。 |
| reasoning_content | string or null | reasoning と同じ内容が含まれます。 |
| annotations | array or null | Web 検索を使った場合に、回答が参照した出典を url_citation の形で返します。詳しくはWeb 検索を参照してください。 |
| role | string | メッセージの役割を返します。'system', 'user', 'assistant' のどれかになります。 |
| tool_calls | ChatMessageToolCallsObject | モデルによって生成された Function Calling の情報です。 |
ChatMessageToolCallsObject
Functionの結果を示します。
| フィールド | 型 | 説明 |
|---|---|---|
| id | string | 一意に割り振られたIDです。 |
| type | string | 'function' になります。 |
| function | ChatMessageToolCallsFunctionObject | Function Calling で呼び出された Function の情報です。 |
ChatMessageToolCallsFunctionObject
呼び出された Function の情報です。
| フィールド | 型 | 説明 |
|---|---|---|
| name | string | Function の名前を示します。 |
| arguments | string | JSON で記述された Function の引数です。 |
StreamChoiceObject
Chat 形式で生成した発言の結果をストリームで示します。
| フィールド | 型 | 説明 |
|---|---|---|
| index | integer | 複数の ChoiceObject があった場合に何番目の Object かを返します。 |
| finish_reason | 'stop' or 'length' | 指定した単語が出てきた場合や、トークンの生成の結果自然に終了した場合は stop を、最大生成トークン数を超えた場合は length を返します。 |
| logprobs | null | 現在サポートされていません。 |
| delta | ChatMessageDeltaObject | 追加で生成した発言の内容を返します。 |
| stop_reason | integer or string or null | 現在サポートされていません。 |
ChatMessageDeltaObject
発言の内容をストリームで示します。
| フィールド | 型 | 説明 |
|---|---|---|
| content | string | メッセージの内容を返します。role の割り当てが実行されたときなど、content フィールドが存在しない場合もあります。 |
| reasoning | string or null | モデルの推論内容を返します。Reasoning対応モデルでのみ含まれる可能性があります。 |
| reasoning_content | string or null | reasoning と同じ内容が含まれます。 |
| annotations | array or null | Web 検索を使った場合に、回答が参照した出典を url_citation の形で返します。ストリーミングでは最終チャンクに含まれます。 |
| role | string | メッセージの役割を返します。'system', 'user', 'assistant' のどれかになります。なお、新しい role が割り当てられたときのみ設定されます。 |
WebSearchOptionsObject
Web 検索の設定を指定します。
| パラメータ | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| search_context_size | low or medium or high | no | medium | 回答に使う文脈のうち、検索結果に割く量です。low は 1/4、medium は 1/2、high は全部を使います。 |
| user_location | object or null | no | null | {"type": "approximate", "approximate": {"country": "JP", "city": "Tokyo", "region": "Tokyo", "timezone": "Asia/Tokyo"}} の形で、利用者のおおよその地域を指定します。approximate の各フィールドは省略できます。 |
| filters | object or null | no | null | {"allowed_domains": ["example.com"]} の形で、参照する出典のドメインを絞り込みます。1〜100 件を指定できます。 |
UsageObject
トークン生成の結果などを示します。
| フィールド | 型 | 説明 |
|---|---|---|
| completion_tokens | integer | 生成したトークン数を返します。 |
PlamoUsageDetailObject
PLaMo 独自のモデル別・利用種別ごとの利用内訳を示します。
| フィールド | 型 | 説明 |
|---|---|---|
| model | string | 利用したモデルまたは擬似モデル名です(例: plamo-3.1-prime, web_search_basic)。 |
| usage_type | string | 利用種別です(例: main_response, web_search)。 |
| input_tokens | integer | 入力トークン数(または Web 検索のリクエスト単位数)です。 |
| output_tokens | integer | 出力トークン数です。 |
| token_consumed | integer | 消費された総トークン数(または消費単位)です。 |
ModelObject
モデルに関する情報を示します。
| フィールド | 型 | 説明 |
|---|---|---|
| id | string | モデルを識別する文字列です。APIのパラメータに利用できます。 |
| created | integer | モデルが作成された時刻です。 |
| object | string | このオブジェクトの種類を表します。現在は常に model が入ります。 |
| owned_by | string | モデルの所有者を示します。現在は常に system が入ります。 |
| max_model_len | integer | モデルのコンテキスト長を返します |
旧APIエンドポイントについて
https://platform.preferredai.jp/api/completion/v1 以下のAPIエンドポイントは移行されました。 新しいエンドポイントは https://api.platform.preferredai.jp/v1 です。
旧APIエンドポイントは引き続き利用可能ですが、非推奨です。新しいAPIエンドポイントをご利用ください。
