המלצה | חיפוש הלכתי חכם (AI)
-
@אהרן כתב בהמלצה | חיפוש הלכתי חכם (AI):
יש אפשרות להוריד את זה למחשב?
עיין כאן https://mitmachim.top/post/771276
-
@אהרן כתב בהמלצה | חיפוש הלכתי חכם (AI):
יש אפשרות להוריד את זה למחשב?
עיין כאן https://mitmachim.top/post/771276
-
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
אני אולי אעשה space שאפשר להעלות אליו קובץ, ליצור לו ייצוגים מספריים ולחפש בהם.
הכי טוב!! אם זה בקלות אדרבה ואדרבה, מאמין שזה יעזור לי ולרבים!
תעדכן אם זה בתוכנית בזמן הקרוב...@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
אני אולי אעשה space שאפשר להעלות אליו קובץ, ליצור לו ייצוגים מספריים ולחפש בהם.
הכי טוב!! אם זה בקלות אדרבה ואדרבה, מאמין שזה יעזור לי ולרבים!
תעדכן אם זה בתוכנית בזמן הקרוב...זה מוכן: https://huggingface.co/spaces/sivan22/Semantic-Search-upload-your-file
תתאזר בסבלנות ליצירת הייצוג המספרי, זה יכול לקחת הרבה זמן (זה רץ בענן חינמי בלי GPU)
-
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
אני אולי אעשה space שאפשר להעלות אליו קובץ, ליצור לו ייצוגים מספריים ולחפש בהם.
הכי טוב!! אם זה בקלות אדרבה ואדרבה, מאמין שזה יעזור לי ולרבים!
תעדכן אם זה בתוכנית בזמן הקרוב...זה מוכן: https://huggingface.co/spaces/sivan22/Semantic-Search-upload-your-file
תתאזר בסבלנות ליצירת הייצוג המספרי, זה יכול לקחת הרבה זמן (זה רץ בענן חינמי בלי GPU)
-
@sivan22 יש מצב ליצור כזה פרטי שלא כל אחד יוכל לגשת?
עריכה: הכי טוב שיהיה אפשרות למשהו קבוע כמו שאתה עשית לילקוט יוסף.
אבל אני כבר מגזים עם הדרישות...@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 יש מצב ליצור כזה פרטי שלא כל אחד יוכל לגשת?
אפשר באותו אתר, אבל בתשלום (חינם זה רק ציבורי).
עריכה: הכי טוב שיהיה אפשרות למשהו קבוע כמו שאתה עשית לילקוט יוסף.
וכמובן שאתה יכול ליצור פעם אחת את הייצוגים ולשמור אותם בענן, וכל פעם להוריד אותם מוכנים.
היום זה ממש שווה ללמוד פייתון, ובפרט את הספריות: pandas, transformers, וdatasets.
-
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 יש מצב ליצור כזה פרטי שלא כל אחד יוכל לגשת?
אפשר באותו אתר, אבל בתשלום (חינם זה רק ציבורי).
עריכה: הכי טוב שיהיה אפשרות למשהו קבוע כמו שאתה עשית לילקוט יוסף.
וכמובן שאתה יכול ליצור פעם אחת את הייצוגים ולשמור אותם בענן, וכל פעם להוריד אותם מוכנים.
היום זה ממש שווה ללמוד פייתון, ובפרט את הספריות: pandas, transformers, וdatasets.
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 יש מצב ליצור כזה פרטי שלא כל אחד יוכל לגשת?
אפשר באותו אתר, אבל בתשלום (חינם זה רק ציבורי).
אתה בטוח? כי גם כשבחרתי מצב חינם הוא נתן לי אופציה של פרטי. ככה נראה לי...
עריכה: הכי טוב שיהיה אפשרות למשהו קבוע כמו שאתה עשית לילקוט יוסף.
וכמובן שאתה יכול ליצור פעם אחת את הייצוגים ולשמור אותם בענן, וכל פעם להוריד אותם מוכנים.
אני מתכוון ליצור ספייס שמיועד לחיפוש בספר פלוני [כמו שאתה עשית עם הילקוט יוסף] ספציפי.
-
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 יש מצב ליצור כזה פרטי שלא כל אחד יוכל לגשת?
אפשר באותו אתר, אבל בתשלום (חינם זה רק ציבורי).
אתה בטוח? כי גם כשבחרתי מצב חינם הוא נתן לי אופציה של פרטי. ככה נראה לי...
עריכה: הכי טוב שיהיה אפשרות למשהו קבוע כמו שאתה עשית לילקוט יוסף.
וכמובן שאתה יכול ליצור פעם אחת את הייצוגים ולשמור אותם בענן, וכל פעם להוריד אותם מוכנים.
אני מתכוון ליצור ספייס שמיועד לחיפוש בספר פלוני [כמו שאתה עשית עם הילקוט יוסף] ספציפי.
-
@aiib אין שום בעיה, רק תצטרך קודם ליצור את הייצוגים ולשמור אותם בענן. מומלץ דרך ספריית datasets ושמירה בhuggingface_hub. מושגים שאם מעניין אותך בינה מלאכותית "למעיישה", אתה חייב לדעת.
-
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 האמת היא שאני בבסיס צריך הדרכה...
יש מצב?מה אני בוחר כאן?
אם כבר אתה מנסה ליצור ספייס, פשוט תשכפל את שלי:
אני אולי אעשה space שאפשר להעלות אליו קובץ, ליצור לו ייצוגים מספריים ולחפש בהם.
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
אם כבר אתה מנסה ליצור ספייס, פשוט תשכפל את שלי:
אני מעלה קובץ טקסט [וורד הוא מסרב לקבל, אז המרתי לקובץ טקסט] ואני מקבל את השגיאה הבאה:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 0: invalid continuation byte Traceback: File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 575, in _run_script self._session_state.on_script_will_rerun( File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/safe_session_state.py", line 65, in on_script_will_rerun self._state.on_script_will_rerun(latest_widget_states) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 517, in on_script_will_rerun self._call_callbacks() File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 530, in _call_callbacks self._new_widget_state.call_callback(wid) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 274, in call_callback callback(*args, **kwargs) File "/home/user/app/app.py", line 105, in run df = get_df(uploaded_file) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 165, in wrapper return cached_func(*args, **kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 194, in __call__ return self._get_or_create_cached_value(args, kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 221, in _get_or_create_cached_value return self._handle_cache_miss(cache, value_key, func_args, func_kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 277, in _handle_cache_miss computed_value = self._info.func(*func_args, **func_kwargs) File "/home/user/app/app.py", line 21, in get_df stringio = StringIO(uploaded_file.getvalue().decode("utf-8"))
-
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
אם כבר אתה מנסה ליצור ספייס, פשוט תשכפל את שלי:
אני מעלה קובץ טקסט [וורד הוא מסרב לקבל, אז המרתי לקובץ טקסט] ואני מקבל את השגיאה הבאה:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 0: invalid continuation byte Traceback: File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 575, in _run_script self._session_state.on_script_will_rerun( File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/safe_session_state.py", line 65, in on_script_will_rerun self._state.on_script_will_rerun(latest_widget_states) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 517, in on_script_will_rerun self._call_callbacks() File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 530, in _call_callbacks self._new_widget_state.call_callback(wid) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/state/session_state.py", line 274, in call_callback callback(*args, **kwargs) File "/home/user/app/app.py", line 105, in run df = get_df(uploaded_file) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 165, in wrapper return cached_func(*args, **kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 194, in __call__ return self._get_or_create_cached_value(args, kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 221, in _get_or_create_cached_value return self._handle_cache_miss(cache, value_key, func_args, func_kwargs) File "/usr/local/lib/python3.10/site-packages/streamlit/runtime/caching/cache_utils.py", line 277, in _handle_cache_miss computed_value = self._info.func(*func_args, **func_kwargs) File "/home/user/app/app.py", line 21, in get_df stringio = StringIO(uploaded_file.getvalue().decode("utf-8"))
-
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib הקידוד של הקובץ צריך להיות UTF-8 אפשר לשנות את זה בקלות דרך פנקס רשימות->שמירה בשם.
זה עזר! הקובץ עלה.
אבל אחרי ריצה של איזה 20 דקות מקבל את השגיאה הבאה:StreamlitAPIException: set_page_config() can only be called once per app page, and must be called as the first Streamlit command in your script. For more information refer to the docs. Traceback: File "/home/user/app/app.py", line 137, in <module> run() File "/home/user/app/app.py", line 87, in run st.set_page_config(
-
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib הקידוד של הקובץ צריך להיות UTF-8 אפשר לשנות את זה בקלות דרך פנקס רשימות->שמירה בשם.
זה עזר! הקובץ עלה.
אבל אחרי ריצה של איזה 20 דקות מקבל את השגיאה הבאה:StreamlitAPIException: set_page_config() can only be called once per app page, and must be called as the first Streamlit command in your script. For more information refer to the docs. Traceback: File "/home/user/app/app.py", line 137, in <module> run() File "/home/user/app/app.py", line 87, in run st.set_page_config(
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib הקידוד של הקובץ צריך להיות UTF-8 אפשר לשנות את זה בקלות דרך פנקס רשימות->שמירה בשם.
זה עזר! הקובץ עלה.
אבל אחרי ריצה של איזה 20 דקות מקבל את השגיאה הבאה:StreamlitAPIException: set_page_config() can only be called once per app page, and must be called as the first Streamlit command in your script. For more information refer to the docs. Traceback: File "/home/user/app/app.py", line 137, in <module> run() File "/home/user/app/app.py", line 87, in run st.set_page_config(
שגיאה שלא מפריעה לעבודה התקינה.
-
@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 כתב בהמלצה | חיפוש הלכתי חכם (AI):
@aiib הקידוד של הקובץ צריך להיות UTF-8 אפשר לשנות את זה בקלות דרך פנקס רשימות->שמירה בשם.
זה עזר! הקובץ עלה.
אבל אחרי ריצה של איזה 20 דקות מקבל את השגיאה הבאה:StreamlitAPIException: set_page_config() can only be called once per app page, and must be called as the first Streamlit command in your script. For more information refer to the docs. Traceback: File "/home/user/app/app.py", line 137, in <module> run() File "/home/user/app/app.py", line 87, in run st.set_page_config(
שגיאה שלא מפריעה לעבודה התקינה.
-
@sivan22 ברשותך כמה שאלות
האם האינדקס נוצר ואני יכול לשמור אותו? א"כ איפה?
למה אצלי זה לא מחולק לפרקים וסעיפים כמו אצלך?@aiib כתב בהמלצה | חיפוש הלכתי חכם (AI):
@sivan22 ברשותך כמה שאלות
האם האינדקס נוצר ואני יכול לשמור אותו? א"כ איפה?
למה אצלי זה לא מחולק לפרקים וסעיפים כמו אצלך?האינדקס (יותר נכון לומר הembeddings כלומר התיאור המספרי) לא נשמר בדיסק. אני ערכתי טבלה מחולקת לסימנים וסעיפים. כאן זה יותר אוניברסלי ומתאים לכל קובץ טקסט.
-
היי חברים,
אני רוצה לשתף אתכם בנסיונות ליצור חיפוש תורני חכם מבוסס בינה מלאכותית.
אז לפני כמה חודשים הדגמתי חיפוש חכם בשולחן ערוך, וזה היה מבוסס על מודל שידע לסווג משפטים לסעיפים הנכונים בשולחן ערוך. אך זה היה כרוך באימון של המודל, מה שגרם לזה להיות מורכב.
הפעם השתמשתי בשיטה אחרת, היתרון שלה הוא שהיא ניתנת להרחבה בקלות גם למאגרים גדולים (אוצריא?) וגם לא הייתי צריך לאמן שום מודל, השתמשתי במודל קיים (עם זאת, יתכן שאימון כן יכול לעזור לו, במיוחד במושגים תורניים שהוא לא מכיר).
העקרון הוא כזה: יש מודל שיודע לתת לכל משפט ייצוג מספרי מתאים, שזה בעצם סדרה של מספרים, שאפשר להתייחס אליה כמציינת את המיקום של המשפט במרחב המשפטים. לדוגמה שני מספרים יכולים לשמש ציון של מיקום על ציר הX והY במרחב דו מימדי. אבל כאן משתמשים בהרבה מספרים, וזה בעצם מיקום במרחב רב מימדי. לוקחים את כל המשפטים שרוצים לחפש בהם, ונותנים להם את המספרים הללו. אחר כך לוקחים את השאילתה שהמשתמש רוצה, וגם לה נותנים ייצוג באותה שיטה, ומחפשים את הנקודה הקרובה ביותר במרחב.
תמונה להמחשה:
איך בעצם מייצרים את המספרים הללו? למעשה מדובר במודל שפה מתוחכם עם הרבה למידת מכונה, שהתאמן על משפטים דומים ושונים. אבל לסבר את האוזן נוכל להראות איך ניצור כאלו מספרים פשוט ממספר המילים שחוזרות על עצמן בכל קטע.
נניח שיש לנו שני קטעי מתכונים ושני קטעים מספר על טיולים, ואנ ורוצים לתת לכל קטע ייצוג, אז נספור את מספר הפעמים שמופיעים המילים "חלב" "ביצים" "ירושלים" "כביש", בכל אחד מהקטעים הללו, ונגלה שבעצם הייצוג של שני קטעי המתכונים די דומה (נניח שאחד מהם הוא 2,3,0,0 והשני הוא 1,2,0,0 - כלומר המילה חלב מופיעה פעם אחת, ביצים פעמיים וכביש וירושלים בכלל לא.) אבל קטעי הטיולים דווקא כן דומים למדי (0,0,3,5 ו1,0,2,6).
אז זה השלב הראשון.
לפעמים זה לא מספיק, אז בשביל זה יש את השלב השני. שולחים את התוצאות (נניח 10 התוצאות הראשונות) למודל שפה גדול (נניח GPT 3.5) ונותנים לו למיין את התוצאות לפי הרלוונטיות שלהם. זה אמור לשפר מאד את התוצאות, כי מודל השפה אמור להבין איזו תשובה הכי רלוונטית לשאלה.
השתמשתי להדגמה בספר "ילקוט יוסף - קיצושו"ע אורח חיים" של מרן הראשל"צ משום שהוא כתוב בשפה קלה, שגם מודלי שפה יכולים להבין. אבל די בקלות אפשר להרחיב אותו לכל ספר שהוא.
יאללה מספיק דיבורים, תביא את הלינק וגמרנו:
https://huggingface.co/spaces/sivan22/Halacha-semantic-searchשימו לב שכדי להשתמש במודל שפה (שלב ב) צריך לספק לו מפתח API של openAI, ניתן להשיג אותו (בתשלום) באתר של openAI. אבל החיפוש הרגיל עובד לכולם.
@sivan22 אני חושב שצריך לעשות את זה גם דרך הטלפון - זה יעזור מאוד.
-
@sivan22 אני חושב שצריך לעשות את זה גם דרך הטלפון - זה יעזור מאוד.