پایگاه دانش چگونه کار میکند
یادداشتها، فایلها و صفحههای وبی که هوش مصنوعی هنگام پیشنهاد پاسخ، نوشتن پیشنویس ایمیل و پاسخدادن در دستیار به کار میبرد، و برای کل فضای کاری، یک دامنه یا یک نشانی نگه داشته میشوند.
چیست
پایگاه دانش چیزهایی را نگه میدارد که هوش مصنوعی باید دربارهٔ کسبوکار شما بداند و نمیتواند از خود نامهها یاد بگیرد: قیمتها، سیاستها، ساعتهای کاری، واقعیتهای محصول و شیوهای که تیمتان پاسخ میدهد. شما یادداشت، فایل و صفحهٔ وب اضافه میکنید و هوش مصنوعی هر بار که بهجای شما مینویسد، بخشهای مهم را میخواند.
هر فضای کاری یک انبار با سه سطح دارد، تا پاسخی که فقط برای یک برند یا یک تیم درست است همانجا بماند. در اپ از فضای کاری ← پایگاه دانش، از طریق REST API، از SDKها و CLI، و بهدست دستیار و کلاینتهای MCP خوانده و تغییر داده میشود.
سه سطح
هر مورد در یک سطح است، یعنی scope خودش. هوش مصنوعیای که برای یک نشانی مینویسد، آن نشانی، سپس دامنهاش و سپس کل فضای کاری را میخواند، و وقتی دو مورد با هم نمیخوانند، مورد مشخصتر برنده است.
| سطح | `scope` | خوانده میشود برای |
|---|---|---|
| کل فضای کاری | خالی | هر نشانی در فضای کاری |
| دامنه | @acme.com | هر نشانی روی آن دامنه، از جمله نشانیهایی که بعدها اضافه میشوند |
| نشانی | [email protected] | فقط همان نشانی |
- نشانی دارای علامت بهعلاوه نشانی پایهاش را هم میخواند، پس
[email protected]از آنچه برای[email protected]نگه داشته شده استفاده میکند. GET /knowledge/levelsهر سطحی را که میتوانید ببینید، شمار موردهای هرکدام و اینکه آیا میتوانید آنجا مورد تغییر دهید فهرست میکند.- انتقال یک دامنه به فضای کاری دیگر، موردهای نگهداشتهشده برای آن و نشانیهایش را هم با خود میبرد.
یادداشتها، فایلها و صفحههای وب
- یادداشت متنی است که همانجا مینویسید، تا 20,000 نویسه، و اگر بخواهید با Markdown. معمولاً ظرف یکی دو ثانیه برای هوش مصنوعی آماده است.
- فایل در پسزمینه به متن خوانده میشود: PDF، سندهای Word، صفحهگستردهها (Excel، OpenDocument، Numbers و CSV)، متن OpenDocument، HTML، XML، Markdown، متن ساده، JSON و تصویرها (JPEG، PNG، WebP و SVG). سند میتواند تا 20 MB و تصویر تا 10 MB باشد.
- صفحهٔ وب از یک نشانی عمومی
httpیاhttpsگرفته و در پسزمینه خوانده میشود، تا 5 MB از آن. هر سطح یک صفحه را یک بار نگه میدارد، و تازهسازی آن را پس از تغییر دوباره میگیرد. - از هر مورد تا 1,000,000 نویسه متن نگه داشته میشود، و متن برای جستوجو زیر سرتیترهایش به بخشهایی تقسیم میشود.
هر مورد هنگام خواندهشدن queued و سپس processing است، وقتی هوش مصنوعی بتواند از آن استفاده کند ready، و وقتی خوانده نشود failed با یک failure که دلیل را میگوید. مورد تغییرکرده به queued برمیگردد و هوش مصنوعی تا آمادهشدن متن تازه، متن پیشینش را به کار میبرد. تازهسازی یک مورد آن را دوباره میخواند و خطا را پاک میکند.
| طرح | موردها | نویسههای متن |
|---|---|---|
| Free | 50 | 1,000,000 |
| Starter | 500 | 10,000,000 |
| Business | 2,000 | 50,000,000 |
| Enterprise | 10,000 | 200,000,000 |
هر مورد بهمحض افزودهشدن، و نویسههایش بهمحض خواندهشدن متنش، در سهمیه شمرده میشود. افزودن بیش از سهمیه پذیرفته نمیشود، و فایل یا صفحهای که متنش از سهمیه میگذرد بهصورت ناموفق نگه داشته میشود. GET /knowledge/usage هر دو عدد را میخواند.
هوش مصنوعی چگونه از آن استفاده میکند
- پیشنهادهای پاسخ زیر آخرین پیام یک رشته، سطحهای نشانیای را میخوانند که پیام به آن رسیده است.
- پیشنویسی که از روی یک توضیح نوشته میشود، در ویرایشگر یا با
POST /emails/compose، سطحهای نشانیای را میخواند که از آن فرستاده میشود. پاسخ، موردهایی را که از آنها بهره گرفته درsourcesفهرست میکند. - دستیار سطحهای رشتهٔ بازِ شما را میخواند، یا اگر هیچ رشتهای باز نباشد هر سطحی را که میتوانید ببینید، و میتواند با ابزار
searchKnowledgeخودش در پایگاه دانش جستوجو کند. - پاسخ
GET /threads/{id}/reply-suggestionsموردهایی را که پیشنهادها بر آنها تکیه کردهاند درsourcesفهرست میکند.
یادداشتهای سنجاقشده، چه با آنچه نوشته میشود جور باشند چه نه، در هر پرامپتِ سطح خودشان میآیند، تا 2,000 نویسه از هر سطح. باقی جا، در مجموع حدود 6,000 نویسه، به بخشهایی میرسد که بهتر از همه با درخواست جورند و با معنا و با واژهها پیدا شدهاند. اگر نمایه ظرف یک لحظه پاسخ ندهد، هوش مصنوعی بهجای منتظرگذاشتن شما بدون آن مینویسد.
به هوش مصنوعی گفته میشود آنچه پایگاه دانش میگوید را دادهٔ مرجع بداند و هرگز دستور نداند، آنچه را که ربطی ندارد کنار بگذارد، و در نوشتهاش از پایگاه دانش نامی نبرد.
چگونه رشد میکند
موردها را در اپ از فضای کاری ← پایگاه دانش، یا از کد با API، SDKها و CLI اضافه کنید. دستیار و کلاینتهای MCP وقتی از آنها بخواهید چیزی را به خاطر بسپارند، میتوانند یادداشتی ذخیره کنند یا پیوندی اضافه کنند، و موردها را تغییر دهند، تازه کنند و حذف کنند. در گفتوگوی اپ، افزودن، تغییر و تازهسازی یک مورد اگر خودتان نخواسته باشید اول میپرسند، و حذف همیشه اول میپرسد.
هر مورد ثبت میکند از کجا آمده، در origin: app، api، assistant یا mcp، و چه کسی آن را افزوده، در createdBy.
این پایگاه خودبهخود هم رشد میکند. هوش مصنوعی از پاسخهایی که تیم شما میفرستد یادداشت پیشنهاد میکند و پرسشهایی را که هنوز چیزی به آنها پاسخ نمیدهد ثبت میکند، کانکتورها کل سایتها، نقشههای سایت، فیدها و مرکزهای راهنما را بهروز نگه میدارند، و پیوندها را میتوان طبق یک زمانبندی دوباره خواند. بخشهای زیر هرکدام را توضیح میدهند.
پیشنهادهایی که از پاسخهای شما آموخته میشوند
وقتی کسی در فضای کاری در یک گفتوگو پاسخ میدهد، هوش مصنوعی پاسخ و پیامی را که پاسخ به آن است میخواند و از آن تا سه واقعیت پیشنهاد میکند که برای دیگران هم درست باشد، مانند یک قیمت، یک سیاست یا زمان تحویل. هر پیشنهاد یادداشتی است که منتظر بازبینی است، در سطح دامنهای که پاسخ از آن فرستاده شده، یا کل فضای کاری وقتی آن دامنه از دامنههای خودش نیست. واقعیتهایی که پایگاه دانش از پیش دارد کنار گذاشته میشوند، و روزانه تا 100 پاسخ خوانده میشود.
آنها را در اپ یا با GET /knowledge/suggestions بازبینی کنید. یکی را بپذیرید تا بهصورت یادداشت ذخیره شود و در همین حین عنوان، متن، سطح یا سنجاق آن را تغییر دهید، یا ردش کنید. همان واقعیت اگر دوباره پیشنهاد شود بهجای افزودن پیشنهاد دوم occurrences را بالا میبرد، و پیشنهاد ردشده دیگر پیشنهاد نمیشود.
پرسشهایی که هنوز چیزی به آنها پاسخ نمیدهد
وقتی هوش مصنوعی برای پیامی ورودی پاسخ پیشنهاد میکند، تا سه چیز را هم ثبت میکند که فرستنده دربارهٔ کسبوکار پرسیده و نه گفتوگو و نه پایگاه دانش به آن پاسخ نمیدهد، مثلاً اینکه به کشور او ارسال دارید یا نه. هرکدام پرسشی میشود در سطح دامنهای که پیام به آن رسیده، یا کل فضای کاری وقتی آن دامنه از دامنههای خودش نیست، و همان پرسش اگر دوباره پرسیده شود occurrences را بالا میبرد، تا ببینید کدامها بیشتر پیش میآیند.
به یک پرسش پاسخ دهید تا یادداشت شود: آن را با پاسخ بهعنوان متن بپذیرید، و عنوانش همان پرسش میماند مگر آنکه تغییرش دهید. از آن پس هوش مصنوعی هر بار که آن پرسش پیش بیاید از پاسخ استفاده میکند. پرسشی را که پاسخی لازم ندارد رد کنید تا دیگر ثبت نشود.
تکراریها و تعارضها
هر مورد هنگام نمایهشدن با نزدیکترین موردها در همهٔ سطحها مقایسه میشود، و هر بار که تغییر کند دوباره. دو موردی که تقریباً یک چیز را میگویند با duplicate نشانهگذاری میشوند. دو مورد نزدیک به هم که در یک واقعیت، مانند قیمت یا مهلت، با هم ناسازگارند با conflict نشانهگذاری میشوند، همراه یک جمله دربارهٔ آنچه ناسازگار است. هوش مصنوعی روزانه تا 200 بار تعارضها را بررسی میکند.
- هر مورد هشدارهای بازی را که نامش در آنهاست در
flagsمیشمارد، وGET /knowledge/flagsآنها را از تازهترین فهرست میکند. - برای حل یک هشدار، یکی از دو مورد را تغییر دهید یا حذف کنید. مورد تغییرکرده پس از نمایهشدن دوباره مقایسه میشود.
- وقتی دو مورد همانطور که هستند درستاند، هشدار را رد کنید، و همان جفت دیگر به همان دلیل نشانهگذاری نمیشود.
- هشدار را فقط کسی میبیند که هر دو مورد را میتواند ببیند.
کانکتورها
کانکتور صفحههای زیادی از یک منبع را در پایگاه دانش نگه میدارد، هر صفحه را بهصورت یک مورد پیوند در سطح کانکتور، و وقتی منبع تغییر کند آنها را بهروز نگه میدارد.
| نوع | چه میخواند |
|---|---|
| site | صفحهای که میدهید و صفحههایی که روی همان میزبان و زیر همان مسیر به آنها پیوند دارد، بدون آنچه robots.txt سایت منع کرده است |
| sitemap | هر صفحهای که یک نقشهٔ سایت فهرست میکند، یا یک نمایهٔ نقشهٔ سایت و تا 5 نقشهٔ آن |
| feed | ورودیهای یک فید RSS یا Atom |
| zendesk | مقالههای منتشرشدهٔ یک مرکز راهنمای Zendesk، از روی نشانی آن مانند https://example.zendesk.com |
- نخستین همگامسازی ظرف یک دقیقه آغاز میشود. پس از آن هر 7 روز یک بار دوباره همگام میشود، یا هر 1 یا 30 روز، یا فقط وقتی همگامسازی بخواهید، که آن هم ظرف یک دقیقه آغاز میشود.
- تا 25 صفحه نگه میدارد، یا هر تعدادی که تعیین کنید تا 200، و موردهایش در سهمیهٔ طرح حساب میشوند. همگامسازی همین که سهمیه پر شود دیگر صفحهای اضافه نمیکند.
- هر همگامسازی صفحههای تازه را اضافه میکند، صفحههای تغییرکرده را دوباره میخواند و موردهای صفحههایی را که از منبع رفتهاند برمیدارد.
- صفحهای که خودتان بهصورت پیوند در همان سطح افزودهاید با همان مورد میماند، و حذف یک کانکتور فقط موردهایی را برمیدارد که خودش افزوده است.
- جابهجا کردن کانکتور به سطحی دیگر موردهایش را هم با آن جابهجا میکند.
پیوندهایی که بهروز میمانند
یک پیوند را میتوان هر 1، 7 یا 30 روز خودبهخود دوباره خواند: هنگام افزودن یا بعداً refreshDays را تنظیم کنید. وقتی صفحه تغییر کرده باشد، متن تازهاش پس از خواندهشدن جای متن قدیمی را میگیرد، و تا آن زمان هوش مصنوعی از متن قدیمی استفاده میکند. nextRefreshAt میگوید بار بعد کی خوانده میشود، و صفحهای که گرفته نشود روز بعد دوباره امتحان میشود.
ذخیرهٔ یادداشت از یک گفتوگو
هوش مصنوعی میتواند یک گفتوگو را بخواند و از واقعیتهایی که تیم دوباره به آنها نیاز خواهد داشت یک یادداشت پیشنویس کند، بدون اطلاعات شخصی و آنچه فقط به همان گفتوگو مربوط است. تا خودتان نگهش ندارید چیزی ذخیره نمیشود: پیشنویس را بخوانید، هر طور خواستید تغییرش دهید و بهصورت یادداشت ذخیرهاش کنید، که گفتوگوی منبعش را در threadId ثبت میکند.
پیشنویس سطحی پیشنهاد میکند: دامنهای که گفتوگو به آن رسیده اگر اجازهٔ افزودن مورد در آن را دارید، وگرنه کل فضای کاری یا خود نشانی. هر پیشنویس یک کنش هوش مصنوعی است. از کد، با POST /knowledge/drafts پیشنویس کنید که افزون بر knowledge:write به threads:read هم نیاز دارد، و با POST /knowledge/notes و همان threadId ذخیره کنید.
مرتبسازی دوبارهٔ نتیجههای جستوجو
جستوجو بخشها را با معنا و با واژهها پیدا میکند. rerank: true را با POST /knowledge/search بفرستید تا هوش مصنوعی 25 بخش برتر را هم بخواند و آنها را به ترتیبی بچیند که بهتر از همه به پرسش پاسخ میدهد، و بخشهای بیفایده را کنار بگذارد. این کار یکی دو ثانیه میافزاید و یک کنش هوش مصنوعی است، برای همین فقط وقتی بخواهید انجام میشود. reranked در پاسخ میگوید انجام شده یا نه، و وقتی بهموقع تمام نشود بخشها ترتیب همیشگیشان را نگه میدارند.
آمار استفاده
GET /knowledge/stats نشان میدهد هوش مصنوعی در 30 روز گذشته، یا اگر بخواهید تا 90 روز، چگونه از پایگاه دانش استفاده کرده است.
- چند بار یک پاسخ پیشنهادی، یک پیشنویس، دستیار یا یک جستوجو چیزی پیدا کرده، چند بار گشته و چیزی پیدا نکرده، و سهم جستوجوهای موفق، روز به روز.
- این استفادهها کجا رخ دادهاند:
compose،reply،chat،toolوsearch. - پراستفادهترین موردها، و اینکه چند مورد آماده هرگز استفاده نشدهاند. هر مورد شمار خودش را در
usesدارد، باlastUsedAtبرای آخرین استفاده. - چند پیشنهاد و پرسش منتظر بازبینیاند، و چند هشدار باز است.
خاموش کردن یادگیری
تنظیم فضای کاری knowledgeLearning بهطور پیشفرض روشن است. آن را با PATCH /settings و { "knowledgeLearning": false } خاموش کنید تا هوش مصنوعی دیگر پاسخهای فرستادهشده را برای یافتن واقعیتهای پیشنهادی نخواند، پرسشهای نامههای ورودی را ثبت نکند و موردها را برای یافتن تعارض بررسی نکند. تکراریها همچنان نشانهگذاری میشوند، و آنچه پیشتر پیشنهاد شده میماند تا بپذیریدش یا ردش کنید.
چه کسی میتواند آن را بخواند و تغییر دهد
- خواندن به
knowledge:readو تغییر بهknowledge:writeنیاز دارد که خواندن را هم در بر میگیرد. نقشهای داخلی Admin، Member و Developer میتوانند موردها را تغییر دهند، Viewer میتواند آنها را بخواند و Billing به آنها نمیرسد. - تغییر یک مورد نیازمند دسترسی به هر نشانی است که سطحش پوشش میدهد: کل فضای کاری به همهٔ نشانیها نیاز دارد، دامنه به کل دامنه، و نشانی به همان نشانی. کلید یا اپی که به نشانیهای مشخصی محدود است فقط میتواند در همان نشانیها، یا در دامنههایی که بهطور کامل در اختیار دارد، مورد تغییر دهد.
- کسی که به نشانیهای مشخصی محدود است، موردهای کل فضای کاری و موردهای نشانیهایش و دامنههای آن نشانیها را میخواند. دستیار و ابزارهای MCP که از طرف او کار میکنند، فقط در نشانیهایی که او میتواند از آنها بفرستد مورد اضافه و تغییر میدهند.
حریم خصوصی
- متن هر مورد در حالت ذخیره رمزگذاری میشود: محتوای یادداشت، متنی که از فایل یا صفحه خوانده شده و هر بخش. واژههایی که جستوجوی واژهای با آنها مقایسه میکند بهصورت درهمسازی کلیددار ذخیره میشوند، نه بهصورت واژه.
- فایلها به متن تبدیل میشوند و صفحههای وب را OpenEmail میخواند. سیاست حریم خصوصی همهٔ سرویسهایی را که دادههای شما را پردازش میکنند فهرست میکند.
- برای جستوجو بر اساس معنا، هر بخش و هر پرسش به یک بردار تبدیل میشود: فهرستی از اعداد که موضوع آن را توصیف میکند. بردارها، همانند جستوجوی معنایی در ایمیل، رمزنگارینشده کنار متن رمزنگاریشده نگهداری میشوند.
- بخشهایی که یک پرامپت به کار میبرد، مانند بقیهٔ پرامپت، به مدل هوش مصنوعیای میروند که پاسخ، پیشنویس یا جواب را مینویسد.
- حذف یک مورد، فایل، متن و بخشهایش را یکجا پاک میکند. پایگاه دانش بخشی از خروجی فضای کاری است، و حذف فضای کاری آن را هم حذف میکند.
- تا وقتی یادگیری روشن است، مدل هوش مصنوعی هر پاسخی را که در یک گفتوگو فرستاده میشود همراه پیامی که به آن پاسخ میدهد میخواند تا یادداشت پیشنهاد کند، و دو مورد نزدیک به هم را میخواند تا تعارض میانشان را بررسی کند. تنظیم
knowledgeLearningهر دو را خاموش میکند.
از کد، ترمینال و عاملها
همهٔ آنچه گفته شد در REST API زیر /knowledge، در SDKها بهصورت openemail.knowledge (TypeScript) و client.knowledge (Python، Ruby و PHP)، در CLI بهصورت openemail knowledge و در ابزارهای MCP هست. کلید برای خواندن به knowledge:read و برای تغییر موردها به knowledge:write نیاز دارد.