QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Hotwords personalizadas Python SDK

Use o Python SDK para criar, listar, consultar, atualizar e excluir vocabulários personalizados para reconhecimento de fala.

Guia do usuário: Melhorar a precisão do reconhecimento.

Pré-requisitos

URL do serviço

Defina o URL base antes de criar o serviço:

import dashscope

dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

Classe VocabularyService

Pacote: dashscope.audio.asr.VocabularyService

Gerencia o ciclo de vida de vocabulários personalizados (criar, listar, consultar, atualizar, excluir).

Construtor

VocabularyService(api_key: str = None, workspace: str = None, model: str = None)

Se api_key não for aprovado, o SDK usará o global dashscope.api_key.

criar_vocabulário()

Crie um vocabulário personalizado.

def create_vocabulary(self, target_model: str, prefix: str,
                      vocabulary: List[dict]) -> str
Parâmetro Tipo Obrigatório Descrição
alvo_modelo Sim O modelo de reconhecimento de fala que usa esse vocabulário. Deve corresponder ao modelo especificado ao chamar a API de reconhecimento de fala.
prefixo Sim Um prefixo personalizado para o vocabulário. Somente letras minúsculas e dígitos são permitidos, no máximo 10 caracteres.
vocabulário Lista[dict] Sim Uma lista de palavras-chave. Consulte Estrutura de entrada de hotword.

Retornos: str — o ID do vocabulário criado.

import dashscope
from dashscope.audio.asr import VocabularyService
import os

dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

prefix = 'testpfx'
target_model = "fun-asr"

my_vocabulary = [
  {"text": "Seediq Bale", "weight": 4}
]

service = VocabularyService()
vocabulary_id = service.create_vocabulary(
  prefix=prefix,
  target_model=target_model,
  vocabulary=my_vocabulary)

print(f"Vocabulary ID: {vocabulary_id}")

lista_vocabulários()

Liste vocabulários personalizados com filtragem e paginação opcionais.

A API HTTP usa o formato singular list_vocabulary, enquanto o nome do método Python usa o plural list_vocabularies.

def list_vocabularies(self, prefix: str = None,
                      page_index: int = 0,
                      page_size: int = 10) -> List[dict]
Parâmetro Tipo Obrigatório Descrição
prefixo Não Filtre por prefixo de vocabulário.
página_índice interno Não Número da página, começando em 0. Padrão: 0.
página_tamanho interno Não Número de entradas por página. Padrão: 10.

Retornos: List[dict] — uma lista de objetos de vocabulário, cada um contendo:

Campo Tipo Descrição
vocabulário_id O ID do vocabulário.
gmt_criar O tempo de criação.
gmt_modificado A hora da última modificação.
estado OK: Pronto. UNDEPLOYED: Não disponível.
import dashscope
from dashscope.audio.asr import VocabularyService
import json
import os

dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

service = VocabularyService()
vocabularies = service.list_vocabularies()
print(f"Vocabularies: {json.dumps(vocabularies)}")

consulta_vocabulário()

Consulte detalhes de um vocabulário personalizado específico.

def query_vocabulary(self, vocabulary_id: str) -> dict
Parâmetro Tipo Obrigatório Descrição
vocabulário_id Sim O ID do vocabulário personalizado a ser consultado.

Retornos: dict — um objeto de vocabulário contendo:

Campo Tipo Descrição
vocabulário Lista[dict] O conteúdo da lista de hotwords.
alvo_modelo O modelo de reconhecimento de fala que usa esse vocabulário.
gmt_criar O tempo de criação.
gmt_modificado A hora da última modificação.
estado OK: Pronto. UNDEPLOYED: Não disponível.
import dashscope
from dashscope.audio.asr import VocabularyService
import json
import os

dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

service = VocabularyService()
vocabulary = service.query_vocabulary("vocab-testpfx-xxx")
print(f"Vocabulary: {json.dumps(vocabulary, ensure_ascii=False)}")

atualização_vocabulário()

Atualize um vocabulário personalizado. Isso substitui completamente as entradas existentes.

def update_vocabulary(self, vocabulary_id: str,
                      vocabulary: List[dict]) -> None
Parâmetro Tipo Obrigatório Descrição
vocabulário_id Sim O ID do vocabulário a ser atualizado.
vocabulário Lista[dict] Sim As novas entradas de vocabulário. Consulte Estrutura de entrada de hotword.

Retornos: None

import dashscope
from dashscope.audio.asr import VocabularyService
import os

dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

service = VocabularyService()
my_vocabulary = [
  {"text": "Seediq Bale", "weight": 4, "lang": "en"}
]
service.update_vocabulary("vocab-testpfx-xxx", my_vocabulary)

deletar_vocabulário()

Exclua um vocabulário personalizado.

def delete_vocabulary(self, vocabulary_id: str) -> None
Parâmetro Tipo Obrigatório Descrição
vocabulário_id Sim O ID do vocabulário a ser excluído.

Retornos: None

import dashscope
from dashscope.audio.asr import VocabularyService
import os

dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'

service = VocabularyService()
service.delete_vocabulary("vocab-testpfx-xxxx")

Estrutura de entrada de hotword

Cada entrada no vocabulary lista possui os seguintes campos:

Campo Tipo Obrigatório Descrição
texto Sim O texto de entrada do vocabulário. O idioma do texto deve ser suportado pelo modelo selecionado. Use palavras reais em vez de combinações arbitrárias de caracteres. Comprimento máximo: 15 caracteres para texto que inclua caracteres não ASCII ou 7 palavras separadas por espaço para texto somente ASCII.
peso interno Sim O peso da entrada do vocabulário. Valor recomendado: 4. Valores válidos: 1 a 5. Se a precisão do reconhecimento não melhorar, aumente o peso. Um peso excessivamente alto pode reduzir a precisão do reconhecimento de outras palavras.
idioma Não O código do idioma do áudio a ser reconhecido. Quando definido, o sistema melhora o reconhecimento de entradas de vocabulário no idioma especificado. Se não for possível determinar o idioma antecipadamente, deixe esse parâmetro indefinido. Os valores válidos variam de acordo com o modelo. Fun-ASR: zh (chinês), en (Inglês), ja (Japonês).