Voice/Speech Modelsassembly-aiSpeech-to-Text

معرفی و مستندات مدل هوش مصنوعی slam-1

مستندات مدل slam-1 ارائه شده توسط ای آی کار (AI-KAR)

معرفی و بررسی فنی

⚡ وضعیت پشتیبانی از زبان فارسی

این مدل در حال حاضر از زبان فارسی پشتیبانی نمی‌کند.

مدل slam-1 یک مدل تبدیل گفتار به متن (Speech-to-Text) است که توسط ای آی کار (AI-KAR) ارائه شده و بر پایه معماری AssemblyAI توسعه یافته است. این مدل با بهره‌گیری از درک عمیق از متن و معناشناسی، دقت فوق‌العاده‌ای در تبدیل گفتار به متن ارائه می‌دهد. این مدل به طور خاص برای زبان انگلیسی طراحی شده است و در حال حاضر از زبان‌های دیگر پشتیبانی نمی‌کند. مدل slam-1 از سیستم پرداخت به ازای هر ثانیه استفاده می‌کند، به این معنی که هزینه رونویسی صوتی بر اساس تعداد ثانیه‌های فایل صوتی ورودی محاسبه می‌شود، نه زمان پردازش. این مدل برای طیف گسترده‌ای از کاربردها مناسب است، از جمله رونویسی جلسات، پادکست‌ها، ویدیوها و سایر محتوای صوتی. همچنین، این مدل می‌تواند در برنامه‌های کاربردی مانند دستیارهای صوتی، سیستم‌های پاسخگویی خودکار و سایر برنامه‌های مبتنی بر صدا مورد استفاده قرار گیرد. از ویژگی‌های کلیدی این مدل می‌توان به دقت بالا، سرعت پردازش مناسب و سهولت استفاده اشاره کرد. تیم ای آی کار (AI-KAR) به طور مداوم در حال بهبود و توسعه این مدل است تا بتواند نیازهای کاربران را به بهترین شکل ممکن برآورده سازد. برای شروع استفاده از این مدل، ابتدا باید یک کلید API از ای آی کار (AI-KAR) دریافت کنید. سپس می‌توانید با استفاده از API این مدل، فایل‌های صوتی خود را به متن تبدیل کنید. برای اطلاعات بیشتر در مورد نحوه استفاده از API، به مستندات API مراجعه کنید. این مدل از پارامترهای مختلفی برای سفارشی‌سازی فرآیند رونویسی پشتیبانی می‌کند، از جمله پارامترهایی برای کنترل نحوه علامت‌گذاری، قالب‌بندی متن، تشخیص زبان و غیره. با استفاده از این پارامترها، می‌توانید خروجی مدل را به طور دقیق مطابق با نیازهای خود تنظیم کنید. مدل slam-1 یک ابزار قدرتمند و کارآمد برای تبدیل گفتار به متن است که می‌تواند به شما در صرفه‌جویی در زمان و هزینه کمک کند.

مشخصات فنی (API References)

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده برای تبدیل گفتار به متن. مقدار معتبر `aai/slam-1` است.
مقادیر مجاز (کلیک برای کپی):
audio
objectRequired
فایل صوتی برای رونویسی.
audio_start_from
integer
نقطه شروع در فایل صوتی برای رونویسی، بر حسب میلی‌ثانیه.
audio_end_at
integer
نقطه پایان در فایل صوتی برای رونویسی، بر حسب میلی‌ثانیه.
language_code
string
کد زبان فایل صوتی. مقادیر ممکن در بخش Supported Languages یافت می‌شوند. مقدار پیش‌فرض 'en_us' است.
language_confidence_threshold
number
آستانه اطمینان برای تشخیص خودکار زبان. اگر اطمینان زبان کمتر از این آستانه باشد، یک خطا برگردانده می‌شود. مقدار پیش‌فرض 0 است.
language_detection
boolean
فعال کردن تشخیص خودکار زبان، مقدار می‌تواند true یا false باشد. فقط برای مدل universal در دسترس است.
punctuate
boolean
اضافه کردن نشانه‌گذاری و حروف بزرگ به متن رونویسی شده. مقدار پیش‌فرض true است.
format_text
boolean
فعال کردن قالب‌بندی متن، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض true است.
disfluencies
boolean
رونویسی کلمات پرکننده مانند "umm" در فایل رسانه‌ای. مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
multichannel
boolean
فعال کردن رونویسی چند کاناله، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
speaker_labels
boolean
فعال کردن تشخیص هویت گوینده، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
speakers_expected
integer
به مدل تشخیص هویت گوینده بگویید که چند گوینده را باید شناسایی کند. برای جزئیات بیشتر به Speaker diarization مراجعه کنید.
content_safety
boolean
فعال کردن تعدیل محتوا، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
iab_categories
boolean
فعال کردن تشخیص موضوع، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
custom_spelling
object[]
سفارشی کردن نحوه املای کلمات با استفاده از مقادیر to و from.
auto_highlights
boolean
فعال کردن عبارات کلیدی، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
word_boost
string[]
لیستی از واژگان سفارشی برای افزایش احتمال رونویسی.
boost_param
string
میزان تقویت کلمات مشخص شده. مقادیر مجاز: low, default, high.
مقادیر مجاز (کلیک برای کپی):
filter_profanity
boolean
فیلتر کردن کلمات رکیک از متن رونویسی شده، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
redact_pii
boolean
حذف اطلاعات شناسایی شخصی (PII) از متن رونویسی شده با استفاده از مدل Redact PII، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
redact_pii_audio
boolean
ایجاد یک کپی از فایل رسانه‌ای اصلی با حذف صدای PII، مقدار می‌تواند true یا false باشد. برای جزئیات بیشتر به PII redaction مراجعه کنید. مقدار پیش‌فرض false است.
redact_pii_audio_quality
string
کنترل نوع فایل صوتی ایجاد شده توسط redact_pii_audio. در حال حاضر از mp3 (پیش‌فرض) و wav پشتیبانی می‌کند. برای جزئیات بیشتر به PII redaction مراجعه کنید.
مقادیر مجاز (کلیک برای کپی):
redact_pii_policies
string[]
لیستی از سیاست‌های PII Redaction برای فعال کردن. برای جزئیات بیشتر به PII redaction مراجعه کنید.
redact_pii_sub
string
منطق جایگزینی برای PII شناسایی شده، می‌تواند entity_type یا hash باشد. برای جزئیات بیشتر به PII redaction مراجعه کنید.
مقادیر مجاز (کلیک برای کپی):
sentiment_analysis
boolean
فعال کردن تحلیل احساسات، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
entity_detection
boolean
فعال کردن تشخیص موجودیت، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
summarization
boolean
فعال کردن خلاصه‌سازی، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
summary_model
string
مدل برای خلاصه کردن متن رونویسی شده. مقادیر مجاز: informative, conversational, catchy.
مقادیر مجاز (کلیک برای کپی):
summary_type
string
نوع خلاصه. مقادیر مجاز: bullets, bullets_verbose, gist, headline, paragraph.
مقادیر مجاز (کلیک برای کپی):
auto_chapters
boolean
فعال کردن فصل‌بندی خودکار، مقدار می‌تواند true یا false باشد. مقدار پیش‌فرض false است.
speech_threshold
number
رد کردن فایل‌های صوتی که حاوی کمتر از این مقدار از گفتار هستند. مقادیر معتبر در محدوده [0, 1] هستند.

نمونه کدهای درخواست

نکته مهم برای توسعه‌دهندگان:

برای احراز هویت، حتما کلید API خود را جایگزین YOUR_API_KEY کنید. هدر Authorization الزامی است.

import time
import requests
import json   # for getting a structured output with indentation

base_url = "https://api.ai-kar.com/v1"
# Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
api_key = "<YOUR_AI-KARAPI_KEY>"

# Creating and sending a speech-to-text conversion task to the server
def create_stt():
    url = f"{base_url}/stt/create"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": "aai/slam-1",
        "url": "https://audio-samples.github.io/samples/mp3/blizzard_primed/sample-0.mp3"
    }
    response = requests.post(url, json=data, headers=headers)
    if response.status_code >= 400:
        print(f"Error: {response.status_code} - {response.text}")
    else:
        response_data = response.json()
        print(response_data)
        return response_data

# Requesting the result of the task from the server using the generation_id
def get_stt(gen_id):
    url = f"{base_url}/stt/{gen_id}"
    headers = {
        "Authorization": f"Bearer {api_key}",
    }
    response = requests.get(url, headers=headers)
    return response.json()

# First, start the generation, then repeatedly request the result from the server every 10 seconds.
def main():
    stt_response = create_stt()
    gen_id = stt_response.get("generation_id")
    if gen_id:
        start_time = time.time()
        timeout = 600
        while time.time() - start_time < timeout:
            response_data = get_stt(gen_id)
            if response_data is None:
                print("Error: No response from API")
                break
            status = response_data.get("status")
            if status == "waiting" or status == "active":
                print("Still waiting... Checking again in 10 seconds.")
                time.sleep(10)
            else:
                print("Processing complete:/n", response_data["result"]["text"])
                # Uncomment the line below to print the entire "result" object with all service data
                # print("Processing complete:/n", json.dumps(response_data["result"], indent=2, ensure_ascii=False))
                return response_data
        print("Timeout reached. Stopping.")
        return None

if __name__ == "__main__":
    main()

نمونه پاسخ موفق (JSON)

RESPONSE (200 OK)
{
  "generation_id": "123e4567-e89b-12d3-a456-426614174000"
}