更正注释中关于图片 URL 的描述,由“不包含前缀”改为“包含前缀”,以匹配方法实际返回值。 文件:Yi.Framework.AiHub.Domain.Shared/Dtos/Gemini/GeminiGenerateContentAcquirer.cs
45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
using System.Text.Json;
|
||
using Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi;
|
||
using Yi.Framework.AiHub.Domain.Shared.Extensions;
|
||
|
||
namespace Yi.Framework.AiHub.Domain.Shared.Dtos.Gemini;
|
||
|
||
public static class GeminiGenerateContentAcquirer
|
||
{
|
||
public static ThorUsageResponse? GetUsage(JsonElement response)
|
||
{
|
||
var usage = response.GetPath("usageMetadata");
|
||
if (!usage.HasValue)
|
||
{
|
||
return null;
|
||
}
|
||
|
||
var inputTokens = usage.Value.GetPath("promptTokenCount").GetInt();
|
||
var outputTokens = usage.Value.GetPath("candidatesTokenCount").GetInt()
|
||
+ usage.Value.GetPath("cachedContentTokenCount").GetInt()
|
||
+ usage.Value.GetPath("thoughtsTokenCount").GetInt()
|
||
+ usage.Value.GetPath("toolUsePromptTokenCount").GetInt();
|
||
|
||
|
||
return new ThorUsageResponse
|
||
{
|
||
PromptTokens = inputTokens,
|
||
InputTokens = inputTokens,
|
||
OutputTokens = outputTokens,
|
||
CompletionTokens = outputTokens,
|
||
TotalTokens = inputTokens + outputTokens,
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取图片url,包含前缀
|
||
/// </summary>
|
||
/// <param name="response"></param>
|
||
/// <returns></returns>
|
||
public static string GetImageBase64(JsonElement response)
|
||
{
|
||
//todo
|
||
//获取他的base64字符串
|
||
return string.Empty;
|
||
}
|
||
} |