using System.Text.Json.Serialization; namespace AIStudio.Provider.SelfHosted; /// /// One model as an OpenAI-compatible engine lists it. /// /// /// The context window is vLLM's addition to that route: it reports the window the operator started /// the engine with, which is the one number no rule about the weights could ever know. Ollama, /// LM Studio, and llama.cpp answer the same route without it, so it stays unknown there instead of /// being guessed. /// /// vLLM calls that field max_model_len, which reads like a limit on the model rather than on a /// conversation. The wire keeps their spelling, and this record says what the number means, so that /// nobody has to remember the translation while reading the code that uses it. /// /// The model's ID. /// What kind of thing the entry is. Known value: "model". /// Who the engine names as the owner of the model. /// Which kinds of input and output the model takes, where the engine says. /// The context window the engine was started with, in tokens, where it says. public readonly record struct Model(string Id, string? Object, string? OwnedBy, ModelArchitecture? Architecture, [property: JsonPropertyName("max_model_len")] int? ContextWindowTokens);