64 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1|# KTV Pipeline / GPU Service Inference API
2|# POST /v1/pipeline/submit
3|# catelogid 固定为 ktv_pipeline无需传 catelogid
4|#
5|# Required params:
6|# model: string - 模型名称,如 "ky-asr-transcribe"
7|#
8|# 各服务特定参数见 API 文档
9|#
10|# 同步服务直接返回结果:
11|# {
12|# "taskid": "luid_xxx",
13|# "taskstatus": "SUCCEEDED",
14|# ...服务特定结果字段...,
15|# "usage": {...}
16|# }
17|#
18|# 异步服务返回任务信息:
19|# {
20|# "taskid": "luid_xxx",
21|# "taskstatus": "PENDING"
22|# }
23|# 异步结果通过 /v1/tasks?taskid=xxx 查询
24|
25|debug_params('params_kw', params_kw)
26|
27|userid = await get_user()
28|userorgid = await get_userorgid()
29|if userid is None:
30| debug('need login')
31| return openai_403()
32|
33|# Validate required parameters
34|if not params_kw.model:
35| d = return_error('Missing required parameter: model')
36| return json_response(d, status=400)
37|
38|catelogid = 'ktv_pipeline'
39|params_kw.catelogid = catelogid
40|
41|env = request._run_ns
42|# llmid from cache (model+catelogid -> llmid)
llmid = await env.get_llmid_cached(env, params_kw.model or 'qwen3-max', 'ktv_pipeline')
if not llmid:
debug(f'model not found: params_kw.model')
return {{error_response}}
params_kw.llmid = llmid
59| params_kw.llmcatelogid = catelogid
60|
61|debug(f'{params_kw.llmid=}')
62|
63|# Check balance
64|f = await checkCustomerBalance(params_kw.llmid, userid, userorgid)
65|if not f:
66| debug(f'{userid=} balance not enough')
67| return openai_429()
68|
69|# Generate task ID
70|if not params_kw.transno:
71| params_kw.transno = getID()
72|
73|# Call inference
74|return await inference(request, env=env)
75|