Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime
Funkcja transkrybuje ai_transcribe() plik audio na tekst. Zwraca transkrypcję jako zestaw segmentów oznaczonych czasem i oznacza każdy segment głośnikiem, używając automatycznej dziennikarzacji mówcy. Wyjściem jest wartość VARIANT , więc możesz ją łączyć z innymi funkcjami AI.
Ważna
Ta funkcja jest dostępna w wersji beta. Aby z niego korzystać, administrator przestrzeni roboczej musi włączyć AI Transcribe na stronie Podglądów . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Bezpieczeństwo danych
Dane dokumentu są przetwarzane w ramach strefy bezpieczeństwa Databricks. Databricks nie przechowuje parametrów przekazywanych do wywołań funkcji AI, ale zachowuje szczegóły metadanych, takie jak używana wersja Databricks Runtime.
Wymagania
- Ta funkcja jest dostępna tylko w niektórych regionach. Zobacz Dostępność funkcji sztucznej inteligencji.
- Jeśli używasz bezserwerowych obliczeń, wymagane są również następujące elementy:
- Wersja środowiska bezserwerowego musi być ustawiona na 3 lub nowszą, ponieważ umożliwia to korzystanie z funkcji takich jak
VARIANT. - Musi używać języka Python lub SQL. Aby uzyskać dodatkowe funkcje i ograniczenia bezserwerowe, zobacz Ograniczenia obliczeniowe bezserwerowe.
- Wersja środowiska bezserwerowego musi być ustawiona na 3 lub nowszą, ponieważ umożliwia to korzystanie z funkcji takich jak
- Funkcja
ai_transcribejest dostępna przy użyciu notesów usługi Databricks, edytora SQL, przepływów pracy usługi Databricks, zadań lub potoków lakeflow. -
ai_transcribekoszty są zapisane jako częśćAI_FUNCTIONSproduktu.
Obsługiwane formaty plików wejściowych
Dla danych wejściowych użyj wyrażenia typu PLIK , które odnosi się do pliku audio, lub wyrażenia BINARY zawierającego bajty pliku audio. Jeśli pliki źródłowe są przechowywane w wolumie Unity Catalog, wygeneruj kolumnę binarną za pomocą czytnika formatu Spark binaryFile , jak pokazano na przykładach.
ai_transcribe Tylko transkrypcje dźwięku. Pliki wideo nie są obsługiwane. W becie obsługiwane są następujące formaty audio:
- MP3
- WAV
- FLAC (Free Lossless Audio Codec - bezstratny kodek audio)
- Opus
- M4A
Obsługiwane języki
W becie obsługuje ai_transcribe dźwięk angielski i hiszpański. Nagrania audio w innych językach mogą zwracać niedokładne transkrypcje.
Syntax
ai_transcribe(content)
Arguments
content jest jedynym wymaganym argumentem.
-
content: Wyrażenie typu PLIK, które odnosi się do pliku audio, lub wyrażenieBINARYzawierające bajty pliku audio, takie jak kolumnacontentgenerowana przezread_files(..., format => 'binaryFile').
Zwroty
ai_transcribe zwraca wartość VARIANT , w której transkrypcja jest podzielona na segmenty oznaczone znacznikiem czasowym. Każdy segment posiada również etykietę speaker_id z automatycznego dziennika głośników. Zobacz dziennik mówcy.
Wynik ma następujący schemat:
{
"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
}
]
}
}
Pola odpowiedzi są następujące:
-
error_message:nullgdy wywołanie się powiedzie, lub ciąg opisujący niepowodzenie. -
response.duration_seconds: Całkowity czas trwania nagrania, w sekundach. -
response.segments: Tablica segmentów transkrypcji, w kolejności czasowej. Aby uzyskać pełną transkrypcję, połącz wartości segmentówtextw kolejności. -
segments[].startorazsegments[].end: Czas rozpoczęcia i zakończenia segmentu, w sekundach. -
segments[].speaker_id: Etykieta głośnika segmentu. Zobacz dziennik mówcy. -
segments[].text: Tekst transkrypcji segmentu.
Dziennik mówcy
ai_transcribe Automatycznie uruchamia dziennik głośników: wykrywa odrębne głośniki w nagraniu i oznacza każdy segment literą speaker_id. Diaryzacja jest zawsze włączona podczas bety i użytkownicy nie mogą jej włączać ani wyłączać, więc konfiguracja nie jest wymagana. Głośniki są oznaczone jako "1", "2", "3", i tak dalej w kolejności, w jakiej mówią pierwsza, a etykiety są spójne na całym nagraniu.
Ograniczenia
W wersji beta obowiązują następujące ograniczenia:
- Każde połączenie akceptuje maksymalnie godzinę nagrania audio. Dłuższy dźwięk zwraca błąd.
- Każde wywołanie akceptuje plik wejściowy o powierzchni maksymalnie 512 MB. Większy plik zwraca błąd.
-
ai_transcribetranskrypcje wyłącznie dźwięku; pliki wideo nie są obsługiwane.
Przykłady
Poniższy przykład przekazuje kolumnę typu FILE o nazwie z audio tabeli bezpośrednio do ai_transcribe.
SELECT
audio.uri AS path,
ai_transcribe(audio) AS transcription
FROM my_catalog.my_schema.audio_files;
Note
Typ pliku jest w wersji beta.
Poniższy przykład transkrybuje każdy plik audio w tomie katalogu Unity. Odczytuje pliki jako dane binarne z i read_files(..., format => 'binaryFile') przekazuje kolumnę content do ai_transcribe.
SELECT
path,
ai_transcribe(content) AS transcription
FROM READ_FILES('/Volumes/catalog/schema/volume/audio/', format => 'binaryFile');
Następny przykład rozszerza transkrypcję do jednego wiersza na segment, z etykietą mówiącego, znacznikami czasu i tekstem jako osobnymi kolumnami. Do rozgnieżdżenia tablicy segments używa variant_explode funkcji tabelowej.
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;