using System.Text.Json.Serialization; namespace Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi; /// /// 聊天完成选项列 /// public record ThorChatChoiceResponse { /// /// 模型生成的聊天完成消息。【流式】模型响应生成的聊天完成增量存储在此属性。
/// 在当前模型中,无论流式还是非流式,Message 和 Delta存储相同的值 ///
[JsonPropertyName("delta")] public ThorChatMessage Delta { get => Message; set => Message = value; } /// /// 模型生成的聊天完成消息。【非流式】返回的消息存储在此属性。
/// 在当前模型中,无论流式还是非流式,Message 和 Delta存储相同的值 ///
[JsonPropertyName("message")] public ThorChatMessage Message { get; set; } /// /// 选项列表中选项的索引。 /// [JsonPropertyName("index")] public int? Index { get; set; } /// /// 用于处理请求的服务层。仅当在请求中指定了 service_tier 参数时,才包含此字段。 /// [JsonPropertyName("service_tier")] public string? ServiceTier { get; set; } /// /// 模型停止生成令牌的原因。 /// stop 如果模型达到自然停止点或提供的停止序列, /// length 如果达到请求中指定的最大标记数, /// content_filter 如果由于内容过滤器中的标志而省略了内容, /// tool_calls 如果模型调用了工具,或者 function_call (已弃用) /// 如果模型调用了函数,则会出现这种情况。 /// [JsonPropertyName("finish_reason")] public string? FinishReason { get; set; } /// /// 此指纹表示模型运行时使用的后端配置。 /// 可以与 seed 请求参数结合使用,以了解何时进行了可能影响确定性的后端更改。 /// [JsonPropertyName("finish_details")] public FinishDetailsResponse? FinishDetails { get; set; } /// /// /// public class FinishDetailsResponse { [JsonPropertyName("type")] public string Type { get; set; } [JsonPropertyName("stop")] public string Stop { get; set; } } }