21 Commits

Author SHA1 Message Date
4d455da18c fix: catelog selection logic and backward compatibility
- utils.py: get_llmage_llm - when catelogid provided, use it instead of forcing isdefaultcatelog=1
- list_paging_catelog_llms.dspy: handle missing llmid in SQL, add llmcatelogid to returned rows
- llm_dialog.ui: use Jinja2 namespace for variable scoping in for loop
2026-06-11 19:29:22 +08:00
767539fabd fix: derive llmcatelogid from llmid when not provided in params 2026-06-11 18:58:33 +08:00
3423d5752f fix: move llmcatelogid filter into subquery (m alias not visible in outer scope) 2026-06-11 18:55:00 +08:00
0f2d84bd00 fix: use m.apiname from llm_api_map instead of a.apiname (column not in llm table) 2026-06-11 17:44:11 +08:00
6fd1f2ee5c bugfix 2026-06-10 16:10:42 +08:00
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
5b3c7d4d02 refactor: 废弃llm_catalog_rel表, 分类关系改用llm_api_map
- 删除 llm_catalog_rel 表定义(models/json/xlsx)、CRUD文件、管理页面、迁移脚本
- utils.py: get_llms_by_catelog/get_llms_by_catelog_to_customer 的SQL从 llm_catalog_rel 改为 llm_api_map (加distinct去重)
- init.py: 缓存清除事件从 llm_catalog_rel 改为 llm_api_map
- menu.ui/index.ui: 移除类型关联菜单项
- dspy文件: v1/chat/completions, t2t, get_type_llms, list_catelog_models, list_paging_catelog_llms, llmcatelog_delete 全部改为 join llm_api_map
- 迁移脚本: 添加try/except兼容旧表不存在的情况
2026-05-21 16:22:59 +08:00
d2ffd9c6d0 refactor: introduce llm_api_map table and remove uapiset intermediate layer
- New llm_api_map table: extract ability-specific fields (apiname,
  query_apiname, query_period, ppid) from llm table to support
  one-model-multi-ability without redundancy
- Remove uapiset from llmage JOIN chain: upapp.apisetid now directly
  joins uapi.apisetid
- Updated BufferedLLMs.get_llm() to JOIN llm_api_map for
  query_apiname/query_period/ppid fields
- Updated llmcheck.dspy and list_paging_catelog_llms.dspy to remove
  uapiset references
- Added migration script to generate llm_api_map INSERTs from existing
  llm data
2026-05-20 15:13:07 +08:00
6cc3986a2d feat: support multi-catalog for LLMs
- Create llm_catalog_rel model for one-to-many relationship
- Remove llmcatelogid from llm model
- Update SQL queries in utils.py and dspy files to use join
- Add maintenance UI (llm_catalog_rel_manage.ui) and API endpoints
- Filter options by user's orgid
2026-05-16 21:31:19 +08:00
ad2b47a890 bugfix 2025-09-22 18:25:33 +08:00
yumoqing
918527a61b bugfix 2025-09-14 15:55:51 +08:00
yumoqing
e7ab731b53 bugfix 2025-09-14 15:53:47 +08:00
yumoqing
60c28c4901 bugfix 2025-09-14 15:42:51 +08:00
yumoqing
144c72d518 bugfix 2025-09-14 15:36:55 +08:00
yumoqing
dc398c6bec bugfix 2025-09-14 15:32:39 +08:00
yumoqing
10164eeaef bugfix 2025-09-14 15:19:10 +08:00
yumoqing
5331a528cc bugfix 2025-09-14 15:13:12 +08:00
yumoqing
5f14422a5e bugfix 2025-09-14 15:11:12 +08:00
yumoqing
203eb8e92d bugfix 2025-09-14 14:25:58 +08:00
yumoqing
63d4ecb93e bugfix 2025-09-14 14:22:33 +08:00
yumoqing
b89900e92e bugfix 2025-09-14 14:21:10 +08:00