using System.Collections; using System.Text.Json; namespace Yi.Framework.AiHub.Application.Contracts.Dtos.OpenAiDto; public class ChatCompletionsInput { public List Messages { get; set; } public bool? Stream { get; set; } public string? Prompt { get; set; } public string Model { get; set; } public decimal? Temperature { get; set; } public int? max_tokens { get; set; } } public class OpenAiMessage { public string? Role { get; set; } public object? Content { get; set; } public string ConvertContent() { if (Content is string content) { return content; } if (Content is JsonElement jsonElement && jsonElement.ValueKind == JsonValueKind.Array) { var contentItems = jsonElement.Deserialize>(); var currentContentItem = contentItems.FirstOrDefault(); if (currentContentItem.type == "text") { return currentContentItem.text; } } throw new UserFriendlyException("当前格式暂不支持"); } } public class ContentItem { public string? type { get; set; } public string? text { get; set; } }