> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure OpenAI

> Azure OpenAI Serviceのデプロイメントでテキスト生成・構造化出力・ファイル解析を実行

## 概要

Azure OpenAIツールを使用すると、自社のAzure OpenAI Serviceデプロイメントに対してプロンプトを実行できます。テキスト生成、JSONスキーマで検証される構造化出力、ドキュメント・画像の解析に対応しており、設定したデプロイメント・エンドポイント・APIキーを使用して実行されます。

## 主な機能

* `AZURE_OPENAI_INVOKE`
  * Azure OpenAIデプロイメントにプロンプト（`prompt`）を送信してテキストを生成
  * JSONスキーマ（`json_schema`）による構造化出力に対応。スキーマはトップレベルが `"type": "object"` である必要があります
* `AZURE_OPENAI_INVOKE_WITH_FILE`
  * プロンプトと一緒にファイルを送信し、ドキュメント・画像を解析
  * `file_link` には最大30件のファイルURLを指定可能。対応形式はPDF・PNG・JPEG/JPG・WEBP・GIF、1ファイルあたり最大100MB
  * `json_schema` による構造化出力にも対応（オブジェクト型スキーマのみ）

## 認証

Azure OpenAIツールはステップごとに設定します（未指定の場合は環境変数にフォールバックします）。

* `deployment` — Azure OpenAIのデプロイメント名（モデル名ではありません）。未指定時は `AZURE_OPENAI_MODEL_DEPLOYMENT_NAME` / `AZURE_OPENAI_DEPLOYMENT_NAME` を参照
* `endpoint` — リソースのエンドポイント（例: `https://my-resource.openai.azure.com/`）。未指定時は `AZURE_OPENAI_ENDPOINT` を参照。代わりに `resource_name`（リソースのサブドメイン、例: `my-resource`）を指定することも可能で、省略時はエンドポイントから導出されます
* `api_key` — Azure OpenAIのAPIキー（シークレットとして保存）。未指定時は `AZURE_OPENAI_API_KEY` を参照
* `api_version` — APIバージョン。未指定時は `AZURE_OPENAI_API_VERSION`、それもなければ `preview` を使用。ローリングのv1サーフェスには `preview` を、日付付きバージョンには `2025-04-01-preview` のような値を指定してください

オプション設定: `temperature`（0〜2、デフォルト0.7）、`is_reasoning_model`（注意事項を参照）、`timeout_seconds`（デフォルト300秒）。

**注意**: APIキーは機密情報として扱い、パブリックリポジトリにコミットしないでください。

## 使用例

### 例: JSONスキーマを使用した構造化出力

```yaml theme={null}
- id: extract_entities
  name: extract_entities
  tool: AZURE_OPENAI_INVOKE
  config:
    - name: deployment
      value: gpt-4o
    - name: endpoint
      value: https://my-resource.openai.azure.com/
    - name: api_key
      value: "{{secrets.AZURE_OPENAI_API_KEY}}"
    - name: temperature
      value: 0.1
  input:
    - name: prompt
      value: |
        テキストから人名と組織名を抽出してください：

        {{steps.input.result.content}}
    - name: json_schema
      value: |
        {
          "type": "object",
          "properties": {
            "people": {
              "type": "array",
              "items": {"type": "string"}
            },
            "organizations": {
              "type": "array",
              "items": {"type": "string"}
            }
          }
        }
```

### 例: ドキュメント解析

```yaml theme={null}
- id: analyze_document
  name: analyze_document
  tool: AZURE_OPENAI_INVOKE_WITH_FILE
  config:
    - name: deployment
      value: gpt-4o
    - name: endpoint
      value: https://my-resource.openai.azure.com/
    - name: api_key
      value: "{{secrets.AZURE_OPENAI_API_KEY}}"
  input:
    - name: prompt
      value: |
        この文書を分析して以下を提供してください：
        1. 簡潔な要約
        2. 議論された主要なトピック
        3. アクションアイテムや推奨事項
    - name: file_link
      value: "{{steps.upload_file.result.url}}"
```

## 注意事項

* `json_schema` はトップレベルが `"type": "object"` である必要があります。配列はオブジェクトのプロパティでラップしてください（例: `{ "type": "object", "properties": { "items": { "type": "array", "items": { "type": "string" } } } }`）。`json_schema` を指定しない場合、結果は文字列として返されます。
* 推論モデル（o系 / GPT-5）は `temperature` パラメータを受け付けません。Azureのデプロイメント名はユーザーが自由に付けられるため、デフォルトではデプロイメント名から推論モデルかどうかを推定します。明示的に制御したい場合は `is_reasoning_model` を設定してください。
* リクエストは `timeout_seconds`（デフォルト300秒 / 5分）でタイムアウトします。
* `AZURE_OPENAI_INVOKE_WITH_FILE` は1回の呼び出しで最大30ファイル、1ファイルあたり最大100MBまで対応します。非対応のファイル形式はエラーになります。
