custom-vm-search / resolver.cs
Okyokous
Initialize Custom VM search engine stack
a488ebb
Raw
History Blame Contribute Delete
1.53 kB
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
using System.Collections.Generic;
class Program {
static async Task Main(string[] args) {
if (args.Length == 0) {
Console.WriteLine("[]");
return;
}
string query = Uri.EscapeDataString(args[0]);
string url = $"https://huggingface.co/api/models?search={query}&limit=6";
using HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("User-Agent", "CustomVMResolver/1.0");
try {
string response = await client.GetStringAsync(url);
using JsonDocument doc = JsonDocument.Parse(response);
var results = new List<object>();
foreach (var item in doc.RootElement.EnumerateArray()) {
string id = item.GetProperty("id").GetString() ?? "";
string author = item.TryGetProperty("author", out var authProp) ? (authProp.GetString() ?? "") : "";
int likes = item.TryGetProperty("likes", out var likeProp) ? (likeProp.ValueKind == JsonValueKind.Number ? likeProp.GetInt32() : 0) : 0;
int downloads = item.TryGetProperty("downloads", out var downProp) ? (downProp.ValueKind == JsonValueKind.Number ? downProp.GetInt32() : 0) : 0;
results.Add(new { id, author, likes, downloads });
}
Console.WriteLine(JsonSerializer.Serialize(results));
} catch {
Console.WriteLine("[]");
}
}
}