Files
Yi.Framework/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/OpenAi/ChatCompletionsOutput.cs
2025-07-09 21:52:00 +08:00

116 lines
3.4 KiB
C#

using Newtonsoft.Json;
namespace Yi.Framework.AiHub.Application.Contracts.Dtos.OpenAi;
public class ChatCompletionsOutput
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("object")]
public string Object { get; set; }
[JsonProperty("created_at")]
public long CreatedAt { get; set; }
[JsonProperty("status")]
public string Status { get; set; }
[JsonProperty("error")]
public object Error { get; set; }
[JsonProperty("incomplete_details")]
public object IncompleteDetails { get; set; }
[JsonProperty("instructions")]
public object Instructions { get; set; }
[JsonProperty("max_output_tokens")]
public object MaxOutputTokens { get; set; }
[JsonProperty("model")]
public string Model { get; set; }
[JsonProperty("output")]
public List<Output> Output { get; set; }
[JsonProperty("parallel_tool_calls")]
public bool ParallelToolCalls { get; set; }
[JsonProperty("previous_response_id")]
public object PreviousResponseId { get; set; }
[JsonProperty("reasoning")]
public Reasoning Reasoning { get; set; }
[JsonProperty("store")]
public bool Store { get; set; }
[JsonProperty("temperature")]
public double Temperature { get; set; }
[JsonProperty("text")]
public Text Text { get; set; }
[JsonProperty("tool_choice")]
public string ToolChoice { get; set; }
[JsonProperty("tools")]
public List<object> Tools { get; set; }
[JsonProperty("top_p")]
public double TopP { get; set; }
[JsonProperty("truncation")]
public string Truncation { get; set; }
[JsonProperty("usage")]
public Usage Usage { get; set; }
[JsonProperty("user")]
public object User { get; set; }
[JsonProperty("metadata")]
public Dictionary<string, object> Metadata { get; set; }
}
public class Output
{
[JsonProperty("type")]
public string Type { get; set; }
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("status")]
public string Status { get; set; }
[JsonProperty("role")]
public string Role { get; set; }
[JsonProperty("content")]
public List<Content> Content { get; set; }
}
public class Content
{
[JsonProperty("type")]
public string Type { get; set; }
[JsonProperty("text")]
public string Text { get; set; }
[JsonProperty("annotations")]
public List<object> Annotations { get; set; }
}
public class Reasoning
{
[JsonProperty("effort")]
public object Effort { get; set; }
[JsonProperty("summary")]
public object Summary { get; set; }
}
public class Text
{
[JsonProperty("format")]
public Format Format { get; set; }
}
public class Format
{
[JsonProperty("type")]
public string Type { get; set; }
}
public class Usage
{
[JsonProperty("input_tokens")]
public int InputTokens { get; set; }
[JsonProperty("input_tokens_details")]
public InputTokensDetails InputTokensDetails { get; set; }
[JsonProperty("output_tokens")]
public int OutputTokens { get; set; }
[JsonProperty("output_tokens_details")]
public OutputTokensDetails OutputTokensDetails { get; set; }
[JsonProperty("total_tokens")]
public int TotalTokens { get; set; }
}
public class InputTokensDetails
{
[JsonProperty("cached_tokens")]
public int CachedTokens { get; set; }
}
public class OutputTokensDetails
{
[JsonProperty("reasoning_tokens")]
public int ReasoningTokens { get; set; }
}