המלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך
-
שלב 1: התקנת הכלי Kotaemon
נוריד את קובץ הזיפ מהגרסה האחרונה כאן: https://github.com/Cinnamon/kotaemon/releases/latest/
נחלץ את התוכן, ונריץ את הקובץ scripts/run_windows.bat כאשר המחשב מחובר לרשת.
ייפתח חלון שחור שבו רצות שורות של ההתקנה. לאחר שהיא מסתיימת ייפתח דפדפן שמבקש סיסמה. נכניס את המילה admin בשני השדות, ייפתח החלון הבא:
שלב 2 (אפשרות א): הגדרת API בתשלום
יש להרשם כאן ולאחר מכן ליצור API KEY
וכמובן נשמור אותו.בתוכנה שלנו ניכנס לכרטיסייה resourced ותחת LLMS נבחר באפשרות ADD ונמלא את הפרטים הבאים:
נלך לכרטיסייה הסמוכה embeddings ונמלא את הפרטים הבאים:
שלב 2 (אפשרות ב): הגדרת מודל מקומי
נתקין את המוצר ollama
נוריד מודל בשביל הייצוג המספרי: קישור
נוריד מודל שפה (DictaLM)כעת צריך להוסיף את המודלים הללו לollama :
ניצור קובץ בשם Modelfile ונכתוב בו את השורה הבאה:
FROM "C:\Users\sivan22\Downloads\dictalm2.0-instruct.Q4_K_M.gguf"
כמובן שנחליף את הנתיב בנתיב המדוייק לקובץ שהורדנו מקודם.
נריץ בשורת פקודה את השורה הבאה:
ollama create dictaLM -f Modelfile
כמובן שצריך לספק את המיקום המדוייק של הקובץ בשם Modelfile שיצרנו לעיל. (כלומר במקום Modelfile אפשר לכתוב "C:\Users\sivna22\Downloads\Modelfile")
נעשה אותו הדבר למודל השני:
FROM "C:\Users\sivan22\Downloads\multilingual-e5-large-instruct-q4_k.gguf"
ollama create e5 -f Modelfile
בתוכנה שלנו, נוסיף את המודלים הללו לפי הדוגמאות שלפנינו:
שלב 3 : העלאת קבצים
בכרטיסייה files נעלה את הקבצים וניצור להם אינדקס. (ייקח זמן עד שהם יופיעו בטבלה, כלומר שהעבודה הסתיימה):
שלב 4: צ'אט עם הקבצים שלנו
בכרטיסייה chat נסמן בצד באיזה קבצים אנו רוצים לחפש, ולאחר מכן פשוט נתחיל לשוחח עם הצ'אט אודות הקבצים:
@sivan22 כשאני מריץ את קובץ ה-BAT הוא כותב "The current workdir has whitespace which can lead to unintended behaviour. Please modify your path and continue later." בשורת הפקודה
מה יש לעשות?כמו כן, יש אפשרות להשתמש במודל מקומי דרך LMSTUDIO בהגדרת שרת מקומי (במקום להסתבך עם כל ההגדרות שם)?
-
@sivan22 כשאני מריץ את קובץ ה-BAT הוא כותב "The current workdir has whitespace which can lead to unintended behaviour. Please modify your path and continue later." בשורת הפקודה
מה יש לעשות?כמו כן, יש אפשרות להשתמש במודל מקומי דרך LMSTUDIO בהגדרת שרת מקומי (במקום להסתבך עם כל ההגדרות שם)?
-
@sivan22 כשאני מריץ את קובץ ה-BAT הוא כותב "The current workdir has whitespace which can lead to unintended behaviour. Please modify your path and continue later." בשורת הפקודה
מה יש לעשות?כמו כן, יש אפשרות להשתמש במודל מקומי דרך LMSTUDIO בהגדרת שרת מקומי (במקום להסתבך עם כל ההגדרות שם)?
@א-מ-ד כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
כמו כן, יש אפשרות להשתמש במודל מקומי דרך LMSTUDIO בהגדרת שרת מקומי (במקום להסתבך עם כל ההגדרות שם)?
לכאורה כן, צריך רק להריץ שרת API תואם לOPENAI ויש כזו אפשרות בSTUDIOLM אבל אני לא יודע בדיוק את הפרטים, זה נחסם בנטפרי משום מה. צריך להריץ את השרת, ולהגדיר בתוכנה שלנו על איזה כתובת בדיוק הוא רץ, בדומה להגדרות שעשינו עם OLLAMA.
-
@א-מ-ד כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
כמו כן, יש אפשרות להשתמש במודל מקומי דרך LMSTUDIO בהגדרת שרת מקומי (במקום להסתבך עם כל ההגדרות שם)?
לכאורה כן, צריך רק להריץ שרת API תואם לOPENAI ויש כזו אפשרות בSTUDIOLM אבל אני לא יודע בדיוק את הפרטים, זה נחסם בנטפרי משום מה. צריך להריץ את השרת, ולהגדיר בתוכנה שלנו על איזה כתובת בדיוק הוא רץ, בדומה להגדרות שעשינו עם OLLAMA.
@sivan22
ייש"כ רב, זה מעניין ומרתק,
אך נשמח לשמוע על התקנה מקומית,
מכיון שאנחנו משתדלים לא להפקיר את המסמכים שלנו... -
@sivan22
ייש"כ רב, זה מעניין ומרתק,
אך נשמח לשמוע על התקנה מקומית,
מכיון שאנחנו משתדלים לא להפקיר את המסמכים שלנו... -
הcmd מחזיר שגיעה @sivan22
Will exit now... Deactivate conda environment at C:\not\kotaemon-app\install_dir\env Script completed successfully. Press any key to continue . . .```
@דוד-משה-1 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
הcmd מחזיר שגיעה @sivan22
Will exit now... Deactivate conda environment at C:\not\kotaemon-app\install_dir\env Script completed successfully. Press any key to continue . . .```
@sivan22 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@ג-נרטיבי הפתרון הוא ליצור תיקייה ב:C בשם DEV ושם לעבוד.
-
שיחקתי קצת עם כלי מעניין, שמפשט עבורנו את העבודה של מה שנקרא היום RAG - Retrieval-Augmented Generation.
זה אולי שם מפוצץ אבל זה די פשוט, משתמשים בבינה מלאכותית כדי לענות על שאלות בנוגע לתוכן מסויים שאנו נותנים לו מראש. הדרך לעשות זאת היא באמצעות שני שלבים: ראשית לוקחים את המסמכים שאנו רוצים לחפש בהם ויוצרים להם אינדקס באמצעות בינה מלאכותית (חיפוש סמנטי. הסברים נוספים כאן.) לאחר מכן קולטים שאלה מהמשתמש, ומחפשים את המסמכים הכי דומים. אז המערכת לוקחת את המסמכים הללו ושולחת אותם יחד עם השאלה למודל שפה (כמו ChatGPT) ומתקבלת תשובה על סמך המסמכים הללו.
אז יש כלי שעושה בשבילנו את כל העבודה, מה שאנו צריכים זה רק להעלות לו מסמכים, לדוגמה PDF, קבצי וורד, וכו'. לחכות קצת בשביל האינדקס, ולאחר מכן לשאול שאלות בשפה חופשית.
ומה עם המנוע מאחורה? אז אם אנחנו מוכנים לשלם אז הדרך הקלה והקצרה ביותר היא להשתמש בו עם מפתח API של אחד המודלים בתשלום.
אבל אם אנחנו לא רוצים לשלם, אז אפשר בהחלט לעשות הכל על המחשב שלנו. וזה בהחלט יכול לעבוד גם בלי GPU אבל באיטיות.היופי של הכלי שהוא מציג בצד את המקורות של התשובה, וניתן מיד לבדוק את הדברים במקורם:
אם יש מי שמתעניין בזה, אני יכול לפרט יותר כיצד לחבר את המערכת למודל בתשלום, וכן כיצד ניתן לחבר אותה למודל מקומי על המחשב שלנו.
-
@משה-מזרחי @sivan22
אולי מישהו מתנדב להעלות את התוכנה המלאה עם כל המודלים הנדרשים - ככה שתעבוד בכל מחשב גם ללא אינטרנט@חיים-שנקר
אני מוסיף על הבקשה,
מחכים למישהוא שיקמפל את הכל יחד,
מי לא רוצה לחפש דברים לפי הראש שלו בהתבסס על דברים שכתב בעבר והביע בהם את דעתו.... -
@דוד-משה-1 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
הcmd מחזיר שגיעה @sivan22
Will exit now... Deactivate conda environment at C:\not\kotaemon-app\install_dir\env Script completed successfully. Press any key to continue . . .```
@sivan22 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@ג-נרטיבי הפתרון הוא ליצור תיקייה ב:C בשם DEV ושם לעבוד.
@א-מ-ד כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@דוד-משה-1 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
הcmd מחזיר שגיעה @sivan22
Will exit now... Deactivate conda environment at C:\not\kotaemon-app\install_dir\env Script completed successfully. Press any key to continue . .
@sivan22 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@ג-נרטיבי הפתרון הוא ליצור תיקייה ב:C בשם DEV ושם לעבוד.
זה לא אותה שגיעה שהייתה מקודם תכלס לא עוזר @sivan22
עם הצלחתי להבין נכון אז הבעייה היא במשתני סביבה ולא הבנתי עם אני צריך להסיר את המשתני סביבה של פיתון שמותקן לי מהתקייה הזו (ואם כן איך עושים את זה או סתם להוסיף את התקייה למשתני סביבה)
-
@אהרן שמת לב שזה אותו אחד?
לא בטעות.
הרה"ג סיון כבר דיבר על הרעיון. -
שלב 1: התקנת הכלי Kotaemon
נוריד את קובץ הזיפ מהגרסה האחרונה כאן: https://github.com/Cinnamon/kotaemon/releases/latest/
נחלץ את התוכן, ונריץ את הקובץ scripts/run_windows.bat כאשר המחשב מחובר לרשת.
ייפתח חלון שחור שבו רצות שורות של ההתקנה. לאחר שהיא מסתיימת ייפתח דפדפן שמבקש סיסמה. נכניס את המילה admin בשני השדות, ייפתח החלון הבא:
שלב 2 (אפשרות א): הגדרת API בתשלום
יש להרשם כאן ולאחר מכן ליצור API KEY
וכמובן נשמור אותו.בתוכנה שלנו ניכנס לכרטיסייה resourced ותחת LLMS נבחר באפשרות ADD ונמלא את הפרטים הבאים:
נלך לכרטיסייה הסמוכה embeddings ונמלא את הפרטים הבאים:
שלב 2 (אפשרות ב): הגדרת מודל מקומי
נתקין את המוצר ollama
נוריד מודל בשביל הייצוג המספרי: קישור
נוריד מודל שפה (DictaLM)כעת צריך להוסיף את המודלים הללו לollama :
ניצור קובץ בשם Modelfile ונכתוב בו את השורה הבאה:
FROM "C:\Users\sivan22\Downloads\dictalm2.0-instruct.Q4_K_M.gguf"
כמובן שנחליף את הנתיב בנתיב המדוייק לקובץ שהורדנו מקודם.
נריץ בשורת פקודה את השורה הבאה:
ollama create dictaLM -f Modelfile
כמובן שצריך לספק את המיקום המדוייק של הקובץ בשם Modelfile שיצרנו לעיל. (כלומר במקום Modelfile אפשר לכתוב "C:\Users\sivna22\Downloads\Modelfile")
נעשה אותו הדבר למודל השני:
FROM "C:\Users\sivan22\Downloads\multilingual-e5-large-instruct-q4_k.gguf"
ollama create e5 -f Modelfile
בתוכנה שלנו, נוסיף את המודלים הללו לפי הדוגמאות שלפנינו:
שלב 3 : העלאת קבצים
בכרטיסייה files נעלה את הקבצים וניצור להם אינדקס. (ייקח זמן עד שהם יופיעו בטבלה, כלומר שהעבודה הסתיימה):
שלב 4: צ'אט עם הקבצים שלנו
בכרטיסייה chat נסמן בצד באיזה קבצים אנו רוצים לחפש, ולאחר מכן פשוט נתחיל לשוחח עם הצ'אט אודות הקבצים:
-
שיחקתי קצת עם כלי מעניין, שמפשט עבורנו את העבודה של מה שנקרא היום RAG - Retrieval-Augmented Generation.
זה אולי שם מפוצץ אבל זה די פשוט, משתמשים בבינה מלאכותית כדי לענות על שאלות בנוגע לתוכן מסויים שאנו נותנים לו מראש. הדרך לעשות זאת היא באמצעות שני שלבים: ראשית לוקחים את המסמכים שאנו רוצים לחפש בהם ויוצרים להם אינדקס באמצעות בינה מלאכותית (חיפוש סמנטי. הסברים נוספים כאן.) לאחר מכן קולטים שאלה מהמשתמש, ומחפשים את המסמכים הכי דומים. אז המערכת לוקחת את המסמכים הללו ושולחת אותם יחד עם השאלה למודל שפה (כמו ChatGPT) ומתקבלת תשובה על סמך המסמכים הללו.
אז יש כלי שעושה בשבילנו את כל העבודה, מה שאנו צריכים זה רק להעלות לו מסמכים, לדוגמה PDF, קבצי וורד, וכו'. לחכות קצת בשביל האינדקס, ולאחר מכן לשאול שאלות בשפה חופשית.
ומה עם המנוע מאחורה? אז אם אנחנו מוכנים לשלם אז הדרך הקלה והקצרה ביותר היא להשתמש בו עם מפתח API של אחד המודלים בתשלום.
אבל אם אנחנו לא רוצים לשלם, אז אפשר בהחלט לעשות הכל על המחשב שלנו. וזה בהחלט יכול לעבוד גם בלי GPU אבל באיטיות.היופי של הכלי שהוא מציג בצד את המקורות של התשובה, וניתן מיד לבדוק את הדברים במקורם:
אם יש מי שמתעניין בזה, אני יכול לפרט יותר כיצד לחבר את המערכת למודל בתשלום, וכן כיצד ניתן לחבר אותה למודל מקומי על המחשב שלנו.
-
@א-מ-ד כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@דוד-משה-1 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
הcmd מחזיר שגיעה @sivan22
Will exit now... Deactivate conda environment at C:\not\kotaemon-app\install_dir\env Script completed successfully. Press any key to continue . .
@sivan22 כתב בהמלצה | חיפוש בינה מלאכותית בקבצים שלך - על המחשב שלך:
@ג-נרטיבי הפתרון הוא ליצור תיקייה ב:C בשם DEV ושם לעבוד.
זה לא אותה שגיעה שהייתה מקודם תכלס לא עוזר @sivan22
עם הצלחתי להבין נכון אז הבעייה היא במשתני סביבה ולא הבנתי עם אני צריך להסיר את המשתני סביבה של פיתון שמותקן לי מהתקייה הזו (ואם כן איך עושים את זה או סתם להוסיף את התקייה למשתני סביבה)
@דוד-משה-1
גם לי היו שגיאות, תתקין שוב את תעודת האבטחה של נטפרי.
לחילופין, אתה יכול להתקין בPIP את החבילות הללו:Installing collected packages: text-unidecode, striprtf, pytz, pyreadline3, pypika, pydub, mpmath, monotonic, mmh3, flatbuffers, dirtyjson, zipp, wrapt, websockets, websocket-client, urllib3, ujson, uc-micro-py, tzdata, typing_extensions, types-python-dateutil, tomlkit, tomli, tenacity, tantivy, sympy, soupsieve, sniffio, six, shellingham, semantic-version, ruff, regex, pyyaml, python-slugify, python-multipart, python-dotenv, pyproject_hooks, pyparsing, PyMuPDFb, pygments, pybind11, pyasn1, py, psutil, protobuf, platformdirs, pillow, packaging, overrides, orjson, opentelemetry-util-http, oauthlib, numpy, networkx, nest-asyncio, mypy-extensions, mdurl, markupsafe, kiwisolver, jsonpointer, joblib, jiter, importlib-resources, idna, humanfriendly, httpx-sse, httptools, html2text, h11, grpcio, greenlet, fsspec, frozenlist, fonttools, filelock, ffmpy, fastavro, exceptiongroup, et-xmlfile, distro, diskcache, defusedxml, decorator, cycler, colorama, charset-normalizer, chardet, certifi, cachetools, bcrypt, backoff, attrs, async-timeout, annotated-types, aiohappyeyeballs, aiofiles, typing-inspect, types-requests, tqdm, theflow, SQLAlchemy, rsa, retrying, retry, requests, python-dateutil, pypdf, PyMuPDF, pydantic-core, pyasn1-modules, pyarrow, pyaml, plotly, opentelemetry-proto, openpyxl, multidict, marshmallow, markdown-it-py, linkify-it-py, jsonpatch, Jinja2, importlib-metadata, httpcore, googleapis-common-protos, fasttext-wheel, deprecation, deprecated, contourpy, colorlog, coloredlogs, click, chroma-hnswlib, build, binaryornot, beautifulsoup4, asgiref, anyio, aiosignal, yarl, watchfiles, uvicorn, tiktoken, starlette, robust-downloader, rich, requests-oauthlib, pylance, pydantic, posthog, pandas, opentelemetry-exporter-otlp-proto-common, opentelemetry-api, onnxruntime, nltk, mdit-py-plugins, matplotlib, huggingface-hub, httpx, google-auth, environs, dataclasses-json, arrow, typer, tokenizers, pymilvus, opentelemetry-semantic-conventions, opentelemetry-instrumentation, openai, llama-cloud, langsmith, lancedb, kubernetes, gradio-client, fastapi, fast-langdetect, cookiecutter, aiohttp, textual, opentelemetry-sdk, opentelemetry-instrumentation-asgi, llama-index-legacy, llama-index-core, langchain-core, gradio, cohere, anthropic, trogon, opentelemetry-instrumentation-fastapi, opentelemetry-exporter-otlp-proto-grpc, llama-parse, llama-index-vector-stores-milvus, llama-index-vector-stores-lancedb, llama-index-readers-file, llama-index-llms-openai, llama-index-indices-managed-llama-cloud, llama-index-embeddings-openai, langchain-text-splitters, langchain-openai, langchain-community, langchain-anthropic, llama-index-readers-llama-parse, llama-index-multi-modal-llms-openai, llama-index-cli, llama-index-agent-openai, langchain, chromadb, llama-index-vector-stores-chroma, llama-index-program-openai, llama-index-question-gen-openai, llama-index, llama-hub, kotaemon
ככה:
pip install text-unidecode striprtf pytz pyreadline3 pypika pydub mpmath monotonic mmh3 flatbuffers dirtyjson zipp wrapt websockets websocket-client urllib3 ujson uc-micro-py tzdata typing_extensions types-python-dateutil tomlkit tomli tenacity tantivy sympy soupsieve sniffio six shellingham semantic-version ruff regex pyyaml python-slugify python-multipart python-dotenv pyproject_hooks pyparsing PyMuPDFb pygments pybind11 pyasn1 py psutil protobuf platformdirs pillow packaging overrides orjson opentelemetry-util-http oauthlib numpy networkx nest-asyncio mypy-extensions mdurl markupsafe kiwisolver jsonpointer joblib jiter importlib-resources idna humanfriendly httpx-sse httptools html2text h11 grpcio greenlet fsspec frozenlist fonttools filelock ffmpy fastavro exceptiongroup et-xmlfile distro diskcache defusedxml decorator cycler colorama charset-normalizer chardet certifi cachetools bcrypt backoff attrs async-timeout annotated-types aiohappyeyeballs aiofiles typing-inspect types-requests tqdm theflow SQLAlchemy rsa retrying retry requests python-dateutil pypdf PyMuPDF pydantic-core pyasn1-modules pyarrow pyaml plotly opentelemetry-proto openpyxl multidict marshmallow markdown-it-py linkify-it-py jsonpatch Jinja2 importlib-metadata httpcore googleapis-common-protos fasttext-wheel deprecation deprecated contourpy colorlog coloredlogs click chroma-hnswlib build binaryornot beautifulsoup4 asgiref anyio aiosignal yarl watchfiles uvicorn tiktoken starlette robust-downloader rich requests-oauthlib pylance pydantic posthog pandas opentelemetry-exporter-otlp-proto-common opentelemetry-api onnxruntime nltk mdit-py-plugins matplotlib huggingface-hub httpx google-auth environs dataclasses-json arrow typer tokenizers pymilvus opentelemetry-semantic-conventions opentelemetry-instrumentation openai llama-cloud langsmith lancedb kubernetes gradio-client fastapi fast-langdetect cookiecutter aiohttp textual opentelemetry-sdk opentelemetry-instrumentation-asgi llama-index-legacy llama-index-core langchain-core gradio cohere anthropic trogon opentelemetry-instrumentation-fastapi opentelemetry-exporter-otlp-proto-grpc llama-parse llama-index-vector-stores-milvus llama-index-vector-stores-lancedb llama-index-readers-file llama-index-llms-openai llama-index-indices-managed-llama-cloud llama-index-embeddings-openai langchain-text-splitters langchain-openai langchain-community langchain-anthropic llama-index-readers-llama-parse llama-index-multi-modal-llms-openai llama-index-cli llama-index-agent-openai langchain chromadb llama-index-vector-stores-chroma llama-index-program-openai llama-index-question-gen-openai llama-index llama-hub kotaemon
עריכה: נראה שזה מתקין עוד...