mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-02-13 06:01:37 +00:00
Added display name for the model list.
This commit is contained in:
parent
b8d85d1eea
commit
89781c9a3a
@ -0,0 +1,8 @@
|
||||
namespace AIStudio.Provider.OpenRouter;
|
||||
|
||||
/// <summary>
|
||||
/// A data model for an OpenRouter model from the API.
|
||||
/// </summary>
|
||||
/// <param name="Id">The model's ID.</param>
|
||||
/// <param name="Name">The model's human-readable display name.</param>
|
||||
public readonly record struct OpenRouterModel(string Id, string? Name);
|
||||
@ -0,0 +1,7 @@
|
||||
namespace AIStudio.Provider.OpenRouter;
|
||||
|
||||
/// <summary>
|
||||
/// A data model for the response from the OpenRouter models endpoint.
|
||||
/// </summary>
|
||||
/// <param name="Data">The list of models.</param>
|
||||
public readonly record struct OpenRouterModelsResponse(IList<OpenRouterModel> Data);
|
||||
@ -149,17 +149,19 @@ public sealed class ProviderOpenRouter() : BaseProvider("https://openrouter.ai/a
|
||||
if(!response.IsSuccessStatusCode)
|
||||
return [];
|
||||
|
||||
var modelResponse = await response.Content.ReadFromJsonAsync<ModelsResponse>(token);
|
||||
var modelResponse = await response.Content.ReadFromJsonAsync<OpenRouterModelsResponse>(token);
|
||||
|
||||
// Filter out non-text models (image, audio, embedding models)
|
||||
return modelResponse.Data.Where(n =>
|
||||
!n.Id.Contains("whisper", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("dall-e", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("tts", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("embedding", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("moderation", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("stable-diffusion", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("flux", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("midjourney", StringComparison.OrdinalIgnoreCase));
|
||||
// Filter out non-text models (image, audio, embedding models) and convert to Model
|
||||
return modelResponse.Data
|
||||
.Where(n =>
|
||||
!n.Id.Contains("whisper", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("dall-e", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("tts", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("embedding", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("moderation", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("stable-diffusion", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("flux", StringComparison.OrdinalIgnoreCase) &&
|
||||
!n.Id.Contains("midjourney", StringComparison.OrdinalIgnoreCase))
|
||||
.Select(n => new Model(n.Id, n.Name));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user