Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
A ai_transcribe() função transcreve um ficheiro de áudio para texto. Devolve a transcrição como um conjunto de segmentos com carimbo temporal e rotula cada segmento com um altifalante usando diarização automática do altifalante. A saída é um VARIANT valor, por isso pode encadeá-lo noutras Funções de IA.
Importante
Este recurso está em versão Beta. Para o usar, um administrador de espaço de trabalho deve ativar o AI Transcribe a partir da página de Pré-visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Segurança de dados
Os dados do documento são processados dentro do perímetro de segurança Databricks. O Databricks não armazena os parâmetros que são passados para as chamadas de função de IA, mas mantém detalhes de execução de metadados, como a versão de Runtime do Databricks utilizada.
Requisitos
- Esta função está disponível apenas em algumas regiões, veja disponibilidade de funções de IA.
- Se você estiver usando computação sem servidor, o seguinte também é necessário:
- A versão do ambiente sem servidor deve ser definida como 3 ou superior, pois isso permite recursos como
VARIANT. - Deve usar Python ou SQL. Para recursos e limitações adicionais sem servidor, consulte Limitações de computação sem servidor.
- A versão do ambiente sem servidor deve ser definida como 3 ou superior, pois isso permite recursos como
- A
ai_transcribefunção está disponível através de cadernos Databricks, editor SQL, fluxos de trabalho Databricks, trabalhos ou pipelines Lakeflow. -
ai_transcribeos custos são registados como parte doAI_FUNCTIONSproduto.
Formatos de ficheiro de entrada suportados
Para dados de entrada, use uma expressão do tipo FILE que faça referência a um ficheiro de áudio ou uma BINARY expressão que contenha os bytes do ficheiro de áudio. Se os ficheiros fonte estiverem armazenados num volume do Unity Catalog, gere a coluna binária usando o leitor de formato Spark binaryFile , como mostrado nos exemplos.
ai_transcribe transcreve apenas áudio. Ficheiros de vídeo não são suportados. Durante a Beta, são suportados os seguintes formatos de áudio:
- MP3
- WAV
- FLAC
- Opus
- M4A
Línguas suportadas
Durante a Beta, ai_transcribe suporta áudio em inglês e espanhol. O áudio noutras línguas pode devolver transcrições imprecisas.
Syntax
ai_transcribe(content)
Arguments
content é o único argumento obrigatório.
-
content: Uma expressão do tipo FILE que faz referência a um ficheiro de áudio, ou umaBINARYexpressão que contém os bytes do ficheiro de áudio, como acontentcoluna produzida porread_files(..., format => 'binaryFile').
Devoluções
ai_transcribe devolve um VARIANT valor com a transcrição dividida em segmentos com carimbo temporal. Cada segmento também transporta uma speaker_id etiqueta de diarização automática por altifalantes.
Ver Diarização do orador.
A saída tem o seguinte esquema:
{
"error_message": STRING, // null on success; an error message string on failure
"response": {
"duration_seconds": DOUBLE, // total audio duration, in seconds
"segments": [
{
"start": DOUBLE, // segment start time, in seconds
"end": DOUBLE, // segment end time, in seconds
"speaker_id": STRING, // speaker label ("1", "2", ...)
"text": STRING // transcript text for the segment
}
]
}
}
Os campos de resposta são os seguintes:
-
error_message:nullquando a chamada é bem-sucedida, ou uma cadeia que descreve a falha. -
response.duration_seconds: A duração total do áudio, em segundos. -
response.segments: Uma série de segmentos de transcrição, por ordem temporal. Para obter a transcrição completa, concatene os valores dostextsegmentos por ordem. -
segments[].startesegments[].end: A hora de início e fim do segmento, em segundos. -
segments[].speaker_id: A etiqueta do altifalante para o segmento. Ver Diarização do orador. -
segments[].text: O texto da transcrição do segmento.
Diarização do altifalante
ai_transcribe Executa automaticamente a diarização dos altifalantes: deteta altifalantes distintos no áudio e rotula cada segmento com um speaker_id. A diarização está sempre ativa durante a Beta e não pode ser ativada ou desligada pelos utilizadores, pelo que não é necessária qualquer configuração. As colunas são rotuladas "1"com , "2", "3", e assim sucessivamente na ordem em que falam pela primeira vez, e as etiquetas são consistentes ao longo de toda a gravação.
Limitations
As seguintes limitações aplicam-se durante a Beta:
- Cada chamada aceita no máximo 1 hora de áudio. Áudio mais longo devolve um erro.
- Cada chamada aceita um ficheiro de entrada com no máximo 512 MB. Um ficheiro maior devolve um erro.
-
ai_transcribetranscreve apenas áudio; ficheiros de vídeo não são suportados.
Exemplos
O exemplo seguinte passa uma coluna de tipo FICHEIRO nomeada audio diretamente de uma tabela para ai_transcribe.
SELECT
audio.uri AS path,
ai_transcribe(audio) AS transcription
FROM my_catalog.my_schema.audio_files;
Note
O tipo de ficheiro está em Beta.
O exemplo seguinte transcreve todos os ficheiros de áudio num volume do Unity Catalog. Lê os ficheiros como dados binários com read_files(..., format => 'binaryFile') e passa a coluna content para ai_transcribe.
SELECT
path,
ai_transcribe(content) AS transcription
FROM READ_FILES('/Volumes/catalog/schema/volume/audio/', format => 'binaryFile');
O exemplo seguinte expande a transcrição para uma linha por segmento, com o rótulo do orador, carimbos temporais e texto como colunas separadas. Utiliza variant_explode a função de valor de tabela para des-aninhar o segments array.
WITH transcribed AS (
SELECT
path,
ai_transcribe(content) AS result
FROM READ_FILES('/Volumes/catalog/schema/volume/audio/', format => 'binaryFile')
)
SELECT
transcribed.path,
segment.value:start::DOUBLE AS start_seconds,
segment.value:end::DOUBLE AS end_seconds,
segment.value:speaker_id::STRING AS speaker_id,
segment.value:text::STRING AS text
FROM
transcribed,
LATERAL variant_explode(transcribed.result:response.segments) AS segment;