প্রকল্প সম্পর্কে
LiveKit Agents হলো সার্ভারে চলা রিয়েলটাইম, প্রোগ্রামেবল অংশগ্রহণকারী তৈরির একটি ওপেন-সোর্স ফ্রেমওয়ার্ক। এর মূল লক্ষ্য কথোপকথনমূলক, মাল্টিমোডাল ভয়েস এজেন্ট, যারা দেখতে, শুনতে ও বুঝতে পারে; এটি একটি পাইথন প্যাকেজ হিসেবে বিতরণ করা হয় (একটি JS/TS সহোদর লাইব্রেরি, AgentsJS, আলাদাভাবে উল্লেখ করা হয়েছে)।
README-তে বর্ণিত প্রধান সক্ষমতাগুলো:
- নমনীয় ইন্টিগ্রেশন: নির্দিষ্ট ব্যবহারক্ষেত্রে STT, LLM, TTS ও Realtime API প্রদানকারীদের মিশিয়ে ব্যবহার করা যায়।
- সমন্বিত জব শিডিউলিং: বিল্ট-ইন টাস্ক শিডিউলিং ও বিতরণ, সাথে dispatch API যা শেষ ব্যবহারকারীদের এজেন্টের সাথে সংযুক্ত করে।
- WebRTC ক্লায়েন্ট: LiveKit-এর ওপেন-সোর্স SDK ইকোসিস্টেম ব্যবহার করে প্রধান প্ল্যাটফর্মগুলোতে ক্লায়েন্ট অ্যাপ্লিকেশন তৈরি করা যায়।
- টেলিফোনি: LiveKit-এর টেলিফোনি স্ট্যাকের সাথে কাজ করে, ফলে এজেন্ট ফোন কল করতে বা গ্রহণ করতে পারে।
- ডেটা বিনিময়: RPC ও অন্যান্য Data API এজেন্ট ও ক্লায়েন্টের মধ্যে ডেটা বিনিময়ের সুযোগ দেয়।
- সেমান্টিক টার্ন ডিটেকশন: একটি ট্রান্সফরমার মডেল শনাক্ত করে ব্যবহারকারী কখন কথা বলা শেষ করেছেন, যা প্রকল্পের দাবি অনুযায়ী বাধা কমাতে সাহায্য করে।
- MCP সমর্থন: এক লাইন কোডে MCP সার্ভারের টুলগুলো ইন্টিগ্রেট করা যায়।
- বিল্ট-ইন টেস্ট ফ্রেমওয়ার্ক: এজেন্টের আচরণ যাচাই করতে টেস্ট ও জাজ লেখা যায়।
- ওপেন সোর্স: পুরো স্ট্যাক স্ব-হোস্ট করা যায়, LiveKit সার্ভারসহ, যা একটি বহুল ব্যবহৃত WebRTC মিডিয়া সার্ভার হিসেবে বর্ণিত।
মূল ধারণাগুলো হলো Agent (নির্দেশনা-সহ একটি LLM-ভিত্তিক অ্যাপ্লিকেশন), AgentSession (শেষ ব্যবহারকারীদের সাথে ইন্টারঅ্যাকশন পরিচালনার একটি কনটেইনার), entrypoint (ইন্টারঅ্যাকটিভ সেশনের সূচনা বিন্দু, যা একটি রিকোয়েস্ট হ্যান্ডলারের মতো), এবং AgentServer (জব শিডিউলিং সমন্বয় ও এজেন্ট চালু করার মূল প্রসেস)।
ব্যবহারের উদাহরণে LiveKit Inference বা সরাসরি প্রোভাইডার প্লাগইনের মাধ্যমে VAD, STT, LLM ও TTS সংযুক্ত করা একটি সাধারণ ভয়েস এজেন্ট দেখানো হয়েছে, সাথে একটি মাল্টি-এজেন্ট হ্যান্ডঅফ উদাহরণ যেখানে একটি intro এজেন্ট ব্যবহারকারীর তথ্য সংগ্রহ করে নিয়ন্ত্রণ একটি story এজেন্টকে দেয়, যা একটি Realtime API মডেলে সুইচ করতে পারে। একটি টেস্টিং উদাহরণে pytest ব্যবহার করে AgentSession চালানো হয়, একটি ব্যবহারকারী ইনপুট চালানো হয়, এবং ফাংশন কল ও অ্যাসিস্ট্যান্ট মেসেজের মতো ইভেন্টে অ্যাসার্ট করা হয়, যার মধ্যে ইনটেন্টের জন্য একটি LLM জাজও রয়েছে।
চালানোর মোড: `python myagent.py console` — বাহ্যিক সার্ভার ছাড়া স্থানীয় টার্মিনাল অডিও টেস্টিংয়ের জন্য; `dev` — একটি হট-রিলোডিং এজেন্ট সার্ভারের জন্য যা LiveKit Cloud বা স্ব-হোস্টেড সার্ভারে সংযুক্ত হয়; এবং `start` — প্রোডাকশন-উপযোগী অপ্টিমাইজেশনের জন্য। সার্ভার-সংযুক্ত মোডগুলোর জন্য LIVEKIT_URL, LIVEKIT_API_KEY ও LIVEKIT_API_SECRET এনভায়রনমেন্ট ভেরিয়েবল প্রয়োজন।
রিপোজিটরিতে একটি examples ডিরেক্টরি রয়েছে, যেখানে একটি স্টার্টার ভয়েস এজেন্ট, একটি আউটবাউন্ড কলার, MCP সমর্থন, একটি মাল্টি-ইউজার ট্রান্সক্রাইবার, তৃতীয় পক্ষের প্রোভাইডারসহ ভিডিও অ্যাভাটার, এবং একটি Gemini Live ভিশন ডেমো রয়েছে। ডেভেলপমেন্টে প্যাকেজ ব্যবস্থাপনার জন্য uv, ফরম্যাটিং ও লিন্টিংয়ের জন্য ruff, ইউনিট টেস্টের জন্য pytest, এবং স্থানীয় ডকুমেন্টেশন তৈরির জন্য pdoc ব্যবহৃত হয়। ফ্রেমওয়ার্কটি Apache-2.0 লাইসেন্সের অধীনে, তবে LiveKit টার্ন ডিটেকশন মডেলগুলো একটি পৃথক LiveKit Model License ব্যবহার করে। ইস্যু, পুল রিকোয়েস্ট বা কমিউনিটি Slack-এর মাধ্যমে অবদান স্বাগত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.