27 Commits

Author SHA1 Message Date
51d1e4ccdd fix(llm): _pick_candidate协议感知选端点(404根因)——按模型profile.protocol过滤端点标签,不匹配报真实可行动错误;无标签端点视为通用(向后兼容) 2026-09-05 23:08:17 +08:00
7b6b74646d docs(readme): 记账三态语义(created/accounted/failed)+出账前置(产品映射+ppid)+worker依赖appbase 2026-09-05 18:53:51 +08:00
0a5974e935 refactor(usage): accounting_status三态语义(created待记账/accounted成功/failed失败,用户定夺)——去na/pending分流,所有成功调用统一created进出账队列,自用vs跨机构由产品层is_self_use分流,成本账不遗漏 2026-09-05 18:13:50 +08:00
5ec2ca8fa4 docs(readme): 同步2026-09-05全部变更——供应商去协议/记账分流usages/媒体转换铁律/异步执行器/API文档端点 2026-09-05 16:10:47 +08:00
1ccb58c5a7 feat(rbac): API文档端点授权any(照sage /bricks/docs先例)——外部开发者调API前可匿名查文档;docs目录+index.ui+四语言md 2026-09-05 16:00:23 +08:00
2ee4b7893c feat(docs): /v1/docs端点——四语言API文档(中英日韩)+index.ui按_lang分发ApiDoc(照sage docs同款逻辑) 2026-09-05 15:43:20 +08:00
8da377fc81 feat(inference): 媒体文件转换双函数接入模板命名空间(对齐uapi铁律)——data模板b64media2url上传转公网URL/response模板downloadfile2url生成物落地;同类接口参数统一xxx_file契约;异步结果经response模板渲染出media字段 2026-09-05 15:19:27 +08:00
7576ffd6f8 feat(gateway): 模型account_id生效——候选账号池收窄为模型绑定账号(视频模型用百炼账号,防供应商级轮转串号) 2026-09-05 13:11:57 +08:00
c819faef2d feat(async): 异步模型执行器(提交→轮询query_profile_ids→取结果)+usages用量因子记账;供应商去protocol字段(模式归模型适配模板);修_model_chain漏取profile_id等字段致适配模板从未加载的存量bug 2026-09-05 13:07:08 +08:00
beef2d81a2 feat(capability): 能力枚举补i2v图生视频——字典种子+模型列表注释;修复LLM提取时图生视频被迫塞进t2v的静默错分类 2026-09-05 10:55:13 +08:00
5e9dee1eb7 docs(readme): llm_model说明同步——2026-09起不存单价,定价走ppid 2026-09-05 10:48:52 +08:00
f9b5b60c68 fix(inference): 超时根因双修——报错用repr(TimeoutError空str)+重试print进应用日志;chat_inference支持_timeout单次超时覆盖(上限900秒,长文档提取用) 2026-09-05 10:24:44 +08:00
f965e4b4d6 refactor(llm_model): 删除价格/成本四字段(price/cost input/output)——定价统一走ppid定价平台,记账改路后为死库存;结算cost恒0,展示/列表/迁移同步清理 2026-09-04 21:02:58 +08:00
6feacaf51c feat(inference): 接purpose透传——_resolve_call/chat_inference支持用途标记,辅助任务(分类/选择/摘要)走辅助模型链,_purpose转发上游前剥离 2026-09-04 19:32:34 +08:00
9fb020b11e fix(inference): 401真根因——headers模板的api_key占位符被脱敏工具替换成字面***致渲染出***当key;改拼接构造占位符 2026-09-04 18:28:02 +08:00
31a5c73225 fix(inference): 模板渲染兜底修正——原生jinja2.Environment无renders方法(独立脚本环境崩溃);诊断改print(模块logger未接应用日志管道) 2026-09-04 18:26:17 +08:00
26d083bdd2 refactor(inference): 组包借鉴uapi模板渲染——path/headers/body全Jinja2(tmpl_engine.renders+json.loads),api_key走模板命名空间注入;废弃土制字符串替换(401根因方向);内置openai-chat缺省模板,新形态只加profile不改代码 2026-09-04 18:21:10 +08:00
e0c1dc751d fix(llm): _row_to_dict根因修复——sqlor行是DictObject(dict子类),数据在dict本体,vars()取到空实例__dict__致治理链模型字段全空(策略首次激活时暴露);init.py用量查询同修 2026-09-04 17:25:29 +08:00
611008cb38 feat(llm): 统一推理API(v1/chat/completions+v1/models按能力分类照llmage)+模型选择收敛层selection(下拉/引用解析唯一入口)+旧表迁移脚本;agent调用经llm_bridge HTTP自调用收敛至此 2026-09-04 17:03:48 +08:00
d5dd9f4be2 feat(llm): profile表补path/headers自含字段;model表补query_profile_ids后续步骤模板链(异步模型提交→查询→[下载]);CRUD接helper+placeholder说明 2026-09-04 14:00:15 +08:00
4b6b4a2c95 fix(llm): 供应商CRUD editable接api薄封装(原指向生成目录直写库,端点归一化未生效) 2026-09-03 17:41:26 +08:00
3c3d6a35d3 feat(llm): 端点目录支持一行一URL输入(归一化+中文校验提示);账号APIKEY可配置(加密存储/掩码守卫/空=不改)+机构自动注入+endpoint_ids逗号兼容;CRUD接模块helper薄封装 2026-09-03 17:36:57 +08:00
82470ae7ab feat(vendor): 所属机构改logined_userorgid自动注入——表单不再手输;org_id移出编辑表单;endpoints字段加格式示例placeholder 2026-09-03 16:21:31 +08:00
dd19641175 fix: endpoint_pref字典parentid缩短为llm_ep_pref——组合键超appcodes_kv.id 32字符限制 2026-09-01 17:31:24 +08:00
f08a906323 Merge branch 'main' of git.opencomputing.cn:yumoqing/pipeline-llm
# Conflicts:
#	README.md
2026-09-01 17:27:39 +08:00
660ad21365 feat(pipeline-llm): 模型治理模块v1.0.0 — 供应商/端点目录/账号钱包/模型注册/组织容错策略/限额限流/双维度记账
- 8张llm_前缀表(手写幂等DDL): vendor/account/model/api_profile/org_policy/org_quota/user_quota/usage
- gateway.py 门禁链: 限流→限额→策略选模型(主备容错)→账号×端点轮转(偏好过滤+余额加权+冷却避让)→预授权-结算
- api_key AES单层加密(非RC4,盐不对称不可解); 限流Redis分钟窗口(db4) fail-open
- 双维度记账: 一次调用同行记cost(账号侧)+charge(组织池侧); 充值=recharge行
- CRUD+index.ui 8卡片导航+总览; appcodes字典5组; 设计规范+30测试用例
- 策略即开关: 机构无策略→__LEGACY__走旧llm表(向后兼容零改动)
2026-09-01 17:27:17 +08:00
93b6e09e0f Initial commit 2026-09-01 17:21:14 +08:00