v20260616_tx_asr_full.sql 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. -- 2026-06-16
  2. -- Tencent ASR (mod_tx_asr) full SQL.
  3. -- Based on current database inspection:
  4. -- 1. sys_config 已存在 config_asr_provider_tx
  5. -- 2. cc_asr_languages 已存在 provider=tx 数据
  6. -- 3. fs_variables 已存在部分共享字段,但缺少若干 tx_asr 专属参数
  7. -- 4. sys_menu 中缺少 tx_asr 配置菜单,需要补齐
  8. START TRANSACTION;
  9. -- 1) ASR provider 配置项
  10. INSERT INTO `sys_config` (`config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `remark`)
  11. SELECT '腾讯ASR', 'config_asr_provider_tx', 'tx', 'Y', 'admin', NOW(), 'ASR厂商-mod_tx_asr'
  12. FROM DUAL
  13. WHERE NOT EXISTS (
  14. SELECT 1 FROM `sys_config` WHERE `config_key` = 'config_asr_provider_tx'
  15. );
  16. UPDATE `sys_config`
  17. SET `config_name` = '腾讯ASR',
  18. `config_value` = 'tx',
  19. `config_type` = 'Y',
  20. `remark` = 'ASR厂商-mod_tx_asr'
  21. WHERE `config_key` = 'config_asr_provider_tx';
  22. -- 2) 腾讯 ASR 配置菜单
  23. UPDATE `sys_menu`
  24. SET `menu_name` = '腾讯ASR配置',
  25. `menu_code` = 'txAsrBridgeConf',
  26. `parent_id` = 3018,
  27. `order_num` = 8,
  28. `url` = '/cc/fsconf/txasrbridgeconf',
  29. `target` = 'menuItem',
  30. `menu_type` = 'C',
  31. `visible` = '0',
  32. `is_refresh` = '1',
  33. `perms` = 'cc:txasrbridgeconf:view',
  34. `icon` = '#',
  35. `update_by` = 'admin',
  36. `update_time` = NOW(),
  37. `remark` = 'mod_tx_asr 参数配置菜单'
  38. WHERE `perms` = 'cc:txasrbridgeconf:view'
  39. OR `url` = '/cc/fsconf/txasrbridgeconf'
  40. OR `menu_name` = '腾讯ASR配置';
  41. INSERT INTO `sys_menu` (`menu_name`, `menu_code`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `remark`)
  42. SELECT '腾讯ASR配置', 'txAsrBridgeConf', 3018, 8, '/cc/fsconf/txasrbridgeconf', 'menuItem', 'C', '0', '1', 'cc:txasrbridgeconf:view', '#', 'admin', NOW(), 'mod_tx_asr 参数配置菜单'
  43. FROM DUAL
  44. WHERE NOT EXISTS (
  45. SELECT 1
  46. FROM `sys_menu`
  47. WHERE `perms` = 'cc:txasrbridgeconf:view'
  48. OR `url` = '/cc/fsconf/txasrbridgeconf'
  49. );
  50. SET @tx_asr_menu_id := (
  51. SELECT `menu_id`
  52. FROM `sys_menu`
  53. WHERE `perms` = 'cc:txasrbridgeconf:view'
  54. OR `url` = '/cc/fsconf/txasrbridgeconf'
  55. ORDER BY `menu_id` DESC
  56. LIMIT 1
  57. );
  58. INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
  59. SELECT 2, @tx_asr_menu_id
  60. FROM DUAL
  61. WHERE @tx_asr_menu_id IS NOT NULL
  62. AND NOT EXISTS (
  63. SELECT 1
  64. FROM `sys_role_menu`
  65. WHERE `role_id` = 2
  66. AND `menu_id` = @tx_asr_menu_id
  67. );
  68. -- 3) fs_variables:共享字段缺了就补,已存在则保留
  69. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  70. SELECT 5, 'appid', '腾讯 ASR AppID'
  71. FROM DUAL
  72. WHERE NOT EXISTS (
  73. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'appid'
  74. );
  75. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  76. SELECT 5, 'secret-id', '腾讯 ASR SecretId'
  77. FROM DUAL
  78. WHERE NOT EXISTS (
  79. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'secret-id'
  80. );
  81. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  82. SELECT 5, 'secret-key', '腾讯 ASR SecretKey'
  83. FROM DUAL
  84. WHERE NOT EXISTS (
  85. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'secret-key'
  86. );
  87. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  88. SELECT 5, 'websocket-host', 'WebSocket Host'
  89. FROM DUAL
  90. WHERE NOT EXISTS (
  91. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'websocket-host'
  92. );
  93. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  94. SELECT 5, 'engine-model-type', '引擎模型'
  95. FROM DUAL
  96. WHERE NOT EXISTS (
  97. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'engine-model-type'
  98. );
  99. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  100. SELECT 5, 'voice-format', '音频编码格式'
  101. FROM DUAL
  102. WHERE NOT EXISTS (
  103. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'voice-format'
  104. );
  105. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  106. SELECT 5, 'need-vad', '启用 VAD'
  107. FROM DUAL
  108. WHERE NOT EXISTS (
  109. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'need-vad'
  110. );
  111. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  112. SELECT 5, 'filter-dirty', '脏词过滤'
  113. FROM DUAL
  114. WHERE NOT EXISTS (
  115. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'filter-dirty'
  116. );
  117. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  118. SELECT 5, 'filter-modal', '语气词过滤'
  119. FROM DUAL
  120. WHERE NOT EXISTS (
  121. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'filter-modal'
  122. );
  123. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  124. SELECT 5, 'filter-punc', '标点过滤'
  125. FROM DUAL
  126. WHERE NOT EXISTS (
  127. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'filter-punc'
  128. );
  129. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  130. SELECT 5, 'filter-empty-result', '过滤空识别结果'
  131. FROM DUAL
  132. WHERE NOT EXISTS (
  133. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'filter-empty-result'
  134. );
  135. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  136. SELECT 5, 'convert-num-mode', '数字转换模式'
  137. FROM DUAL
  138. WHERE NOT EXISTS (
  139. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'convert-num-mode'
  140. );
  141. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  142. SELECT 5, 'word-info', '词级时间戳'
  143. FROM DUAL
  144. WHERE NOT EXISTS (
  145. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'word-info'
  146. );
  147. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  148. SELECT 5, 'vad-silence-time', '句尾静音时长(毫秒)'
  149. FROM DUAL
  150. WHERE NOT EXISTS (
  151. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'vad-silence-time'
  152. );
  153. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  154. SELECT 5, 'max-speak-time', '强制断句时长(毫秒)'
  155. FROM DUAL
  156. WHERE NOT EXISTS (
  157. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'max-speak-time'
  158. );
  159. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  160. SELECT 5, 'hotword-id', '热词表 ID'
  161. FROM DUAL
  162. WHERE NOT EXISTS (
  163. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'hotword-id'
  164. );
  165. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  166. SELECT 5, 'hotword-list', '临时热词表'
  167. FROM DUAL
  168. WHERE NOT EXISTS (
  169. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'hotword-list'
  170. );
  171. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  172. SELECT 5, 'customization-id', '自学习模型 ID'
  173. FROM DUAL
  174. WHERE NOT EXISTS (
  175. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'customization-id'
  176. );
  177. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  178. SELECT 5, 'noise-threshold', '噪音阈值'
  179. FROM DUAL
  180. WHERE NOT EXISTS (
  181. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'noise-threshold'
  182. );
  183. INSERT INTO `fs_variables` (`cat`, `var_field_name`, `var_field_alias`)
  184. SELECT 5, 'signature-expire-seconds', '签名有效期(秒)'
  185. FROM DUAL
  186. WHERE NOT EXISTS (
  187. SELECT 1 FROM `fs_variables` WHERE `cat` = 5 AND `var_field_name` = 'signature-expire-seconds'
  188. );
  189. -- 4) 腾讯 realtime ASR 模型/语言
  190. DELETE FROM `cc_asr_languages`
  191. WHERE `asr_provider` = 'tx';
  192. INSERT INTO `cc_asr_languages` (`asr_provider`, `models`, `language_code`, `language_name`) VALUES
  193. ('tx', '8k_zh', 'zh-CN', '中文(8k)'),
  194. ('tx', '16k_zh', 'zh-CN', '中文(16k)'),
  195. ('tx', '8k_en', 'en-US', '英文(8k)'),
  196. ('tx', '16k_en', 'en-US', '英文(16k)'),
  197. ('tx', '16k_yue', 'zh-HK', '粤语');
  198. -- 5) 双向ASR默认引擎描述补齐
  199. UPDATE `cc_params`
  200. SET `param_name` = '双向asr语音识别,使用哪个asr引擎(chinatelecom/funasr/aliyun/ali/tx/tx1)'
  201. WHERE `param_code` = 'fs_call_asr_engine';
  202. COMMIT;