RAG ve veri · 2026-10-17

Arapça lehçe tanıma API'si: Jais ASR ile kayıt etiketleme

ifm/jais-asr her dökümle kaydın dilini ya da lehçesini döndürür: 19 ülke kodu ve msa. Bir klasördeki kayıtları lehçeye göre sayan Python örneğiyle.

Basit şema: bir ses kaydı https://llmtr.com/v1 üzerindeki ifm/jais-asr'a gider ve MA, EG, msa gibi lehçe etiketleri geri döner.

Kısa yanıt: verbose_json isteyin ve language alanını okuyun

LLMTR, farklı sağlayıcıların dil modellerine tek bir OpenAI uyumlu API ile erişim veren bir gateway'dir. Jais ASR'ı ifm/jais-asr kimliğiyle https://llmtr.com/v1 adresindeki /v1/audio/transcriptions uç noktasından çağırırsınız. response_format olarak verbose_json istediğinizde yanıt, dökümün yanında language alanını taşır; bu alan kaydın tanınan dilini ya da lehçesini söyler.

IFM, model kartında Jais ASR'ın Modern Standart Arapça'yı ve 19 Arap ülkesinin lehçelerini tanıdığını ve her dökümün tanınan dil ya da lehçe etiketiyle geldiğini yazar. Etiket, Modern Standart Arapça için msa, lehçeler için ülke kodudur; Arapça olmayan kayıtlarda en, fr, es ya da it gibi bir dil kodu döner.

Bir ses kaydının Arapça lehçesi nasıl tespit edilir?

Tespit için language alanını istekte göndermeyin ya da ar gönderin. Belirli bir kod gönderirseniz, örneğin MA ya da msa, yanıttaki etiket gönderdiğiniz değer olur; bu, lehçeyi bildiğiniz durumda dökümü o lehçeye sabitlemek içindir, tespit için değil.

Aşağıdaki Python örneği calls klasöründeki wav, mp3, flac ve ogg kayıtlarını sırayla Jais ASR'a gönderir, her kaydın etiketini yazdırır ve sonunda etiketleri sayar. Konuşma olmayan kayıtlar no speech olarak ayrılır. Örnek, kısa süreli istek sınırına takılan bir isteği Retry-After süresi kadar bekleyip tekrarlar; bekleme on saniyeden uzunsa, yani günlük hak dolmuşsa, hata verir.

Etiketi yanıttaki language alanından olduğu gibi okuyun: msa, MA, EG gibi. Etiketi ülke adına çevirmek için kendi eşleme tablonuzu kullanın; örnekteki NAMES sözlüğü bunun küçük bir başlangıcıdır.

Bir klasördeki ses kayıtlarını ifm/jais-asr'a verbose_json ile gönderen, her kaydın lehçe etiketini yazdıran, konuşma olmayan kayıtları ayıran ve etiketleri sayan Python requests örneği.

import base64
import collections
import os
import pathlib
import time

import requests

URL = "https://llmtr.com/v1/audio/transcriptions"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMTR_API_KEY"]}
NAMES = {"msa": "Modern Standard Arabic", "EG": "Egypt", "MA": "Morocco", "SA": "Saudi Arabia", "AE": "UAE"}


def transcribe(path: pathlib.Path) -> dict:
    body = {
        "model": "ifm/jais-asr",
        "audio_base64": base64.b64encode(path.read_bytes()).decode("ascii"),
        "audio_format": path.suffix.lstrip(".").lower(),
        "response_format": "verbose_json",
    }
    for _ in range(3):
        response = requests.post(URL, headers=HEADERS, json=body, timeout=300)
        wait = int(response.headers.get("Retry-After") or 0)
        if response.status_code == 429 and wait <= 10:
            time.sleep(max(wait, 1))
            continue
        response.raise_for_status()
        return response.json()
    raise RuntimeError("still rate limited: " + path.name)


counts = collections.Counter()
for path in sorted(pathlib.Path("calls").iterdir()):
    if path.suffix.lower() not in {".wav", ".mp3", ".flac", ".ogg"}:
        continue
    result = transcribe(path)
    label = "no speech" if result["no_speech"] else result["language"]
    counts[label] += 1
    print(path.name, "->", NAMES.get(label, label))

print(counts.most_common())

Etiketler ve anlamları

Tablo, language alanında dönebilecek Arapça etiketleri gösterir. Aynı kodlar istekte language alanına da yazılabilir. Kayıtta konuşma yoksa language null döner ve no_speech true olur.

ifm/jais-asr language etiketleri, 17 Ekim 2026 itibarıyla
EtiketAnlamı
msaModern Standart Arapça
arTüm lehçeler (yalnızca istekte; model lehçeyi kendisi seçer)
AE, BH, KW, OM, QA, SABAE, Bahreyn, Kuveyt, Umman, Katar, Suudi Arabistan
IQ, JO, LB, PS, SYIrak, Ürdün, Lübnan, Filistin, Suriye
EG, SD, LYMısır, Sudan, Libya
DZ, MA, MR, TNCezayir, Fas, Moritanya, Tunus
YEYemen
en, fr, es, itİngilizce, Fransızca, İspanyolca, İtalyanca

Etiketi nerede kullanmalı, nerede kullanmamalı

Lehçe etiketi kayıtları yönlendirmek ve raporlamak için işe yarar: bir çağrı merkezinde kaydı o lehçeyi bilen ekibe atamak, bir içerik arşivini lehçeye göre ayırmak ya da dökümü bir sonraki adımda Jais 3 gibi bir dil modeline lehçe bilgisiyle birlikte vermek gibi.

Etiket kişinin kimliği, uyruğu ya da kökeni hakkında karar vermek için kullanılmamalıdır. Kısa ya da gürültülü kayıtlarda etiket güvenilir olmayabilir; karar etiketin üzerine kurulacaksa insan kontrolü ekleyin ve birkaç kaydın etiketini birlikte değerlendirin.

Toplu işte hakkı ve hızı yönetmek

Günde 60 dakikalık ses hakkı, ortalama iki dakikalık kayıtlarla yaklaşık otuz kayıt eder. Bir klasörü işlemeye başlamadan önce kayıtların sürelerini okuyun ve toplamı hakla karşılaştırın; toplam haktan uzunsa işi günlere bölün.

Kayıtları sırayla gönderin. Kısa süreli istek sınırına takılan bir istek birkaç saniyelik bir Retry-After ile 429 döner; örnek bu durumda bekleyip aynı kaydı tekrar gönderir. Her kaydın etiketini, dosya adıyla birlikte hemen diske yazın; iş yarıda kalırsa kaldığı yerden sürdürürsünüz.

Yalnızca etiket gerekiyorsa, örneğin kayıtları ekiplere dağıtacaksanız, kaydın ilk bir iki dakikasını kesip göndermek hakkı daha uzun kayıtlara yayar. Konuşmanın başında sessizlik ya da müzik varsa kesimi konuşmanın başladığı yerden yapın.

Ücretsiz dönem, günlük hak ve veri notu

Jais ASR 5 Kasım 2026 23:59'a (TSİ) kadar ücretsizdir ve her hesabın günde 60 dakika ses hakkı vardır. Bir klasörü toplu işlerken kayıtların toplam süresini önceden hesaplayın; kalan dakikalardan uzun bir kayıt istek gönderilmeden reddedilir. Hak dolduğunda API 429 döner, Retry-After başlığı ne zaman yeniden deneyebileceğinizi söyler ve hak 00:00'da (TSİ) yenilenir. 6 Kasım 2026 00:00'dan itibaren model 410 model_retired döner.

LLMTR'deki model sayfasının veri notuna göre ses kayıtları ve dökümler sağlayıcı tarafından günlüğe kaydedilebilir ve modeli geliştirmek için kullanılabilir. Müşteri görüşmeleri genellikle kişisel veri içerir; bu tür kayıtları göndermeden önce müşterinizin onayını ve kendi veri politikanızı kontrol edin.

Ses kayıtlarını Arapça lehçeye göre etiketleme

Kayıtları ifm/jais-asr'a verbose_json ile gönderin, language alanını okuyun ve etiketleri sayın.

  1. Kayıtları toplama. wav, mp3, flac ya da ogg kayıtları bir klasöre koyun; her biri en fazla 15 dakika olsun.
  2. İstek. Her kaydı base64 olarak ifm/jais-asr'a response_format verbose_json ile ve language alanı olmadan gönderin.
  3. Etiketleme. Yanıttaki language alanını okuyun, no_speech true olanları ayırın ve etiketleri sayarak raporlayın.

Sık sorulan sorular

Jais ASR hangi Arapça lehçeleri tanır?

Modern Standart Arapça (msa) ve 19 ülkenin lehçeleri: AE, BH, DZ, EG, IQ, JO, KW, LB, LY, MA, MR, OM, PS, QA, SA, SD, SY, TN ve YE. Etiket yanıtın language alanında döner.

language alanını gönderirsem lehçe yine tespit edilir mi?

ar gönderirseniz ya da alanı göndermezseniz model lehçeyi kendisi seçer. MA ya da msa gibi belirli bir kod gönderirseniz etiket o değer olarak döner.

Lehçe etiketini müşteri hakkında karar vermek için kullanabilir miyim?

Etiket kayıtları yönlendirmek ve raporlamak içindir; kişinin kimliği, uyruğu ya da kökeni hakkında karar vermek için kullanılmamalıdır. Kısa ya da gürültülü kayıtlarda etiket güvenilir olmayabilir.

İlgili yazılar