הגדרות RAG וחיפוש

תיעוד / RAG וחיפוש

הגדירו את Retrieval Augmented Generation (RAG) כדי שהצ’אטבוט יוכל לחפש בקטלוג ובתוכן האמיתיים של החנות ולענות עם שמות, מחירים וסטטוס מלאי מדויקים.

מה זה RAG?

Retrieval Augmented Generation (RAG) היא טכניקת AI המשפרת את תגובות הצ’אטבוט שלך על ידי אחזור מידע רלוונטי ממסד הנתונים של המוצרים שלך לפני יצירת תשובות. במקום להתמקד אך ורק בידע הכללי של דגם AI, RAG מאפשר לצ’אטבוט לגשת לפרטי המוצרים הספציפיים שלך, תמחור, זמינות ותיאורים.

שאילתת לקוח
“האם יש לכם נעליים כחולות?”
חיפוש וקטור
מצא מוצרים רלוונטיים
AI + הקשר
יצירת תשובה מנומקת
תשובה
עם נתוני מוצר אמיתיים

יתרונות RAG

מידע מוצר מדויק תגובות כוללות מחירים אמיתיים, סטטוס מניות ותיאורים מהחנות שלך
הבנה סמנטית מוצא מוצרים לפי משמעות, לא רק מילות מפתח (“נעלי ריצה” מוצא “ביגוד ספורטיבי”)
תמיד עדכני סנכרון אוטומטי מחזיק את נתוני המוצר עדכניים עם הקטלוג שלך ב-WooCommerce
מפחית הזיות AI לא משדר פרטי מוצר – הוא משתמש בנתונים האמיתיים שלך

הגדרת Supabase

WooAI Chatbot Pro משתמש ב-Supabase כמסד הנתונים הווקטורי עבור RAG. Supabase הוא שירות PostgreSQL מנוהל עם התוסף pgvector, וזה מה שמאפשר חיפוש סמנטי.

⏱️ הקצו כ-20 דקות

תיצרו פרויקט Supabase חינמי, תעתיקו שלושה ערכים ל-WooAI, תיצרו את טבלאות מסד הנתונים בלחיצה אחת, ואז תבצעו אינדוקס לקטלוג. בצעו את השלבים לפי הסדר. כל שלב צריך את הקודם לו.

יצירת חשבון Supabase

  1. היכנסו ל-Supabase

    עברו אל supabase.com ולחצו על Start your project.

  2. הרשמה

    צרו חשבון באמצעות GitHub, Google או כתובת אימייל.

  3. אימות האימייל

    אם נרשמתם עם אימייל, פתחו את קישור האימות שנשלח לתיבה שלכם.

מסך ההרשמה של Supabase
מסך ההרשמה של Supabase – יצירת חשבון חינמי

יצירת פרויקט חדש

  1. לחצו על “New Project”

    בלוח הבקרה של Supabase לחצו על הכפתור New project.

  2. מלאו את פרטי הפרויקט

    Name: שם תיאורי כלשהו, למשל “My Store Chatbot”.
    Database Password: בחרו סיסמה חזקה ושמרו אותה עכשיו. תזדקקו לה שוב עבור מחרוזת החיבור.
    Region: האזור הקרוב ביותר לאחסון ה-WordPress שלכם.

  3. צרו את הפרויקט

    לחצו על Create new project והמתינו 1-2 דקות להקמה.

יצירת פרויקט Supabase חדש
יצירת פרויקט Supabase חדש עם ההגדרות המתאימות
⚠️ שמרו את סיסמת מסד הנתונים

Supabase לא יציג את הסיסמה הזו שוב לאחר יצירת הפרויקט. שמרו אותה במנהל סיסמאות. אפשר לאפס אותה מאוחר יותר תחת Settings → Database, אבל אי אפשר לשחזר את המקורית.

קבלת פרטי הגישה

WooAI זקוק לשני ערכים מהפרויקט שלכם ב-Supabase: Project URL ומפתח API סודי.

  1. פתחו את API Keys

    בפרויקט Supabase שלכם עברו אל Settings → API Keys.

  2. העתיקו את Project URL

    נמצא תחת Settings → API (ומוצג גם במסך הבית של הפרויקט). הוא נראה כך: https://xxxxxxxxxxxx.supabase.co.

  3. העתיקו מפתח סודי (secret key)

    פתחו את הלשונית Legacy anon, service_role API keys והעתיקו את המפתח service_role (ערך ארוך שמתחיל ב-eyJ). זה המפתח ש-WooAI בנוי לעבוד איתו.

מסך API Keys של Supabase
Settings → API Keys. המפתח הסודי הוא זה ש-WooAI צריך; שמרו עליו פרטי
🔑 השתמשו במפתח service_role, לא ב-anon או publishable

WooAI חייב לכתוב וקטורים של מוצרים למסד הנתונים. כללי האבטחה שנוצרים בשלב הסכימה מעניקים הרשאת כתיבה רק ל-service_role. עם מפתח anon או publishable האינדוקס לא ייצור כלום בשקט. השתמשו במפתח service_role הישן: מפתחות sb_secret_… החדשים אינם נתמכים בפורמט הבקשה של הגרסה הזו.

זה בטוח כאן: WooAI שומר את המפתח במסד הנתונים של WordPress ומשתמש בו רק בבקשות שרת-לשרת. הוא לעולם לא נחשף למבקרים בדפדפן. אל תדביקו את המפתח הזה בקוד צד-לקוח ואל תשתפו אותו פומבית.

קבלת מחרוזת החיבור למסד הנתונים

הערך הזה מאפשר ל-WooAI ליצור עבורכם את הטבלאות הנדרשות אוטומטית. בלעדיו תצטרכו להריץ את ה-SQL ידנית, וזה מוסבר בהמשך.

  1. פתחו את הגדרות מסד הנתונים

    ב-Supabase עברו אל Settings → Database → Connection string. גם הכפתור Connect בראש לוח הבקרה מוביל לאותו מקום.

  2. בחרו בפורמט URI

    בחרו בלשונית URI והשתמשו בחיבור המאוגד (pooled) דרך פורט 6543.

  3. הכניסו את הסיסמה

    המחרוזת מכילה מציין מקום [YOUR-PASSWORD]. החליפו אותו בסיסמת מסד הנתונים ששמרתם, מקודדת ב-percent-encoding: תווים כמו @ # / : % חייבים להיות מקודדים (@ הופך ל-%40, # ל-%23). סיסמה לא מקודדת שוברת את מחרוזת החיבור.

postgresql://postgres.abcdefghijkl:YOUR-PASSWORD@aws-0-eu-central-1.pooler.supabase.com:6543/postgres

הגדרת RAG ב-WooAI

כעת הזינו את הערכים האלה בוורדפרס.

  1. עברו להגדרות RAG

    בממשק הניהול של WordPress עברו אל AI Chatbot → RAG & Search.

  2. הפעילו את RAG

    העבירו את המתג Enable RAG Search למצב מופעל. השדות שמתחת נשארים מנוטרלים עד שתעשו זאת.

  3. Supabase Project URL

    הדביקו את כתובת ה-Project URL שהעתקתם.

  4. Service Role Key

    הדביקו את המפתח הסודי. ההסבר מתחת לשדה אומר זאת במפורש: Service Role Key (not anon key).

  5. Table Name

    השאירו product_embeddings. הגרסה הנוכחית תמיד משתמשת בשם הטבלה הזה, ולכן ערך אחר לא ייכנס לתוקף.

  6. Database Connection String

    הדביקו את מחרוזת החיבור עם הסיסמה שמולאה.

  7. שמרו

    לחצו על Save Settings.

מסך ההגדרות RAG & Semantic Search של WooAI
מסך RAG & Search: פרטי Supabase, בקרות אינדוקס וכוונון החיפוש

יצירת סכימת מסד הנתונים

🛑 אל תדלגו על השלב הזה

פרויקט Supabase חדש הוא ריק. עד שהסכימה לא קיימת אין לאן לשמור את המוצרים, והאינדוקס ייכשל. זו הסיבה הנפוצה ביותר לכך שהתקנה חדשה לא עובדת.

ברגע ש-RAG מופעל והשדה Database Connection String מכיל ערך, מופיע במסך RAG & Search פאנל Auto-Setup Database. אין צורך לשמור קודם.

  1. בדקו את הסטטוס

    לחצו על Check Status. השדה Schema Status יציג אחד מהמצבים: Needs setup, Schema is ready או Manual setup required.

  2. הריצו את ההתקנה

    אם מופיע Needs setup, לחצו על Auto-Setup Database. התהליך אורך כמה שניות ומדווח על הצלחה או על השגיאה המדויקת.

  3. אשרו

    הסטטוס אמור להשתנות ל-Schema is ready.

אם ההתקנה האוטומטית לא זמינה

חלק מחברות האחסון חוסמות חיבורי PostgreSQL ישירים. במקרה כזה הסטטוס יציג Manual setup required והכפתור Auto-Setup יוסתר. הריצו את ה-SQL בעצמכם. התוצאה זהה:

  1. העתיקו את ה-SQL

    לחצו על Copy SQL כדי לחשוף את הסקריפט, ואז לחצו על כפתור Copy SQL שבתוך הבלוק שנפתח כדי להעתיק אותו. זהו הסקריפט המדויק לגרסת התוסף שלכם.

  2. פתחו את SQL Editor ב-Supabase

    ב-Supabase פתחו את SQL Editor והתחילו שאילתה חדשה.

  3. הדביקו והריצו

    הדביקו את הסקריפט ולחצו על Run. אמורה להופיע ההודעה “Success. No rows returned”.

  4. בדקו שוב

    חזרו לוורדפרס, רעננו את עמוד RAG & Search, ואז לחצו שוב על Check Status.

ℹ️ מה הסקריפט יוצר

את התוסף pgvector, את הטבלה product_embeddings, את האינדקסים שלה, את פונקציות החיפוש שהצ’אטבוט קורא להן, וכללי אבטחה ברמת השורה שמעניקים הרשאת כתיבה רק למפתח הסודי שלכם. אפשר להריץ את הסקריפט שוב בבטחה: הוא לעולם לא מוחק את שורות הווקטורים שלכם. הוא כן מוחק ויוצר מחדש אילוצים, מדיניות, פונקציות וטריגר עדכון, כך שהוא תמיד מסתיים במצב תקין ידוע.

בדיקת החיבור

לחצו על Test Connection. אישור ירוק אומר שהפרויקט נגיש. הוא אינו מוכיח שלמפתח יש הרשאת כתיבה, כי הבדיקה רק קוראת. לפני האינדוקס ודאו שוב שהערך שהדבקתם הוא מפתח ה-service_role. אם הבדיקה נכשלת, חפשו שגיאות הקלדה ב-Project URL.

אינדוקס התוכן שלכם

האינדוקס ממיר את התוכן לוקטורים שהצ’אטבוט יכול לחפש בהם. עד שהתהליך לא מסתיים, הבוט לא יכול לענות על שאלות מוצר.

אינדוקס תוכן (Content Indexing)

הכרטיס Content Indexing קובע איזה תוכן שאינו מוצרים נכנס לבסיס הידע:

  • Index Pages: עמודי WordPress כמו “אודות”, “צור קשר” ו”מדיניות משלוחים”. השאירו מופעל כדי שהבוט יוכל לענות על שאלות משלוח, החזרות ואחריות.
  • Index Blog Posts: הוספת תוכן הבלוג להקשר עשיר יותר. אופציונלי.

לחצו על Index Pages כדי לעבד אותם; הכרטיס מציג מונה כמו 8 / 8 Pages Indexed.

אינדוקס מוצרים (Product Indexing)

  1. התחילו את האינדוקס

    בכרטיס Product Indexing לחצו על Start Indexing. אחרי שמשהו כבר אונדקס, אותו כפתור נקרא Re-index Products.

  2. המתינו לסיום

    המוצרים מעובדים באצוות על ידי משימות מתוזמנות של WordPress, כך שאפשר לעזוב את העמוד ולחזור; רעננו כדי לראות את הספירה העדכנית. אם WP-Cron מנוטרל אצל חברת האחסון, האינדוקס עלול להיתקע.

  3. ודאו

    הכרטיס מציג Total Products, Indexed, Vectors ו-Last Indexed. המספרים Total ו-Indexed אמורים להיות זהים.

הכפתור Clear Index מוחק את הוקטורים השמורים של האתר. תזדקקו לו רק כשאתם רוצים לבנות את האינדקס מחדש.

🌐 החלפתם דומיין? בצעו אינדוקס מחדש

המידע המאונדקס מתויג לפי הדומיין של האתר, כדי שכמה חנויות יוכלו לחלוק פרויקט Supabase אחד. בכל שינוי דומיין, כולל מעבר מסביבת בדיקות לאתר החי, הריצו שוב Re-index Products, אחרת הצ’אטבוט לא ימצא כלום.

מה נכנס לאינדקס

  • שם המוצר, התיאור המלא והתיאור הקצר
  • מק”ט, קטגוריות, תגיות ומאפיינים כמו צבע או מידה
  • מחיר וסטטוס מלאי, נשמרים כמטא-דאטה
  • עמודים ופוסטים, כאשר המתגים שלהם מופעלים. קופונים מסונכרנים בנפרד על ידי משימה מתוזמנת ואין להם מתג משלהם

החרגת תוכן

שני כרטיסים מאפשרים להרחיק פריטים מסוימים מה-AI:

  • Excluded Products: מוצרים שלא יופיעו לעולם בתוצאות החיפוש.
  • Excluded Coupons: קופונים שהצ’אטבוט לא יציע ללקוחות.

סנכרון אוטומטי

אחרי האינדוקס המלא הראשון WooAI מתעדכן לבד: מוצרים חדשים מאונדקסים בפרסום, מוצרים שנערכו מאונדקסים מחדש בשמירה, ומוצרים שנמחקו מוסרים מהאינדקס. אינדוקס מלא נדרש שוב רק אחרי שינוי דומיין, ייבוא המוני, או החלפת מודל ההטמעה.

הגדרות RAG

ברירות המחדל מכוונות לחנות טיפוסית. שנו אותן רק אם יש בעיה ספציפית שצריך לפתור.

הגדרהברירת מחדלמה היא עושה
Embedding ModelGoogle Gemini Embeddingהמודל שממיר טקסט לוקטורים
Chunk Size500כמות הטקסט שמוטמעת בכל מקטע
Chunk Overlap100חפיפה בין מקטעים, שומרת על ההקשר
Top K Results5כמה פריטים נשלפים לכל שאילתה
Similarity Threshold0.7ציון הרלוונטיות המינימלי, בין 0 ל-1

הסבר על סף הדמיון

הסף קובע כמה קרוב פריט חייב להתאים לשאילתה כדי להיכלל בתוצאות:

  • 0.9 – 1.0: מחמיר מאוד, רק התאמות כמעט מדויקות
  • 0.7 – 0.9: מאוזן, וזה מה שאנחנו ממליצים
  • 0.5 – 0.7: מקל, מכניס מוצרים קשורים באופן רופף
  • מתחת ל-0.5: לא מומלץ, מחזיר תוצאות לא רלוונטיות

אם לקוחות לא מוצאים מוצרים שקיימים בבירור, הורידו את הסף לכ-0.6. אם התוצאות כוללות יותר מדי מוצרים לא קשורים, העלו ל-0.8.

מודל ההטמעה

מודלספקהערות
gemini-embedding-001Googleטקסט בלבד, איכות טובה, עלות נמוכה
Gemini Embedding 2 (Multimodal)Googleמבין גם תמונות מוצר
text-embedding-3-smallOpenAIדורש מפתח API של OpenAI
🛑 מודל ההטמעה חייב להתאים למפתח ספק שהגדרתם

מודל ההטמעה שברירת המחדל הוא Google Gemini Embedding, שמשתמש במפתח ה-Gemini שלכם. אם הגדרתם רק OpenAI (בלי מפתח Gemini), אל תשאירו את ברירת המחדל. החליפו את מודל ההטמעה ל-text-embedding-3-small. אחרת WooAI ייפול בשקט לשיטה מקומית חלשה: האינדוקס ייראה כאילו הצליח, אבל החיפוש יחזיר תוצאות גרועות בלי שום שגיאה שתסביר למה. התאימו את שורת ההטמעה לספק שאת המפתח שלו הזנתם במסך AI Providers.

⚠️ החלפת מודל מחייבת אינדוקס מחדש

וקטורים שנוצרו על ידי מודל אחד אינם ניתנים להשוואה לוקטורים ממודל אחר. אם החלפתם את מודל ההטמעה, הריצו אינדוקס מלא מחדש אחרת איכות החיפוש תתמוטט.

איך לוודא ש-RAG עובד

פתחו את החנות בלשונית דפדפן רגילה, פתחו את ווידג’ט הצ’אט ושאלו על מוצר שאתם יודעים שקיים. נסו קודם את השם, ואז תיאור, למשל “משהו למטבח קטן”.

הגדרה תקינה תחזיר את שם המוצר האמיתי, המחיר האמיתי וסטטוס המלאי הנכון. אם הבוט עונה רק במונחים כלליים, האינדוקס לא הסתיים או שהסכימה חסרה.

פתרון בעיות

האינדוקס רץ אבל שום דבר לא נשמר

כמעט תמיד מדובר במפתח שגוי. מפתח publishable או anon יכול לקרוא אבל לא לכתוב. החליפו אותו במפתח הסודי (service_role) והריצו אינדוקס מחדש.

הסטטוס “Needs setup” לא הופך ל-“Schema is ready”

מחרוזת החיבור שגויה או שחברת האחסון חוסמת חיבורי PostgreSQL ישירים. ודאו שהחלפתם את [YOUR-PASSWORD] בסיסמה האמיתית, ואם זה לא עוזר השתמשו במסלול Copy SQL והריצו את הסקריפט ב-SQL Editor של Supabase.

הבוט לא מוצא כלום אחרי מעבר אתר

המידע המאונדקס מתויג לפי הדומיין. הריצו Re-index Products בדומיין החדש.

Test Connection נכשל

בדקו שאין שגיאת הקלדה ב-Project URL, ודאו שהפרויקט ב-Supabase אינו מושהה (פרויקטים חינמיים מושהים אחרי חוסר פעילות ממושך), וודאו שהשתמשתם במפתח הסודי.

איכות החיפוש ירדה פתאום

אם מודל ההטמעה הוחלף, הוקטורים הישנים כבר אינם ברי-השוואה. הריצו אינדוקס מלא מחדש.