namespace AIStudio.Provider.HuggingFace; /// /// A data model for the response from the model endpoint of the Hugging Face router. /// /// /// The router says more about a model than the OpenAI model list does: which inference providers /// serve it, and which kinds of input it takes. That is why this provider brings its own data model /// instead of using the shared one. /// /// The models the router knows. public readonly record struct ModelsResponse(IList Data); /// /// One model as the Hugging Face router describes it. /// /// The ID of the model, written as "org/model". /// The inference providers serving this model. public readonly record struct HFModel(string Id, IList? Providers); /// /// One inference provider serving a model. /// /// The slug of the inference provider, e.g. "novita". /// Whether the provider currently serves the model. Known value: "live". public readonly record struct HFModelProvider(string Provider, string Status); /// /// One model as the Hugging Face hub lists it. /// /// /// The hub answers with a plain array of models and describes each of them in far more detail than /// we need here, from tags to download counts. We only ever ask for the models of one provider and /// one task, so the ID is all that is left to read. /// /// The ID of the model, written as "org/model". public readonly record struct HubModel(string Id);