reallife_asset/wwwroot/api/rl_virtual_create_group.dspy
yumoqing 925f58b025 feat: 添加私域虚拟人素材功能
- init.py: 新增6个虚拟人函数(create/list/upload/sync等),注册到ServerEnv
- api_mapping: 新增create_group→CreateAssetGroup映射
- 外部API: 5个rl_virtual_*.dspy端点(创建组合/列表/上传/素材列表/状态)
- 前端API: 4个submit/get dspy端点(UI表单提交和数据获取)
- UI页面: 3个页面(创建组合/上传素材/查看素材)
- index.ui: 左侧导航新增虚拟人素材分区(3个按钮)
- load_path.py: RBAC新增virtual页面和api/%路径
- docs: api_downapp.md新增虚拟人API文档(5个端点)
2026-06-02 15:25:14 +08:00

30 lines
1.3 KiB
Plaintext

# ============================================================
# 创建私域虚拟人素材组合
# 参数: vendor(必填), name(必填), description(选填), project_name(选填,默认default)
# curl 示例:
# curl -X POST 'https://ai.atvoe.com/reallife_asset/api/rl_virtual_create_group.dspy' \
# -H 'Authorization: Bearer *** \
# -d 'vendor=volcengine&name=虚拟角色A&description=测试组合'
# ============================================================
vendor = params_kw.get("vendor", "")
name = params_kw.get("name", "")
description = params_kw.get("description", "")
project_name = params_kw.get("project_name", "default")
if not vendor or not name:
return json.dumps({"status": "error", "data": {"message": "vendor和name为必填参数"}})
try:
org_id = (await get_userorgid()) or "0"
user_id = await get_user()
result = await rl_create_virtual_group(org_id, vendor, name, description, project_name, user_id)
if result.get("success"):
return json.dumps({"status": "ok", "data": {
"id": result.get("id"),
"vendor_group_id": result.get("vendor_group_id"),
}})
else:
return json.dumps({"status": "error", "data": {"message": result.get("message", "创建失败")}})
except Exception as e:
return json.dumps({"status": "error", "data": {"message": str(e)}})