FoundryCatalogModel.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using System.Text.Json.Serialization; 6 7 namespace LanguageModelProvider.FoundryLocal; 8 9 internal sealed record FoundryCatalogModel 10 { 11 [JsonPropertyName("name")] 12 public string Name { get; init; } = string.Empty; 13 14 [JsonPropertyName("displayName")] 15 public string DisplayName { get; init; } = string.Empty; 16 17 [JsonPropertyName("providerType")] 18 public string ProviderType { get; init; } = string.Empty; 19 20 [JsonPropertyName("uri")] 21 public string Uri { get; init; } = string.Empty; 22 23 [JsonPropertyName("version")] 24 public string Version { get; init; } = string.Empty; 25 26 [JsonPropertyName("modelType")] 27 public string ModelType { get; init; } = string.Empty; 28 29 [JsonPropertyName("promptTemplate")] 30 public PromptTemplate PromptTemplate { get; init; } = default!; 31 32 [JsonPropertyName("publisher")] 33 public string Publisher { get; init; } = string.Empty; 34 35 [JsonPropertyName("task")] 36 public string Task { get; init; } = string.Empty; 37 38 [JsonPropertyName("runtime")] 39 public Runtime Runtime { get; init; } = default!; 40 41 [JsonPropertyName("fileSizeMb")] 42 public long FileSizeMb { get; init; } 43 44 [JsonPropertyName("modelSettings")] 45 public ModelSettings ModelSettings { get; init; } = default!; 46 47 [JsonPropertyName("alias")] 48 public string Alias { get; init; } = string.Empty; 49 50 [JsonPropertyName("supportsToolCalling")] 51 public bool SupportsToolCalling { get; init; } 52 53 [JsonPropertyName("license")] 54 public string License { get; init; } = string.Empty; 55 56 [JsonPropertyName("licenseDescription")] 57 public string LicenseDescription { get; init; } = string.Empty; 58 59 [JsonPropertyName("parentModelUri")] 60 public string ParentModelUri { get; init; } = string.Empty; 61 }