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