דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. כללי - עזרה הדדית
  3. מדריך | תרגום לא מקוון - באמצעות AI, בטא...

מדריך | תרגום לא מקוון - באמצעות AI, בטא...

מתוזמן נעוץ נעול הועבר כללי - עזרה הדדית
10 פוסטים 5 כותבים 1.0k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י. פל.י מנותק
    י. פל.י מנותק
    י. פל.
    כתב נערך לאחרונה על ידי י. פל.
    #1

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

    הנה מדריך מקוצר מאוד, פירוט והסבר מפורט מיד אחרי!

    א. השימוש

    אחרי שהורדתם הכל, אם ברצונכם לתרגם חלון שלם, הפעילו את הסקריפט, לחצו על מספר החלון שאותו אתם רוצים לתרגם, וקבלו חלון קופץ של POT עם התרגום.
    824ec85d-18d8-4db9-8120-5e748969fb97-image.png
    אם אתם סתם רוצים לתרגם טקסט, בחרו קיצור מקשים בתוכנה [Hotkey], בחרו את הטקסט לתרגום ולחצו על קיצור המקשים, או פתחו את חלון התרגום.

    ב. ההורדה

    לבעלי רשת, כאן:
    https://mitmachim.top/post/855115
    לאלו שב"ה אין להם:
    הורידו את הסקריפט
    הורידו את POT
    הורידו את ollama
    הורידו את המודל
    כעת, נשאר להגדיר את המודל, ע"י יצירת קובץ וכתיבת פקודה בשורת הפקודה [פירוט בספויילר, בהמשך]
    ולהגדיר את POT לעבוד עם ollama.
    זהו!

    וכעת בארוכה...
    התוכנה מתחלקת ל3:
    תוכנת קריאת המסך
    תוכנת התרגום
    ותוכנת הטיפול בAI [לא מצאתי הגדרה יותר מדוייקת, הסבר בהמשך הפוסט].

    תוכנת קריאת המסך:
    זהו סקריפט שאת בסיסו יצר @האדם-החושב ושיפרתי מעט באמצעות @ChatGPT [לא היוזר... הצ'אט...] הסקריפט משתמש בספריה מובנית, שפשוט קוראת את הטקסט שמודפסת למסך, ללא צורך בOCR מה שממהר את הדבר, חוסך במשאבים ומדויק לגמרי. החסרון, שהוא גם עלול לפשל בתוכנות ישנות, שלא מותאמות למערכות ווינדוס החדשות.
    תוכנת התרגום:
    התוכנה נקראית POT, כרגע באנגלית, תרגמתי אותה ובגרסה הבאה בעז"ה היא תהיה בעברית.
    התוכנה מקבלת את הטקסט מהסקריפט, ושולחת אותו לתוכנה הבאה.
    [אגב, לתוכנה אין אפשרות לתרגום לעברית, @האדם-החושב ביקש מהמפתח, נקווה שהוא יענה. לענייננו, בהמשך ההדרכה נראה איך עוקפים את זה... ]
    תוכנת הטיפול בAI:
    תוכנת ollama, אם הבנתי נכון, נועדה לקבל מודלי AI, ואז לפתוח שרת מקומי, לקבל בקשות ולהחזירן. אם, נניח, אני רוצה לכתוב תוכנה שתתמשק עם מודלי AI, אבל אני לא רוצה להתעסק איתם, אני פשוט קורא לollama, עם בקשה, והיא מטפלת במודל ומחזירה לי את התשובה.

    וכעת לעבודה:
    הסקריפט:
    איסוף טקסט מהמסך.exe

    הנה קוד המקור

    import tkinter as tk
    from tkinter import messagebox
    from pywinauto import Desktop
    import requests
    
    # פונקציה לשליחת טקסט לשרת
    def send_to_server(window_index):
        try:
            selected_window = windows[window_index]
            elements = [element.window_text() for element in selected_window.descendants() if element.element_info.control_type == "Text"]
            join_list = "\n".join(elements)
    
            # שליחת הנתונים לשרת
            requests.post("http://127.0.0.1:60828/translate", data=join_list)
            show_success_message("הטקסט נשלח בהצלחה!")
        except Exception as e:
            messagebox.showerror("שגיאה", f"שגיאה בשליחה: {e}")
    
    # פונקציה להראות הודעת הצלחה ולסגור אוטומטית
    def show_success_message(message):
        success_window = tk.Toplevel(root)
        success_window.title("הצלחה")
        label = tk.Label(success_window, text=message)
        label.pack(padx=20, pady=20)
    
        # סגירת החלון לאחר 2.5 שניות
        success_window.after(2500, success_window.destroy)
    
    # פונקציה לרענון רשימת החלונות
    def refresh_windows():
        global windows
        windows = desktop.windows()
        listbox.delete(0, tk.END)  # ניקוי הרשימה הקודמת
        for i, window in enumerate(windows):
            listbox.insert(tk.END, f"{i}: {window.window_text()}")
    
    # פונקציה לטיפול בלחיצה על מקש
    def on_key_press(event):
        if event.char.isdigit():
            index = int(event.char)
            if 0 <= index < len(windows):
                send_to_server(index)
            else:
                messagebox.showwarning("בחירה לא תקינה", "אנא הכנס מספר תקין.")
    
    # יצירת חלון GUI
    root = tk.Tk()
    root.title("בחירת חלון")
    
    # קבלת כל החלונות הפתוחים
    desktop = Desktop(backend="uia")
    windows = desktop.windows()
    
    # יצירת תיבת רשימה להצגת כל החלונות הפתוחים עם מספרים
    listbox = tk.Listbox(root, height=15, width=50)
    refresh_windows()  # רענון ראשוני של הרשימה
    listbox.pack()
    
    # יצירת כפתור רענון
    refresh_button = tk.Button(root, text="רענן", command=refresh_windows)
    refresh_button.pack()
    
    # חיבור אירוע למקש
    root.bind("<Key>", on_key_press)
    
    # יצירת כפתור יציאה
    exit_button = tk.Button(root, text="יציאה", command=root.quit)
    exit_button.pack()
    
    # הפעלת הלולאת GUI
    root.mainloop()
    

    פוט:
    https://github.com/pot-app/pot-desktop
    הורדה ישירה:
    https://github.com/pot-app/pot-desktop/releases/download/3.0.5/pot_3.0.5_x64-setup.exe

    ollama:
    יש הדרכה בפוסט הזה, https://mitmachim.top/post/850262
    צריך רק את המודל של דיקטה!
    עדכון: מודל נוסף בפוסט הבא!
    אם אתם מחוברים לרשת, הפעילו את ollama, ובשורת הפקודה הדביקו:

    ollama run aminadaven/dictalm2.0:q4_k_m
    

    הוא יעשה הכל לבד...

    אבל בקיצור: התקינו את התוכנה:
    https://ollama.com/download/OllamaSetup.exe
    הורידו את המודל:
    https://huggingface.co/dicta-il/dictalm2.0-GGUF/blob/main/dictalm2.0.Q4_K_M.gguf
    ניצור קובץ בשם Modelfile ונכתוב בו את השורה הבאה:

    FROM "C:\Users\sivan22\Downloads\dictalm2.0-instruct.Q4_K_M.gguf"
    

    כמובן שנחליף את הנתיב בנתיב המדוייק לקובץ שהורדנו מקודם.
    נריץ בשורת פקודה כשתוכנת ollama פועלת את השורה הבאה:

    ollama create dictaLM -f Modelfile
    

    כמובן שצריך לספק את המיקום המדוייק של הקובץ בשם Modelfile שיצרנו לעיל. (כלומר במקום Modelfile אפשר לכתוב "C:\Users\sivna22\Downloads\Modelfile")
    כעת ניתן למחוק את הקובץ, התוכנה כותבת אותו לעצמה [ככה אני חושב, מקווה לא טעיתי...].

    שלב אחרון: הגדרת תוכנת התרגום.
    הפעל את תוכנת ollama, פתח את POT, בלשונית "שירות" נפתח את "הוסף שירות מובנה", נגלול עד שנגיע לollama, נבחר וליד הכיתוב "מודל" [מודל הAI] נכתוב dictaLM, בחלונית USER נוסיף את המילה hebrew, כמו בתמונה האחרונה, כך שהמודל ידע שהוא צריך לתרגם לעברית.
    ואז נלחץ על save [שמור] וזהו!
    קרדיט ל @sivan22 שלימד אותי את זה!

    אם אחרי שהקלדתם את המודל כתוב "מוכן", הצלחתם. אם כתוב "התקן", אז בדקו את רשימת המודלים המותקנים בתוכנה [בהתקנה מהרשת זה יכול להקרא dictaLM:latest]. איך בודקים? כותבים בשורת הפקודה: ollama list, והמודלים מוצגים.
    d44dc9bb-44ac-492f-8593-18908cc92c2e-image.png

    תמונות של התהליך, בספויילר.
    שימו לב, זה מהזמן שהתוכנה עוד הייתה באנגלית...

    f4025d06-252a-44c3-9aed-ce00aaf6c47e-image.png
    db61f75b-9ac8-4bb3-89b6-6110084fe0e5-image.png
    99b934c2-e5aa-44a4-830e-8aa9ba4e22da-image.png
    37b34ccf-feca-4e45-aad7-206ca445fa1f-image.png
    96177de9-5340-4f70-b876-2c23737e6416-image.png

    כעת, כשנריץ את הסקריפט הוא יתן לנו את רשימת החלונות, ובבחירת חלון הטקסט שלו יאסף, ילך אל POT שתבקש מollama לתרגם אותו, ואז יוצג לנו התרגום בחלון קופץ [המתקרא "פופ-אפ"].

    החסרונות:
    מודל הAI של דיקטה הוא גדול, יותר מ4GB.
    זה גם תופס מקום, וגם, ובעיקר, צורך המון משאבים, ועד שהוא מתרגם זה...
    חשבתי להשתמש במודלים קטנים, של הלסינקי, אך הם לא מתרימים לתוכנת ollama. אין לי פתרון לזה כרגע.
    חסרון נוסף:
    למרות שבפרומפט שPOT שלוח לollama יש אזהרות ברורות לתרגום בלבד, המודל של דיקטה מתעלם מהם לפעמים, ולא תמיד נותן רק תרגום... אולי צריך לכתוב את האזהרות הללו בעברית...

    לתגובות, נפתח נושא חדש, אנא הגיבו רק שם!!!
    https://mitmachim.top/topic/75234/שאלה-תגובה-על-מדריך-לתרגום-מסך?_=1727390277742

    @sivan22 אשמח שתסתכל על זה, ותעיר הערותיך.

    צ עם ישראל חייע 2 תגובות תגובה אחרונה
    24
    • י. פל.י מנותק
      י. פל.י מנותק
      י. פל.
      כתב נערך לאחרונה על ידי י. פל.
      #2

      עדכון:
      מצאתי כעת מודל של דיקטה, קטן יותר [וממילא מהיר יותר]. אין לי התרשמות מעשית כעת מהמודל.
      למחוברים לרשת:

      ollama run aminadaven/dictalm2.0-instruct:q2_k
      

      והקלידו בהגדרות POT [במודל] aminadaven/dictalm2.0-instruct:q2_k
      לאינם מחוברים, הורידו את המודל הזה, צרו קובץ כנ"ל והריצו אותו בשורת הפקודה כנ"ל.

      א NH.LOCALN 2 תגובות תגובה אחרונה
      5
      • צ מנותק
        צ מנותק
        צדיק וטוב לו 0
        השיב לי. פל. נערך לאחרונה על ידי
        #3
        פוסט זה נמחק!
        תגובה 1 תגובה אחרונה
        0
        • א מנותק
          א מנותק
          אלף שין
          השיב לי. פל. נערך לאחרונה על ידי אלף שין
          #4
          פוסט זה נמחק!
          תגובה 1 תגובה אחרונה
          0
          • NH.LOCALN מנותק
            NH.LOCALN מנותק
            NH.LOCAL מדריכים
            השיב לי. פל. נערך לאחרונה על ידי
            #5

            @י-פל כתב במדריך | תרגום לא מקוון - באמצעות AI, בטא...:

            עדכון:
            מצאתי כעת מודל של דיקטה, קטן יותר [וממילא מהיר יותר]. אין לי התרשמות מעשית כעת מהמודל.

            בדרך כלל מודל קטן יותר מ-q4 לא מומלץ לשימוש, מכיוון שהביצועים שלו נפגעים מאוד. גרסת ה-q2 אמורה להיות ממש ממש גרועה

            לאינדקס המלא של כלל הסקריפטים שלי
            https://nhlocal.github.io

            תגובה 1 תגובה אחרונה
            2
            • י. פל.י מנותק
              י. פל.י מנותק
              י. פל.
              כתב נערך לאחרונה על ידי
              #6

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

              winget install --id=Ollama.Ollama  -e
              

              ואז:

              winget install --id=Pylogmon.pot  -e
              

              ואז:

              ollama run aminadaven/dictalm2.0:q4_k_m
              

              הורידו את הסקריפט, ונשאר לכם רק להגדיר את POT.
              בהצלחה!

              תגובה 1 תגובה אחרונה
              4
              • י. פל.י מנותק
                י. פל.י מנותק
                י. פל.
                כתב נערך לאחרונה על ידי
                #7

                מפתחים?
                אשמח אם תעזרו לי:

                1. שהסקריפט ירוץ אוטומטית על אותו חלון כל אירוע הדפסה למסך, או כל לחיצת עכבר [עם אפשרות לעצירה].
                2. UI נורמלי [ניסיתי עם QT, וקיבלתי שגיאות].
                3. העברה לשפה מהירה יותר מפייתון...
                  את מי כדאי לתייג?
                תגובה 1 תגובה אחרונה
                0
                • י. פל.י מנותק
                  י. פל.י מנותק
                  י. פל.
                  כתב נערך לאחרונה על ידי
                  #8

                  עדכון:
                  POT כעת בעברית!
                  אם מתקן לכם באנגלית,
                  0fd9d269-8e04-4cf4-abdd-0db5a91ef0af-image.png
                  בחרו פה בעברית.
                  לא לשכוח להגדיר שהתרגום יהיה לעברית, פה:
                  49f5cfe9-eaac-40d8-a375-a0d46e36eb25-image.png

                  תגובה 1 תגובה אחרונה
                  4
                  • עם ישראל חייע מנותק
                    עם ישראל חייע מנותק
                    עם ישראל חיי
                    השיב לי. פל. נערך לאחרונה על ידי
                    #9

                    @י-פל אין אפשרות להוריד איזה תכנה שתוריד לי את כל זה ואח"F השימוש יהיה אופליין?

                    י. פל.י תגובה 1 תגובה אחרונה
                    0
                    • י. פל.י מנותק
                      י. פל.י מנותק
                      י. פל.
                      השיב לעם ישראל חיי נערך לאחרונה על ידי
                      #10

                      @עם-ישראל-חיי כתב במדריך | תרגום לא מקוון - באמצעות AI, בטא...:

                      @י-פל אין אפשרות להוריד איזה תכנה שתוריד לי את כל זה ואח"F השימוש יהיה אופליין?

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

                      תגובה 1 תגובה אחרונה
                      1

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

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