llmage/json/llm.json
yumoqing d6e4221a7b feat: add model publish/unpublish (上架/下架) functionality
- llm table: add status field (published/unpublished, default unpublished)
- User-facing queries: filter by status='published' in 11 query points:
  - utils.py: get_llms_by_catelog_to_customer, get_llms_by_catelog,
    get_llm, get_llmproviders, get_llms_sort_by_provider
  - v1 endpoints: chat/completions, image/generations, video/generations
  - user pages: t2t, get_type_llms, list_catelog_models,
    list_paging_catelog_llms, llmcheck
- CRUD: status column visible/editable with select dropdown
- Admin CRUD list shows ALL models regardless of status
- Migration SQL: sql/add_status_field.sql (existing models set to published)
2026-05-28 23:42:29 +08:00

101 lines
2.8 KiB
JSON

{
"tblname": "llm",
"title":"大语言模型",
"params": {
"sortby":"model",
"logined_userorgid": "ownerid",
"data_url": "{{entire_url('../api/llm_list.dspy')}}",
"data_filter": {
"AND": [
{"field": "name", "op": "LIKE", "var": "name_input"},
{"field": "model", "op": "LIKE", "var": "model_input"},
{"field": "providerid", "op": "=", "var": "providerid_input"},
{"field": "upappid", "op": "=", "var": "upappid_input"},
{"field": "status", "op": "=", "var": "status_input"}
]
},
"filter_labels": {
"name_input": "名称",
"model_input": "识别名",
"providerid_input": "供应商",
"upappid_input": "上位系统",
"status_input": "上架状态"
},
"browserfields": {
"exclouded": ["id", "ownerid"],
"alters": {
"status": {
"uitype": "select",
"options": [
{"value": "", "text": "全部"},
{"value": "published", "text": "已上架"},
{"value": "unpublished", "text": "已下架"}
]
},
"ppid":{
"dataurl":"{{entire_url('/pricing/get_all_pricing_programs.dspy')}}",
"textField": "name",
"valueField": "id"
},
"providerid": {
"uitype": "code",
"dataurl": "{{entire_url('../api/get_organizations.dspy')}}",
"data_field": "organizations",
"textField": "text",
"valueField": "id"
},
"upappid": {
"uitype": "code",
"dataurl": "{{entire_url('../api/get_upapps.dspy')}}",
"data_field": "upapps",
"textField": "text",
"valueField": "id"
}
}
},
"toolbar": {
"tools":[
{
"name":"test",
"label":"体验",
"selected_row":true
}
]
},
"binds":[
{
"wid":"self",
"event":"test",
"actiontype":"urlwidget",
"target":"PopupWindow",
"popup_options":{
"title":"model Test",
"cwidth":22,
"height":"75%"
},
"options":{
"url":"{{entire_url('./llm_dialog.ui')}}",
"params":{
"id":"${id}"
}
}
}
],
"editexclouded": [
"id", "ownerid"
],
"editable": {
"new_data_url": "{{entire_url('../api/llm_create.dspy')}}",
"update_data_url": "{{entire_url('../api/llm_update.dspy')}}",
"delete_data_url": "{{entire_url('../api/llm_delete.dspy')}}"
},
"subtables":[
{
"field":"llmid",
"title":"能力映射",
"subtable":"llm_api_map"
}
]
}
}