25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace FictionArchive.Service.TranslationService.Services.TranslationEngines.NanoGpt;
|
|
|
|
public sealed record NanoGptMessage(
|
|
[property: JsonPropertyName("role")] string Role,
|
|
[property: JsonPropertyName("content")] string Content);
|
|
|
|
public sealed record NanoGptChatRequest(
|
|
[property: JsonPropertyName("model")] string Model,
|
|
[property: JsonPropertyName("messages")] IReadOnlyList<NanoGptMessage> Messages,
|
|
[property: JsonPropertyName("temperature")] double Temperature);
|
|
|
|
public sealed record NanoGptChatResponse(
|
|
[property: JsonPropertyName("choices")] IReadOnlyList<NanoGptChoice> Choices,
|
|
[property: JsonPropertyName("usage")] NanoGptUsage Usage);
|
|
|
|
public sealed record NanoGptChoice(
|
|
[property: JsonPropertyName("message")] NanoGptMessage Message);
|
|
|
|
public sealed record NanoGptUsage(
|
|
[property: JsonPropertyName("prompt_tokens")] int PromptTokens,
|
|
[property: JsonPropertyName("completion_tokens")] int CompletionTokens,
|
|
[property: JsonPropertyName("total_tokens")] int TotalTokens);
|