次の方法で共有


GenAI プロンプト スキル

Note

現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

GenAI (Generateive AI) Prompt スキルは、Azure AI Foundry にデプロイされた大規模言語モデル (LLM) または Azure AI Foundry モデルの Azure OpenAI に対してチャット完了要求を実行します。 この機能を使用して、インデックスを作成して検索可能なコンテンツとして格納できる新しい情報を作成します。

GenAI プロンプト スキルがコンテンツの作成にどのように役立つかの例を次に示します。

  • 画像を言語化する
  • テキストの大きな一節を要約する
  • 複雑なコンテンツを簡略化する
  • プロンプトで明確に示すことができるその他のタスクを実行する

GenAI プロンプト スキルは、 最新のプレビュー REST API で使用できます。 このスキルは、テキスト、画像、およびテキストと画像を含む PDF などのマルチモーダル コンテンツをサポートします。

Tip

このスキルは、データ チャンク スキルと組み合わせて使用するのが一般的です。 次のチュートリアルでは、2 つの異なるデータ チャンク手法を使用した画像の言語化について説明します。

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

  • AI Foundry にデプロイされている チャット補完推論モデル (GPT モデル、Deepseek R#、Llama-4-Mavericj、Cohere-command-r など) を使用できます。 具体的には、GPT モデルでは、チャット入力候補 API エンドポイントのみがサポートされます。 Azure OpenAI Responses API (URI の一部として /openai/responses を含む) を使用するエンドポイントは、現在互換性がありません。

  • 画像の言語化では、画像の分析に使用するモデルによって、サポートされる画像形式が決まります。

  • GPT-5 モデルの場合、 temperature パラメーターは以前のモデルと同じ方法ではサポートされていません。 定義されている場合は、 1.0に設定する必要があります。他の値を指定するとエラーが発生するためです。

  • 課金は、使用するモデルの価格に基づきます。

Note

検索サービスはパブリック エンドポイント経由でモデルに接続するため、リージョンの場所の要件はありませんが、オールアップ Azure ソリューションを使用している場合は、 Azure AI Search リージョンAzure OpenAI モデル リージョン を確認して、データ所在地の要件がある場合は、適切なペアを見つける必要があります。

Prerequisites

  • Azure AI Foundry または Azure OpenAI にデプロイされたチャット完了モデル ( gpt-4o や互換性のあるオープン ソース ソフトウェア (OSS) モデルなど)。

    • Foundry ポータルの モデルとエンドポイント 、または Azure OpenAI リソース サブドメイン (*.openai.azure.com) からエンドポイントをコピーします。

    • スキル定義の Uri パラメーターにこのエンドポイントを指定します。

  • 認証は、Azure AI Foundry または Azure OpenAI リソースの API キーを使用してキーベースにすることができます。 ただし、ロールに割り当てられた 検索サービスのマネージド ID を 使用して、ロールベースのアクセスをお勧めします。

@odata.type

#Microsoft.Skills.Custom.ChatCompletionSkill

データ制限

Limit Notes
maxTokens 省略した場合、既定値は 1024 です。 最大値はモデルに依存します。
要求のタイムアウト 30 秒 (既定)。 timeout プロパティ (PT##S) でオーバーライドします。
Images Base 64 でエンコードされたイメージとイメージ URL がサポートされています。 サイズ制限はモデルに依存します。

スキルのパラメーター

Property タイプ Required Notes
uri 文字列 Yes デプロイされたモデルのパブリック エンドポイント。
apiKey 文字列 Cond.* モデルの秘密鍵。 マネージド ID を使用する場合は空白のままにします。
authIdentity 文字列 Cond.* ユーザー割り当て マネージド ID クライアント ID (Azure OpenAI のみ)。 システム割り当て ID を使用するには、空白のままにします。
commonModelParameters オブジェクト No temperaturemaxTokensなどの標準生成コントロール。
extraParameters オブジェクト No 基になるモデル API に渡されるディクショナリを開きます。
extraParametersBehavior 文字列 No "pass-through" | "drop" | "error" (既定の "error")。
responseFormat オブジェクト No モデルが テキスト、自由形式の JSON オブジェクト、または厳密に型指定された JSON スキーマを返すかどうかを制御します。 responseFormat ペイロードの例: {responseFormat: { type: text }}, {responseFormat: { type: json_object }}, {responseFormat: { type: json_schema }}

* apiKey、またはサービスのauthIdentity ID のいずれかを使用する必要があります。

commonModelParameters デフォルト

Parameter Default
model (デプロイの既定値)
frequencyPenalty 0
presencePenalty 0
maxTokens 1024
temperature 0.7
seed null
stop null

スキルの入力

入力名 タイプ Required Description
systemMessage 文字列 Yes システム レベルの命令 (例: "You are a helpful assistant.")。
userMessage 文字列 Yes ユーザー プロンプト。
text 文字列 No userMessageに追加される省略可能なテキスト (テキストのみのシナリオ)。
image string (Base 64 data-URL) No プロンプトにイメージを追加します (マルチモーダル モデルのみ)。
imageDetail string (low | high | auto) No Azure OpenAI マルチモーダル モデルの忠実性のヒント。

スキルの出力

出力名 タイプ Description
response string または JSON オブジェクト responseFormat.typeによって要求された形式のモデル出力。
usageInformation JSON オブジェクト モデル パラメーターのトークン数とエコー。

サンプル定義

テキストのみの要約

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "Summarizer",
  "description": "Summarizes document content.",
  "context": "/document",
  "timeout": "PT30S",
  "inputs": [
    { "name": "text", "source": "/document/content" },
    { "name": "systemMessage", "source": "='You are a concise AI assistant.'" },
    { "name": "userMessage", "source": "='Summarize the following text:'" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "apiKey": "<api-key>",
  "commonModelParameters": { "temperature": 0.3 }
}

テキスト + 画像の説明

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "Image Describer",
  "context": "/document/normalized_images/*",
  "inputs": [
    { "name": "image", "source": "/document/normalized_images/*/data" },
    { "name": "imageDetail", "source": "=high" },
    { "name": "systemMessage", "source": "='You are a useful AI assistant.'" },
    { "name": "userMessage", "source": "='Describe this image:'" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "authIdentity": "11111111-2222-3333-4444-555555555555",
  "responseFormat": { "type": "text" }
}

構造化された数値ファクト ファインダー

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "NumericalFactFinder",
  "context": "/document",
  "inputs": [
    { "name": "systemMessage", "source": "='You are an AI assistant that helps people find information.'" },
    { "name": "userMessage", "source": "='Find all the numerical data and put it in the specified fact format.'"}, 
    { "name": "text", "source": "/document/content" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "apiKey": "<api-key>",
  "responseFormat": {
    "type": "json_schema",
    "jsonSchemaProperties": {
      "name": "NumericalFactObj",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "facts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "number": { "type": "number" },
                "fact": { "type": "string" }
              },
              "required": [ "number", "fact" ]
            }
          }
        },
        "required": [ "facts" ],
        "additionalProperties": false
      }
    }
  }
}

サンプル出力 (切り捨て)

{
  "response": {
    "facts": [
      { "number": 32.0, "fact": "Jordan scored 32 points per game in 1986-87." },
      { "number": 6.0,  "fact": "He won 6 NBA championships." }
    ]
  },
  "usageInformation": {
    "usage": {
      "completion_tokens": 203,
      "prompt_tokens": 248,
      "total_tokens": 451
    }
  }
}

ベスト プラクティス

  • テキスト分割スキルを使用して長いドキュメントをチャンクし、モデルのコンテキスト ウィンドウ内に留めます。
  • 大量のインデックス作成の場合は、クエリ時間 RAG ワークロードのトークン クォータが影響を受けないように、このスキル専用の別のモデルデプロイを行います。
  • 待機時間を最小限に抑えるには、同じ Azure リージョンでモデルと Azure AI Search サービスを併置します。
  • responseFormat.json_schemaを使用して、信頼性の高い構造化抽出を行い、インデックス フィールドへのマッピングを容易にします。
  • インデクサーによって 1 分あたりのトークン数 (TPM) の制限が飽和している場合は、トークンの使用状況を監視し、 クォータの引き上げ要求 を送信します。

エラーと警告

Condition Result
見つからないか無効 uri Error
認証方法が指定されていない Error
apiKeyauthIdentityの両方が提供されます Error
マルチモーダル プロンプトのサポートされていないモデル Error
入力がモデル トークンの制限を超えています Error
モデルが無効な JSON を返す json_schema 警告 – で返される生の文字列 response

こちらも参照ください