رفع اشکال
عدم تطابق ابعاد بردار
پردازش خودکار در همه جا متوقف شده است، یا محیط آزمایشی خطاهایی در مورد ابعاد جستجوی هوشمند برمیگرداند. انتهای فایل storage/logs/laravel.log نشان میدهد:
Vectorize POST indexes/X/upsert failed:
{"code":40012,"message":"invalid vector for id=\"…\",
expected 768 dimensions, and got 1024 dimensions"}
شاخص Vectorize کلودفلر با یک بعد (مثلاً ۷۶۸) تأمین شده است، اما مدل جستجوی هوشمند اکنون بردارهایی با اندازه متفاوت (۱۰۲۴) برمیگرداند. رایجترین دلیل: اپراتور CLOUDFLARE_EMBED_MODEL را از @cf/baai/bge-base-en-v1.5 (۷۶۸ بعد) به @cf/baai/bge-m3 یا @cf/baai/bge-large-en-v1.5 (هر دو ۱۰۲۴ بعد) بدون بازسازی شاخص تغییر داده است.
بازیابی سریع
Pitchbar یک جریان بازیابی تکدستوری ارائه میدهد. به سرور خود SSH کرده و اجرا کنید:
cd /path/to/pitchbar
php artisan vector:rebuild-index
در提示 yes پاسخ دهید. دستور:
- شاخص Vectorize موجود را حذف میکند.
- آن را با ابعادی که با مدل جستجوی هوشمند پیکربندیشده فعلی شما مطابقت دارد، دوباره ایجاد میکند.
- هر ردیف
Chunkمحلی را حذف میکند. - هر
Sourceرا بهstatus = pendingبازنشانی میکند. IndexDocumentJobرا برای هر سندی که متن ذخیرهشده دارد، دوباره ارسال میکند.
پردازشگر صف را تماشا کنید — نمای دانش با بازپردازش هر سند، دوباره پر میشود. اسناد فقط آدرس پس از بازسازی نیاز به کلیک دستی پردازش مجدد دارند (آنها بهصورت درخواستی از طریق CrawlPageJob دوباره اسکن میشوند).
ابعاد مدلهای شناختهشده
Pitchbar این نامکهای مدل جستجوی هوشمند را بهطور خودکار به بعد نگاشت میکند — محیط VECTOR_DIM را تنظیم نشده بگذارید و حلکننده EmbedModelDimensions مقدار صحیح را انتخاب میکند:
| مدل | بعد |
|---|---|
@cf/baai/bge-small-en-v1.5 | 384 |
@cf/baai/bge-base-en-v1.5 (پیشفرض) | 768 |
@cf/baai/bge-large-en-v1.5 | 1024 |
@cf/baai/bge-m3 | 1024 |
text-embedding-3-small (OpenAI) | 1536 |
text-embedding-3-large (OpenAI) | 3072 |
text-embedding-ada-002 (OpenAI) | 1536 |
لغو پرچمها
--force— رد کردن درخواست تأیید (برای خودکارسازی / استقرار CI مفید است)--dim=N— لغو بعد حلشده خودکار (پیشرفته؛ فقط در صورت اشاره به یک مدل لیستنشده)
چرا این اتفاق میافتد
شاخصهای Vectorize کلودفلر در سطح بعد غیرقابل تغییر هستند. پس از تأمین با config.dimensions = 768، نمیتوانید آن را درجا تغییر اندازه دهید. باید حذف و دوباره ایجاد کنید. Pitchbar دو لایه دفاع اضافه میکند تا این موضوع اپراتور را بیصدا غافلگیر نکند:
-
محافظ پیشپرواز در
VectorizeClient::upsertPointsو::search(اضافهشده در ۲۰۲۶-۰۵-۱۵/۱۶) بردارهای نامطابق را بهصورت محلی با یک پیام عملی که دستورvector:rebuild-indexرا نام میبرد، رد میکند — قبل از پرداخت هزینه برای یک رفت و برگشت کلودفلر که فقط ۴۰۰۰۶ / ۴۰۰۱۲ را برمیگرداند. - بررسی بعد ensureCollection بعد شاخص موجود را در اولین وظیفه به ازای هر پردازشگر میخواند و اگر با بعد بومی مدل جستجوی هوشمند پیکربندیشده مطابقت نداشته باشد، یک خطای عملی پرتاب میکند.
هر دو مسیر اپراتور را به همان بازیابی هدایت میکنند: vector:rebuild-index را اجرا کنید.
نکته هزینه
بازپردازش کل پایگاه دانش در برابر مصرف Workers AI / OpenAI محاسبه میشود. برای خریداران معمولی در مقیاس CodeCanyon (زیر ۱۰۰۰ تکه)، سطح رایگان Cloudflare Workers AI آن را پوشش میدهد. برای خریداران OpenAI، با text-embedding-3-small حدود ۰.۰۲ دلار به ازای هر ۱ میلیون توکن انتظار داشته باشید. یک پایگاه دانش ۱۰۰ تکهای بهخوبی زیر ۰.۰۱ دلار است.