Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
De ai_transcribe() functie transscribeert een audiobestand naar tekst. Het retourneert het transcript als een set tijdgestempelde segmenten en labelt elk segment met een luidspreker met automatische speakerdiarisatie. De output is een VARIANT waarde, dus je kunt hem koppelen aan andere AI-functies.
Important
Deze functie bevindt zich in de bètaversie. Om het te gebruiken moet een workspace-beheerder AI Transcribe inschakelen vanaf de pagina Voornemen. Zie Azure Databricks previews beheren.
Gegevensbeveiliging
Uw documentgegevens worden verwerkt binnen de Databricks-beveiligingsperimeter. Databricks slaat de parameters die aan de AI-functieaanroepen worden doorgegeven niet op, maar behoudt wel details van de uitvoering van metadata, zoals de gebruikte Databricks Runtime-versie.
Requirements
- Deze functie is alleen beschikbaar in sommige regio's, zie beschikbaarheid van AI-functies.
- Als u serverloze berekeningen gebruikt, is ook het volgende vereist:
- De serverloze omgevingsversie moet zijn ingesteld op 3 of hoger, omdat dit mogelijk maakt functies zoals
VARIANT. - Moet Python of SQL gebruiken. Zie Serverloze rekenbeperkingen voor aanvullende serverloze functies en beperkingen.
- De serverloze omgevingsversie moet zijn ingesteld op 3 of hoger, omdat dit mogelijk maakt functies zoals
- De
ai_transcribefunctie is beschikbaar met behulp van Databricks-notebooks, SQL-editor, Databricks-werkstromen, taken of Lakeflow-pijplijnen. -
ai_transcribede kosten worden geregistreerd als onderdeel van hetAI_FUNCTIONSproduct.
Ondersteunde invoerbestandsindelingen
Voor invoergegevens gebruik je ofwel een FILE-expressie die naar een audiobestand verwijst, of een BINARY expressie die de bytes van het audiobestand bevat. Als de bronbestanden zijn opgeslagen in een Unity Catalog-volume, genereer dan de binaire kolom met de Spark-formaat binaryFile lezer, zoals in de voorbeelden wordt getoond.
ai_transcribe transcribeert alleen audio. Videobestanden worden niet ondersteund. Tijdens de bèta worden de volgende audioformaten ondersteund:
- MP3
- WAV
- FLAC
- Opus
- M4A
Ondersteunde talen
Tijdens de bèta ai_transcribe ondersteunt het Engelse en Spaanse audio. Audio in andere talen kan onnauwkeurige transcripties opleveren.
Syntaxis
ai_transcribe(content)
Arguments
content is het enige vereiste argument.
-
content: Een FILE-type-expressie die verwijst naar een audiobestand, of eenBINARYexpressie die de bytes van het audiobestand bevat, zoals decontentkolom geproduceerd doorread_files(..., format => 'binaryFile').
Returns
ai_transcribe geeft een VARIANT waarde terug waarbij het transcript is opgedeeld in tijdgestempelde segmenten. Elk segment draagt ook een speaker_id label van automatische luidsprekerdiarisatie. Zie Speaker-diarisatie.
De uitvoer heeft het volgende schema:
{
"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
}
]
}
}
De responsvelden zijn als volgt:
-
error_message:nullwanneer de oproep slaagt, of een string die het falen beschrijft. -
response.duration_seconds: De totale duur van de audio, in seconden. -
response.segments: Een reeks transcriptsegmenten, in tijdsvolgorde. Om het volledige transcript te krijgen, voeg je de waarden vantextde segmenten in volgorde aan. -
segments[].startensegments[].end: De begin- en eindtijd van het segment, in enkele seconden. -
segments[].speaker_id: Het luidsprekerlabel voor het segment. Zie Speaker-diarisatie. -
segments[].text: De transcripttekst van het segment.
Luidsprekerdiarisatie
ai_transcribe voert luidsprekerdiarisatie automatisch uit: het detecteert verschillende luidsprekers in het geluid en labelt elk segment met een speaker_id. Diarisatie staat altijd aan tijdens de bèta en kan niet door gebruikers worden aan- of uitgezet, dus er is geen configuratie nodig. Luidsprekers zijn gelabeld met "1", "2", "3", enzovoort in de volgorde waarin ze eerst spreken, en de labels zijn consistent over de hele opname.
Limitations
De volgende beperkingen zijn van toepassing tijdens de bètaversie:
- Elke oproep accepteert maximaal 1 uur aan audio. Langere audio geeft een foutmelding.
- Elke oproep accepteert een invoerbestand van maximaal 512 MB. Een groter bestand geeft een foutmelding.
-
ai_transcribetranscribeert alleen audio; videobestanden worden niet ondersteund.
Voorbeelden
Het volgende voorbeeld stuurt een kolom van het FILE-type dat uit een tabel is genoemd audio rechtstreeks naar ai_transcribe.
SELECT
audio.uri AS path,
ai_transcribe(audio) AS transcription
FROM my_catalog.my_schema.audio_files;
Note
Het BESTANDSTYPE is in bèta.
Het volgende voorbeeld transcribeert elk audiobestand in een Unity Catalog-volume. Het leest de bestanden als binaire gegevens met read_files(..., format => 'binaryFile') en geeft de content kolom door aan ai_transcribe.
SELECT
path,
ai_transcribe(content) AS transcription
FROM READ_FILES('/Volumes/catalog/schema/volume/audio/', format => 'binaryFile');
Het volgende voorbeeld breidt het transcript uit tot één rij per segment, met het sprekerlabel, tijdstempels en tekst als aparte kolommen. Het gebruikt variant_explode de table-valued function om de segments array te ontgenesten.
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;