ChatObject

该功能需要外部账户 »

ChatObject[]

表示与远程服务的持续对话.

ChatObject[init]

用初始化 init 创建新的聊天.

ChatObject[][prop]

从对象提取属性 prop.

更多信息和选项

  • ChatObject 将完整对话与消息元数据存储在一起.
  • 初始化 init 可接受以下的值:
  • "text"静态文字
    LLMPrompt["name"]存储库提示
    StringTemplate[]模板化文本
    TemplateObject[]用来创建提示的模板
    Image[]图像
    {prompt1,}提示列表
    {msg1,}消息列表
  • 非消息的 init 值可通过 "Role""System" 转换为消息.
  • 通过 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,"Task"task|>完全指定的模型
  • 生成的文本采样自一个分布. 可用 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].
  • 当使用 Authenticationassoc 时,assoc 可含有以下键:
  • "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 语言. 2023. "ChatObject." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ChatObject.html.

APA

Wolfram 语言. (2023). ChatObject. Wolfram 语言与系统参考资料中心. 追溯自 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 ]}