更新时间:2024-12-04 GMT+08:00
热词管理
前提条件
- 确保已按照配置Python环境配置完毕,Python SDK仅支持Python3。
- 请参考SDK(websocket)获取最新版本SDK包。
初始化Client
初始化HotWordClient,详见表 HotWordClient初始化参数。
请求参数
请求类为HotWordRequest,详见表3。
响应参数
代码示例
如下示例仅供参考,最新代码请前往SDK(websocket)章节获取并运行。
# -*- coding: utf-8 -*-
from huaweicloud_sis.client.hot_word_client import HotWordClient
from huaweicloud_sis.bean.hot_word_request import HotWordRequest
from huaweicloud_sis.exception.exceptions import ClientException
from huaweicloud_sis.exception.exceptions import ServerException
from huaweicloud_sis.bean.sis_config import SisConfig
import json
import os
# 鉴权参数
# 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
# 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SIS_AK/HUAWEICLOUD_SIS_SK
ak = os.getenv("HUAWEICLOUD_SIS_AK") # 从环境变量获取ak 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html
assert ak is not None, "Please add ak in your develop environment"
sk = os.getenv("HUAWEICLOUD_SIS_SK") # 从环境变量获取sk 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html
assert sk is not None, "Please add sk in your develop environment"
project_id = "" # project id 同region一一对应,参考https://support.huaweicloud.com/api-sis/sis_03_0008.html
region = '' # region,如cn-north-4
# 热词参数
name = '' # 创建热词时,需要保证name在此之前没有被创建使用过。如 test1
word_list = list() # 用于存放热词表。每个热词表最多可以存放10000个热词。如["计算机", "网络"]
vocabulary_id = '' # 用于更新指定热词表id信息,查询指定热词表id信息,删除指定热词表id信息。使用前要保证热词表id存在,否则就不要使用。
def hot_word_example():
"""
1. 热词使用包含创建、更新、查询、删除等,一个用户可以创建多个热词表,一个热词表可以包含多个热词。一个vocabulary_id对应一个热词表。
2. 目前支持一个用户最多创建10个热词表,一个热词表最多包含10000个热词。
3. 热词可在一句话识别、录音文件识别、实时语音识别使用。例如将地名和人名作为热词,则语音可以准确识别出人名和地名。
:return: 无
"""
# 初始化客户端
config = SisConfig()
config.set_connect_timeout(10) # 设置连接超时
config.set_read_timeout(10) # 设置读取超时
# 设置代理,使用代理前一定要确保代理可用。 代理格式可为[host, port] 或 [host, port, username, password]
# config.set_proxy(proxy)
hot_word_client = HotWordClient(ak, sk, region, project_id, sis_config=config)
# option 1 创建热词表
word_list.append('测试')
create_request = HotWordRequest(name, word_list)
# 可选,热词语言,目前仅支持中文 chinese_mandarin。
create_request.set_language('chinese_mandarin')
# 可选,热词表描述信息
create_request.set_description('test')
create_result = hot_word_client.create(create_request)
# 返回结果为json格式
print('成功创建热词表')
print(json.dumps(create_result, indent=2, ensure_ascii=False))
# option 2 根据热词表id 更新热词表。新的热词表会替换旧的热词表。使用前需确保热词表id已存在。
word_list.append('计算机')
update_request = HotWordRequest('test2', word_list)
update_result = hot_word_client.update(update_request, vocabulary_id)
# 返回结果为json格式
print('成功更新热词表', vocabulary_id)
print(json.dumps(update_result, indent=2, ensure_ascii=False))
# option 3 查看热词表列表
query_list_result = hot_word_client.query_list()
print(json.dumps(query_list_result, indent=2, ensure_ascii=False))
# option 4 根据热词表id查询具体热词表信息,使用前需确保热词表id已存在。
query_result = hot_word_client.query_by_vocabulary_id(vocabulary_id)
print(json.dumps(query_result, indent=2, ensure_ascii=False))
# option 5 根据热词表id删除热词表,使用前需确保热词表id已存在。
delete_result = hot_word_client.delete(vocabulary_id)
if delete_result is None:
print('成功删除热词表', vocabulary_id)
else:
print(json.dumps(delete_result, indent=2, ensure_ascii=False))
if __name__ == '__main__':
try:
hot_word_example()
except ClientException as e:
print(e)
except ServerException as e:
print(e)
父主题: Python SDK