Skip to main content
Referência da API de palavras-chave personalizadas

Referência do SDK Python para palavras-chave personalizadas

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

O Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões China (Pequim) e Singapura. Os novos domínios dedicados oferecem desempenho superior e maior estabilidade nas solicitações de inferência. Recomendamos migrar para os novos domínios:
  • China (Pequim): de dashscope.aliyuncs.com para {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapura: de dashscope-intl.aliyuncs.com para {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Substitua {WorkspaceId} pelo seu ID do Workspace real. Os domínios existentes permanecem totalmente funcionais.
Guia do usuário: Melhorar a precisão do reconhecimento.
Vocabulários personalizados são compatíveis apenas no workspace principal. Sub-workspaces não oferecem suporte a esse recurso.

Endpoint

Por padrão, o SDK conecta-se ao endpoint da China (Pequim). Para usar outra região, defina dashscope.base_http_api_url antes de fazer qualquer chamada de API.
  • China (Pequim)
  • Singapura
https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1Substitua {WorkspaceId} pelo seu ID do workspace real.
  • Singapura
  • China (Pequim)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Substitua {WorkspaceId} pelo seu ID do Workspace real.
Para usar a região de Singapura, configure dashscope.base_http_api_url antes de fazer chamadas:
import dashscope

# Set this at the beginning of your code
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
Nota:
  • As chaves de API variam conforme a região. Use a chave correspondente à sua região.
  • A configuração de região é global e afeta todas as chamadas da API DashScope.

VocabularyService

Pacote: dashscope.audio.asr.VocabularyService Descrição: Crie, liste, consulte, atualize e exclua vocabulários personalizados.

Construtor

VocabularyService(api_key: str = None, workspace: str = None, model: str = None)
Se api_key não for fornecido, o SDK usará a variável global dashscope.api_key.

create_vocabulary() - Criar um vocabulário personalizado

Assinatura do método:
def create_vocabulary(
    self,
    target_model: str,
    prefix: str,
    vocabulary: List[dict]) -> str
Parâmetros:

Parâmetro

Tipo

Obrigatório

Descrição

target_model

str

Sim

Modelo de reconhecimento de fala que usa este vocabulário. Este valor deve corresponder exatamente ao modelo especificado na chamada da API de reconhecimento de fala.

prefix

str

Sim

Prefixo personalizado para o vocabulário. Aceita apenas letras minúsculas e dígitos, com limite de 10 caracteres.

vocabulary

List[dict]

Sim

Lista de palavras-chave. Cada entrada é um dicionário com os campos text, weight e lang.

Para mais detalhes, consulte Estrutura do dicionário de palavras-chave.

Valor de retorno:

Tipo

Descrição

str

ID do vocabulário criado.

list_vocabularies() - Listar vocabulários personalizados

Corresponde à ação da API HTTP action: list_vocabulary (a API HTTP usa o singular, enquanto o método Python list_vocabularies usa o plural). Assinatura do método:
def list_vocabularies(
    self,
    prefix: str = None,
    page_index: int = 0,
    page_size: int = 10) -> List[dict]
Parâmetros:

Parâmetro

Tipo

Obrigatório

Descrição

prefix

str

Não

Prefixo personalizado do vocabulário. Se especificado, a resposta incluirá apenas vocabulários com este prefixo.

page_index

int

Não

Número da página, começando em 0.

Valor padrão: 0.

page_size

int

Não

Quantidade de itens por página.

Valor padrão: 10.

Valor de retorno:

Tipo

Descrição

List[dict]

Lista de objetos de vocabulário contendo vocabulary_id, gmt_create, gmt_modified e status.

Campos retornados por list_vocabularies():

Campo

Tipo

Descrição

vocabulary_id

str

ID do vocabulário.

gmt_create

str

Data e hora de criação.

gmt_modified

str

Data e hora da última modificação.

status

str

Status:

  • OK: Pronto.

  • UNDEPLOYED: Indisponível.

query_vocabulary() - Consultar um vocabulário personalizado

Assinatura do método:
def query_vocabulary(
    self,
    vocabulary_id: str) -> dict
Parâmetros:

Parâmetro

Tipo

Obrigatório

Descrição

vocabulary_id

str

Sim

ID do vocabulário personalizado a consultar.

Valor de retorno:

Tipo

Descrição

dict

Objeto de vocabulário contendo vocabulary, target_model, gmt_create, gmt_modified e status.

Campos retornados por query_vocabulary():

Campo

Tipo

Descrição

vocabulary

List[dict]

Conteúdo da lista de palavras-chave.

target_model

str

Modelo de reconhecimento de fala que usa este vocabulário. Este valor deve corresponder exatamente ao modelo especificado na chamada da API de reconhecimento de fala.

gmt_create

str

Data e hora de criação.

gmt_modified

str

Data e hora da última modificação.

status

str

Status:

  • OK: Pronto.

  • UNDEPLOYED: Indisponível.

update_vocabulary() - Atualizar um vocabulário personalizado

Assinatura do método:
def update_vocabulary(
    self,
    vocabulary_id: str,
    vocabulary: List[dict]) -> None
Parâmetros:

Parâmetro

Tipo

Obrigatório

Descrição

vocabulary_id

str

Sim

ID do vocabulário a atualizar.

vocabulary

List[dict]

Sim

Novo vocabulário. Esta lista substitui integralmente as entradas existentes.

Valor de retorno: Nenhum

delete_vocabulary() - Excluir um vocabulário personalizado

Assinatura do método:
def delete_vocabulary(
    self,
    vocabulary_id: str) -> None
Parâmetros:

Parâmetro

Tipo

Obrigatório

Descrição

vocabulary_id

str

Sim

ID do vocabulário a excluir.

Valor de retorno: Nenhum

Estrutura do dicionário de palavras-chave

Campos em cada dicionário de vocabulário:

Campo

Tipo

Obrigatório

Descrição

text

str

Sim

Texto da entrada do vocabulário.

O idioma do texto deve ser compatível com o modelo selecionado. Os idiomas suportados variam conforme o modelo.

Use palavras reais em vez de combinações arbitrárias de caracteres para aumentar a precisão do reconhecimento.

Limite máximo: 15 caracteres para textos com caracteres não ASCII ou 7 palavras separadas por espaços para textos exclusivamente ASCII.

weight

int

Sim

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 no reconhecimento de outras palavras.

lang

str

Não

Código do idioma do áudio a reconhecer. Quando definido, o sistema aprimora o reconhecimento das entradas do vocabulário no idioma especificado. Caso não seja possível determinar o idioma antecipadamente, deixe este parâmetro indefinido. O modelo detecta o idioma automaticamente.

Valores válidos (variam conforme o modelo):

  • Paraformer:

    • zh: Chinês

    • en: Inglês

    • ja: Japonês

    • yue: Cantonês

    • ko: Coreano

    • de: Alemão

    • fr: Francês

    • ru: Russo

  • Fun-ASR:

    • zh: Chinês

    • en: Inglês

    • ja: Japonês

Exemplos de código

Todos os exemplos leem a chave de API de uma variável de ambiente.

Criar um vocabulário personalizado

import dashscope
from dashscope.audio.asr import *
import os

# The API keys for the Singapore and Beijing regions are different. Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If no environment variable is configured, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# The following configuration is for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration varies by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

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

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

# Create a custom vocabulary
service = VocabularyService()
vocabulary_id = service.create_vocabulary(
    prefix=prefix,
    target_model=target_model,
    vocabulary=my_vocabulary)

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

Listar vocabulários personalizados

import dashscope
from dashscope.audio.asr import *
import json
import os

# The API keys for the Singapore and Beijing regions are different. Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If no environment variable is configured, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# The following configuration is for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration varies by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

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

Consultar um vocabulário personalizado

import dashscope
from dashscope.audio.asr import *
import json
import os

# The API keys for the Singapore and Beijing regions are different. Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If no environment variable is configured, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# The following configuration is for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration varies by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

service = VocabularyService()
# Replace with the actual vocabulary ID when querying
vocabulary = service.query_vocabulary("vocab-testpfx-xxx")
print(f"Vocabulary: {json.dumps(vocabulary, ensure_ascii=False)}")

Atualizar um vocabulário personalizado

import dashscope
from dashscope.audio.asr import *
import os

# The API keys for the Singapore and Beijing regions are different. Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If no environment variable is configured, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# The following configuration is for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration varies by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

service = VocabularyService()
my_vocabulary = [
    {"text": "Seediq Bale", "weight": 4, "lang": "en"}
]
# Replace with the actual vocabulary ID when updating
service.update_vocabulary("vocab-testpfx-xxx", my_vocabulary)

Excluir um vocabulário personalizado

import dashscope
from dashscope.audio.asr import *
import os

# The API keys for the Singapore and Beijing regions are different. Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If no environment variable is configured, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# The following configuration is for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration varies by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

service = VocabularyService()
# Replace with the actual vocabulary ID when deleting
service.delete_vocabulary("vocab-testpfx-xxxx")
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos