نماینده مجازی خصوصی Chat GPT Powered Teams
نسخه ی نمایشی بر اساس اطلاعات تحویل آمازون در اینجا
نمایندگیهای مجازی کامل خصوصی عالی هستند، بهروزرسانی اخیر NLP و ایجاد موضوع خودکار آن را فوقالعاده قدرتمند کرده است. اما بر خلاف Power Automate و Power Apps، هزینه های گران قیمت مجوز و استفاده قفل شده است.
بنابراین اگر بخواهیم چند ربات چت ربات مقاله دانش تولید کنیم، واقعاً به یک گزینه متفاوت نیاز داریم.
که 2 گزینه باقی می گذارد، Power Apps و Power Virtual Agents برای Teams. با کمال تعجب، Power Apps قدرت بیشتری برای ایجاد رباتهای چت هوشمند نسبت به PVA برای تیمها دارد، زیرا محیطهای Teams Dataverse به AI Builder یا Custom Connectors اجازه نمیدهند. خوشبختانه، کار زیادی وجود دارد و اکنون یک راه آسان برای استفاده از قابلیت Chat GPT وجود دارد.
چند اخطار وجود دارد:
- راه حل از نظر امنیتی عالی نیست
- اگرچه در حال حاضر رایگان است هزینه استفاده وجود دارد
- این یک مدل Azure GPT است که OpenAi نیست (اما تفاوت کمی دارد)
بخش های کلیدی زیر برای راه حل وجود دارد
- قسمت جلویی
- ادغام GPT
- مدل سازی داده ها
- راه حل پایان به پایان
1. Front End
همانطور که گفته شد ما با Teams PVA می رویم، اما این می تواند به راحتی با یک برنامه Canvas Power جایگزین شود (اگر بخواهیم در سایت شیرپوینت و غیره جاسازی شود).
2. یکپارچه سازی GPT
راههای زیادی برای افزودن ادغامهای GPT وجود دارد (کانکتورهای Premium، کانکتورهای سفارشی، کانکتور http)، اما سادهترین آنها روش جدید است. Create text with GPT
کانکتور AI Builder.
ما میتوانیم کانکتور را به صورت جریانی فراخوانی کنیم و دادهها را به ربات چت (یا اگر به آن سمت بروید، برنامه Power App) ارسال کنیم.
من یک وبلاگ کامل در مورد نحوه استفاده از آن و اینکه چقدر جالب است اینجا نوشته ام
3. مدل سازی داده ها
تنها مشکل کانکتور (و ChatGPT در این مورد) توکن (محدودیت کاراکتر) است، هنوز هیچ سندی در مورد محدودیت کانکتورها وجود ندارد (محدودیت OpenAI 2048 است)، اما به این معنی است که وقتی در حال تجزیه و تحلیل بزرگ هستیم باید خلاق باشیم. اسناد داده ها
اینجاست که کمی کار لازم است، ما باید داده های مقاله دانش را به یک پایگاه داده/فهرست منتقل کنیم (SharePoint عالی کار می کند). چون بیشتر راهنماهای کسب و کار و غیره در صفحات پی دی اف یا سایت هستند، دردسرساز است، اما به عنوان یک استراتژی کلی، در دراز مدت برای دقت و نگهداری داده ها بهتر است.
اکنون ما دادههای خود را نمایهسازی کردهایم که میتوان فهرست را فیلتر کرد تا زمینه را دریافت کنیم، چالش این است که چگونه بدانیم برای چه چیزی باید پرس و جو کنیم. خوشبختانه ما قبلاً پاسخ را داریم، مدل GPT می تواند کلمات کلیدی سؤال را خلاصه کند (بنابراین ما از سؤالات به عنوان زمینه استفاده می کنیم). سپس متن را فیلتر می کنیم تا ببینیم آیا حاوی کلمات کلیدی است یا خیر. در طول آزمایش متوجه شدم که نقطه شیرین 3 کلمه است اما سومی را نادیده میگیرم (چون گاهی اوقات این کلمه مرتبطتر از آن چیزی است که لازم است).
سپس روی تمام موارد فیلتر شده حلقه زده و به یک متغیر رشته اضافه می کنیم.
من همچنین یک بازگشت به عقب داشتم که هر یک از کلمات کلیدی را برمی گرداند، بنابراین جریان با هر دو کلمه کلیدی فیلتر می شود، در غیر این صورت اگر برگردانده نشد، با هر یک از کلمات کلیدی فیلتر می شود.
توجه داشته باشید، متوجه شدم پارامتر “آستانه شکست و عمل” اثرات غیرمنتظره ای داشته است، بنابراین آن را حذف کردم
4. پایان به پایان راه حل
راه حل نهایی ما به این صورت است:
اما اکنون یک مشکل دیگر برای رسیدگی داریم، و اینجاست که کمی به هم میریزد (از جنبه امنیتی)، چگونه میتوانیم از AI Builder در Dataverse for Teams در زمانی که مجاز نیست استفاده کنیم.
ترفند این است که ما باید درخواست خود را به یک جریان محیطی متفاوت منتقل کنیم، برای انجام این کار به اقدامات HTTP نیاز داریم:
- HTTP – برای فراخوانی و دریافت داده ها از جریان های مختلف محیطی
- هنگامی که یک درخواست HTTP دریافت می شود – برای راه اندازی جریان محیطی مختلف
موضوع امنیتی یک وقتی است HTTP request is received
نقطه پایان باز است، بنابراین هر کسی می تواند آن را صدا کند.
چند راه برای ایمن کردن آن وجود دارد، اما برای ساده نگه داشتن آن، از یک کلید API در هدر استفاده کردم.
در این مورد کلید API ‘secretkey’ نامیده می شود و مقدار آن ‘secretValueToRunThisFlow’ است.
در When a HTTP request is received
ماشه و سپس یک شرط ماشه برای بررسی کلید داریم
دومین مشکل امنیتی، مقدار کلید مخفی است، در یک انبار کلید Azure ذخیره نمیشود، بنابراین هر کسی که به جریانها دسترسی داشته باشد میتواند آن را در متن ساده ببیند. گزارشها نیز آن را نشان میدهند مگر اینکه ورودیهای هر دو را ایمن کنیم.
اگر امنیت راضی نیست، همیشه میتوانیم به جایگزینی PVA با یک برنامه Canvas بپردازیم (دیگر نیازی به پرش HTTP نیست).
جریان PVA
جریان GPT
PVA
موضوع PVA باید پیش فرض باشد یا با سلام فراخوانی شود
و در اینجا شما آن را دارید، یک چت ربات تمام عیار در تیم ها، به صورت رایگان (ish). جالب اینجاست که می توانید تمام داده های دانش خود را در یک لیست با یک فیلد ربات چت اضافی ذخیره کنید. سپس چتباتهای مختلف میتوانند جریان والد یکسانی را فراخوانی کنند که فقط دادهها را برای آن فیلتر میکند.
الزامات اضافی
از آنجایی که نمیخواستم زیاد وارد جزئیات شوم، مدیریت استثنا را برای موارد زیر لحاظ نکردم:
- هیچ موضوعی پیدا نشد
- تشدید برای پاسخ نادرست