এআই ভয়েস এজেন্ট কেস স্টাডি

ভোকালে

একজন এজেন্ট যে ব্যবসায়ের ফোন লাইনে উত্তর দেয়, সেই ব্যবসায়ের নিজস্ব নথিপত্রে উত্তর খুঁজে বের করে এবং কলকারী ফোন রাখার আগেই সাপোর্ট টিকিট খুলে — তাদের ইতিমধ্যেই থাকা নম্বরে এবং তাদের হার্ডওয়্যারে, যদি তারা সেখানে এটি রাখতে চায়।

  • শিল্পInbound support and telephony
  • ব্যবহারকারীরাSupport teams on a Yeastar or SIP PBX
  • আচ্ছাদনEvery call, around the clock
  • সেবাProduct Design, Development, AI
ভোকালে: এআই ভয়েস এজেন্ট প্ল্যাটফর্ম

সংক্ষেপে

ভোকালে একটি এআই এজেন্টকে একটি ব্যবসার বিদ্যমান ফোন লাইনে যুক্ত করে। একজন গ্রাহক সেই নম্বরটি ডায়াল করেন যা তিনি সবসময় ডায়াল করে আসছেন; এজেন্ট প্রথম রিং-এ কল ধরেন, গ্রাহকের ভাষায় কথা বলেন, কোম্পানির নিজস্ব ম্যানুয়াল ও নীতিমালা অনুযায়ী উত্তর দেন, এবং — যখন উত্তরটি আসলে "কারো এ বিষয়ে নজর দেওয়া দরকার" — ইতিমধ্যেই সংগৃহীত তথ্যসহ একটি সাপোর্ট টিকিট দায়ের করেন।

ফোন সিস্টেমে কিছুই পরিবর্তন হয় না। ব্যবসা তার প্রদানকারী, নম্বর এবং কল প্ল্যান অপরিবর্তিত রাখে; একটি ফর্ম থেকে একবার Yeastar বা সামঞ্জস্যপূর্ণ SIP প্ল্যাটফর্ম সংযুক্ত করা হয়, এবং এর পিছনে ট্রাঙ্ক ও কল রাউটিং প্রোভিশন করা হয়। এরপর এজেন্টের জানা উচিত এমন ডকুমেন্টগুলো আপলোড করা, এর স্বর নির্ধারণের জন্য কয়েকটি বাক্য লেখা, এবং ব্রাউজারে পরীক্ষা করে যতক্ষণ না এটি ঠিক শোনায়—সবকিছুই একটিও বাস্তব কল এর দিকে রাউট হওয়ার আগেই।

অর্থনীতি গড়ে তোলে বা ভেঙে দেয় এমন সিদ্ধান্ত হল মডেলগুলো কোথায় চলে, তাই প্ল্যাটফর্মটি একটি পণ্যের পেছনে দুটি ইঞ্জিন সরবরাহ করে। হোস্টেড স্তরে, স্পিচ, রিজনিং এবং ভয়েস তৃতীয় পক্ষের API থেকে আসে এবং প্রতিটি মিনিট পরিমাপ করা হয়। স্ব-হোস্টেড স্তরে এই তিনটিই ব্যবসার নিজস্ব নিয়ন্ত্রণাধীন একটি GPU-তে চলে, কোনো অডিও বা ডকুমেন্ট ভবন থেকে বের হয় না, এবং একটি কলের জন্য বিদ্যুৎ খরচ হয়। এদের মধ্যে পরিবর্তন করা কনফিগারেশনের বিষয়; এজেন্ট উভয় ক্ষেত্রেই একইভাবে আচরণ করে।

  • Next.js 15
  • TypeScript
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • LiveKit
  • WebRTC
  • SIP telephony
  • Python
  • vLLM + Qwen3-8B
  • Faster-Whisper
  • Coqui XTTS-v2
  • Pinecone

প্রজেক্ট ভিডিও

ভোকালেফোন লাইনটি প্লাগ ইন করুন। এটি উত্তর দিচ্ছে।

ভোকালের একটি ওয়াকথ্রু, ফোন সিস্টেম সংযোগ ও ম্যানুয়াল আপলোড থেকে শুরু করে সেই লাইভ কল পর্যন্ত যা প্রশ্নের উত্তর দেয় এবং যেটি করতে পারেনি তা ফাইল করে।

মূল সক্ষমতা

  • ফোন ধরছে

    ইতিমধ্যেই ব্যবসার চলমান Yeastar বা SIP সিস্টেমের সাথে সংযুক্ত হয়, যাতে গ্রাহকরা সবসময় ডায়াল করা নম্বরে কল এজেন্টের কাছে পৌঁছায়।

  • আপনার নথিপত্রে ভিত্তি করে

    ম্যানুয়াল, নীতিমালা এবং মূল্য তালিকাগুলো প্রশ্নের মুহূর্তে আপলোড, সূচিবদ্ধ ও অনুসন্ধান করা হয় — তাই উত্তরটি মডেলের স্মৃতি থেকে নয়, বরং ব্যবসার নিজস্ব উপকরণ থেকেই আসে।

  • কল চলাকালীন টিকিট খোলে

    যখন কোনো কলকারী কাউকে প্রয়োজন বোধ করে, এজেন্ট তখনই কলকারীকে লাইনে রেখে বিষয়, যোগাযোগের বিবরণ এবং জরুরি অবস্থা সংগ্রহ করে, এবং তারপর নিজেই টিকেট দায়ের করে।

  • জানে কে কল করছে

    বিদ্যমান গ্রাহক ডাটাবেস শুধুমাত্র পড়ার জন্য সংযুক্ত, তাই এজেন্ট একটি শব্দ বলার আগেই একটি ইনবাউন্ড নম্বর একটি অ্যাকাউন্টের সাথে মিলিয়ে নেওয়া হয়।

  • দুটি ইঞ্জিন, একটি পণ্য

    একই এজেন্ট হোস্টেড মডেল API-তে বা সম্পূর্ণভাবে একটি ব্যক্তিগত GPU-তে চলে। ব্যবসা খরচ এবং তার ডেটা কোথায় যাবে তা নির্ধারণ করে।

চ্যালেঞ্জ

সন্ধ্যা সাতটায় ফোন বাজে। উত্তরটি শেয়ারড ড্রাইভে থাকা একটি পিডিএফ ফাইলে আছে। পড়ার জন্য কেউ নেই।

একটি সাপোর্ট লাইন তখনই উপলব্ধ থাকে যখনই সেটি উত্তর দেয় এমন মানুষ থাকে, এবং সেখানে আসা প্রশ্নগুলোও বারবার একই কয়েকটি: আপনার কাজের সময় কী, এটা কি অন্তর্ভুক্ত, আমি এটি কীভাবে রিসেট করব। উত্তরগুলো ইতিমধ্যেই লেখা আছে — একটি ম্যানুয়ালে, একটি নীতিমালায়, একটি মূল্য তালিকায় — শুধু এমন কোনো জায়গায় নয় যেখানে কলকারী পৌঁছাতে পারে এবং অপারেটর খুঁজে পেতে পারে যখন কেউ অপেক্ষায় থাকে। লাইনে একটি এআই বসালে সেই উপলব্ধতার অর্ধেক সমস্যা সমাধান হয়। মিনিট অনুযায়ী ভাড়া নেওয়া নীরবে এটিকে একটি খরচ সমস্যার সঙ্গে প্রতিস্থাপন করে, কারণ এটি যত ভালো কাজ করে তত বেশি ব্যবহার হয়, এবং প্রতি মাসের খরচ ততই বাড়ে।

  • অফিসের সময়ের বাইরে কল

    সন্ধ্যা, সপ্তাহান্ত ও ছুটির দিনে কলগুলো ভয়েসমেইলে চলে যায় — আর সেখানে আসে মূলত সেই সাধারণ জিজ্ঞাসা, যা একজন ব্যক্তি এক মিনিটের মধ্যেই শেষ করে দিত।

  • যেখানে কেউ পৌঁছাতে পারে না এমন উত্তর

    তথ্যগুলো নথিপত্রে আছে, কিন্তু এমন কোনো ফরম্যাটে নেই যা লাইনে অপেক্ষমাণ কলারের সঙ্গে পরামর্শ করার জন্য ব্যবহার করা যেতে পারে।

  • প্রতি মিনিটে মূল্য নির্ধারিত

    ম্যানেজড ভয়েস-এআই প্ল্যাটফর্মগুলো প্রতি কল মিনিটের ভিত্তিতে বিল করে, তাই ব্যবহার বাড়ার সঙ্গে সঙ্গে বিলও বাড়ে — সাপোর্ট লাইনে এটি ভুল প্রণোদনা।

আমাদের সমাধান

একজন এজেন্ট, যাকে আপনি ইতিমধ্যেই লাইনে রেখেছেন।

ভোকালে একটি ব্যবসার ফোন সিস্টেম এবং তার জ্ঞানের মধ্যে অবস্থান করে। PBX একটি ফর্ম থেকে সংযোগ স্থাপন করে এবং রাউটিং এর পেছনে প্রোভিশন করা হয়। ডকুমেন্টগুলো আপলোড ও সূচিবদ্ধ করা হয়। এজেন্টের আচরণ কোডের পরিবর্তে সরল ভাষায় নির্ধারিত হয়, এবং একটি প্রকৃত কল পৌঁছানোর আগে পুরো বিষয়টি ব্রাউজারে অনুশীলন করা যায়। একবার এটি লাইভ হলে, এটি যা কিছু করেছে সবই রেকর্ডে থাকে — ট্রান্সক্রিপ্ট, চালানো অনুসন্ধানগুলো, খোলা টিকিটগুলো — যাতে দলটি আরও কাজ দেওয়ার আগে মূল্যায়ন করতে পারে যে এটি কাজটি ঠিকমতো করছে কি না।

পিবিএক্সের সাথে সংযুক্ত করে, এর চারপাশে নয়।

Yeastar এবং সামঞ্জস্যপূর্ণ SIP সিস্টেম একটি ফর্ম থেকে নিবন্ধন করে, এবং ব্যবসা তার প্রদানকারী, নম্বরসমূহ এবং কল প্ল্যান বজায় রাখে।

কথা বলার আগে পুনরুদ্ধার

একটি তথ্যের প্রয়োজন এমন প্রশ্ন সূচিবদ্ধ নথিগুলোর মধ্যে অনুসন্ধান চালায়, এবং প্রাপ্ত ফলাফল থেকে উত্তর একত্রিত করা হয় — কিছুই না পাওয়া গেলে এজেন্টকে সেই উত্তর দেওয়ার অনুমতি রয়েছে।

হোস্টেড হোক বা স্ব-হোস্টেড, আচরণ একই।

স্পিচ, ভাষা এবং ভয়েস তৃতীয় পক্ষের API-এর মাধ্যমে বা ব্যক্তিগত GPU-তে চলে। এগুলোর মধ্যে পরিবর্তন করা কনফিগারেশন, পুনর্নির্মাণ নয়।

যেভাবে কাজ করে

গ্রাহক করার আগে এটি পরীক্ষা করুন

A sandbox that runs the whole pipeline in the browser. Pick a caller, start the call, and the transcript arrives live beside it as the agent hears and answers. Every session it has ever handled — browser or phone, inbound or outbound — is one click away in the rail on the left.

ভোকালে ভয়েস এজেন্ট কনসোল: একটি বড় স্ট্যান্ডবাই স্টেট, যার পাশে একটি লাইভ ট্রান্সক্রিপ্ট প্যানেল, নিচে একটি কলার পিকার এবং একটি 'স্টার্ট কল' বোতাম, এবং সাম্প্রতিক কল ইতিহাসের একটি সাইডবার, যেখানে নম্বরগুলো মুছে ফেলা হয়েছে।

যে নথিগুলো থেকে এটি উত্তর দেয়

Files are dropped straight onto the page, then parsed, split and indexed. Each row reports how many pages went in and how many searchable pieces came out, so it is obvious at a glance when a document is ready to be quoted on a call and when it is still being worked on.

জ্ঞানভিত্তিক পৃষ্ঠা: সূচিবদ্ধ নথিগুলির একটি টেবিলের উপরে একটি ড্র্যাগ-এন্ড-ড্রপ আপলোড প্যানেল, যেখানে নাম, স্থিতি, পৃষ্ঠা সংখ্যা এবং খণ্ড সংখ্যা দেখানো হয়।

যা এটি উত্তর দিতে পারে না, তা একটি টিকিটে পরিণত হয়।

The agent collects the subject, the customer and the urgency while the caller is still on the line and files the ticket itself, transcript attached. Support opens the queue to a list of real problems in the caller's own words instead of a column of missed calls.

টিকিট পৃষ্ঠা: একটি সাপোর্ট টিকিটের টেবিল, যাতে নম্বর, বিষয়, ক্লায়েন্ট, অবস্থা, অগ্রাধিকার এবং তৈরি করার তারিখ দেখানো হয়েছে; এর অধিকাংশই কল চলাকালীন স্বয়ংক্রিয়ভাবে খোলা হয়।

এটি জানে কে কল করছে।

An existing customer database connects read-only, with a mapping step for whichever columns hold the name and the number. From then on an inbound call is matched against it before the agent speaks — and the records stay where they are. Vocale reads them; it does not become the place they live.

গ্রাহকদের পৃষ্ঠাটি ১৪,০৩৯ রেকর্ডের একটি সিঙ্ক করা বাহ্যিক ডাটাবেস প্রদর্শন করছে, যেখানে Edit Mappings এবং Edit Connection কন্ট্রোল রয়েছে। নাম এবং ফোন কলামগুলো অস্পষ্ট করা হয়েছে।

কনসোল থেকে বরাদ্দ করা সংখ্যাগুলি

Telephony is the one part a business should not have to get right alone, so provisioning is an operator job rather than a self-service form. Each number is registered, pointed at an organisation and switched on from here — which doubles as the fastest way to see which tenants are actually taking calls.

প্রশাসনিক SIP নম্বর স্ক্রিন: মোট, সক্রিয় এবং নিষ্ক্রিয় নম্বরের জন্য কাউন্টার, এবং একটি সারণি যা প্রতিটি নম্বরকে একটি নাম, একটি সংস্থা এবং একটি টেন্যান্টের সাথে ম্যাপ করে, যার একটি সক্রিয় টগল রয়েছে।

প্রতি মিনিটের মূল্য

Spend is metered the way the models bill it — caller speech, agent speech and replayed history, broken out per model and per organisation. It is what turns the choice between a hosted API and a private GPU into a decision with a number attached rather than an argument.

প্রশাসনিক খরচ ও ব্যবহারের ড্যাশবোর্ড: মোট খরচ, প্রতি কলের গড় খরচ, কল ও মিনিটের সংখ্যা এবং প্রতি মিনিটের খরচ, দৈনিক ব্যয়ের চার্ট, খরচ ধরন ও মডেলের ভিত্তিতে বিভাজন, এবং প্রযোজ্য হারসমূহ।

প্রভাব ও ফলাফল

প্রথম বেলের সঙ্গেই উত্তর দেওয়া হয়, এবং সফটওয়্যারের মতো মূল্য নির্ধারিত।

সাপোর্ট লাইনে যা গুরুত্বপূর্ণ তা বিমূর্তভাবে সঠিকতা নয় — বরং কলটি উত্তর পেয়েছে কিনা এবং উত্তরটি সঠিক ছিল কিনা। ভোকালে যেকোনো সময়ে, কলকারীর ভাষায় সব প্রশ্নেরই উত্তর দেয় এবং একটি ট্রান্সক্রিপ্ট রেখে যায় যাতে দ্বিতীয় প্রশ্নটিও নিষ্পত্তি করা যায়। নীচের খরচটি হলো হোস্টেড স্তরে এক মাসের বাস্তব কলগুলির উপর প্ল্যাটফর্মের মিটারকৃত খরচ; সেলফ-হোস্টেড স্তরে সেই খরচটি ব্যবসার ইতিমধ্যেই পরিশোধিত হার্ডওয়্যারে স্থানান্তরিত হয়, এবং প্রতি মিনিটের হার আর পরিবর্তিত হয় না।

কল কভারেজ, কোনো রোটা নেই এবং কোনো সারির অপেক্ষা নেই
প্রতি কল মিনিটের মিটারকৃত খরচ, হোস্টেড স্তর
যে ভাষাগুলিতে এজেন্ট পরিবর্তন করা যেতে পারে
এটি চালানোর উপায়: হোস্টেড API বা ব্যক্তিগত GPU

সিস্টেম ডিজাইন

ড্যাশবোর্ড থেকে একটি ব্যবসা কী করতে পারে

প্রবাহ চিত্র। Yeastar PBX বা অনুরূপ সিস্টেমের একজন ব্যবহারকারী লগইন করে এবং একটি প্রধান ড্যাশবোর্ডে পৌঁছায়, যা সাতটি বিভাগে বিভক্ত: টেলিফোনি এবং PBX সেটআপ; নথিপত্র আপলোড, দেখা এবং মুছে ফেলার সুবিধাসহ জ্ঞানভান্ডার; সিস্টেম প্রম্পট সেটআপ এবং একটি পরীক্ষা চ্যাট ও ভয়েস ইন্টারফেসসহ ভয়েস এজেন্ট কনফিগারেশন; কথোপকথনের ইতিহাস এবং এজেন্ট কার্যকলাপসহ লাইভ অপারেশন এবং মনিটরিং; টিকেটিং সিস্টেম ইন্টিগ্রেশন—সংযোগ, তৈরি, দেখা, সম্পাদনা ও মুছে ফেলা; গ্রাহক তথ্য ব্যবস্থাপনা—গ্রাহক ডাটাবেস সংযোগ ও নতুন গ্রাহক তৈরি; এবং অ্যাকাউন্ট ব্যবস্থাপনা—প্রোফাইল সম্পাদনা, ডেটা ডাউনলোড ও অ্যাকাউন্ট মুছে ফেলা।
একটি সাইন-ইন এর পিছনে সাতটি এলাকা। টেলিফোনি এবং জ্ঞান একবারই সেট আপ করা হয়; অপারেশন, টিকেটিং এবং গ্রাহক রেকর্ড প্রতিদিনের কাজ।

একটি একক কথ্য পালা-পরম্পরার গঠন

একটি কথোপকথনের টার্নের সিকোয়েন্স ডায়াগ্রাম। ব্যবহারকারীর WebRTC অডিও LiveKit সার্ভারে পৌঁছে, যা এজেন্টকে অডিও ফ্রেমগুলো প্রেরণ করে। ভয়েস অ্যাক্টিভিটি ডিটেকশন বক্তৃতা শনাক্ত করে, বাফার Faster-Whisper-এ পাঠানো হয় এবং একটি ট্রান্সক্রিপ্ট ফেরত আসে, ব্যবহারকারীর পালা PostgreSQL-এ সংরক্ষণ করা হয়, চ্যাট প্রসঙ্গ এবং ইতিহাস vLLM দ্বারা পরিবেশিত Qwen3-8B ভাষা মডেলে পাঠানো হয় যা টোকেনগুলো স্ট্রিম করে ফেরত পাঠায়, টেক্সটটি স্বাভাবিকীকৃত ও বাক্যে একত্রিত হওয়ার পর XTTS-v2 এটিকে অডিও ফ্রেমে রূপান্তরিত করে, সহকারী টার্ন সংরক্ষণ করা হয়, এবং অডিও WebRTC-এর মাধ্যমে ব্যবহারকারীর কাছে ফিরে আসে।
একবারে ইনপুট স্পিচ এবং আউটপুট স্পিচ — উভয় অংশই ঘটতে-ঘটতে লিখে রাখা হয়। স্ব-হোস্টেড স্তরে এজেন্টের ভিতরের প্রতিটি বক্সই ব্যবসার নিজস্ব GPU-তে চলমান একটি মডেল।

যা সমাধান করতে হয়েছে

মধ্য-বাক্যে বাধা পড়া

Solution: কলকারীরা উত্তর বুঝতে পারার সঙ্গে সঙ্গেই কথা বলতে শুরু করে, আর যদি এজেন্ট কথা চালিয়ে যায়, তা অসম্পূর্ণ শোনায়। ভয়েস অ্যাক্টিভিটি ডিটেকশন কলকারী কথা বলার সঙ্গে সঙ্গেই আউটগোয়িং অডিও কেটে দেয়, তারপর এজেন্টের নিজস্ব ট্রান্সক্রিপ্টকে প্রকৃতপক্ষে যা শোনা গেছে সেভাবেই সংক্ষিপ্ত করে—ফলস্বরূপ কথোপকথন সিস্টেমের পরিকল্পিত কল নয়, বরং কলকারী যে কলটি অনুভব করেছে সেখান থেকেই চালিয়ে যায়।

চিন্তা করার সময় নীরবতা

Solution: নথিগুলো অনুসন্ধান করতে যে সময় লাগে, তা ঠিক যেন ফোন কেটে যাওয়ার সময় কথা বলার মতোই দীর্ঘ। এজেন্ট অর্ধ সেকেন্ডের মধ্যে একটি সংক্ষিপ্ত, স্বাভাবিক ফিলার উচ্চারণ করে এবং যদি অনুসন্ধান আগে ফলাফল দেখায়, তাহলে সেটি বাতিল করে দেয়, যার ফলে তথ্য আনতে যে সময় লাগে, তা কোনো মৃত নীরবতা ছাড়াই ব্যবহার করা হয়।

শব্দ করে পড়া যায় না এমন টেক্সট

Solution: স্ক্রিনের জন্য লেখা কণ্ঠের জন্য লেখা নয়: মুদ্রার পরিমাণ, তারিখের সংখ্যা, সংক্ষিপ্তরূপ। একটি স্বাভাবিকীকরণ স্তর মুদ্রার পরিমাণ, তারিখ, সময় এবং সংক্ষিপ্তরূপগুলোকে প্রতিটি ভাষার কথ্য রূপে পুনঃলিখন করে, সেগুলো স্পিচ মডেলে পৌঁছানোর আগেই।

একটি জিপিইউ, একাধিক আলোচনা

Solution: একটি লাইভ ভয়েস সেশন তার মডেলগুলোকে ভিডিও মেমরিতে রাখে, তাই এর ক্ষমতা কাঁচা কম্পিউটের পরিবর্তে VRAM দ্বারা সীমাবদ্ধ। সেশনগুলো প্রতি কার্ডে বরাদ্দ করা হয় এবং কাজের লোড স্পষ্টভাবে কার্ডগুলোর মধ্যে পিন করা হয় — ডিফল্ট পুলিং ছেড়ে দিলে স্পিচ এবং ভাষার কাজ একই GPU-তে চলে এবং একে অপরকে পর্যাপ্ত রিসোর্স থেকে বঞ্চিত করে।

প্রশ্ন

না। ভোকালে আপনার বিদ্যমান ফোন সিস্টেম—Yeastar এবং সামঞ্জস্যপূর্ণ SIP প্ল্যাটফর্ম—এর সাথে সংযুক্ত হয়, এবং আপনার গ্রাহকদের বিদ্যমান নম্বরে কল আসতে থাকে। সংযোগ একবার ড্যাশবোর্ড থেকে করা হয়, এবং এর পেছনে ট্রাঙ্ক ও রাউটিং প্রোভিশন করা হয়।

পাঁচটার পর কল হারাচ্ছেন?

চলুন আপনার লাইনে একজন এজেন্ট রাখি।