ドキュメントが一新されました!旧ドキュメントは doc.newapi.pro
New APINew API
利用ガイドインストールAPIリファレンスAIアプリケーションSkillsヘルプ&サポートビジネス協力
コンソール

チャネル

ここではNewAPIのアップストリームチャネルを管理できます

チャネル

チャネル作成/編集ページ

チャネル管理1

チャネル管理2

チャネル管理3

パラメータ上書き設定ドキュメント

概要

パラメータ上書きシステムは、シンプル上書きモード(前方互換性あり)と高度な操作モードの2つのモードをサポートしています。柔軟な条件判断と操作タイプにより、複雑なパラメータの動的調整を実現できます。

使用方法

シンプル上書きモード

前方互換性があり、上書きするフィールドと値を直接指定します。システムはこれらのフィールドを元のリクエストにマージします。

{
  "temperature": 0.8,
  "max_tokens": 2000,
  "model": "gpt-4"
}

高度な操作モード

operations 配列を介して複雑なパラメータ操作を定義し、条件判断、配列操作、文字列結合、文字列正規化などの高度な機能をサポートしています。

基本構造

{
  "operations": [
    {
      "path": "temperature",
      "mode": "set",
      "value": 0.8,
      "conditions": [...],
      "logic": "AND"
    }
  ]
}

フィールドの説明(必要に応じて入力):

  • mode: 必須
  • path: set / delete / append / prepend / trim_prefix / trim_suffix / ensure_prefix / ensure_suffix / trim_space / to_lower / to_upper / replace / regex_replace に適用
  • value: set / append / prepend / trim_prefix / trim_suffix / ensure_prefix / ensure_suffix でよく使用
  • from / to: move / copy / replace / regex_replace に適用
  • keep_origin: set(既存の値がある場合はスキップ)およびオブジェクトマージ時の append / prepend に使用

操作モード (mode)

1. set - 値を設定

指定されたパスの値を設定します

{
  "path": "temperature",
  "mode": "set",
  "value": 0.8,
  "keep_origin": false
}

パラメータ説明:

  • keep_origin: true の場合、ターゲットパスに既に値が存在すれば設定をスキップします

2. delete - フィールドを削除

指定されたパスのフィールドを削除します

{
  "path": "messages.0",
  "mode": "delete"
}

3. move - フィールドを移動

あるフィールドの値を別の位置に移動します

{
  "mode": "move",
  "from": "messages.0.content",
  "to": "system"
}

4. append - 内容を追加

既存の内容の後に新しい内容を追加します

{
  "path": "messages.0.content",
  "mode": "append",
  "value": "\n\n请用中文回答。"
}

サポートされるデータ型:

  • 文字列: 元の文字列の末尾に追加
  • 配列: 配列の末尾に要素を追加(単一要素または配列の追加をサポート)
  • オブジェクト: オブジェクトプロパティをマージ

5. prepend - 内容を前置

既存の内容の前に新しい内容を追加します

{
  "path": "messages.0.content",
  "mode": "prepend",
  "value": "重要提示:请仔细阅读以下内容。\n\n"
}

サポートされるデータ型:

  • 文字列: 元の文字列の先頭に前置
  • 配列: 配列の先頭に要素を追加(単一要素または配列の追加をサポート)
  • オブジェクト: オブジェクトプロパティをマージ

6. copy - フィールドをコピー

from で指定されたパスの値を to で指定されたパスにコピーします(ソースフィールドは削除されません)

{
  "mode": "copy",
  "from": "model",
  "to": "original_model"
}

パラメータ要件:

  • from / to: 必須
  • ソースパスが存在しない場合はエラーになります

7. trim_prefix - プレフィックスを削除

文字列フィールドから指定されたプレフィックスを削除します(一致しない場合は変更なし)

{
  "path": "model",
  "mode": "trim_prefix",
  "value": "openai/"
}

パラメータ要件:

  • value: 必須

8. trim_suffix - サフィックスを削除

文字列フィールドから指定されたサフィックスを削除します(一致しない場合は変更なし)

{
  "path": "model",
  "mode": "trim_suffix",
  "value": "-latest"
}

パラメータ要件:

  • value: 必須

9. ensure_prefix - プレフィックスを保証

文字列フィールドが指定されたプレフィックスで始まることを保証します(既に存在する場合は変更なし)

{
  "path": "model",
  "mode": "ensure_prefix",
  "value": "openai/"
}

パラメータ要件:

  • value: 必須であり、空文字列であってはなりません

10. ensure_suffix - サフィックスを保証

文字列フィールドが指定されたサフィックスで終わることを保証します(既に存在する場合は変更なし)

{
  "path": "model",
  "mode": "ensure_suffix",
  "value": "-latest"
}

パラメータ要件:

  • value: 必須であり、空文字列であってはなりません

11. trim_space - 先頭と末尾の空白を削除

文字列フィールドに対して TrimSpace を実行します(スペース、改行、タブなどが削除されます)

{
  "path": "model",
  "mode": "trim_space"
}

12. to_lower - 小文字に変換

文字列フィールドを小文字に変換します

{
  "path": "model",
  "mode": "to_lower"
}

13. to_upper - 大文字に変換

文字列フィールドを大文字に変換します

{
  "path": "model",
  "mode": "to_upper"
}

14. replace - 文字列置換

文字列フィールドに対して部分文字列置換を実行します

{
  "path": "model",
  "mode": "replace",
  "from": "openai/",
  "to": ""
}

パラメータ要件:

  • from: 必須であり、空文字列であってはなりません
  • to: オプション、省略時は空文字列と同等

15. regex_replace - 正規表現置換

文字列フィールドに対して正規表現マッチング置換を実行します

{
  "path": "model",
  "mode": "regex_replace",
  "from": "^gpt-",
  "to": "openai/gpt-"
}

パラメータ要件:

  • from: 必須(正規表現、Go regexp 構文)
  • to: オプション、省略時は空文字列と同等

条件判断

conditions 配列を介して操作実行の条件を設定します。条件が満たされた場合にのみ対応する操作が実行されます。

条件構造

{
  "conditions": [
    {
      "path": "model",
      "mode": "contains",
      "value": "gpt-4",
      "invert": false,
      "pass_missing_key": false
    }
  ],
  "logic": "AND"
}

条件マッチングモード

  • full: 完全一致(デフォルト)

  • prefix: プレフィックス一致

  • suffix: サフィックス一致

  • contains: 包含一致

  • gt: より大きい(数値型のみ)

  • gte: 以上(数値型のみ)

  • lt: より小さい(数値型のみ)

  • lte: 以下(数値型のみ)

  • 注意:

  • 数値比較は数値型にのみ使用できます
  • 文字列操作(prefix、suffix、contains)は値を文字列に変換して比較します

条件パラメータ説明

  • invert: 反転機能、true は結果を反転することを意味します
  • pass_missing_key: 指定されたパスが存在しない場合の動作
    • true: パスが存在しない場合、条件は通過します
    • false: パスが存在しない場合、条件は通過しません(デフォルト)

論理関係 (logic)

  • AND: すべての条件が満たされる必要があります
  • OR: いずれかの条件が満たされれば十分です(デフォルト)

パス構文

JSONパス構文を使用してネストされたフィールドにアクセスします:

  • temperature - ルートレベルのフィールド
  • messages.0.content - 配列の最初の要素の content フィールド
  • messages.-1.content - 配列の最後の要素の content フィールド
  • metadata.user.name - ネストされたオブジェクトフィールド

同時に、path は以下の組み込み変数をサポートしており(リクエストボディに明示的に存在する必要はありません)、条件判断に直接使用できます:

変数意味典型的な用途
model / upstream_modelリダイレクト後のターゲットモデル実際に呼び出されるアップストリームモデルに基づいて条件マッチングを行う
original_modelリダイレクト前のターゲットモデルユーザーがリクエストした元のモデルに基づいて条件マッチングを行う

実用例

1. モデルパラメータの動的調整

メッセージ内容に基づいて温度パラメータを動的に調整します:

{
  "operations": [
    {
      "path": "temperature",
      "mode": "set",
      "value": 0.3,
      "conditions": [
        {
          "path": "messages.0.content",
          "mode": "contains",
          "value": "代码"
        }
      ]
    },
    {
      "path": "temperature",
      "mode": "set",
      "value": 0.9,
      "conditions": [
        {
          "path": "messages.0.content",
          "mode": "contains",
          "value": "创意"
        }
      ]
    }
  ]
}

2. システムプロンプトの追加

メッセージ配列の先頭にシステムメッセージを追加します:

{
  "operations": [
    {
      "path": "messages",
      "mode": "prepend",
      "value": [
        {
          "role": "system",
          "content": "你是一个专业的AI助手,请始终保持礼貌和专业。"
        }
      ]
    }
  ]
}

3. モデルタイプに応じたパラメータ調整

異なるモデルに応じて異なる max_tokens を設定します:

{
  "operations": [
    {
      "path": "max_tokens",
      "mode": "set",
      "value": 4000,
      "conditions": [
        {
          "path": "model",
          "mode": "prefix",
          "value": "gpt-4"
        }
      ]
    },
    {
      "path": "max_tokens",
      "mode": "set",
      "value": 2000,
      "conditions": [
        {
          "path": "model",
          "mode": "prefix",
          "value": "gpt-3.5"
        }
      ]
    }
  ]
}

4. 複数条件の組み合わせ(ANDロジック)

複数の条件が同時に満たされた場合にのみ操作を実行します:

{
  "operations": [
    {
      "path": "stream",
      "mode": "set",
      "value": false,
      "conditions": [
        {
          "path": "model",
          "mode": "contains",
          "value": "claude"
        },
        {
          "path": "messages.0.content",
          "mode": "contains",
          "value": "长文"
        }
      ],
      "logic": "AND"
    }
  ]
}

5. 数値比較条件

数値の大小に基づいて条件判断を行います:

{
  "operations": [
    {
      "path": "temperature",
      "mode": "set",
      "value": 0.1,
      "conditions": [
        {
          "path": "max_tokens",
          "mode": "gt",
          "value": 1000
        }
      ]
    }
  ]
}

6. 反転条件

invert を使用して反転ロジックを実装します:

{
  "operations": [
    {
      "path": "stream",
      "mode": "set",
      "value": true,
      "conditions": [
        {
          "path": "model",
          "mode": "contains",
          "value": "gpt-3.5",
          "invert": true
        }
      ]
    }
  ]
}

7. 欠落フィールドの処理

pass_missing_key を使用して、存在しない可能性のあるフィールドを処理します:

{
  "operations": [
    {
      "path": "temperature",
      "mode": "set",
      "value": 0.7,
      "conditions": [
        {
          "path": "custom_field",
          "mode": "full",
          "value": "special",
          "pass_missing_key": true
        }
      ]
    }
  ]
}

8. 文字列結合の例

ユーザーメッセージの後に指示を追加します:

{
  "operations": [
    {
      "path": "messages.-1.content",
      "mode": "append",
      "value": "\n\n请详细解释你的思考过程。"
    }
  ]
}

注意事項

実行順序: 操作は operations 配列に定義された順序で実行され、前の操作は後続の操作に影響を与えます

このガイドはいかがですか?

最終更新