ChatObject

この機能には次が必要です:外部アカウント »

ChatObject[]

リモートサービスで進行中の会話を表す.

ChatObject[init]

初期化 init を使って新規チャットを作成する.

ChatObject[][prop]

オブジェクトから特性 prop を抽出する.

詳細とオプション

  • ChatObjectは会話全体をメッセージおよびメタデータとともに保存する.
  • 初期化 init には以下の値が使える.
  • "text"静的テキスト
    LLMPrompt["name"]リポジトリプロンプト
    StringTemplate[]テンプレートテキスト
    TemplateObject[]プロンプト作成用テンプレート
    Image[]画像
    {prompt1,}プロンプトのリスト
    {msg1,}メッセージのリスト
  • "Role""System"とすると,メッセージではない init の値がメッセージに変換される.
  • テンプレートオブジェクトはTemplateObject[][]によって自動的に文字列に変換される.
  • TemplateObjectで作成したプロンプトにはテキストと画像が入れられる.
  • すべてのLLMが画像入力をサポートする訳ではない.
  • 初期化がメッセージリストのとき,各メッセージは以下のキーを持つ連想でなければならない.
  • "Content"contentメッセージの内容
    "Role"String参加者の役割
    "Timestamp"DateObjectメッセージのタイムスタンプ(任意)
  • 次は,content の可能な形である.
  • "text"文字列
    Image[]画像オブジェクト
    <|"Type""Text","Data"data|>明示的なテキスト部分
    <|"Type""Image","Data"data|>明示的な画像部分(File[]オブジェクトをサポートする)
    {content1,}複数部分の内容
  • 次は,"Role"の可能な値である.
  • "Assistant"LLMが生成したメッセージ
    "System"システムのメッセージ
    "Tool"自動生成されたツールの応答
    "User"ユーザのメッセージ
  • 次は,指定可能なオプションである.
  • AuthenticationAutomatic明示的なユーザIDとAPIキー
    LLMEvaluator $LLMEvaluator使用するLLM設定
  • LLMEvaluatorは,LLMConfigurationオブジェクトあるいは以下のキーの任意のものを持つ連想に設定することができる.
  • "MaxTokens"生成するトークンの最大数
    "Model"ベースモデル
    "PromptDelimiter"プロンプト間に使用するデリミタ
    "Prompts"初期プロンプトまたはLLMPromptGeneratorオブジェクト
    "StopTokens"生成を止めるトークン
    "Temperature"サンプリング温度
    "ToolMethod"ツールの呼出しに使用するメソッド
    "Tools"使用可能にするLLMToolオブジェクトのリスト
    "TopProbabilities"サンプリングクラスのカットオフ
    "TotalProbabilityCutoff"サンプリング確率のカットオフ(核サンプリング)
  • 次は,"Model"の有効な形式である.
  • name名前付きのモデル
    {service,name}service からの名前付きのモデル
    <|"Service"service,"Name"name|>完全に指定されたモデル
  • 生成されたテキストは,配布物からサンプリングされる.サンプリングの詳細は,以下のLLMEvaluatorの特性で指定できる.
  • "Temperature"tAutomatic正の温度 t を使ったサンプリング
    "TopProbabilities"kAutomatic最も可能性の高い k 個のクラスからサンプリングする
    "TotalProbabilityCutoff"pAutomatic少なくとも p の累積確率で最も可能性の高い選択肢の中からサンプリングする (核サンプリング)
  • これらのパラメータの値Automaticは,指定された"Model"のデフォルト値を使う.
  • 次は,"ToolMethod"の可能な値である.
  • "Service"service のツールメカニズムに依存する
    "Textual"プロンプトベースのツール呼出しに使われる
  • 次は,Authenticationの可能な値である.
  • Automatic認証スキームを自動選択する
    Environment環境変数のキーをチェックする
    SystemCredentialシステムキーチェーンのキーをチェックする
    ServiceObject[]サービスオブジェクトから認証を継承する
    assoc明示的なキーとユーザIDを与える
  • AuthenticationAutomaticのとき,関数はEnvironmentSystemCredentialの変数ToUpperCase[service]<>"_API_KEY"をチェックする.それ以外の場合はServiceConnect[service]が使われる.
  • Authenticationassocassoc は以下のキーを含むことができる.
  • "ID"ユーザID
    "APIKey"認証に使われるAPIキー
  • チャットオブジェクトの特性はChatObject[][prop]を使って抽出できる.
  • 次は,prop の可能な値である.
  • "ChatID"会話の一意的なID
    "FullText"会話の文字列表現
    "LLMEvaluator"保存されたLLMConfiguration
    "Messages"取り交わされたメッセージのリスト
    "Properties"使用可能なすべての特性のリスト
    "Usage"累積的API使用量(コール,トークン等)
    {prop1,}特性のリスト

例題

すべて開くすべて閉じる

  (2)

新たなチャットを作成する:

会話にメッセージと応答を加える:

全メッセージのリストを得る:

ツールを使ってチャットオブジェクトを作成する:

LLMの答をツール呼出私のステップとともに表示する:

スコープ  (5)

空白のチャットを作成する:

初期プロンプトでチャットを作成する:

メッセージのリストからチャットを作成する:

チャットの特性を抽出する:

特性のリストを抽出する:

使用可能な全特性をリストする:

オプション  (1)

LLMEvaluator  (1)

特定のモデルを使うチャットを作成する:

考えられる問題  (1)

すべてのモデルが"System"メッセージで画像をサポートする訳ではない:

別のモデルを使う:

Wolfram Research (2023), ChatObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/ChatObject.html.

テキスト

Wolfram Research (2023), ChatObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/ChatObject.html.

CMS

Wolfram Language. 2023. "ChatObject." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ChatObject.html.

APA

Wolfram Language. (2023). ChatObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ChatObject.html

BibTeX

@misc{reference.wolfram_2024_chatobject, author="Wolfram Research", title="{ChatObject}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/ChatObject.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_chatobject, organization={Wolfram Research}, title={ChatObject}, year={2023}, url={https://reference.wolfram.com/language/ref/ChatObject.html}, note=[Accessed: 18-November-2024 ]}