Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • コンピューティング (dyno)
      • dyno の管理
      • dyno の概念
      • dyno の動作
      • dyno の参照資料
      • dyno のトラブルシューティング
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • 開発者ツール
    • コマンドライン
    • Heroku の VS Code 拡張機能
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Node.js アプリのトラブルシューティング
      • Heroku での Node.js の動作
      • Node.js の操作
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Ruby の操作
      • Heroku での Ruby の動作
      • Ruby アプリのトラブルシューティング
    • Python
      • Python の操作
      • Python でのバックグラウンドジョブ
      • Heroku での Python の動作
      • Django の使用
    • Java
      • Heroku での Java の動作
      • Java の操作
      • Maven の使用
      • Spring Boot の使用
      • Java アプリのトラブルシューティング
    • PHP
      • PHP の操作
      • Heroku での PHP の動作
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Heroku Postgres への移行
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Vector Database
    • Working with AI
    • Heroku Inference
      • AI Models
      • Inference Essentials
      • Heroku Inference Quick Start Guides
      • Inference API
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • AI
  • Heroku Inference
  • Inference API
  • Managed Inference and Agent APIの /v1/chat/completions

Managed Inference and Agent APIの /v1/chat/completions

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2025年04月07日(月)

Table of Contents

  • リクエストボディパラメータ
  • オブジェクトの tools 配列
  • tool_choice オブジェクト
  • オブジェクトの messages 配列
  • リクエストヘッダー

Heroku Managed Inference and Agent アドオンは現在パイロット段階です。パイロットの一環として提供される製品は本番環境での使用を目的としたものではなく、ベータサービスとみなされています。また、https://www.salesforce.com/company/legal/agreements.jsp​ のベータサービス条件が適用されます。

/v1/chat/completions​ エンドポイントは、提供された一連の入力メッセージに対する会話補完を生成します。モデルを指定したり、temperature​ などの生成設定を調整したり、応答をリアルタイムでストリーミングしたりすることができます。モデルが呼び出す tools​ を指定することもできます。

リクエストボディパラメータ

パラメータを使用して、会話補完を生成する方法を管理します。

必須パラメータ

フィールド 型 説明 例
model​ 文字列​ 補完に使用されるモデル。通常はこの値に INFERENCE_MODEL_ID​ 環境設定を使用します。 “claude-3-5-sonnet”
messages 配列​ モデルが次の応答を生成するために使用する messages​ オブジェクト (ユーザーとアシスタントの会話ターン) の配列。 [{“role”: “user”, “content”: “Why is Heroku so awesome?”}​]

オプションパラメータ

フィールド 型 説明 デフォルト 例
max_tokens​ 整数​ モデルが停止する前に生成できるトークンの最大数 (トークンは通常約 4 文字のテキストを表す)。
最大値:​ 4096
4096 100
stop​ 配列​ モデルにトークンの生成を停止させる文字列のリスト。モデルはレスポンス内でこのリストの文字列のいずれかに達すると、以降のトークンの生成を停止します (たとえば、["foo"]​ はモデルが文字列 "foo"​ を生成した後に (もし生成した場合に) モデルに出力の生成を停止させます)。 null [“foo”]
stream​ ブール値​ サーバーから送信されたイベントを介して応答を段階的にストリーミングするオプション (チャットインターフェースやタイムアウトエラーの回避に便利)。 false true
temperature​ フロート​ 応答のランダム性を制御します。値が 0 に近いほど高確率のトークンが優先され、より焦点が絞られた応答になります。また、値が 1.0 に近いほど生成されたトークンごとにより広範囲の選択肢からサンプリングされるため、より多様な応答が促進されます。
範囲:​ 0.0 ~ 1.0
​
1.0 0.2
tool_choice​ 列挙​またはオブジェクト​ tools​ に列挙されているツールの 1 つ以上をモデルに強制的に使用させるオプション (「tool_choice)​」を参照)。 “required” “auto”
tools​ 配列​ モデルが呼び出すことができるツール (「tools)​」を参照)。 [] 「tools」セクションの JSON の例​を参照
top_p​ フロート​ 次のトークンを生成するときに考慮するトークンの割合を累積確率で指定します。
範囲:​ 0~1.0
0.999 0.95

オブジェクトの tools 配列

tools​ を使用して、モデルが呼び出すことのできるツールの配列を提供できます (モデルがツールを呼び出す方法を指定するには、tool_choice​ を使用します)。 これが提供された場合、モデルは role="assistant"​ により生成されたメッセージの中で tool_calls​ を返す場合があり、指定されたツールを実行するようシステムに指示し、その結果を role="tool"​ のメッセージで返します。

これらのツールは拡張プロンプトの形式でモデルに提供され、それ以上の検証は行われないことに注意してください。 モデルは指定されたツール配列に存在しないツール名を作成する場合があります。これを避けるため、モデルが tool_calls​ のアシスタントメッセージを返したときに、ツール検証を実行することをお勧めします。

フィールド 型 説明 例
type​ 文字列​ ツールの種類
次のいずれか:​ “function” または “heroku_tool”​
“function”
function​ オブジェクト​ 呼び出される関数の詳細 (下の tools の「function オブジェクト​」を参照) 下の例にある function フィールドを参照)​

Heroku はツール呼び出しリクエストをシステムに返すのではなく、Heroku によって自動的に実行されるさまざまなカスタムの Heroku ツール​を提供します。

function オブジェクト

フィールド 型 説明 例
description​ 文字列​ 関数が行う処理についての説明。モデルが関数をいつどのように呼び出すかを選択するときに使用します。 “この関数は X を計算します”
name​ 文字列​ 呼び出される関数の名前 “example_function”
parameters​ オブジェクト​ 関数が JSON スキーマオブジェクトとして受け入れるパラメータ {“type”: “object”, “properties”: {}​}

tools 配列の例

[
    {
      "type": "function",
      "function": {
        "name": "get_current_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state, e.g. Portland, OR"
            }
          },
          "required": ["location"]
        }
      }
    }
  ]

tool_choice オブジェクト

tool_choice​ オブジェクトは、モデルが提供された tools​ をどのように使用するかを指定します。

これは、文字列 (none​、auto​、required​) または tool_choice​ オブジェクトの場合があります。 none​ はモデルがツールを呼び出さないことを意味します。auto​ の場合、モデルは提供されたツールを 0 ~多数呼び出すことができ、required​ の場合は、モデルがユーザーに応答する前に少なくとも 1 つ以上のツールを呼び出すことを強制します。

モデルに特定のツールの呼び出しを強制するには、tools​ オブジェクトで単一のツールを指定して "tools": "required"​ を渡すか、必要な関数を指定する tool_choice​ オブジェクトを渡してツールの選択を強制します。

フィールド 型 説明 例
type​ 列挙<文字列>​ ツールの種類
次のいずれか:​ function​ または heroku_tool​
“function”
function​ オブジェクト​ 関数の名前を含む JSON オブジェクト {“name”: “my_cool_function”}​

オブジェクトの messages 配列

messages​ オブジェクトはメッセージオブジェクトの配列です。

各メッセージはメッセージのスキーマを決定する role​ フィールドを指定する必要があります (以下を参照)。

現在サポートされているタイプは、user​、assistant​、system​、tool​ です。

最新のメッセージで assistant​ ロールを使用している場合、モデルはその最新メッセージの内容から回答を続行します。

role=user メッセージ

user​ メッセージは、モデルにクエリを送信し、応答を促す主な方法です。

フィールド 型 説明 必須かどうか 例
role​ 文字列​ メッセージのロール (user​) はい “user”
content​ 文字列​ ユーザーメッセージの内容 はい “天気はどうですか?”

role=assistant メッセージ

通常、assistant​ メッセージはモデルによってのみ生成されますが、独自のメッセージを作成したり、部分的に入力された assistant​ の応答を事前に入力したりすることで、モデルが次のターンに生成するコンテンツに影響を与えることができます。

フィールド 型 説明 必須かどうか 例
role​ 文字列​ メッセージのロール (assistant​) はい “assistant”
content​ 文字列​または配列​ アシスタントメッセージの内容 はい。ただし tool_calls​ が指定されている “こちらがその情報です”
refusal​ 文字列​または null​ アシスタントによる拒否メッセージ いいえ “それには答えられません”
tool_calls​ 配列​ モデルによって生成されたツール呼び出し いいえ [{“id”: “tool_call_12345”, “type”: “function”, “function”: {“name”: “my_cool_tool”, “arguments”: {“some_input”: 123}​}}]

role=system メッセージ

system​ メッセージは、モデルの応答に影響を与えるためにモデルに提供される、プロンプトの「プレフィックス」のようなものです。

フィールド 型 説明 必須かどうか 例
role​ 文字列​ メッセージのロール (system​) はい “system”
content​ 文字列​または配列​ システムメッセージの内容 はい “あなたは役に立つアシスタントです。あなたは簡潔さを好み、曖昧な表現を避けます。答えがわからないときはすぐに認めます”

role=tool メッセージ

tool​ メッセージオブジェクトを使用すると、指定されたツールの結果 (出力) をモデルに伝えることができます。

フィールド 型 説明 必須かどうか 例
role​ 文字列​ メッセージのロール (tool​) はい “get_weather”
content​ 文字列​または配列​ ツールメッセージの内容 はい “雨で気温は 84º です”
tool_call_id​ 文字列​ このメッセージが応答するツール呼び出し はい “toolu_02F9GXvY5MZAq8Lw3PTNQyJK”

tool_calls オブジェクトの例

tools​ によってオプションで指定されたツールの呼び出しをモデルが決定したときの tool_calls​ オブジェクトの例を以下に示します。

[
  {
    "role": "assistant",
    "tool_calls": [
      {
        "id": "toolu_02F9GXvY5MZAq8Lw3PTNQyJK",
        "type": "function",
        "function": {
            "name": "get_weather",
            "arguments": "{\"location\":\"Portland, OR\"}"
        }
      }
    ],
  }
]

リクエストヘッダー

次の例では、モデルリソースに「INFERENCE​」(デフォルト) というエイリアスがあると仮定しています。

ヘッダー 型 説明
Authorization 文字列​ AI アドオンの ‘INFERENCE_KEY’ の値 (API ベアラートークン)

すべての推論の curl リクエストには、Heroku 推論キーを含む Authorization​ ヘッダーを含める必要があります。

たとえば、すべての /v1/chat/completions​ リクエストはこちらのパターンに従います。

# If you're developing locally, run this to set your config vars as ENV variables.
eval $(heroku config -a $APP_NAME --shell | grep '^INFERENCE_' | sed 's/^/export /' | tee >(cat >&2))

curl $INFERENCE_URL/v1/chat/completions \
 -H "Authorization: Bearer $INFERENCE_KEY" \
 -d @- <<EOF
{
  "model": "$INFERENCE_MODEL_ID",
  "messages": [{"role": "user", "content": "Hello"}]
}
EOF

関連カテゴリー

  • Inference API
Managed Inference and Agent API の /v1/images/generations Managed Inference and Agent APIの /v1/embeddings

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices