דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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.1k צפיות 15 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י. פל.י מנותק
    י. פל.י מנותק
    י. פל.
    כתב נערך לאחרונה על ידי י. פל.
    #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
      • י. פל.י י. פל.

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

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

        א. השימוש

        אחרי שהורדתם הכל, אם ברצונכם לתרגם חלון שלם, הפעילו את הסקריפט, לחצו על מספר החלון שאותו אתם רוצים לתרגם, וקבלו חלון קופץ של 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 אשמח שתסתכל על זה, ותעיר הערותיך.

        צ מנותק
        צ מנותק
        צדיק וטוב לו 0
        כתב נערך לאחרונה על ידי
        #3
        פוסט זה נמחק!
        תגובה 1 תגובה אחרונה
        0
        • י. פל.י י. פל.

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

          ollama run aminadaven/dictalm2.0-instruct:q2_k
          

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

          א מחובר
          א מחובר
          אלף שין
          כתב נערך לאחרונה על ידי אלף שין
          #4
          פוסט זה נמחק!
          תגובה 1 תגובה אחרונה
          0
          • י. פל.י י. פל.

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

            ollama run aminadaven/dictalm2.0-instruct:q2_k
            

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

            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
                  • י. פל.י י. פל.

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

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

                    א. השימוש

                    אחרי שהורדתם הכל, אם ברצונכם לתרגם חלון שלם, הפעילו את הסקריפט, לחצו על מספר החלון שאותו אתם רוצים לתרגם, וקבלו חלון קופץ של 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 אשמח שתסתכל על זה, ותעיר הערותיך.

                    עם ישראל חייע מנותק
                    עם ישראל חייע מנותק
                    עם ישראל חיי
                    כתב נערך לאחרונה על ידי
                    #9

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

                    י. פל.י תגובה 1 תגובה אחרונה
                    0
                    • עם ישראל חייע עם ישראל חיי

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

                      י. פל.י מנותק
                      י. פל.י מנותק
                      י. פל.
                      כתב נערך לאחרונה על ידי
                      #10

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

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

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

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

                      • התחברות

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

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