/ src / common / LanguageModelProvider / FoundryLocal / FoundryCatalogModel.cs
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  }