JevCode / 基本概念

状態

State は、モデルに評価させる内容です。その3つの形態、コンテキストの構成方法、および言語サポートの制限を理解しましょう。

本文はzh-CNからの機械翻訳です。校正は未実施で、参考情報としてのみご利用ください。

ソース: docs.typesafe.ai/concepts/statestatecontext
Layered representation of state

State とは

State は、System One モデルに評価させる対象です。これはカスタマーサポートのメッセージ、テキストの断片、またはアプリケーションの現在の状態などになります。これを API リクエストの state フィールドに含め、質問と一緒に送信します。

1 回のリクエストで1つの state を用いて1つ以上の質問を評価します。すべての質問は同じ state を参照し、独立して評価されます。1つのリクエスト内で ChoiceScoreNoul の質問を混在させることができます。

3つの形式

文字列

最もシンプルな state は、通常の文字列です:

state = "My card was charged twice."

状況が単純で、単一のテキストだけで済む場合に適しています。

オブジェクト

意思決定において複数の部分を比較する必要がある場合、関連情報をオブジェクトとしてまとめ、各部分に記述的な名前を付けます:

{
  "ticket": {
    "subject": "Duplicate charge",
    "messages": [
      {"from": "customer", "text": "I was charged twice for order A-104. Please refund the duplicate."},
      {"from": "support", "text": "We are checking the charges."}
    ]
  },
  "order": {
    "id": "A-104",
    "charges": [
      {"amount_usd": 49, "status": "captured"},
      {"amount_usd": 49, "status": "captured"}
    ]
  },
  "refund_policy": "Duplicate charges are eligible for a refund."
}

これは、会話、注文情報、ポリシーのすべてを含んでいるにもかかわらず、1つの state です。仕様では、ほとんどのリクエストでオブジェクトを使用することを推奨しています。これにより、各部分に記述的な名前が付けられ、相互の関係性が明確に保たれます。

配列

メッセージのシーケンスやレコードのシーケンスに適しています:

state = ["Hi", "My customer number is TS1337.", "My card was charged twice."]
形式 用途
文字列 1つのメッセージ、記事、テキスト "My card was charged twice."
オブジェクト 名前付きフィールド、関連レコード、アプリケーションの状態 上記の JSON を参照
配列 メッセージまたはレコードのシーケンス 上記の配列を参照

コンテンツと質問の分離

これは Jev を使用する際に最も重要なメンタルモデルの一つです:

  • State にはコンテンツと事実が含まれます。 返金リクエスト、注文記録、返金ポリシーなどはすべて state に含めます。
  • 質問は判断すべき内容を定義します。 「ユーザーは返金を求めているか」「ポリシーは返金を支持しているか」などが質問となります。

判断ロジックを state に書き込まないでください。state は、専門家の前に材料を並べたときに提示されるべきものです。つまり、専門家のグループに材料を提示し、各自に判断を仰ぐようなイメージです。

言語サポート

Jev はプレーンテキストを受け取ります。state は文字列、JSON オブジェクト、またはテキストの配列でなければなりません。

  • 画像、音声、動画はサポートされていません。
  • テキスト以外の入力は、事前にテキストまたは構造化フィールドに前処理し、state として渡す必要があります。
  • Jev の主要な学習言語は英語です。 他の言語(日本語、中国語、韓国語を含む)も受け付けますが、現時点では精度が低いです。

最後の項目は中国語ユーザーにとって特に重要です。ビジネスで中国語コンテンツを扱う場合は、重要なパイプラインを本番環境にデプロイする前に、実際のデータを用いて精度を検証することをお勧めします。高リスクな意思決定については、state に英語の要約を追加するか、信頼度が低い場合は人間のオペレーターにエスカレーションすることを検討してください。

バジェットと制限

  • 1リクエストあたりのコンテキストは 64k トークンです:これは stateすべての質問をカバーします。
  • 32k トークン:これは state最も長い1つの質問をカバーします。
  • モデルは state を1回だけ読み取り、その後すべての質問を並列で評価します。そのため、複数の質問を1つのリクエストにパッケージ化しても、追加の遅延コストはほとんどかかりません。ファンアウトパターン を参照してください。
  • 精度は state のサイズに応じて変動します。公式ドキュメントの Jev 1.13 jaggedness セクションで詳しく議論されています。

関連