namespace Dpz.Core.Service.Network.Models;
/// <summary>
/// Chat Completion API 请求配置选项
/// </summary>
public class ChatCompletionOption
{
/// <summary>
/// AI模型
/// </summary>
public AiModel Model { get; set; } = AiModel.Gpt5Mini;
/// <summary>
/// 是否为流式输出
/// </summary>
public bool Stream { get; set; }
/// <summary>
/// 聊天完成时生成的最大token数
/// </summary>
public int MaxTokens { get; set; } = 2048;
/// <summary>
/// 采样温度,介于 0 和 2 之间,默认为0
/// 较高的值(如 0.8)将使输出更加随机,
/// 较低的值(如 0.2)将使其更加集中和确定性
/// </summary>
public double Temperature { get; set; }
/// <summary>
/// 频率惩罚参数,-2.0 到 2.0 之间的数字
/// 正值根据现有频率来惩罚新令牌,减少重复
/// </summary>
public double? FrequencyPenalty { get; set; }
/// <summary>
/// 核采样参数,0 到 1 之间
/// 模型考虑具有 top_p 概率质量的标记结果
/// </summary>
public double? TopP { get; set; }
/// <summary>
/// Claude 模型的推理配置
/// 仅支持 claude-3-7-sonnet-latest 模型
/// </summary>
public ThinkingConfig? Thinking { get; set; }
}