类 ChatOptions
java.lang.Object
com.agentsflex.core.model.chat.ChatOptions
聊天选项配置类,用于控制大语言模型(LLM)的生成行为。
支持 Builder 模式,便于链式调用。
注意:不同模型厂商对参数的支持和默认值可能不同。
-
嵌套类概要
嵌套类 -
字段概要
字段修饰符和类型字段说明额外的模型参数,用于传递模型特有或未明确暴露的配置。private Boolean是否返回 Usage 信息, 仅在 stream 模式下有效。private Integer生成内容的最大 token 数量(不包括输入 prompt)。private String指定使用的大模型名称。protected Integerprotected Booleanprotected Integerprivate String随机种子(Seed),用于控制生成结果的可重复性。停止序列(Stop Sequences),当生成内容包含这些字符串时立即停止。private boolean是否为流式请求。private Float温度(Temperature)控制输出的随机性。private Boolean是否启用“思考模式”(Thinking Mode)。private IntegerTop-k 控制生成时考虑的最高概率词的数量。private FloatTop-p(也称 nucleus sampling)控制生成时考虑的概率质量。 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidaddExtraBody(String key, Object value) 添加一个额外参数到 extra 映射中。static ChatOptions.Builderbuilder()创建 ChatOptions 的 Builder 实例。getIncludeUsageOrDefault(Boolean defaultValue) getModel()getModelOrDefault(String defaultModel) intgetRetryCountOrDefault(int defaultValue) booleangetRetryEnabledOrDefault(boolean defaultValue) intgetRetryInitialDelayMsOrDefault(int defaultValue) getSeed()getStop()getThinkingEnabledOrDefault(Boolean defaultValue) getTopK()getTopP()booleanvoidsetExtraBody(Map<String, Object> extraBody) voidsetIncludeUsage(Boolean includeUsage) voidsetMaxTokens(Integer maxTokens) voidvoidsetResponseFormat(Map<String, Object> responseFormat) voidsetRetryCount(Integer retryCount) voidsetRetryEnabled(Boolean retryEnabled) voidsetRetryInitialDelayMs(Integer retryInitialDelayMs) voidvoidvoidsetStreaming(boolean streaming) voidsetTemperature(Float temperature) voidsetThinkingEnabled(Boolean thinkingEnabled) voidvoid
-
字段详细资料
-
model
指定使用的大模型名称。 例如:"gpt-4", "qwen-max", "claude-3-sonnet" 等。 如果未设置,将使用客户端默认模型。 -
seed
随机种子(Seed),用于控制生成结果的可重复性。 当 seed 相同时,相同输入将产生相同输出(前提是其他参数也一致)。 注意:并非所有模型都支持 seed 参数。 -
temperature
温度(Temperature)控制输出的随机性。- 值越低(如 0.1~0.3):输出更确定、稳定、可重复,适合事实性任务(如 RAG、结构化输出)
- 值越高(如 0.7~1.0):输出更多样、有创意,但可能不稳定或偏离事实
- 文档处理、路由、工具调用:0.1 ~ 0.3
- 问答、摘要:0.2 ~ 0.5
- 创意写作:0.7 ~ 1.0
-
topP
Top-p(也称 nucleus sampling)控制生成时考虑的概率质量。 模型从累积概率不超过 p 的最小词集中采样。 - 值为 1.0 表示考虑所有词(等同于无 top-p 限制) - 值为 0.9 表示只考虑累积概率达 90% 的词 注意:temperature 和 top_p 不应同时调整,通常只用其一。 -
topK
Top-k 控制生成时考虑的最高概率词的数量。 模型仅从 top-k 个最可能的词中采样。 - 值为 50 表示只考虑概率最高的 50 个词 - 值越小,输出越确定;值越大,输出越多样 注意:与 top_p 类似,通常不与 temperature 同时使用。 -
maxTokens
生成内容的最大 token 数量(不包括输入 prompt)。 用于限制响应长度,防止生成过长内容。 注意:不同模型有不同上限,超过将被截断或报错。 -
stop
停止序列(Stop Sequences),当生成内容包含这些字符串时立即停止。 例如:设置为 ["\n", "。"] 可在句末或换行时停止。 适用于需要精确控制输出长度的场景。 -
thinkingEnabled
是否启用“思考模式”(Thinking Mode)。 适用于支持该特性的模型(如 Qwen3),开启后模型会显式输出推理过程。 默认为 null(由模型决定)。 -
includeUsage
是否返回 Usage 信息, 仅在 stream 模式下有效。 适用于支持该特性的模型(如 Qwen3),开启后模型会返回 Usage 信息。 默认为 true。 -
extraBody
额外的模型参数,用于传递模型特有或未明确暴露的配置。 例如:{"response_format": "json", "presence_penalty": 0.5} 使用 addExtraBody() 方法可方便地添加单个参数。 -
retryEnabled
-
retryCount
-
retryInitialDelayMs
-
responseFormat
-
streaming
是否为流式请求。 这个不允许用户设置,由 Framework 自动设置(用户设置也可能被修改)。 用户调用 chat 或者 chatStream 方法时,会自动设置这个字段。
-
-
构造器详细资料
-
ChatOptions
public ChatOptions() -
ChatOptions
-
-
方法详细资料
-
getModel
-
getModelOrDefault
-
setModel
-
getSeed
-
setSeed
-
getTemperature
-
setTemperature
-
getTopP
-
setTopP
-
getTopK
-
setTopK
-
getMaxTokens
-
setMaxTokens
-
getStop
-
setStop
-
getThinkingEnabled
-
getThinkingEnabledOrDefault
-
setThinkingEnabled
-
getIncludeUsage
-
getIncludeUsageOrDefault
-
setIncludeUsage
-
getExtraBody
-
setExtraBody
-
addExtraBody
添加一个额外参数到 extra 映射中。- 参数:
key- 参数名value- 参数值
-
getRetryEnabled
-
getRetryEnabledOrDefault
-
setRetryEnabled
-
getRetryCount
-
getRetryCountOrDefault
-
setRetryCount
-
getRetryInitialDelayMs
-
getRetryInitialDelayMsOrDefault
-
setRetryInitialDelayMs
-
getResponseFormat
-
setResponseFormat
-
isStreaming
-
setStreaming
-
builder
创建 ChatOptions 的 Builder 实例。- 返回:
- 新的 Builder 对象
-