مقالات

BFCL AUDIO: یکی از مهمترین ویژگی های رطوبت صوتی


ما خوشحالیم که Salesforce AI Research و همکاری برکلی را اعلام کردیم: BFCL صوتی– یک شاخص جدید که BFCL را گسترش می دهد صوتی دامنه

Erudation Little Berkli: در سال 2022 ما نتوانستیم مدل های منبع باز را پیدا کنیم که این کار را انجام داد فراخوانی یک ویژگی ضربه صفر با اطمینان – به همین دلیل ما خود را آموزش دادیم. ما Gorilla OpenFunctions V1 (و بعداً V2) را منتشر کردیم ، و سپس به سؤال بعدی آشکار رسیدیم: چگونه می توان اندازه گیری کرد که آیا مدل ها هنگام فراخوانی ویژگی ها واقعاً خوب هستند؟ این سوال BFCL بود.

از آن زمان ، ارزیابی احضار تماس بسیار غنی تر و پر از مسائل تحقیقاتی باز از این واقعیت است که کسی انتظار داشت.

🧠 BFCL v1 AST (نحو انتزاعی)-استاندارد طلای تکمیلی برای تماس های صفر.

🤝 BFCL v2 این کشور با هزاران API و برانگیخته شده توسط آماتورها و مشاغل ، به تلاش های جامعه تبدیل شده است.

🔁 BFCL v3 در یک نوبت بسیار گسترش یافته ، یک ارزیابی چند مرحله ای با ردیابی مبتنی بر حالت.

🧭 BFCL v4 این برنامه بر روی ابزارهای احضار در تنظیمات واقعی و عامل (جستجوی شبکه ، حافظه ، حساسیت به قالب) تمرکز دارد.

🚀 امروز ، BFCL یک شاخص اساسی است که در آزمایشگاه های پیشرو با صدها نفر از همکاران (و هزاران API دیگر برای به اشتراک گذاری و داده) استفاده می شود. ما از اعتماد به نفس جامعه بسیار سپاسگزاریم – او تکامل BFCL را شکل داد.

از آنجا که مدل ها در حال شروع به راه خود به موارد شرکت های چند مدلی هستند ، زمان آن است که یک شاخص جدید بسازیم که بتواند ایده ای از صدای شرکت را ارائه دهد.

💻 نشانگر را برآورده کنید: https://github.com/shishirpatib/gorilla

چرا صدا؟

محصولات واقعی با متن خالص زندگی نمی کنند. صدا در جایی که دست ها مشغول هستند یا چشم ها شلوغ است نشان داده شده است: نگهداری تلفنی ، دستیاران ماشین ، خانه های هوشمند ، بارگذاری بار ، یادداشت های صوتی و فرآیندهای دسترسی. در این تنظیمات ، نماینده باید تعادل برقرار کند یک گفتگوی طبیعی با تأخیر کم با با اطمینان ، عملکرد دقیق اقدامات– این به معنای ارزیابی است ، هر دو باید در نظر بگیرند.

از دیدگاه شرکت ، مشاغل به دنبال خودکار سازی مشتریان خود برای پشتیبانی و عملکرد مشتری مرکز تماس هستند. این اغلب شامل پردازش حجم زیادی از سوالات مختلف مشتری ، برنامه ریزی جلسات ، حل مسئله و ارائه اطلاعات است. نیاز به عملکرد دقیق تشکیل دهنده در این سناریوها مهم است ، زیرا خطاها می تواند منجر به ناامید کننده مشتریان ، عملیات ناکارآمد و درآمد از دست رفته شود. به عنوان مثال ، یک شماره حساب misheard یا زمان قرار ملاقات نادرست می تواند به طور جدی بر رضایت مشتری و کارآیی عملیاتی تأثیر بگذارد. علاوه بر این ، امکان ادغام با CRM موجود و سیستم های پس زمینه برای اتوماسیون یکپارچه بسیار مهم است ، که باعث می شود یک عملکرد صوتی پایدار و قابل اعتماد باشد ، که مزیت قابل توجهی می نامد.

مسیرهای معماری برای عوامل صوتی

دو معماری مشترک وجود دارد:

  1. گفتار پایان -به عنوان گفتار (E2E)

تک آهنگ بومی را مصرف می کند و می تواند مستقیماً صوتی تولید کند.

نقاط قوت:

  • ارزن طبیعی و تأخیر کم (بدون آبشار).
  • استدلال یونایتد نسبت به آکوستیک + معناشناسی (گاهی اوقات می تواند آنچه را که ASR از دست می دهد بازگرداند).

سازش:

  • دقت ابزارهای فراخوانی می تواند بدون ساختار اضافی عقب مانده باشد.
  • دستگیره کمتری برای سازگاری دامنه ها (واژگان شخصی ، تعصب دامنه).
  • در دسترس بودن بسیار محدود مدل (به عنوان مثال GPT-4O ، Gemini 2.5).
  1. CASCADED (ASR → LLM → TTS)

صدا به متن (ASR) پردازش شده توسط متن LLM رونویسی می شود ، سپس از طریق TTS صحبت می شود.

نقاط قوت:

  • استفاده مجدد از پشته های LLM بالغ و ابزارهای ارزیابی.
  • اجزای مبادله به طور مستقل (ASR/TTS/LLM).
  • اضافه کردن نرده ها (بررسی های رمزگشایی/رمزگشایی/AST محدود) از طرف متن آسان است.

سازش:

  • اشتباهات ASR به مکانی باریک تبدیل می شود– نکته مهم امتناع را بیان کنید.
  • در صورت عدم پخش ، می توان از طریق هاپ اضافه کرد.
  • LLM هرگز شکل موج را “نمی شنود” ، بنابراین نمی تواند از سیگنال های صوتی برای بازگرداندن قصد خود استفاده کند.

ASR بسیار خوب است – اما کامل نیست. اگرچه درصد کمی از خطاها برای رونویسی ساده می توانند قابل قبول باشند ، اما می توانند فاجعه بار باشند که خواستار توابع باشند که دقت آن مهم باشد. پیوند بین خطای جزئی ASR و خرابی کامل کار مستقیم است. به عنوان مثال ، کاربر ممکن است با یک برنامه مالی در تعامل باشد و شماره شناسایی کارفرمای خود را نشان دهد. سیستم ASR می تواند به درستی قسمت بزرگتر این شماره را رونویسی کند ، اما یک رقم را از دست می دهد یا جایگزین می کند. حتی اگر رونویسی کلی متن برای ناظر انسان تا حد زیادی صحیح به نظر برسد ، عملکرد تماس حاصل یک EIN نامعتبر را به سیستم عقب منتقل می کند ، که منجر به فروپاشی تماس API خواهد شد. استحکام نقطه پایان API به معنای جایی برای “به اندازه کافی نزدیک” وجود نداردحرف

در مقایسه با ورودی وارد شده ، صوتی شیفت های سیستماتیک را معرفی می کند:

  • پرکننده مکالمه: “اوه” ، “هوم” ، “می دانید.”
  • مصنوعات صوتی و مشکلات موجود در شرکتهای متنی.
  • نکات برجسته ، نویز پس زمینه و تخریب مکالمات متقابل.
  • هموفون ها و نهادهای مشخص شده سوء استفاده می کنند:
    • John در مقابل Jon
    • final_report.pdf در مقابل final report.pdf در مقابل `finalReport.pdf`
  • حتی سیستم های قوی ASR هنوز در حال پخش خطاهای غیر توری در کلمه هستند و ضروری است که متن LLM هرگز صوتی خام را برای بازگرداندن قصد خود نمی بیند.

روند پردازش

1) پاراگراف طبیعی

ما درخواست های BFCL موجود (نوبت یک بار غیرقانونی و چند زوی) را می پذیریم و آنها را در سخنرانی در مکالمه بازنویسی می کنیم.

Original (text BFCL):
“I need to send a letter to Liam Neeson. Find his contact information for me.”

Paraphrased (audio BFCL):
“Um, can you get Liam Neeson, thats L-I-A-M N-E-E-S-O-N, Liam Neesons contact info, oh, so I can send him a letter?”

2) تولید صوتی مصنوعی

ما سپس صدا را از پارافراس ها با استفاده از موتورهای مختلف TTS (Qwen ، Openai ، Gemini ، Elevenlabs ، Cartesia) سنتز می کنیم. هر موتور سبک و ارزن خاص خود را دارد. ما آنها را برای متنوع سازی ورودی ها حذف می کنیم.

نمونه ای از یازده tts tts
  • برای مدل های E2E ، قطعه صوتی ورودی است.
  • برای مدل های آبشار ، ما رونوشت (در زیر) ارائه می دهیم.

3) رونویسی سه مرحله ASR (برای خطوط لوله)

اینقدر جدا از هر متن برای افشای حساسیت به انتخاب ASR.

OpenAI: "Um, can you get Liam Neeson-that's L-I-A-M N-E-E-S-O-N- Liam Neeson's contact info? Oh, so I can send him a letter?"

ElevenLabs: "Um, can you get Liam Neeson, that's L-I-A-M N-E-E-S-O-N, Liam Neeson's contact info? Oh, so I can send him a letter?"

DeepGram: "Can you get Liam Neeeson? That's l I a m n e e s o n, Liam Neeeson's contact info. Oh, so I can send him a letter?" 

(Also, notice the extra e in Neeeson for DeepGram output)

> توجه: فقط کاربر پیام ها تحت این تحولات قرار می گیرند. هر یک سیستم پیام ها در شکل اصلی متن آنها باقی مانده است.

پروتکل ارزیابی و تغییرات متریک

برای اطلاع رسانی به مدل ها که در تنظیم صوتی هستند ، ما در حال آماده سازی کوتاه هستیم براش از هر مکالمه:

You are a voice assistant that interacts with the user exclusively through spoken conversation. You receive user utterances as text transcribed by an upstream ASR system and your replies are delivered to the user through a TTS system. Follow the rules below at all times:

1. Language

* Mirror the user's language. Respond in the same language detected in the transcription.

2. Robustness to ASR Errors (Important)

* Although the upstream ASR system is designed to be robust, it may still make mistakes.
* Do not trust the transcription text blindly, especially on important information. You should assume the transcript may contain recognition mistakes.
* If the text appears garbled, double check with the user instead of guessing.

3. Clarity for TTS

* When responding to the user, you should **spell out acronyms** as separate letters with spaces (“A I M L”), and **chunk long numbers** into 2- or 3-digit groups, separated by short pauses (“one-two-three, four-five-six”).
* Favor spoken-language style: short sentences, everyday vocabulary, and natural contractions.

معناشناسی نوبت (چرا صدا متفاوت است)

در Text-BFCL ، هر نوبت ادامه می یابد در حالی که این مدل همچنان تماس های سازگار با ابزار قابل قبول را منتشر می کند (رمزگشایی شده توسط decode_exec)S نوبت به لحظه ای که مدل هر پیام را بدون ابزار ساطع می کند به پایان می رسد.

این خیلی است در تنظیم صدا کامل نیستS به دلیل هوموفون ها و مشکلات مربوط به ASR ، عامل صوتی خوب باید فعالانه روشن می کند قبل از بازیگری صحبت می کند یا ارزش های کلیدی دارد. تحریم این رفتار تماس های بی پروا را تشویق می کند.

مکانیسم شفاف سازی

ما LLM Judge به همراه یک کاربر شبیه سازی شده را برای پشتیبانی اضافه می کنیم توضیحات هجی/تمایز بدون پاداش Chitchat.

  • اگر مدل درخواست توضیح املایی (همانطور که توسط LLM مورد قضاوت است) ، ما یک کاربر کوتاه از یک کاربر را با استفاده از یک تولید می کنیم سفیدهای توضیحات مجاز برای این درخواست (به عنوان مثال ، نام شخص ، نام پرونده ، شناسه ها).
  • فقط املا/قالب بندی را بشمارید.
  • اثر: هر کار می تواند تبدیل شود چنداما فقط توضیحات حل شده تکریم می شود.

تعامل نمونه (ایده آل):

نمونه ای از بلیلیست برای یک پیام:

Message: "Um, can you get Liam Neeson, that's L-I-A-M N-E-E-S-O-N, Liam Neeson's contact info? Oh, so I can send him a letter?"

Allowed clarifications: {

    "person_name": "Liam Neeson"

}

برای قاضی مطرح شد:

  • قاضی درخواست ، متن ASR ، پیام دستیار و کلیدهای مجاز برای توضیح را می بیند.
  • او فقط درصورتی تأیید می کند که دستیار صریحاً املا/مقادیر موجود در آب سفید را تأیید کند. در غیر این صورت ، او رد می کند.
You are a judge for an audio-chat scenario where a user speaks and an ASR system transcribes their speech for the assistant. The assistant only sees text (the ASR transcript), which is likely to contain transcription errors.

You are given:
- intended_request: the user's original, ground-truth intent.
- asr_text: the ASR-transcribed text the assistant saw.
- allowed_clarifications: a set of fields with canonical spellings/values the user can confirm (e.g., names, IDs, emails, dates, numbers).
- assistant_message: the assistant's latest message.

Your job: decide whether assistant_message is a clarifying question specifically about spelling/verification of intent or exact strings/values that could plausibly be misheard (e.g., names, organizations, emails, serials/IDs, numbers, dates, addresses, SKUs). Do not allow general follow-ups (preference, steps to proceed, etc.).

Decision rules:
1. Classify the message as a spelling confirmation only if it explicitly asks to verify the exact spelling/format/value of one or more items (e.g., “Is it Mikaela or Michaela?”, “Can you spell the email?”, “Is the order number A1B-52?”).
2. The request must be reasonable given the ASR risk (i.e., the item is a proper noun, key value, or easily misheard token relevant to the task).
3. To approve (allowed=true), all the topics the assistant asks to confirm must be present in allowed_clarifications. If any requested item is absent or ambiguous, set allowed=false.
4. Output only a JSON object with two fields:
- allowed: boolean
- message: string (a concise simulated user reply only when allowed=true; otherwise empty "").
1. When allowed=true, compose message by supplying only the requested values with correct spelling/format from allowed_clarifications. Keep it brief (one short sentence or a compact list). Do not include extra commentary, JSON, or fields the assistant didn't request.
2. If the assistant's message is not a confirmation request, touches topics outside spelling/format/intent verification, or requests values not available in allowed_clarifications, return allowed=false with message="".

Edge cases:
- If the assistant mixes spelling confirmation with unrelated questions, treat it as not allowed unless the spelling part stands alone and you can fully answer it from allowed_clarifications.
- Treat homophones and near-matches as spelling checks (e.g., “Brian/Bryan”, “Steven/Stephen”, letters vs. digits).
- Normalize case/diacritics but preserve canonical spelling in the final answer.
- Never reveal intended_request verbatim; only return the specific confirmed values.
The user's original intended request is: {the original text bfcl question}

The ASR-transcribed output is: {the transcribed text from the audio, which is also the input to the model}

assistant_message: {the model's response}

allowed_clarifications (topic -> answer): {the allowed_clarifications}

شاخص ارزیابی:

ما نگه می داریم همان شاخص های Text-BFCL-برای یک نوبت ؛ بازرسی های دولتی بر اساس بسیاری از نوبت ها و نادیده گرفتن شفاف سازی هنگام محاسبه نتیجه نهایی خلاصه ای از توابع می شود. به عبارت دیگر ، توضیحات می توانند عمل مناسب را انجام دهند ، اما آنها به طور مستقیم نتیجه را باد نمی کنند.

نتایج

ما نتایج BFCL-Audio را ارائه می دهیم.

وقتی از خطوط لوله استفاده می کنیم ، معمولاً a را می بینیم 10-20 ٪ افت نسبت به BFCL در حالت متن. این امر عمدتاً به این دلیل است که مدل ها نتوانند به درستی با تشکیل تشکیل خط لوله کنار بیایند.BFCL AUDIO: یکی از مهمترین ویژگی های رطوبت صوتی

در همان تنظیم صوتی ، E2E مدل ها و خط لوله سیستم ها شکاف قابل اندازه گیری را نشان می دهند. ما مشاهده می کنیم که سیستم های پایان به پایان ، خراب شدن BFCL صوتی را نسبت به پایه اصلی متن بیشتر می پردازند. ما گمان می کنیم که این امر به دلیل ضعف بعد از آموزش با توجه به فراخوان چندمدی توابع است. در حالی که مدل های E2E از نظر طبیعی بودن و پاسخگویی در Chitchat قدرتمندترین هستند ، ما می دانیم که آنها برای مکالمات برای توابع کمتر از سیستم های خط لوله هستند.

حالت لغو مثال

اعتماد کور ASR منجر به تماس تماس اشتباه می شود!

کاربر (ASR): گزارش نهایی. PDF را از فهرست اسناد به فهرست دما در سند منتقل کنید. اوه ، و در صورت وجود دایرکتوری را ایجاد کنید.

توضیحات نزدیک:

User (ASR): Move final report.pdf from the document directory to the temp directory in document. Oh, and create the directory if it doesn't exist.

Allowed clarifications:
{
  "source_file": "final_report.pdf",
  "source_directory_name": "document",
  "destination_directory_name": "document/temp"
}

Model tool call:
mv("final report.pdf", destination="temp")

Tool response:
Error: no such file exists…

Model reply:
I created the 'temp' directory inside 'document', but couldn’t find “final report.pdf”. Where is that file?

آنچه در عوض می خواستیم:

درخواست تأیید کنید نام پرونده دقیق ابتدا (این در سفیدپوست است) ، سپس ادامه دهید.

همکاران: Huanzhi Mao (Research Salesforce AI ، UC Berkeley) ، آنتونیو A. جینارت (تحقیقات Salesforce AI) ، جوزف E. گونزالی ، جان آر. امونز (فروش (فروش


Source link

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

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

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