Skip to content

Commit c2ce8c4

Browse files
feat: Add 'Size' column for models in the list command under the engines subcommand in the Cortex CLI
1 parent 596eb94 commit c2ce8c4

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

engine/cli/commands/engine_list_cmd.cc

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ bool EngineListCmd::Exec(const std::string& host, int port) {
2424
}
2525

2626
tabulate::Table table;
27-
table.add_row({"#", "Name", "Version", "Variant", "Status"});
27+
table.add_row({"#", "Name", "Version", "Variant", "Status", "Size"});
2828

2929
auto url = url_parser::Url{
3030
.protocol = "http",
@@ -69,6 +69,24 @@ bool EngineListCmd::Exec(const std::string& host, int port) {
6969
selected_variant_result.value()["version"].asString());
7070
}
7171

72+
std::unordered_map<std::string, std::string> variantSizeMapping;
73+
if (variant_pair.has_value()) {
74+
auto version_releases_url = url_parser::Url{
75+
.protocol = "http",
76+
.host = host + ":" + std::to_string(port),
77+
.pathParams = {"v1", "engines", kLlamaEngine, "releases",
78+
variant_pair->second},
79+
};
80+
81+
auto version_releases_json =
82+
curl_utils::SimpleGetJson(version_releases_url.ToFullPath());
83+
84+
for (auto releaseData : version_releases_json.value()) {
85+
variantSizeMapping[releaseData["name"].asString()] =
86+
releaseData["size"].asString();
87+
}
88+
}
89+
7290
std::vector<EngineVariantResponse> output;
7391
for (const auto& [key, value] : engine_map) {
7492
output.insert(output.end(), value.begin(), value.end());
@@ -79,12 +97,12 @@ bool EngineListCmd::Exec(const std::string& host, int port) {
7997
count += 1;
8098
if (variant_pair.has_value() && v.name == variant_pair->first &&
8199
v.version == variant_pair->second) {
82-
table.add_row(
83-
{std::to_string(count), v.engine, v.version, v.name, "Default"});
100+
table.add_row({std::to_string(count), v.engine, v.version, v.name,
101+
"Default", variantSizeMapping[v.name]});
84102
continue;
85103
}
86-
table.add_row(
87-
{std::to_string(count), v.engine, v.version, v.name, "Installed"});
104+
table.add_row({std::to_string(count), v.engine, v.version, v.name,
105+
"Installed", variantSizeMapping[v.name]});
88106
}
89107

90108
std::cout << table << std::endl;

0 commit comments

Comments
 (0)