בירור | חיפוש וקטורי במאגר
-
התחלתי לעבוד על יצירת ייצוג וקטורי לכל מילה במאגר .
גישה זו עשויה לאפשר חיפוש סמנטי מתקדם.המטרה היא לבחון האם מהלך כזה יכול להביא תועלת ממשית ולשפר את איכות החיפוש והניווט בתוכנה, או שמדובר במורכבות טכנית שאינה מצדיקה שילוב בפועל.
בהמשך ניתן להרחיב את המימוש גם לייצוגים וקטוריים של משפטים או קטעים שלמים, ולפתח יכולות נוספות על בסיס זה. עם זאת, השאלה המרכזית היא האם יש כאן כיוון מעשי שכדאי להשקיע בו, או שבסופו של דבר לא יהיה לו שימוש משמעותי במסגרת התוכנה.
עדכון - הכנתי גרסה נסיונית לבדיקה, אשמח למשוב ולהצעות לשיפור.
https://otzaria.org/forum/topic/743/בירור-חיפוש-עמוק-במאגר/7כיוון נוסף, עתידי יותר, הוא שימוש בתשתית הזו לפיתוח כלי תרגום איכותי (בסגנון Google Translate), לתרגום מארמית לעברית - אך נושא זה בשלב זה בגדר רעיון בלבד.
-
מצב קישור לפרוייקט ב-huggingface: https://huggingface.co/ArieLLL123/otzaria-embeddings
חשוב לציין שכלל התוכן על בסיסו נוצר המאגר הוא המאגר של אוצריא, כך שהוא אמור להיות מותאם בצורה מושלמת למאגר
-
@arieldaniely
פנה אלי למייל. -
הכנתי פיילוט בסיסי, מקווה שישתפר.
יש להתקין את הספריות הבאות:
pip install faiss-cpu numpy orjson flask huggingface_hubלאחר מכן אפשר להפעיל את הקוד המצורף ולפתוח את הקישור http://127.0.0.1:8000.
שימו לב, צריך אינטרנט בזמן ההפעלהעריכה: במהדורה החדשה לא צריך.
app_ai.pyאשמח מאוד למשוב ולהצעות שיפור וייעול.
-
-
אמת, אני ינסה לבדוק מה אפשר לעשות [הקוד מוריד את מודל ה-AI משרת של huggingface], אני ינסה לאפשר הורדה ידנית שלו ולצרף קובץ zip עם המודל.
-
אמת, אני ינסה לבדוק מה אפשר לעשות [הקוד מוריד את מודל ה-AI משרת של huggingface], אני ינסה לאפשר הורדה ידנית שלו ולצרף קובץ zip עם המודל.
בס"ד הצלחתי לעשות שיהיה אפשר להוריד קובץ זיפ והוא יטען אותו.
מצ"ב את הקוד המעודכן והזיפ.app_ai.py
https://drive.google.com/file/d/1AEmX1******qzF5I2M-pBGMLAlyWf0V6NTA0Li/view?usp=sharing -
בס"ד הצלחתי לעשות שיהיה אפשר להוריד קובץ זיפ והוא יטען אותו.
מצ"ב את הקוד המעודכן והזיפ.app_ai.py
https://drive.google.com/file/d/1AEmX1******qzF5I2M-pBGMLAlyWf0V6NTA0Li/view?usp=sharing@arieldaniely
א' לא התקין את החבילות עד שהפעלתי את הפקודה בCMD.
ב' הקוד המעודכן לא עובד אצלי עם הזיפ.
האם זה צריך להיות בתיקייה מסויימת?
האם להפעיל דרך CMD?עריכה:
בנסיון הפעלה עם CMD כמנהל בהורדות (שלא יהיה עברית בנתיב) זה השגיאות:he system cannot find the path specified. The system cannot find the path specified. Starting Enhanced Server at http://127.0.0.1:8000 * Serving Flask app 'app_ai' Error loading titles: no such table: books * Debug mode: on [downloading] טוען מודל v3 (hf)... (5%) [error] שגיאה בטעינת מודל: [Errno 2] No such file or directory: 'C:\\Users\\1234\\Downloads\\hf_cache\\models--ArieLLL123--otzaria-embeddings\\snapshots\\c365087f4911d8a38d3bcd0b1bc00e553f28fe11\\editions/otzaria_embeddings_v3\\embeddings_last.npy' (0%) Boot warning: [Errno 2] No such file or directory: 'C:\\Users\\1234\\Downloads\\hf_cache\\models--ArieLLL123--otzaria-embeddings\\snapshots\\c365087f4911d8a38d3bcd0b1bc00e553f28fe11\\editions/otzaria_embeddings_v3\\embeddings_last.npy' WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:8000 Press CTRL+C to quit * Restarting with stat Starting Enhanced Server at http://127.0.0.1:8000 Error loading titles: no such table: books [downloading] טוען מודל v3 (hf)... (5%) [error] שגיאה בטעינת מודל: [Errno 2] No such file or directory: 'C:\\Users\\1234\\Downloads\\hf_cache\\models--ArieLLL123--otzaria-embeddings\\snapshots\\c365087f4911d8a38d3bcd0b1bc00e553f28fe11\\editions/otzaria_embeddings_v3\\embeddings_last.npy' (0%) Boot warning: [Errno 2] No such file or directory: 'C:\\Users\\1234\\Downloads\\hf_cache\\models--ArieLLL123--otzaria-embeddings\\snapshots\\c365087f4911d8a38d3bcd0b1bc00e553f28fe11\\editions/otzaria_embeddings_v3\\embeddings_last.npy' -
בס"ד הצלחתי לעשות שיהיה אפשר להוריד קובץ זיפ והוא יטען אותו.
מצ"ב את הקוד המעודכן והזיפ.app_ai.py
https://drive.google.com/file/d/1AEmX1******qzF5I2M-pBGMLAlyWf0V6NTA0Li/view?usp=sharing@arieldaniely לא כ"כ מובן איך להשתמש בזה...
אם תסביר אולי יהיו עוד שינסו... -
-
@arieldaniely כתב בבירור | חיפוש וקטורי במאגר:
ב' - לא הגדרת את המיקום למודל כזיפ אז כברירת מחדל הוא מוריד מהשרת [שחסום בנטפרי - מה שכנאה גרם ל-ג'].
צריך לכֹתוב את המיקום בתוך הקובץ?
מהשורות הללו:
MODELS_ZIPS_DIR = os.path.join(BASE_DIR, "models_zips") # כאן המשתמשים שמים ZIP LOCAL_MODELS_DIR = os.path.join(BASE_DIR, "local_models") # כאן מחלצים פעם אחתהבנתי שיש אינטרקציה עם המשתמש ששואל היכן הקובץ ZIP...
-
@דאנציג בעז"ה עוד כ-5 דק' יעלה ממשק חדש וטוב...
-
טוב, לאחר הרבה עבודה הכנתי ממשק פשוט יותר לתוכנה.
איך להוריד את התוכנה?
דרישות
- תוכנת python מהדורה 3.10 לפחות.
- מאגר DB של אוצריא.
איך להתקין?
- יש להוריד את הקוד של התוכנה, הקובץ הזה: app_ai.py
- יש להוריד את קובץ הזיפ מהקישור הזה: https://drive.google.com/file/d/1AEm******X1qzF5I2M-pBGMLAlyWf0V6NTA0Li/view [להוריד כוכביות].
- לפתוח שורת הפקודה ולהריץ את הפקודה:
pip install flask requests numpy faiss-cpu huggingface-hubהפעלת התוכנה:
- צריך להריץ את התוכנה, בשורת הפקודה צריך להפעיל את הפקודה:
python app_ai.py- לאחר מכן, אם הכל עבד כראוי, יופיע קישור: http://127.0.0.1:8000/
שימוש בתוכנה:
- יש להכנס לקישור http://127.0.0.1:8000/ שהתוכנה מפעילה.
- יופיע מסך להעלאת קובץ הזיפ של המודל, יש לגרור או לבחור את המודל. טיפ - אפשר לשים את קובץ הזיפ בתקיה בשם models_zips במיקום של התוכנה, והתוכנה תמצא אותו אוטומטית.
- אם קובץ ה-DB נמצא במיקום ברירת המחדל של אוצריא [C:\אוצריא\אוצריא] היא תזהה אותו אוטומטית, אחרת - יפתח חלון לבחירה - "בחר קובץ מקומי".
- לאחר מכן, יקח לתוכנה כמה שניות להכין אינדקס [היא מכינה עבור חלק קטן מהמאגר, ניתן לשנות תמיד את כמות המשפטים שהיא מוסיפה לאינדקס דרך ההגדרות], כאשר היא תסיים יהיה אפשר להתחיל לחפש.
מקווה שזה מדריך מועיל...
אשמח למשוב ולהצעות שיפור -
טוב, לאחר הרבה עבודה הכנתי ממשק פשוט יותר לתוכנה.
איך להוריד את התוכנה?
דרישות
- תוכנת python מהדורה 3.10 לפחות.
- מאגר DB של אוצריא.
איך להתקין?
- יש להוריד את הקוד של התוכנה, הקובץ הזה: app_ai.py
- יש להוריד את קובץ הזיפ מהקישור הזה: https://drive.google.com/file/d/1AEm******X1qzF5I2M-pBGMLAlyWf0V6NTA0Li/view [להוריד כוכביות].
- לפתוח שורת הפקודה ולהריץ את הפקודה:
pip install flask requests numpy faiss-cpu huggingface-hubהפעלת התוכנה:
- צריך להריץ את התוכנה, בשורת הפקודה צריך להפעיל את הפקודה:
python app_ai.py- לאחר מכן, אם הכל עבד כראוי, יופיע קישור: http://127.0.0.1:8000/
שימוש בתוכנה:
- יש להכנס לקישור http://127.0.0.1:8000/ שהתוכנה מפעילה.
- יופיע מסך להעלאת קובץ הזיפ של המודל, יש לגרור או לבחור את המודל. טיפ - אפשר לשים את קובץ הזיפ בתקיה בשם models_zips במיקום של התוכנה, והתוכנה תמצא אותו אוטומטית.
- אם קובץ ה-DB נמצא במיקום ברירת המחדל של אוצריא [C:\אוצריא\אוצריא] היא תזהה אותו אוטומטית, אחרת - יפתח חלון לבחירה - "בחר קובץ מקומי".
- לאחר מכן, יקח לתוכנה כמה שניות להכין אינדקס [היא מכינה עבור חלק קטן מהמאגר, ניתן לשנות תמיד את כמות המשפטים שהיא מוסיפה לאינדקס דרך ההגדרות], כאשר היא תסיים יהיה אפשר להתחיל לחפש.
מקווה שזה מדריך מועיל...
אשמח למשוב ולהצעות שיפורעריכה:
אופס!!
אחר כך שמתי לב שאני הייתי מדאי פזיז, עדיין לא הופיע לי הקישור, אלא לחצתי על הקישור שבפוסט שלך, זה נראה שהוא עדיין באמצע לבנות את אינדקס.עריכה 2:
גם אחרי כמה דקות, שכבר הופיע לי קישור, עדיין מופיע השגיאה הנ"ל. -
עריכה:
אופס!!
אחר כך שמתי לב שאני הייתי מדאי פזיז, עדיין לא הופיע לי הקישור, אלא לחצתי על הקישור שבפוסט שלך, זה נראה שהוא עדיין באמצע לבנות את אינדקס.עריכה 2:
גם אחרי כמה דקות, שכבר הופיע לי קישור, עדיין מופיע השגיאה הנ"ל.@דאנציג תוכל לשלוח לי את הלוג הרצה?
-
@arieldaniely
עדיין

-
@arieldaniely
עכשיו ניסיתי שוב [עם הקובץ האחרון], בשביל הלוגS, והמתנתי בסבלנות בהתחלה, עד שהוא גמר לבנות את האינדקס [כנראה שזה היה הבעיה ביום שישי], וזה נראה שעובד:


אבל לוקח לו הרבה זמן חיפוש, ואין כל אינדקציה לדעת האם זה מחפש או לא.
לדעתי כדאי להוסיף לו מצב התקדמות וכדו', עוד לפני שכלול, כדי לדעת שזה באמת עובד. -
@arieldaniely
עכשיו ניסיתי שוב [עם הקובץ האחרון], בשביל הלוגS, והמתנתי בסבלנות בהתחלה, עד שהוא גמר לבנות את האינדקס [כנראה שזה היה הבעיה ביום שישי], וזה נראה שעובד:


אבל לוקח לו הרבה זמן חיפוש, ואין כל אינדקציה לדעת האם זה מחפש או לא.
לדעתי כדאי להוסיף לו מצב התקדמות וכדו', עוד לפני שכלול, כדי לדעת שזה באמת עובד.@דאנציג כתב בבירור | חיפוש וקטורי במאגר:
אבל לוקח לו הרבה זמן חיפוש,
מוזר, אצלי זה היה מהיר מאוד... בכל מקרה אני עובד על גרסה שתהיה מהירה בהרבה גם עבור מיליוני רשומות כך שזה אמור לפתור את הבעיה של זמן חיפוש
-
גרסה חדשה ומשופרת:
app_ai_v3.pyמה חדש?
- ממשק חדש ונוח.
- אלגוריתם חיפוש יעייל ומהיר גם למיליוני רשומות.
- שיפור אוטומטי בעזרת משוב.
- הגדרות מפורטות ונרחבות לשליטה מלאה בתוכנה.
