namespace Yi.Framework.AiHub.Application.Contracts.Dtos; public class SendMessageStreamOutputDto { /// /// 唯一标识符 /// public string Id { get; set; } /// /// 对象类型 /// public string Object { get; set; } /// /// 创建时间,Unix时间戳格式 /// public long Created { get; set; } /// /// 模型名称 /// public string Model { get; set; } /// /// 选择项列表 /// public List Choices { get; set; } /// /// 系统指纹(可能为空) /// public string SystemFingerprint { get; set; } /// /// 使用情况信息 /// public Usage Usage { get; set; } } /// /// 选择项类,表示模型返回的一个选择 /// public class Choice { /// /// 选择索引 /// public int Index { get; set; } /// /// 变化内容,包括内容字符串和角色 /// public Delta Delta { get; set; } /// /// 结束原因,可能为空 /// public string? FinishReason { get; set; } /// /// 内容过滤结果 /// public ContentFilterResults ContentFilterResults { get; set; } } /// /// 变化内容 /// public class Delta { /// /// 内容文本 /// public string Content { get; set; } /// /// 角色,例如"assistant" /// public string Role { get; set; } } /// /// 内容过滤结果 /// public class ContentFilterResults { public FilterStatus Hate { get; set; } public FilterStatus SelfHarm { get; set; } public FilterStatus Sexual { get; set; } public FilterStatus Violence { get; set; } public FilterStatus Jailbreak { get; set; } public FilterStatus Profanity { get; set; } } /// /// 过滤状态,表示是否经过过滤以及检测是否命中 /// public class FilterStatus { /// /// 是否被过滤 /// public bool Filtered { get; set; } /// /// 是否检测到该类型(例如 Jailbreak 中存在此字段) /// public bool? Detected { get; set; } } /// /// 使用情况,记录 token 数量等信息 /// public class Usage { /// /// 提示词数量 /// public int PromptTokens { get; set; } /// /// 补全词数量 /// public int CompletionTokens { get; set; } /// /// 总的 Token 数量 /// public int TotalTokens { get; set; } /// /// 提示词详细信息 /// public PromptTokensDetails PromptTokensDetails { get; set; } /// /// 补全文字详细信息 /// public CompletionTokensDetails CompletionTokensDetails { get; set; } } /// /// 提示词相关 token 详细信息 /// public class PromptTokensDetails { public int AudioTokens { get; set; } public int CachedTokens { get; set; } } /// /// 补全相关 token 详细信息 /// public class CompletionTokensDetails { public int AudioTokens { get; set; } public int ReasoningTokens { get; set; } public int AcceptedPredictionTokens { get; set; } public int RejectedPredictionTokens { get; set; } }