Files
Yi.Framework/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/OpenAi/ChatCompletionsInput.cs
2025-07-09 22:44:24 +08:00

50 lines
1.2 KiB
C#

using System.Collections;
using System.Text.Json;
namespace Yi.Framework.AiHub.Application.Contracts.Dtos.OpenAiDto;
public class ChatCompletionsInput
{
public List<OpenAiMessage> 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<List<ContentItem>>();
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; }
}