common, server : report model input/output modalities in GET /models (#29987)

Signed-off-by: Adrien Gallouët <angt@huggingface.co>
This commit is contained in:
Adrien Gallouët authored and GitHub committed 2026-10-05 17:08:29 +02:00
1 parent c06f84160a
commit 4d60b4d087
10 files changed
+254 -60

No files matched your search

+41
View File
@@ -143,6 +143,47 @@ const char * get_media_marker() {
return marker.c_str();
}
//
// model output modalities
//
std::vector<std::string> server_model_output_modalities(common_decision_type decision_type) {
switch (decision_type) {
case COMMON_DECISION_TYPE_OPENJEV:
case COMMON_DECISION_TYPE_LEV:
case COMMON_DECISION_TYPE_KEV:
case COMMON_DECISION_TYPE_NIMBLE:
case COMMON_DECISION_TYPE_LAYA:
case COMMON_DECISION_TYPE_CLEF:
return {"decisions"};
default:
// fallback when there is no decision type or the metadata is bad
return {"text"};
}
}
json server_model_architecture_json(
bool inp_image,
bool inp_audio,
bool inp_video,
const std::vector<std::string> & output_modalities) {
std::vector<std::string> input_modalities = {"text"};
if (inp_image) {
input_modalities.push_back("image");
}
if (inp_audio) {
input_modalities.push_back("audio");
}
if (inp_video) {
input_modalities.push_back("video");
}
return {
{"input_modalities", input_modalities},
{"output_modalities", output_modalities},
};
}
//
// lora utils
//