さくらのAI EngineがResponses APIとMessages APIに対応。さっそくResponses APIを動かしてみる

ネットアシスト開発チームのyu-kinjoです。以前さくらのクラウドのマネージドAI APIサービス「さくらのAI Engine」で gpt-oss-120b モデルを利用する方法をご紹介したのですが、その際には旧来のAPIである「Chat Completions API」を利用しました。

そこでOpenAI系のより新しいAPIである「Responses API」への追加対応について期待を寄せたのですが、この度、それに対応したというリリースが公開されました。

「さくらのAI Engine」Responses API・Messages API の提供開始

「Responses API」だけでなく、Anthropic系のAPIである「Messages API」への対応も行われており、こちらは preview/Kimi-K2.6 モデル利用可能なようです。

ではさっそく、前回実行し内容を今度は「Responses API」で実行してみたいと思います。

目次

Responses APIの実行

APIを利用開始するために必要な利用規約への同意や、アクセストークンの取得までの手順については、前回の記事をご確認ください。

アクセストークンが利用できる状態になりましたら前回同様、HTTP通信を行う curl コマンドでAPIの実行を試してみます。回答はJSON形式のテキストで返って来ますので jq コマンドに渡して整形しています。以下の例は、Windows 11の WSL2 上で動作する Ubuntu 24.04 上で実行しています。

URLが responses 用の物に切り替わっている他、APIが変わっている為渡すべき入力形式も変わっています。渡すべきプロンプトが「input」に変わっている、max_tokens が max_output_tokens になるなど変更が有りますので、詳細は公式のリファレンスをご確認ください。

質問内容ではVueとReactの比較を300文字でまとめるよう入力してみました。

公式リファレンス

$ curl -s --location 'https://api.ai.sakura.ad.jp/v1/responses' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <<ここにアクセストークンを設定>>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-oss-120b",
    "input": "VueとReactの比較を300文字以内にまとめてください",
    "temperature": 0.7,
    "max_output_tokens": 400,
    "stream": false
  }' | jq
 
{
  "id": "<IDが入る>",
  "created_at": 1779861818,
  "instructions": null,
  "metadata": null,
  "model": "gpt-oss-120b",
  "object": "response",
  "output": [
    {
      "id": "<IDが入る>",
      "summary": [],
      "type": "reasoning",
      "content": [
        {
          "text": "The user wants a comparison of Vue and React within 300 characters (Japanese). Must be concise, under 300 characters. Provide key points: design, learning curve, reactivity, ecosystem, performance, community. Keep under 300 characters. Let's count roughly. Japanese characters count as one each. Aim for ~250 characters. Provide bullet points? Use concise sentences. Ensure under limit. Let's craft ~260 characters.",
          "type": "reasoning_text"
        }
      ],
      "encrypted_content": null,
      "status": null
    },
    {
      "id": "<IDが入る>",
      "content": [
        {
          "annotations": [],
          "text": "Vueはテンプレート構文とリアクティブデータバインディングが直感的で学習コストが低く、シングルファイルコンポーネントでHTML・CSS・JSが一体化。ReactはJSXでJavaScript中心、関数コンポーネントとフックにより柔軟性が高く大規模アプリに向く。エコシステムはVueが公式プラグイン中心、Reactがサードパーティが豊富。どちらも高速だが、ReactはVirtual DOM最適化が成熟、Vueは軽量で設定不要が特徴。",
          "type": "output_text",
          "logprobs": null
        }
      ],
      "role": "assistant",
      "status": "completed",
      "type": "message"
    }
  ],
  "parallel_tool_calls": true,
  "temperature": 0.7,
  "tool_choice": "auto",
  "tools": [],
  "top_p": 1.0,
  "background": false,
  "max_output_tokens": 400,
  "max_tool_calls": null,
  "previous_response_id": null,
  "prompt": null,
  "reasoning": null,
  "service_tier": "auto",
  "status": "completed",
  "text": null,
  "top_logprobs": null,
  "truncation": "disabled",
  "usage": {
    "input_tokens": 78,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 235,
    "output_tokens_details": {
      "reasoning_tokens": 85,
      "tool_output_tokens": 0
    },
    "total_tokens": 313
  },
  "user": null
}

入力、出力形式共にResponsesAPIでの実行が出来ました。Responses APIでは返ってきたJSON内の “content” 内の “text” の部分が回答内容の本文になります。

まとめ

Responses API および Messages API に対応する事で、PC上で動作する既存のAIツール・エージェントや、開発済みのAI機能搭載Webシステムとの互換性が改善されました。既に大手AIベンダーのAPIを利用するように作られた物を、「さくらのAI Engine」のAPIを利用するように繋ぎ変える、といった事も今後はより行いやすくなるのではないかと思います。

お問い合わせ

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ネットアシスト開発部の yu-kinjo です。

【取得資格】
・さくらのクラウド検定
・AWS Certified Solutions Architect - Associate
・AWS Certified AI Practitioner
・Oracle 認定Javaプログラマ SE6
・JSTQB テスト技術者資格 ファンデーションレベル
・CIW (Certified Internet Webprofessional) ファンデーション
・XML技術者育成推進委員会 XMLマスター ベーシックV2
・基本情報処理技術者
・初級システムアドミニストレータ

目次