次の方法で共有


GenAI プロンプト スキル

Note

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

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

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

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

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

Tip

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

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

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

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

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

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

Note

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

Prerequisites

  • Azure OpenAI in Foundry Models リソースまたは Foundry プロジェクト

  • リソースまたはプロジェクトにデプロイされているサポートされているモデル

    • Azure OpenAI の場合は、Azure portal の openai.azure.comページから、 ドメインを持つエンドポイントをコピーします。 このエンドポイントは、このスキルの Uri パラメーターに使用します。

    • Foundry の場合は、Foundry ポータルの モデル パイプラインからデプロイの URI をコピーします。 このエンドポイントは、このスキルの Uri パラメーターに使用します。

  • 認証は、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 デプロイされたモデルのパブリック エンドポイント。 サポートされているドメインは次のとおりです。

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com
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 文字列(Base 64 data-URL) No プロンプトにイメージを追加します (マルチモーダル モデルのみ)。
imageDetail string (low | high | auto) No Azure OpenAI マルチモーダル モデルの忠実性に関するヒント。

スキルの出力

出力名 タイプ Description
response 文字列 または 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
    }
  }
}

ベスト プラクティス

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

エラーと警告

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

こちらも参照ください