[{"data":1,"prerenderedAt":892},["ShallowReactive",2],{"posts":3,"\u002Fai\u002Frag-answering-from-your-documents":205},[4,21,32,42,52,61,69,77,86,94,102,110,119,127,135,148,162,173,183,194],{"path":5,"title":6,"description":7,"type":8,"level":9,"minutes":10,"date":11,"cover":12,"coverAlt":13,"featured":14,"tags":15,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-cloudflare-tunnel","גישה ל-Home Assistant מחוץ לבית עם Cloudflare Tunnel","מחברים את Home Assistant לכתובת משלכם בלי לפתוח פורט בנתב. מדריך ל-Home Assistant OS ול-Docker, עם הרשאות גישה ובדיקות מהטלפון.","מדריך","רמת ביניים",14,"2026-10-04","\u002Fimages\u002Fposts\u002Fhome-assistant-cloudflare-tunnel.svg","טלפון מחוץ לבית מתחבר דרך Cloudflare Tunnel ומחבר מקומי ל-Home Assistant בבית.",false,[16,17,18,19],"Home Assistant","Cloudflare","Docker","בית חכם","smart-home",{"path":22,"title":23,"description":24,"type":8,"level":25,"minutes":26,"date":27,"cover":28,"coverAlt":29,"featured":14,"tags":30,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-backup-update-recovery","גיבוי שאפשר לשחזר, ועדכון שאפשר להתאושש ממנו","מגדירים עותק גיבוי מחוץ לשרת, שומרים מפתח הצפנה ובודקים שחזור מבודד לפני שמעדכנים את הבית הפעיל.","למתחילים",8,"2026-09-29","\u002Fimages\u002Fposts\u002Fhome-assistant-backup-update-recovery.svg","שרת מקומי, ארכיון גיבוי ועותק חיצוני מחוברים למסלול שחזור.",[16,18,31],"גיבוי",{"path":33,"title":34,"description":35,"type":8,"level":25,"minutes":26,"date":36,"cover":37,"coverAlt":38,"featured":14,"tags":39,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-device-maintenance","חיישן נעלם? תחזוקה של מכשירים וסוללות","בונים רשימת תחזוקה קצרה, מפרידים בין סוללה חלשה למכשיר לא זמין ומאתרים בעיות דיווח בלי לאפס את הרשת.","2026-09-24","\u002Fimages\u002Fposts\u002Fhome-assistant-device-maintenance.svg","סוללה חלשה, רשת מכשירים עם צומת לא זמין וכלי תחזוקה.",[16,40,41],"חיישנים","Zigbee",{"path":43,"title":44,"description":45,"type":8,"level":25,"minutes":26,"date":46,"cover":47,"coverAlt":48,"featured":14,"tags":49,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-washing-machine-finished","מכונת הכביסה סיימה: התראה לפי צריכת חשמל","מודדים מחזור כביסה, מגדירים ספי הספק מתוך הנתונים ושולחים התראה רק אחרי ריצה שזוהתה, עם טיפול בדיווח חסר.","2026-09-19","\u002Fimages\u002Fposts\u002Fhome-assistant-washing-machine-finished.svg","מכונת כביסה מחוברת לגרף צריכת הספק ולהודעת סיום בטלפון.",[16,50,51,40],"אוטומציות","YAML",{"path":53,"title":54,"description":55,"type":8,"level":25,"minutes":56,"date":57,"cover":58,"coverAlt":59,"featured":14,"tags":60,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-smart-button-actions","כפתור חכם במקום עוד אפליקציה","מחברים כפתור פיזי לפעולה יומיומית, מזהים איך האינטגרציה מדווחת על לחיצות ובודקים תגובה בלי להסתמך על דגם מסוים.",7,"2026-09-14","\u002Fimages\u002Fposts\u002Fhome-assistant-smart-button-actions.svg","יד לוחצת על כפתור פיזי שמפעיל תאורה ותריס במסגרת סצנה.",[16,50,41],{"path":62,"title":63,"description":64,"type":8,"level":25,"minutes":56,"date":65,"cover":66,"coverAlt":67,"featured":14,"tags":68,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-helpers-house-modes","Helpers: נותנים לבית מצבים וזיכרון","מוסיפים מצב אורחים שנשלט מלוח הבקרה, מחברים אותו לתנאי באוטומציה ובודקים מה קורה אחרי אתחול.","2026-09-09","\u002Fimages\u002Fposts\u002Fhome-assistant-helpers-house-modes.svg","בורר מצבי בית מחובר למתגי עזר שמייצגים אורחים, יציאה והשהיה.",[16,50,51],{"path":70,"title":71,"description":72,"type":8,"level":25,"minutes":56,"date":73,"cover":74,"coverAlt":75,"featured":14,"tags":76,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-automation-debugging","האוטומציה לא עבדה: מוצאים את הסיבה","בודקים טריגרים, תנאים ופעולות לפי הסדר, קוראים Trace ומבחינים בין תקלה בחיישן לבין כלל שלא התקיים.","2026-09-04","\u002Fimages\u002Fposts\u002Fhome-assistant-automation-debugging.svg","מסלול אוטומציה מתפצל לתנאי ולפעולה, וזכוכית מגדלת מדגישה את נקודת הבדיקה.",[16,50,51],{"path":78,"title":79,"description":80,"type":8,"level":25,"minutes":56,"date":81,"cover":82,"coverAlt":83,"featured":14,"tags":84,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-light-manual-control","האור נכבה כשאתם עדיין בחדר? שיפור אוטומציית התאורה","משפרים תאורה לפי תנועה בעזרת כיבוי נפרד ומתג להשארת אור, ובודקים מה קורה בזמן קריאה, בהפעלה מחדש ובשחרור השליטה הידנית.","2026-08-30","\u002Fimages\u002Fposts\u002Fhome-assistant-light-manual-control.svg","חיישן תנועה, אדם בחדר ומנורה מופיעים לצד מתג שמאפשר להשהות כיבוי אוטומטי.",[16,19,50,85],"תאורה",{"path":87,"title":88,"description":89,"type":8,"level":25,"minutes":26,"date":90,"cover":91,"coverAlt":92,"featured":14,"tags":93,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-presence-detection","מי בבית? זיהוי נוכחות בלי כיבויים מפתיעים","מחברים את הטלפון לישות Person, בודקים זיהוי כניסה ויציאה ובונים התראת עזיבה שממתינה ולא מתייחסת למידע חסר כאל בית ריק.","2026-08-25","\u002Fimages\u002Fposts\u002Fhome-assistant-presence-detection.svg","שני אנשים מחוץ לבית, אזור נוכחות סביב הבית ושעון להשהיית פעולות יציאה.",[16,19,50],{"path":95,"title":96,"description":97,"type":8,"level":25,"minutes":56,"date":98,"cover":99,"coverAlt":100,"featured":14,"tags":101,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-useful-notifications","התראות שימושיות בלי להציף את הטלפון","מגדירים התראה כשהדלת נשארת פתוחה, בודקים הודעת ניסיון ומונעים הודעות חוזרות על כל פתיחה קצרה.","2026-08-20","\u002Fimages\u002Fposts\u002Fhome-assistant-useful-notifications.svg","דלת פתוחה מחוברת לשעון המתנה ולהתראה אחת בטלפון.",[16,19,50],{"path":103,"title":104,"description":105,"type":8,"level":25,"minutes":56,"date":106,"cover":107,"coverAlt":108,"featured":14,"tags":109,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-scenes-scripts","לילה טוב בלחיצה אחת: סצנות וסקריפטים","יוצרים סצנת ערב וסקריפט ״לילה טוב״ ב-Home Assistant, ומבינים מתי לשמור מצבים ומתי להריץ רצף פעולות.","2026-08-15","\u002Fimages\u002Fposts\u002Fhome-assistant-scenes-scripts.svg","כפתור אחד מפעיל רצף פעולות שמוביל לבית במצב לילה.",[16,19,50],{"path":111,"title":112,"description":113,"type":8,"level":25,"minutes":56,"date":114,"cover":115,"coverAlt":116,"featured":14,"tags":117,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-family-dashboard","לוח בקרה שבני הבית באמת ישתמשו בו","בונים לוח בקרה מובנה ב-Home Assistant עם חדרים, כפתורים ברורים ותצוגה נוחה בטלפון, בלי להתקין הרחבות.","2026-08-10","\u002Fimages\u002Fposts\u002Fhome-assistant-family-dashboard.svg","לוח בקרה גדול עם כפתורי תאורה וטמפרטורה מופיע לצד גרסה מותאמת לטלפון.",[16,19,118],"Dashboard",{"path":120,"title":121,"description":122,"type":8,"level":25,"minutes":56,"date":123,"cover":124,"coverAlt":125,"featured":14,"tags":126,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-organize-devices","עושים סדר בבית: חדרים, מכשירים וישויות","מסדרים את Home Assistant לפי חדרים, מבינים מה ההבדל בין מכשיר לישות ובוחרים שמות שקל למצוא בלי לשבור אוטומציות.","2026-08-05","\u002Fimages\u002Fposts\u002Fhome-assistant-organize-devices.svg","תוכנית חדרים מחוברת למכשיר אחד ולשלוש ישויות נפרדות.",[16,19,50],{"path":128,"title":129,"description":130,"type":8,"level":25,"minutes":26,"date":131,"cover":132,"coverAlt":133,"featured":14,"tags":134,"topic":20},"\u002Fsmart-home\u002Fhome-assistant-hallway-motion-light","תנועה במסדרון, אור שנדלק: אוטומציה ראשונה ב־Home Assistant","מדליקים תאורה כשמזוהה תנועה ומכבים אחרי שתי דקות ללא תנועה, עם YAML מלא והסבר על טריגרים ובדיקות.","2026-07-31","\u002Fimages\u002Fposts\u002Fhome-assistant-hallway-motion-light.svg","מסדרון ביתי עם חיישן תנועה ותאורת תקרה שנדלקת כשאדם נכנס",[16,50,85,51],{"path":136,"title":137,"description":138,"type":8,"level":9,"minutes":26,"date":139,"cover":140,"coverAlt":141,"featured":14,"tags":142,"topic":147},"\u002Ffullstack\u002Ffetch-http-errors-and-timeouts","למה Fetch לא זורק שגיאה כשהשרת מחזיר 404?","ההבדל בין כישלון רשת לתשובת HTTP, טיפול בגוף תשובה לא צפוי והגבלת זמן לבקשה, עם פונקציה שאפשר להריץ.","2026-07-26","\u002Fimages\u002Fposts\u002Ffetch-http-errors-and-timeouts.svg","בקשת Fetch מתפצלת לתשובת HTTP עם שגיאה ולכשל רשת או פסק זמן",[143,144,145,146],"JavaScript","Fetch","HTTP","Debugging","fullstack",{"path":149,"title":150,"description":151,"type":152,"level":25,"minutes":26,"date":153,"cover":154,"coverAlt":155,"featured":14,"tags":156,"topic":161},"\u002Fai\u002Frag-answering-from-your-documents","RAG: איך נותנים למודל לענות מתוך המסמכים שלכם","מה מחפשים לפני שמבקשים מהמודל לכתוב, למה קטעי המקור חשובים, ואיך בודקים אם התשובה באמת נשענת עליהם.","הסבר","2026-07-21","\u002Fimages\u002Fposts\u002Frag-answering-from-your-documents.svg","מסמכי מקור נבדקים בזכוכית מגדלת, קטע מתאים נבחר ועובר לכרטיס תשובה",[157,158,159,160],"AI","RAG","חיפוש","מסמכים","ai",{"path":163,"title":164,"description":165,"type":152,"level":25,"minutes":26,"date":166,"cover":167,"coverAlt":168,"featured":14,"tags":169,"topic":20},"\u002Fsmart-home\u002Fmatter-thread-zigbee-explained","Matter, Thread ו־Zigbee: מה ההבדל ומה צריך בבית?","שלושת השמות אינם מתארים את אותו סוג של דבר. הסבר על שכבות התקשורת, תפקידי הרכזת ובדיקת התאמה למערכת קיימת.","2026-07-16","\u002Fimages\u002Fposts\u002Fmatter-thread-zigbee-explained.svg","שתי קבוצות של מכשירי בית חכם, רשת Mesh ורכזת, עם שער שמקשר בין שכבות התקשורת",[170,171,41,172],"Matter","Thread","רשת ביתית",{"path":174,"title":175,"description":176,"type":8,"level":25,"minutes":177,"date":178,"cover":179,"coverAlt":180,"featured":14,"tags":181,"topic":147},"\u002Ffullstack\u002Fbrowser-to-server-save-form","מהדפדפן לשרת: בונים טופס שמירה ורואים מה קורה בדרך","טופס HTML, בקשת POST ושרת Node.js קטן. דוגמה מלאה שממחישה איך נתונים עוברים ואיפה בודקים אותם.",9,"2026-07-11","\u002Fimages\u002Fposts\u002Fbrowser-to-server-save-form.svg","טופס בדפדפן שולח מעטפת נתונים לשרת ומשם למסד הנתונים",[143,182,145,144],"Node.js",{"path":184,"title":185,"description":186,"type":152,"level":25,"minutes":56,"date":187,"cover":188,"coverAlt":189,"featured":190,"tags":191,"topic":161},"\u002Fai\u002Fai-agent-from-request-to-result","סוכן AI: מה קורה בין הבקשה לתוצאה","איך מודל שפה משתמש בכלים, מה ההבדל בין סוכן לתהליך קבוע ואיך מגדירים משימה שאפשר לבדוק.","2026-07-06","\u002Fimages\u002Fposts\u002Fai-agent-from-request-to-result.svg","בקשה עוברת דרך מנגנון בחירה לכלי חיפוש, מסמכים וביצוע, עד לתוצאה שנבדקה",true,[157,192,193,50],"Agents","Tool Calling",{"path":195,"title":196,"description":197,"type":8,"level":25,"minutes":198,"date":199,"cover":200,"coverAlt":201,"featured":14,"tags":202,"topic":20},"\u002Fsmart-home\u002Fsmart-home-first-steps-home-assistant","בית חכם מתחילים בצעד קטן: בחירת ציוד והתקנת Home Assistant","מה צריך לבית חכם ראשון, איך בוחרים בין Home Assistant OS ל-Container, ואיך מתקינים על Raspberry Pi, מחשב, מכונה וירטואלית או NAS.",24,"2026-07-01","\u002Fimages\u002Fposts\u002Fsmart-home-first-steps-home-assistant.svg","בית עם חיישן ותאורה, המחובר לשרת Home Assistant ולשתי אפשרויות התקנה: מערכת הפעלה וקונטיינר",[16,19,203,18,204,50],"התקנה","Raspberry Pi",{"id":206,"title":150,"body":207,"cover":154,"coverAlt":155,"date":153,"description":151,"draft":14,"extension":883,"featured":14,"level":25,"meta":884,"minutes":26,"navigation":190,"ogImage":885,"path":149,"seo":886,"sitemap":887,"stem":888,"tags":889,"type":152,"updated":890,"__hash__":891},"posts\u002Fai\u002Frag-answering-from-your-documents.md",{"type":208,"value":209,"toc":874},"minimark",[210,214,225,230,233,236,242,245,253,257,260,263,266,270,278,286,770,773,788,795,798,802,805,808,817,821,824,827,830,834,837,840,844,870],[211,212,213],"p",{},"יש לכם תיקייה עם מדריכים, סיכומי פרויקטים והערות שכתבתם במהלך העבודה. אתם שואלים מודל שפה איך הגדרתם את הגיבוי בפרויקט האחרון. בלי לקבל את המסמכים, אין לו דרך לדעת מה עשיתם שם. הוא עשוי להציע דרך סבירה להגדיר גיבוי, אבל זו שאלה אחרת.",[211,215,216,217,224],{},"RAG, ראשי תיבות של Retrieval-Augmented Generation, מחבר בין חיפוש מידע לבין יצירת תשובה. המערכת מחפשת חומר רלוונטי, מעבירה אותו למודל יחד עם השאלה ומבקשת תשובה שמסתמכת עליו. זהו הדפוס הבסיסי שמתואר ב",[218,219,223],"a",{"href":220,"rel":221},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fretrieval-augmented-generation-overview",[222],"nofollow","תיעוד Azure AI Search",".",[226,227,229],"h2",{"id":228},"מה-משתנה-כשמוסיפים-חיפוש","מה משתנה כשמוסיפים חיפוש?",[211,231,232],{},"במקום לשלוח רק שאלה, שולחים גם הקשר שנמצא במסמכים. המודל יכול לראות את הפסקה שמסבירה את הגיבוי בפרויקט המסוים, ולא רק להסתמך על מידע כללי שנלמד באימון.",[211,234,235],{},"לדוגמה, נניח שבמסמך כתוב:",[237,238,239],"blockquote",{},[211,240,241],{},"הגיבוי של תיקיית הפרויקט מתבצע בכל ערב. עותק השחזור נשמר בכונן נפרד, ובדיקת שחזור מתבצעת בתחילת כל חודש.",[211,243,244],{},"זהו קטע מומצא לצורך ההסבר. מתוך הקטע הזה אפשר לענות על תדירות הגיבוי ועל בדיקת השחזור. אי אפשר להסיק ממנו באיזו תוכנה משתמשים או אם הכונן נמצא מחוץ לבית. תשובה טובה צריכה להבחין בין מה שכתוב לבין מה שחסר.",[211,246,247,248,224],{},"RAG רגיל מספק חומר בזמן הבקשה. הוא אינו מחייב אימון מחדש של המודל על המסמכים. ההבחנה הזו מופיעה גם ב",[218,249,252],{"href":250,"rel":251},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-foundry\u002Fconcepts\u002Fretrieval-augmented-generation",[222],"הסבר של Microsoft על RAG ואינדקסים",[226,254,256],{"id":255},"החיפוש-הוא-חלק-מהתשובה","החיפוש הוא חלק מהתשובה",[211,258,259],{},"אם מנוע החיפוש מוצא מסמך לא מתאים, המודל מקבל חומר לא מתאים. גם ניסוח מצוין לא יתקן את זה בהכרח. לכן כדאי לבדוק את תוצאות החיפוש בפני עצמן, לפני שמוסיפים שלב של כתיבה.",[211,261,262],{},"אפשר לעשות ניסוי קטן: להכין עשר שאלות ולסמן מראש איזה מסמך אמור לענות על כל אחת. אחר כך מריצים רק את החיפוש ובודקים אם המקור הנכון מופיע בתוצאות הראשונות. הבדיקה הזו מפרידה בעיית חיפוש מבעיה בניסוח התשובה.",[211,264,265],{},"שאלה שאין לה תשובה באוסף חשובה לא פחות. אם שואלים על תוכנת הגיבוי והמסמכים אינם מציינים אותה, מערכת שימושית צריכה לזהות שחסר מידע. החזרת קטע שעוסק בגיבוי אינה מספיקה כדי להוכיח שהוא עונה על השאלה.",[226,267,269],{"id":268},"דוגמה-מקומית-לשלב-החיפוש","דוגמה מקומית לשלב החיפוש",[211,271,272,273,277],{},"הדוגמה הבאה מחפשת התאמות למילים בתוך שלושה קטעים. היא מדגימה את ",[274,275,276],"strong",{},"שלב השליפה בלבד",": אין כאן מודל שפה, embeddings (וקטורים שמייצגים את משמעות הטקסט) או חיפוש סמנטי. אפשר להריץ אותה ב־Node.js 22 ומעלה בלי התקנת חבילות.",[211,279,280,281,285],{},"שמרו קובץ בשם ",[282,283,284],"code",{},"retrieve.mjs",":",[287,288,293],"pre",{"className":289,"code":290,"language":291,"meta":292,"style":292},"language-javascript shiki shiki-themes github-dark-contrast","const chunks = [\n  {\n    id: \"backup-schedule\",\n    source: \"backup-guide.md\",\n    text: \"הגיבוי מתבצע בכל ערב. בדיקת שחזור מתבצעת בכל חודש.\"\n  },\n  {\n    id: \"network-map\",\n    source: \"network-guide.md\",\n    text: \"רשימת המכשירים ברשת כוללת כתובת, חדר ושם מכשיר.\"\n  },\n  {\n    id: \"editorial-review\",\n    source: \"publishing-guide.md\",\n    text: \"כל מאמר עובר בדיקת מקורות לפני הפרסום.\"\n  }\n];\n\nfunction retrieve(question) {\n  const terms = [...new Set(\n    question.toLocaleLowerCase(\"he\")\n      .split(\u002F[^\\p{L}\\p{N}]+\u002Fu)\n      .filter(Boolean)\n  )];\n\n  return chunks\n    .map(chunk => ({\n      ...chunk,\n      score: terms.filter(term =>\n        chunk.text.toLocaleLowerCase(\"he\").includes(term)\n      ).length\n    }))\n    .filter(chunk => chunk.score > 0)\n    .sort((a, b) => b.score - a.score)\n    .slice(0, 2);\n}\n\nconsole.log(retrieve(\"מתי מתבצע הגיבוי ובדיקת שחזור?\"));\n","javascript","",[282,294,295,315,321,334,345,354,360,364,373,382,390,395,400,410,419,427,433,439,445,465,488,505,547,558,563,568,577,597,606,622,643,652,658,682,716,737,743,748],{"__ignoreMap":292},[296,297,300,304,308,311],"span",{"class":298,"line":299},"line",1,[296,301,303],{"class":302},"snl16","const",[296,305,307],{"class":306},"sDLfK"," chunks",[296,309,310],{"class":302}," =",[296,312,314],{"class":313},"s95oV"," [\n",[296,316,318],{"class":298,"line":317},2,[296,319,320],{"class":313},"  {\n",[296,322,324,327,331],{"class":298,"line":323},3,[296,325,326],{"class":313},"    id: ",[296,328,330],{"class":329},"sU2Wk","\"backup-schedule\"",[296,332,333],{"class":313},",\n",[296,335,337,340,343],{"class":298,"line":336},4,[296,338,339],{"class":313},"    source: ",[296,341,342],{"class":329},"\"backup-guide.md\"",[296,344,333],{"class":313},[296,346,348,351],{"class":298,"line":347},5,[296,349,350],{"class":313},"    text: ",[296,352,353],{"class":329},"\"הגיבוי מתבצע בכל ערב. בדיקת שחזור מתבצעת בכל חודש.\"\n",[296,355,357],{"class":298,"line":356},6,[296,358,359],{"class":313},"  },\n",[296,361,362],{"class":298,"line":56},[296,363,320],{"class":313},[296,365,366,368,371],{"class":298,"line":26},[296,367,326],{"class":313},[296,369,370],{"class":329},"\"network-map\"",[296,372,333],{"class":313},[296,374,375,377,380],{"class":298,"line":177},[296,376,339],{"class":313},[296,378,379],{"class":329},"\"network-guide.md\"",[296,381,333],{"class":313},[296,383,385,387],{"class":298,"line":384},10,[296,386,350],{"class":313},[296,388,389],{"class":329},"\"רשימת המכשירים ברשת כוללת כתובת, חדר ושם מכשיר.\"\n",[296,391,393],{"class":298,"line":392},11,[296,394,359],{"class":313},[296,396,398],{"class":298,"line":397},12,[296,399,320],{"class":313},[296,401,403,405,408],{"class":298,"line":402},13,[296,404,326],{"class":313},[296,406,407],{"class":329},"\"editorial-review\"",[296,409,333],{"class":313},[296,411,412,414,417],{"class":298,"line":10},[296,413,339],{"class":313},[296,415,416],{"class":329},"\"publishing-guide.md\"",[296,418,333],{"class":313},[296,420,422,424],{"class":298,"line":421},15,[296,423,350],{"class":313},[296,425,426],{"class":329},"\"כל מאמר עובר בדיקת מקורות לפני הפרסום.\"\n",[296,428,430],{"class":298,"line":429},16,[296,431,432],{"class":313},"  }\n",[296,434,436],{"class":298,"line":435},17,[296,437,438],{"class":313},"];\n",[296,440,442],{"class":298,"line":441},18,[296,443,444],{"emptyLinePlaceholder":190},"\n",[296,446,448,451,455,458,462],{"class":298,"line":447},19,[296,449,450],{"class":302},"function",[296,452,454],{"class":453},"svObZ"," retrieve",[296,456,457],{"class":313},"(",[296,459,461],{"class":460},"s9osk","question",[296,463,464],{"class":313},") {\n",[296,466,468,471,474,476,479,482,485],{"class":298,"line":467},20,[296,469,470],{"class":302},"  const",[296,472,473],{"class":306}," terms",[296,475,310],{"class":302},[296,477,478],{"class":313}," [",[296,480,481],{"class":302},"...new",[296,483,484],{"class":453}," Set",[296,486,487],{"class":313},"(\n",[296,489,491,494,497,499,502],{"class":298,"line":490},21,[296,492,493],{"class":313},"    question.",[296,495,496],{"class":453},"toLocaleLowerCase",[296,498,457],{"class":313},[296,500,501],{"class":329},"\"he\"",[296,503,504],{"class":313},")\n",[296,506,508,511,514,516,519,522,525,529,532,534,537,540,542,545],{"class":298,"line":507},22,[296,509,510],{"class":313},"      .",[296,512,513],{"class":453},"split",[296,515,457],{"class":313},[296,517,518],{"class":329},"\u002F",[296,520,521],{"class":306},"[",[296,523,524],{"class":302},"^",[296,526,528],{"class":527},"sRjNt","\\p",[296,530,531],{"class":306},"{L}",[296,533,528],{"class":527},[296,535,536],{"class":306},"{N}]",[296,538,539],{"class":302},"+",[296,541,518],{"class":329},[296,543,544],{"class":302},"u",[296,546,504],{"class":313},[296,548,550,552,555],{"class":298,"line":549},23,[296,551,510],{"class":313},[296,553,554],{"class":453},"filter",[296,556,557],{"class":313},"(Boolean)\n",[296,559,560],{"class":298,"line":198},[296,561,562],{"class":313},"  )];\n",[296,564,566],{"class":298,"line":565},25,[296,567,444],{"emptyLinePlaceholder":190},[296,569,571,574],{"class":298,"line":570},26,[296,572,573],{"class":302},"  return",[296,575,576],{"class":313}," chunks\n",[296,578,580,583,586,588,591,594],{"class":298,"line":579},27,[296,581,582],{"class":313},"    .",[296,584,585],{"class":453},"map",[296,587,457],{"class":313},[296,589,590],{"class":460},"chunk",[296,592,593],{"class":302}," =>",[296,595,596],{"class":313}," ({\n",[296,598,600,603],{"class":298,"line":599},28,[296,601,602],{"class":302},"      ...",[296,604,605],{"class":313},"chunk,\n",[296,607,609,612,614,616,619],{"class":298,"line":608},29,[296,610,611],{"class":313},"      score: terms.",[296,613,554],{"class":453},[296,615,457],{"class":313},[296,617,618],{"class":460},"term",[296,620,621],{"class":302}," =>\n",[296,623,625,628,630,632,634,637,640],{"class":298,"line":624},30,[296,626,627],{"class":313},"        chunk.text.",[296,629,496],{"class":453},[296,631,457],{"class":313},[296,633,501],{"class":329},[296,635,636],{"class":313},").",[296,638,639],{"class":453},"includes",[296,641,642],{"class":313},"(term)\n",[296,644,646,649],{"class":298,"line":645},31,[296,647,648],{"class":313},"      ).",[296,650,651],{"class":306},"length\n",[296,653,655],{"class":298,"line":654},32,[296,656,657],{"class":313},"    }))\n",[296,659,661,663,665,667,669,671,674,677,680],{"class":298,"line":660},33,[296,662,582],{"class":313},[296,664,554],{"class":453},[296,666,457],{"class":313},[296,668,590],{"class":460},[296,670,593],{"class":302},[296,672,673],{"class":313}," chunk.score ",[296,675,676],{"class":302},">",[296,678,679],{"class":306}," 0",[296,681,504],{"class":313},[296,683,685,687,690,693,695,698,701,704,707,710,713],{"class":298,"line":684},34,[296,686,582],{"class":313},[296,688,689],{"class":453},"sort",[296,691,692],{"class":313},"((",[296,694,218],{"class":460},[296,696,697],{"class":313},", ",[296,699,700],{"class":460},"b",[296,702,703],{"class":313},") ",[296,705,706],{"class":302},"=>",[296,708,709],{"class":313}," b.score ",[296,711,712],{"class":302},"-",[296,714,715],{"class":313}," a.score)\n",[296,717,719,721,724,726,729,731,734],{"class":298,"line":718},35,[296,720,582],{"class":313},[296,722,723],{"class":453},"slice",[296,725,457],{"class":313},[296,727,728],{"class":306},"0",[296,730,697],{"class":313},[296,732,733],{"class":306},"2",[296,735,736],{"class":313},");\n",[296,738,740],{"class":298,"line":739},36,[296,741,742],{"class":313},"}\n",[296,744,746],{"class":298,"line":745},37,[296,747,444],{"emptyLinePlaceholder":190},[296,749,751,754,757,759,762,764,767],{"class":298,"line":750},38,[296,752,753],{"class":313},"console.",[296,755,756],{"class":453},"log",[296,758,457],{"class":313},[296,760,761],{"class":453},"retrieve",[296,763,457],{"class":313},[296,765,766],{"class":329},"\"מתי מתבצע הגיבוי ובדיקת שחזור?\"",[296,768,769],{"class":313},"));\n",[211,771,772],{},"הריצו:",[287,774,778],{"className":775,"code":776,"language":777,"meta":292,"style":292},"language-bash shiki shiki-themes github-dark-contrast","node retrieve.mjs\n","bash",[282,779,780],{"__ignoreMap":292},[296,781,782,785],{"class":298,"line":299},[296,783,784],{"class":453},"node",[296,786,787],{"class":329}," retrieve.mjs\n",[211,789,790,791,794],{},"הקטע ",[282,792,793],{},"backup-schedule"," מופיע בתוצאה עם שם קובץ המקור. זהו פרט שכדאי לשמור לאורך התהליך: כשמייצרים תשובה, אפשר לקשר למקום שממנו הגיע המידע.",[211,796,797],{},"החיפוש הזה מוגבל. הוא בודק תתי־מחרוזות, אינו מבין מילים נרדפות ויכול להתאים מילה קצרה בתוך מילה אחרת. השאלה ״מתי שומרים עותק נוסף?״ עלולה לא למצוא דבר אף שהיא קשורה לגיבוי. הדוגמה עוזרת להבין את המסלול, ולא מחליפה מנוע חיפוש שמתאים לאוסף אמיתי.",[226,799,801],{"id":800},"למה-מחלקים-מסמכים-לקטעים","למה מחלקים מסמכים לקטעים?",[211,803,804],{},"במדריך ארוך יכולים להיות סעיפים על התקנה, הגדרות ותקלות. אם השאלה עוסקת בתקלה אחת, עדיף שהחיפוש יוכל למצוא את הסעיף המתאים. החומר שמועבר למודל יהיה ממוקד יותר ויכלול פחות טקסט שלא עוזר לענות.",[211,806,807],{},"אבל חלוקה אגרסיבית מדי פוגעת במשמעות. המשפט ״אין להפעיל את האפשרות הזו״ אינו מועיל אם שם האפשרות נשאר בקטע הקודם. כותרת הסעיף, שם המוצר וגרסת ההוראות יכולים להיות חלק חשוב מההקשר.",[211,809,810,811,816],{},"אין מספר מילים אחד שמתאים לכל מסמך. מדריך עם פקודות, טבלה והסברים דורש חלוקה אחרת מסיכום פגישה. ",[218,812,815],{"href":813,"rel":814},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Farchitecture\u002Fai-ml\u002Fguide\u002Frag\u002Frag-solution-design-and-evaluation-guide",[222],"מדריך התכנון של Microsoft"," מתייחס להכנת הנתונים, לשליפה ולהערכת הפתרון כשלבים שיש לתכנן ולבדוק.",[226,818,820],{"id":819},"קישור-למקור-אינו-בדיקת-אמת","קישור למקור אינו בדיקת אמת",[211,822,823],{},"תשובה יכולה לכלול קישור נכון ועדיין לייחס למקור משהו שלא נאמר בו. בבדיקה ידנית צריך לפתוח את הקטע ולשאול אם הוא תומך בטענה המסוימת, לא רק אם הוא עוסק באותו נושא.",[211,825,826],{},"לדוגמה, מקור שמסביר איך להפעיל גיבוי אינו תומך אוטומטית בטענה שהגיבוי נבדק בהצלחה. מקור שפורסם לפני שינוי מוצר עלול לתאר התנהגות שאינה רלוונטית לגרסה הנוכחית. רצוי לשמור גם תאריך עדכון ומזהה סעיף כשאלה זמינים.",[211,828,829],{},"במערכת עם מסמכים פרטיים, החיפוש צריך להתחשב בהרשאות. משתמש לא אמור לקבל קטעים שאין לו הרשאה לקרוא, גם אם הם רלוונטיים מאוד לשאלה. באתר כמו HomeRan אפשר להתחיל מאוסף קטן של חומר ציבורי ומזוהה, ולדחות את מורכבות ההרשאות עד שנדרשת גישה לתוכן פרטי.",[226,831,833],{"id":832},"בדיקה-לפני-שמגדילים-את-האוסף","בדיקה לפני שמגדילים את האוסף",[211,835,836],{},"הכינו רשימת שאלות עם שלושה סוגי מקרים: תשובה שנמצאת בפסקה אחת, תשובה שדורשת שני מקורות ושאלה שאין לה תשובה בחומר. לכל שאלה שמרו את הקטעים שנשלפו ואת התשובה שנכתבה.",[211,838,839],{},"אם המקור הנכון לא הגיע למודל, שפרו את החיפוש או את חלוקת המסמכים. אם המקור הגיע אבל התשובה הוסיפה פרטים, בדקו את הוראות הכתיבה ואת דרך הביקורת. ההפרדה הזו נותנת כיוון לתיקון במקום להחליף רכיבים בלי לדעת מה נכשל.",[226,841,843],{"id":842},"לקריאה-נוספת","לקריאה נוספת",[845,846,847,854,860,866],"ul",{},[848,849,850,224],"li",{},[218,851,853],{"href":220,"rel":852},[222],"Azure AI Search: מבנה RAG והכנת התוכן",[848,855,856,224],{},[218,857,859],{"href":250,"rel":858},[222],"Microsoft: RAG, אינדקסים והקשר למודל",[848,861,862,224],{},[218,863,865],{"href":813,"rel":864},[222],"Microsoft: תכנון והערכה של פתרון RAG",[848,867,868,224],{},[218,869,185],{"href":184},[871,872,873],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sRjNt, html code.shiki .sRjNt{--shiki-default:#85E89D;--shiki-default-font-weight:bold}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":292,"searchDepth":317,"depth":317,"links":875},[876,877,878,879,880,881,882],{"id":228,"depth":317,"text":229},{"id":255,"depth":317,"text":256},{"id":268,"depth":317,"text":269},{"id":800,"depth":317,"text":801},{"id":819,"depth":317,"text":820},{"id":832,"depth":317,"text":833},{"id":842,"depth":317,"text":843},"md",{},"\u002Fimages\u002Fposts\u002Frag-answering-from-your-documents.png",{"title":150,"description":151},{"loc":149},"ai\u002Frag-answering-from-your-documents",[157,158,159,160],null,"-UBjqz5ffXzy1f_ym8t9bYNCjKydQesFnE_U04LBlQ0",1791147941772]