ai_transcribe fonksiyon

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

Bu ai_transcribe() fonksiyon, bir ses dosyasını metne dönüştürür. Transkripti zaman damgalı bölümler seti olarak geri gönderir ve her segmenti otomatik hoparlör diarizasyonu ile bir hoparlörle etiketler. Çıktı bir VARIANT değerdir, yani diğer yapay zeka fonksiyonlarına zincirleyebilirsiniz.

Important

Bu özellik Beta sürümündedir. Kullanmak için bir çalışma alanı yöneticisinin Önizlemeler sayfasından AI Transscribe'ı açması gerekir. Bkz. Azure Databricks önizlemelerini yönetme.

Veri güvenliği

Belge verileriniz Databricks güvenlik çevresi içinde işlenir. Databricks, yapay zeka fonksiyon çağrılarına iletilen parametreleri saklamaz, ancak kullanılan Databricks Çalışma Zamanı versiyonu gibi metaveri çalışma detaylarını korur.

Gereksinimler

  • Bu işlev yalnızca bazı bölgelerde kullanılabilir. Bkz. Yapay zeka işlevi kullanılabilirliği.
  • Sunucusuz işlem kullanıyorsanız, aşağıdakiler de gereklidir:
    • Sunucusuz ortam sürümü, gibi VARIANTözellikleri etkinleştirdiği için 3 veya üzeri olarak ayarlanmalıdır.
    • Python veya SQL kullanmalıdır. Sunucusuz ek özellikler ve sınırlamalar için bkz. Sunucusuz işlem sınırlamaları.
  • ai_transcribe işlevi Databricks not defterleri, SQL düzenleyicisi, Databricks iş akışları, işler veya Lakeflow işlem hatları kullanılarak kullanılabilir.
  • ai_transcribe maliyetler ürünün bir parçası AI_FUNCTIONS olarak kaydedilir.

Desteklenen giriş dosyası biçimleri

Giriş verileri için, ses dosyasına referans veren FILE tipi ifadesi veya ses dosyasının baytlarını içeren bir BINARY ifade kullanın. Kaynak dosyalar bir Unity Kataloğu hacminden saklanıyorsa, örneklerde gösterildiği gibi Spark binaryFile format okuyucusu kullanarak ikili sütun oluşturun.

ai_transcribe Sadece sesi yazıya aktarır. Video dosyaları desteklenmiyor. Beta sırasında aşağıdaki ses formatları desteklenmektedir:

  • MP3
  • WAV
  • FLAC (Kayıpsız Ses Kodlayıcı)
  • Opus
  • M4A

Desteklenen diller

Beta sırasında ai_transcribe İngilizce ve İspanyolca sesi destekler. Diğer dillerdeki ses hata yanlış transkript verebilir.

Sözdizimi

ai_transcribe(content)

Arguments

content tek gerekli bağımsız değişkendir.

  • content: Bir ses dosyasına referans veren DOSYA tipi ifade veya BINARY ses dosyasının baytlarını tutan bir ifade, örneğin content tarafından üretilen read_files(..., format => 'binaryFile')sütun gibi.

İadeler

ai_transcribe Zaman damgalı bölümlere bölünmüş transkript içeren bir VARIANT değer döndürür. Her bölüm ayrıca otomatik hoparlör diarizasyonundan bir speaker_id etiket taşır. Bkz. Konuşmacı gündeliği.

Çıktı şu şemaya sahiptir:

{
  "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
      }
    ]
  }
}

Yanıt alanları aşağıdaki gibidir:

  • error_message: null çağrı başarılı olduğunda veya başarısızlığı tanımlayan bir dize.
  • response.duration_seconds: Sesin toplam süresi, saniyeler cinsinden.
  • response.segments: Zaman sırasına göre bir dizi transkript bölümleri. Tam transkripti almak için segmentlerin text değerlerini sırayla birleştirin.
  • segments[].start ve segments[].end: Segmentin başlangıç ve bitiş zamanı, saniyeler cinsinden.
  • segments[].speaker_id: Segmentin hoparlör etiketi. Bkz. Konuşmacı gündeliği.
  • segments[].text: Bölümün transkript metni.

Konuşmacı günlüğü

ai_transcribe Hoparlör diarizasyonunu otomatik olarak çalıştırır: Seste farklı hoparlörleri algılar ve her segmenti bir speaker_idile etiketler. Beta sırasında günlük düzenleme her zaman açıktır ve kullanıcılar tarafından açılıp kapatılamaz, bu yüzden yapılandırma gerekmez. Hoparlörler, ilk konuştukları sırayla , "2", "3", ve benzeri şekilde etiketlenir "1"ve etiketler tüm kayıt boyunca tutarlıdır.

Limitations

Beta sırasında aşağıdaki sınırlamalar geçerlidir:

  • Her arama en fazla 1 saatlik ses kabul ediyor. Daha uzun ses hata döndürüyor.
  • Her çağrı en fazla 512 MB giriş dosyasını kabul eder. Daha büyük bir dosya hata döndürür.
  • ai_transcribe sadece sesli transkribe eder; video dosyaları desteklenmez.

Örnekler

Aşağıdaki örnek, bir tablodan adlandırılan audioFILE tipi sütununu doğrudan 'ye ai_transcribeiletir.

SELECT
  audio.uri AS path,
  ai_transcribe(audio) AS transcription
FROM my_catalog.my_schema.audio_files;

Note

FILE tipi Beta'da.

Aşağıdaki örnek, Unity Kataloğu ciltindeki tüm ses dosyalarını transkribe etmektedir. Dosyaları ikili veri olarak okuyor read_files(..., format => 'binaryFile') ve sütunu content ile iletir ai_transcribe.

SELECT
  path,
  ai_transcribe(content) AS transcription
FROM READ_FILES('/Volumes/catalog/schema/volume/audio/', format => 'binaryFile');

Bir sonraki örnek, transkripsiyonu her segmentte bir satıra genişletir; konuşmacı etiketi, zaman damgaları ve metin ayrı sütunlar olarak gösterilir. Diziyi yuvasını segments açmak için tablo değerli fonksiyonvariant_explode kullanır.

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;