برنامه نویسی

CloudVocal – گفتار به متن بدون سرور با AssemblyAI

Summarize this content to 400 words in Persian Lang
این یک ارسال برای چالش AssemblyAI: گفتار به متن پیچیده است.

چیزی که من ساختم

این پروژه یک راه حل بدون سرور برای انجام گفتار به نوشتار با استفاده از AWS Lambda، SQS و AssemblyAI API است که با پروژه بلازور وب جلویی یکپارچه شده است. هنگامی که کاربر یک فایل صوتی را از طریق برنامه وب آپلود می کند، فایل در یک سطل S3 ذخیره می شود که یک تابع Lambda را برای پردازش فایل فعال می کند. تبدیل گفتار به متن توسط AssemblyAI API انجام می‌شود و نتایج از طریق SQS و یک سرویس نظرسنجی پس‌زمینه به قسمت جلویی ارسال می‌شوند.

این راه حل یک روش مقیاس پذیر و کارآمد برای استفاده از فناوری های ابری برای رونویسی پیشرفته مبتنی بر هوش مصنوعی را نشان می دهد.

نسخه ی نمایشی

جدول DynamoDB

سیاهههای مربوط به لامبدا

سطل S3 هدف برای ذخیره داده های رونوشت در Json استفاده می شود

طرح سفارشی Json

سفر

ترکیب مدل Universal-2 AssemblyAI

مدل Universal-2 ارائه شده توسط AssemblyAI نقش اصلی را در این پروژه ایفا کرد. قابلیت‌های رونویسی قوی آن تضمین می‌کند که فایل‌های صوتی با دقت بالایی پردازش می‌شوند.

معماری

راه حل به شرح زیر طراحی شده است:

Blazor Web Front-End:پروژه وب به عنوان رابط کاربری برای آپلود فایل های صوتی عمل می کند. کاربران می توانند فایل ها را بکشند و رها کنند یا از دکمه مرور برای انتخاب فایل ها استفاده کنند. پس از آپلود، فایل به سطل S3 ارسال می‌شود و به‌روزرسانی‌های وضعیت و نتایج به صورت پویا نمایش داده می‌شوند.
عملکرد AWS Lambda:تابع Lambda که با استفاده از NET 8 ساخته شده است، هر زمان که یک فایل جدید آپلود می شود، توسط یک رویداد S3 فعال می شود. این تابع فایل را دانلود می کند، آن را با استفاده از API AssemblyAI پردازش می کند و یک پیام موفقیت آمیز حاوی نتایج رونویسی را به یک صف SQS ارسال می کند.
یکپارچه سازی SQS:SQS به عنوان یک پل ارتباطی عمل می کند و تابع Lambda را از برنامه Blazor جدا می کند. این تضمین می‌کند که سیستم قوی و مقیاس‌پذیر باقی می‌ماند و بدون تأثیر بر رابط کاربر، نوک‌های پردازش صدا را مدیریت می‌کند.
خدمات پس زمینه Blazor:یک سرویس نظرسنجی پس‌زمینه در پروژه Blazor صف SQS را برای پیام‌های جدید بررسی می‌کند. هنگامی که نتایج واکشی می شوند، در برنامه وب به صورت بلادرنگ نمایش داده می شوند.

نکات مهم فنی

بررسی اجمالی خدمات پس زمینه

Blazor front-end شامل یک سرویس پس‌زمینه است که با AWS SQS برای واکشی و پردازش نتایج رونویسی در تعامل است. این سرویس تضمین می کند که پیام ها از صف SQS بازیابی شده و برای به روز رسانی پویا UI استفاده می شود.

در اینجا خلاصه ای از اجزای اصلی آن آمده است:

1. کلاس SqsService

کلاس SqsService منطق برای برقراری ارتباط با AWS SQS را در بر می گیرد.

عملکرد اصلی:

از AWS SDK برای دات نت برای واکشی پیام ها از صف SQS با نظرسنجی طولانی استفاده می کند تا تماس های غیر ضروری API را کاهش دهد.
پس از پردازش یک پیام، پیام را از صف حذف می کند تا اطمینان حاصل شود که دوباره پردازش نمی شود.

2. کلاس SqsBackgroundService

SqsBackgroundService یک سرویس میزبانی شده است که به طور مداوم از صف SQS برای پیام ها نظرسنجی می کند.

عملکرد اصلی:

برای بازیابی پیام ها، FetchMessageAsync را از SqsService فرا می خواند.
به محض دریافت پیام، یک نماینده (Func) را فراخوانی می‌کند که برای نمایش نتایج رونویسی، یک تازه‌سازی در رابط کاربری Blazor ایجاد می‌کند.

Blazor Front-End نمای کلی

جزء جلویی Blazor به عنوان رابط کاربری برای آپلود فایل‌ها، نمایش داده‌ها از DynamoDB، و انعکاس به‌روزرسانی‌ها در زمان واقعی از طریق ادغام با سرویس پس‌زمینه SQS عمل می‌کند.

در اینجا به تفکیک عملکردهای اصلی آمده است:

1. ویژگی آپلود فایل

کامپوننت برای انتخاب یک فایل برای آپلود استفاده می شود. پس از انتخاب یک فایل، جزئیاتی مانند نام و پسوند فایل به کاربر نمایش داده می شود.
فایل ها با استفاده از TransferUtility از AWS SDK برای دات نت در یک سطل S3 آپلود می شوند.
یک کلید فایل منحصر به فرد با استفاده از Guid برای اطمینان از عدم تداخل نام ایجاد می شود.
UI یک مدال را در طول فرآیند آپلود نمایش می دهد که نشان می دهد عملیات در حال انجام است.
پس از تکمیل آپلود، SuccessMessage به روز می شود تا کاربر را از نتیجه مطلع کند.

2. یکپارچه سازی DynamoDB

متد ListDynamoDBItems همه موارد را از یک جدول DynamoDB بازیابی می کند که داده ها را در لیست DynamoDBItems بارگذاری می کند.
جدول در صفحه نمایش داده می شود و شناسه هر مورد، متن رونویسی شده و مهر زمانی را نشان می دهد.
یک دکمه تازه کردن به جدول اجازه می دهد تا به صورت پویا به روز شود.
فیلدهای متنی با بیش از 2000 کاراکتر برای خوانایی کوتاه شده اند.

3. یکپارچه سازی خدمات پس زمینه SQS

این مؤلفه، SqsBackgroundService را در حین مقداردهی اولیه راه اندازی می کند، و امکان به روز رسانی بلادرنگ را هنگامی که نتایج رونویسی جدید در SQS در دسترس هستند، می دهد.
هنگامی که سرویس پیامی دریافت می کند، متد RefreshDynamoDbTable را فعال می کند که داده ها را مجدداً بارگیری می کند و UI را تازه می کند.
این سرویس در پس‌زمینه اجرا می‌شود و وقتی مؤلفه از بین می‌رود، به‌خوبی متوقف می‌شود.

بررسی اجمالی عملکرد AWS Lambda

تابع Lambda S3، DynamoDB و AssemblyAI را برای مدیریت رونویسی، ذخیره سازی و پردازش صدا یکپارچه می کند. در اینجا خلاصه ای از عملکرد آن است:

1. S3 Event Trigger

این تابع توسط رویدادهای S3 فعال می شود، مانند ایجاد یک شی در یک سطل.

فراداده برای اهداف اعتبار سنجی بازیابی می شود.
یک URL از پیش امضا شده برای دسترسی خارجی به فایل برای AssemblyAI API ایجاد می‌شود.
سپس فایل رونویسی با استفاده از API AssemblyAI با استفاده از یک سرویس گیرنده HTTP پردازش می شود

2. ادغام AssemblyAI

این تابع یک AssemblyAIClient را با استفاده از یک کلید API از متغیرهای محیطی مقداردهی اولیه می کند.

StabilityAIProcessor رونویسی فایل را از طریق URL از پیش امضا شده S3 انجام می دهد.
نتیجه رونویسی شامل متن و ابرداده است که ثبت و پردازش می شود.
ورود به سیستم:
متن رونویسی برای اشکال‌زدایی یا ممیزی ثبت نشده است.

3. ادغام DynamoDB

هر نتیجه رونویسی به یک سند DynamoDB تبدیل می شود و در جدول AssemblyAI ذخیره می شود.فروشگاه میز:

شناسه: شناسه رونویسی منحصر به فرد.
متن: متن رونویسی شده.
مهر زمان: زمان آپلود در UTC.

هر گونه مشکل در طول عملیات پایگاه داده ثبت شده و دوباره پرتاب می شود.

4. بهبود عملکرد S3

نتایج رونویسی در یک سطل تعیین شده (به عنوان مثال، assemblyai-challenge-transcripts) با پسوند json. آپلود می شود.
فایل‌های رونویسی آپلود شده از یک قرارداد نام‌گذاری ثابت استفاده می‌کنند: -transcription.json.
یک URL از پیش امضا شده کوتاه مدت (120 ثانیه) برای دسترسی خارجی ایمن به فایل های آپلود شده ایجاد می شود. از آنجایی که سطل S3 عمومی نیست، URL فایل آپلود شده از قبل امضا شده است و برای پردازش بیشتر در بازه زمانی کوتاه برای AssemblyAI در دسترس است.

علاوه بر متن رونویسی شده، چندین مورد داده مانند:

امتیاز اعتماد به نفس
تعداد کل کلمات
مدت زمان صدا
تعداد بلندگوها
لیست نکات برجسته
تحلیل احساسات (منفی، خنثی، مثبت) برای هر جمله
زبان شناسایی شد
تعداد فصل

استقرار

راه حل با استفاده از موارد زیر مستقر می شود:

Terraform IaC

ساخت زیرساخت های لازم برای میزبانی راه حل را قادر می سازد از جمله:

سطل های منبع و هدف S3

به‌عنوان مکان‌های ذخیره‌سازی امنی که داده‌ها بلعیده و پردازش می‌شوند، خدمت کنید. سطل منبع حاوی داده های خام است، در حالی که سطل هدف خروجی تبدیل شده یا پردازش شده را ذخیره می کند.

صف SQS

یک سرویس پیام رسانی بسیار قابل اعتماد و مقیاس پذیر که اجزاء را با صف بندی پیام ها بین تولید کنندگان و مصرف کنندگان جدا می کند و ارتباط ناهمزمان را تضمین می کند.

جدول DynamoDB

یک پایگاه داده NoSQL کاملاً مدیریت شده که برای دسترسی بالا و دسترسی کم تأخیر به داده های برنامه بهینه شده است که توسط یک مدل داده کلیدی یا سندی ساختار یافته است.

سیاست ها و نقش های IAM

مجوزهای دسترسی جزئی را تعریف و اجرا کنید، اطمینان حاصل کنید که منابع و خدمات به طور ایمن دسترسی دارند. نقش های IAM دسترسی موقت و کنترل شده به خدمات AWS را توسط نهادهای مورد اعتماد امکان پذیر می کند.

تابع لامبدا

یک سرویس محاسباتی بدون سرور که منطق سفارشی را در پاسخ به رویدادها یا محرک‌ها، مانند پردازش پیام‌های SQS یا تبدیل داده‌ها از سطل منبع، اجرا می‌کند.

مخزن ECR برای تصاویر داکر مربوطه

یک رجیستری کانتینر ایمن و مقیاس پذیر برای ذخیره و مدیریت تصاویر Docker مورد نیاز برای استقرار، که یکپارچه سازی یکپارچه با ECS و سایر خدمات AWS را تسهیل می کند.

ECS و تعاریف وظیفه که تصاویر را اجرا می کنند

ECS برنامه‌های کانتینری‌شده را هماهنگ می‌کند، در حالی که تعاریف وظیفه پیکربندی برای کانتینرهای در حال اجرا، از جمله تصویر، CPU، حافظه و نیازهای شبکه را مشخص می‌کند.

ALB برای نمایش جلویی در حال اجرا در ECS Fargate

یک Application Load Balancer ترافیک ورودی HTTP/HTTPS را در میان وظایف فرانت‌اند که در ECS Fargate اجرا می‌شوند، توزیع می‌کند و از دسترسی بالا، مقیاس‌پذیری و دسترسی ایمن اطمینان می‌دهد.

این ارسال برای چالش ایجاد شده است و کد منبع کامل در GitHub موجود است. آن را امتحان کنید، و احساس رایگان برای به اشتراک گذاشتن بازخورد!

نتیجه گیری

ویژگی های پیشرفته AssemblyAI آن را به ابزاری قدرتمند برای ایجاد راه حل های پیچیده گفتار به متن تبدیل می کند. با قابلیت‌هایی مانند تجزیه و تحلیل احساسات، شناسایی گوینده، تشخیص زبان، و فراداده‌های رونویسی دقیق، فراتر از رونویسی اولیه است تا بینش ارزشمندی را از محتوای صوتی ارائه دهد. این ویژگی‌ها به توسعه‌دهندگان امکان می‌دهد تا برنامه‌های قوی، هوشمند و مقیاس‌پذیر را متناسب با موارد استفاده متنوع بسازند.

این مقاله بر نمایش معماری کلی راه‌حل و یکپارچگی آن در حالی که زیرساخت‌های دقیق یا جنبه‌های کدنویسی را حذف می‌کند، تمرکز داشت، زیرا این موارد خارج از محدوده آن هستند، یعنی نشان دادن راه‌حل بدون سرور برای گفتار به متن با استفاده از AssemblyAI API.

به راحتی می توانید مخازن ارائه شده را بررسی کنید و راه حل را امتحان کنید. بازخورد همیشه خوش آمدید!

اگر به نظر شما این مقاله روشنگر است، لطفا

آن را در فید یا رسانه های اجتماعی خود به اشتراک بگذارید
برای دریافت به روز رسانی من را دنبال کنید
با لینکدین در تماس باشید

این یک ارسال برای چالش AssemblyAI: گفتار به متن پیچیده است.

چیزی که من ساختم

این پروژه یک راه حل بدون سرور برای انجام گفتار به نوشتار با استفاده از AWS Lambda، SQS و AssemblyAI API است که با پروژه بلازور وب جلویی یکپارچه شده است. هنگامی که کاربر یک فایل صوتی را از طریق برنامه وب آپلود می کند، فایل در یک سطل S3 ذخیره می شود که یک تابع Lambda را برای پردازش فایل فعال می کند. تبدیل گفتار به متن توسط AssemblyAI API انجام می‌شود و نتایج از طریق SQS و یک سرویس نظرسنجی پس‌زمینه به قسمت جلویی ارسال می‌شوند.

این راه حل یک روش مقیاس پذیر و کارآمد برای استفاده از فناوری های ابری برای رونویسی پیشرفته مبتنی بر هوش مصنوعی را نشان می دهد.

نسخه ی نمایشی

Front-End

جدول DynamoDB
DynamoDB

سیاهههای مربوط به لامبدا
سیاهههای مربوط به لامبدا

سطل S3 هدف برای ذخیره داده های رونوشت در Json استفاده می شود
S3 را هدف بگیرید

طرح سفارشی Json
طرح سفارشی Json

سفر

ترکیب مدل Universal-2 AssemblyAI

مدل Universal-2 ارائه شده توسط AssemblyAI نقش اصلی را در این پروژه ایفا کرد. قابلیت‌های رونویسی قوی آن تضمین می‌کند که فایل‌های صوتی با دقت بالایی پردازش می‌شوند.

معماری

معماری ابری

راه حل به شرح زیر طراحی شده است:

  1. Blazor Web Front-End:
    پروژه وب به عنوان رابط کاربری برای آپلود فایل های صوتی عمل می کند. کاربران می توانند فایل ها را بکشند و رها کنند یا از دکمه مرور برای انتخاب فایل ها استفاده کنند. پس از آپلود، فایل به سطل S3 ارسال می‌شود و به‌روزرسانی‌های وضعیت و نتایج به صورت پویا نمایش داده می‌شوند.

  2. عملکرد AWS Lambda:
    تابع Lambda که با استفاده از NET 8 ساخته شده است، هر زمان که یک فایل جدید آپلود می شود، توسط یک رویداد S3 فعال می شود. این تابع فایل را دانلود می کند، آن را با استفاده از API AssemblyAI پردازش می کند و یک پیام موفقیت آمیز حاوی نتایج رونویسی را به یک صف SQS ارسال می کند.

  3. یکپارچه سازی SQS:
    SQS به عنوان یک پل ارتباطی عمل می کند و تابع Lambda را از برنامه Blazor جدا می کند. این تضمین می‌کند که سیستم قوی و مقیاس‌پذیر باقی می‌ماند و بدون تأثیر بر رابط کاربر، نوک‌های پردازش صدا را مدیریت می‌کند.

  4. خدمات پس زمینه Blazor:
    یک سرویس نظرسنجی پس‌زمینه در پروژه Blazor صف SQS را برای پیام‌های جدید بررسی می‌کند. هنگامی که نتایج واکشی می شوند، در برنامه وب به صورت بلادرنگ نمایش داده می شوند.

نکات مهم فنی

بررسی اجمالی خدمات پس زمینه

Blazor front-end شامل یک سرویس پس‌زمینه است که با AWS SQS برای واکشی و پردازش نتایج رونویسی در تعامل است. این سرویس تضمین می کند که پیام ها از صف SQS بازیابی شده و برای به روز رسانی پویا UI استفاده می شود.

در اینجا خلاصه ای از اجزای اصلی آن آمده است:

1. کلاس SqsService

کلاس SqsService منطق برای برقراری ارتباط با AWS SQS را در بر می گیرد.

عملکرد اصلی:

  • از AWS SDK برای دات نت برای واکشی پیام ها از صف SQS با نظرسنجی طولانی استفاده می کند تا تماس های غیر ضروری API را کاهش دهد.
  • پس از پردازش یک پیام، پیام را از صف حذف می کند تا اطمینان حاصل شود که دوباره پردازش نمی شود.

2. کلاس SqsBackgroundService

SqsBackgroundService یک سرویس میزبانی شده است که به طور مداوم از صف SQS برای پیام ها نظرسنجی می کند.

عملکرد اصلی:

  • برای بازیابی پیام ها، FetchMessageAsync را از SqsService فرا می خواند.
  • به محض دریافت پیام، یک نماینده (Func) را فراخوانی می‌کند که برای نمایش نتایج رونویسی، یک تازه‌سازی در رابط کاربری Blazor ایجاد می‌کند.

Blazor Front-End نمای کلی

جزء جلویی Blazor به عنوان رابط کاربری برای آپلود فایل‌ها، نمایش داده‌ها از DynamoDB، و انعکاس به‌روزرسانی‌ها در زمان واقعی از طریق ادغام با سرویس پس‌زمینه SQS عمل می‌کند.

در اینجا به تفکیک عملکردهای اصلی آمده است:

1. ویژگی آپلود فایل

  • کامپوننت برای انتخاب یک فایل برای آپلود استفاده می شود. پس از انتخاب یک فایل، جزئیاتی مانند نام و پسوند فایل به کاربر نمایش داده می شود.
  • فایل ها با استفاده از TransferUtility از AWS SDK برای دات نت در یک سطل S3 آپلود می شوند.
  • یک کلید فایل منحصر به فرد با استفاده از Guid برای اطمینان از عدم تداخل نام ایجاد می شود.
  • UI یک مدال را در طول فرآیند آپلود نمایش می دهد که نشان می دهد عملیات در حال انجام است.
  • پس از تکمیل آپلود، SuccessMessage به روز می شود تا کاربر را از نتیجه مطلع کند.

2. یکپارچه سازی DynamoDB

  • متد ListDynamoDBItems همه موارد را از یک جدول DynamoDB بازیابی می کند که داده ها را در لیست DynamoDBItems بارگذاری می کند.
  • جدول در صفحه نمایش داده می شود و شناسه هر مورد، متن رونویسی شده و مهر زمانی را نشان می دهد.
  • یک دکمه تازه کردن به جدول اجازه می دهد تا به صورت پویا به روز شود.
  • فیلدهای متنی با بیش از 2000 کاراکتر برای خوانایی کوتاه شده اند.

3. یکپارچه سازی خدمات پس زمینه SQS

  • این مؤلفه، SqsBackgroundService را در حین مقداردهی اولیه راه اندازی می کند، و امکان به روز رسانی بلادرنگ را هنگامی که نتایج رونویسی جدید در SQS در دسترس هستند، می دهد.
  • هنگامی که سرویس پیامی دریافت می کند، متد RefreshDynamoDbTable را فعال می کند که داده ها را مجدداً بارگیری می کند و UI را تازه می کند.
  • این سرویس در پس‌زمینه اجرا می‌شود و وقتی مؤلفه از بین می‌رود، به‌خوبی متوقف می‌شود.

بررسی اجمالی عملکرد AWS Lambda

تابع Lambda S3، DynamoDB و AssemblyAI را برای مدیریت رونویسی، ذخیره سازی و پردازش صدا یکپارچه می کند. در اینجا خلاصه ای از عملکرد آن است:

1. S3 Event Trigger

این تابع توسط رویدادهای S3 فعال می شود، مانند ایجاد یک شی در یک سطل.

  • فراداده برای اهداف اعتبار سنجی بازیابی می شود.
  • یک URL از پیش امضا شده برای دسترسی خارجی به فایل برای AssemblyAI API ایجاد می‌شود.
  • سپس فایل رونویسی با استفاده از API AssemblyAI با استفاده از یک سرویس گیرنده HTTP پردازش می شود

2. ادغام AssemblyAI

این تابع یک AssemblyAIClient را با استفاده از یک کلید API از متغیرهای محیطی مقداردهی اولیه می کند.

  • StabilityAIProcessor رونویسی فایل را از طریق URL از پیش امضا شده S3 انجام می دهد.
  • نتیجه رونویسی شامل متن و ابرداده است که ثبت و پردازش می شود.
  • ورود به سیستم:
  • متن رونویسی برای اشکال‌زدایی یا ممیزی ثبت نشده است.

3. ادغام DynamoDB

هر نتیجه رونویسی به یک سند DynamoDB تبدیل می شود و در جدول AssemblyAI ذخیره می شود.
فروشگاه میز:

  • شناسه: شناسه رونویسی منحصر به فرد.
  • متن: متن رونویسی شده.
  • مهر زمان: زمان آپلود در UTC.

هر گونه مشکل در طول عملیات پایگاه داده ثبت شده و دوباره پرتاب می شود.

4. بهبود عملکرد S3

  • نتایج رونویسی در یک سطل تعیین شده (به عنوان مثال، assemblyai-challenge-transcripts) با پسوند json. آپلود می شود.
  • فایل‌های رونویسی آپلود شده از یک قرارداد نام‌گذاری ثابت استفاده می‌کنند: -transcription.json.
  • یک URL از پیش امضا شده کوتاه مدت (120 ثانیه) برای دسترسی خارجی ایمن به فایل های آپلود شده ایجاد می شود. از آنجایی که سطل S3 عمومی نیست، URL فایل آپلود شده از قبل امضا شده است و برای پردازش بیشتر در بازه زمانی کوتاه برای AssemblyAI در دسترس است.

علاوه بر متن رونویسی شده، چندین مورد داده مانند:

  • امتیاز اعتماد به نفس
  • تعداد کل کلمات
  • مدت زمان صدا
  • تعداد بلندگوها
  • لیست نکات برجسته
  • تحلیل احساسات (منفی، خنثی، مثبت) برای هر جمله
  • زبان شناسایی شد
  • تعداد فصل
    طرح سفارشی Json

استقرار

راه حل با استفاده از موارد زیر مستقر می شود:

Terraform IaC

ساخت زیرساخت های لازم برای میزبانی راه حل را قادر می سازد از جمله:

سطل های منبع و هدف S3

به‌عنوان مکان‌های ذخیره‌سازی امنی که داده‌ها بلعیده و پردازش می‌شوند، خدمت کنید. سطل منبع حاوی داده های خام است، در حالی که سطل هدف خروجی تبدیل شده یا پردازش شده را ذخیره می کند.

صف SQS

یک سرویس پیام رسانی بسیار قابل اعتماد و مقیاس پذیر که اجزاء را با صف بندی پیام ها بین تولید کنندگان و مصرف کنندگان جدا می کند و ارتباط ناهمزمان را تضمین می کند.

جدول DynamoDB

یک پایگاه داده NoSQL کاملاً مدیریت شده که برای دسترسی بالا و دسترسی کم تأخیر به داده های برنامه بهینه شده است که توسط یک مدل داده کلیدی یا سندی ساختار یافته است.

سیاست ها و نقش های IAM

مجوزهای دسترسی جزئی را تعریف و اجرا کنید، اطمینان حاصل کنید که منابع و خدمات به طور ایمن دسترسی دارند. نقش های IAM دسترسی موقت و کنترل شده به خدمات AWS را توسط نهادهای مورد اعتماد امکان پذیر می کند.

تابع لامبدا

یک سرویس محاسباتی بدون سرور که منطق سفارشی را در پاسخ به رویدادها یا محرک‌ها، مانند پردازش پیام‌های SQS یا تبدیل داده‌ها از سطل منبع، اجرا می‌کند.

مخزن ECR برای تصاویر داکر مربوطه

یک رجیستری کانتینر ایمن و مقیاس پذیر برای ذخیره و مدیریت تصاویر Docker مورد نیاز برای استقرار، که یکپارچه سازی یکپارچه با ECS و سایر خدمات AWS را تسهیل می کند.

ECS و تعاریف وظیفه که تصاویر را اجرا می کنند

ECS برنامه‌های کانتینری‌شده را هماهنگ می‌کند، در حالی که تعاریف وظیفه پیکربندی برای کانتینرهای در حال اجرا، از جمله تصویر، CPU، حافظه و نیازهای شبکه را مشخص می‌کند.

ALB برای نمایش جلویی در حال اجرا در ECS Fargate

یک Application Load Balancer ترافیک ورودی HTTP/HTTPS را در میان وظایف فرانت‌اند که در ECS Fargate اجرا می‌شوند، توزیع می‌کند و از دسترسی بالا، مقیاس‌پذیری و دسترسی ایمن اطمینان می‌دهد.

این ارسال برای چالش ایجاد شده است و کد منبع کامل در GitHub موجود است. آن را امتحان کنید، و احساس رایگان برای به اشتراک گذاشتن بازخورد!

نتیجه گیری

ویژگی های پیشرفته AssemblyAI آن را به ابزاری قدرتمند برای ایجاد راه حل های پیچیده گفتار به متن تبدیل می کند. با قابلیت‌هایی مانند تجزیه و تحلیل احساسات، شناسایی گوینده، تشخیص زبان، و فراداده‌های رونویسی دقیق، فراتر از رونویسی اولیه است تا بینش ارزشمندی را از محتوای صوتی ارائه دهد. این ویژگی‌ها به توسعه‌دهندگان امکان می‌دهد تا برنامه‌های قوی، هوشمند و مقیاس‌پذیر را متناسب با موارد استفاده متنوع بسازند.

این مقاله بر نمایش معماری کلی راه‌حل و یکپارچگی آن در حالی که زیرساخت‌های دقیق یا جنبه‌های کدنویسی را حذف می‌کند، تمرکز داشت، زیرا این موارد خارج از محدوده آن هستند، یعنی نشان دادن راه‌حل بدون سرور برای گفتار به متن با استفاده از AssemblyAI API.

به راحتی می توانید مخازن ارائه شده را بررسی کنید و راه حل را امتحان کنید. بازخورد همیشه خوش آمدید!

اگر به نظر شما این مقاله روشنگر است، لطفا

  • آن را در فید یا رسانه های اجتماعی خود به اشتراک بگذارید
  • برای دریافت به روز رسانی من را دنبال کنید
  • با لینکدین در تماس باشید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا