• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    חיבור ימות המשיח לגמיני בחצי שעה API

    מתוזמן נעוץ נעול הועבר פורום מפתחים API
    16 פוסטים 4 כותבים 68 צפיות 5 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ה מנותק
      התחלה
      נערך לאחרונה על ידי

      מעלה את הקובץ בצורה שבטוח לא יהיה תקלות תוכל לראות את המדריך הנה. צריך פשוט לעשות שלב אחרי שלב. שלום לכולם! במדריך זה נקים מערכת חכמה בקו: המשתמש מקליט שאלה, וג'מיני )הבינה המלאכותית
      החדשה של גוגל בגרסה 2.5( מחזירה לו תשובה קולית אישית לתוך שלוחה ייעודית.
      א. הקמת השרת ופתיחת "חומת האש"
      נשתמש בשרת חינמי של Cloud Google.
      הרשמה: היכנסו ל-Console Cloud Google. תצטרכו להירשם )נדרש אשראי לזיהוי בלבד, גוגל לא מחייבת
      ללא אישורכם(.
      הקמת השרת: חפשו בשורה העליונה את הסמל <_ )Shell Cloud )ולחצו עליו.
      הפקודות המנצחות: העתיקו את השורות הבאות לחלונית השחורה ולחצו Enter:
      Bash

      .1 הזמנת כתובת IP קבועה

      gcloud compute addresses create gemini-static-ip --region=us-central1

      .2 הקמת השרת )micro2-e הוא במסגרת ה-Tier Free)

      gcloud compute instances create geminibot-server --machine-type=e2-micro
      --zone=us-central1-a --address=gemini-static-ip --image-family=ubuntu-2204-lts
      --image-project=ubuntu-os-cloud

      .3 פתיחת פורט 5000 לתקשורת עם ימות המשיח

      gcloud compute firewall-rules create allow-gemini-port --allow tcp:5000
      התחברות: עברו ל-דף המכונות. תחת העמודה IP External תופיע הכתובת שלכם – שמרו אותה! כעת לחצו
      על כפתור ה-SSH בשורה של השרת.
      ב. השגת מפתח ה-API והכנת הקוד
      Create API key in new על ואז Get API Key על לחצו .Google AI Studio-ל כנסו :מפתח הוצאת
      project. העתיקו את הקוד הארוך שקיבלתם.
      התקנה בשרת )בחלון ה-SSH השחור(: הריצו את הפקודה הבאה )התקנת הספריות עם תיקון לסביבות
      Ubuntu חדשות(:
      Bash
      sudo apt update && sudo apt install gunicorn -y && pip3 install flask requests
      google-generativeai edge-tts asyncio --break-system-packages
      יצירת קובץ הקוד: הקישו py.server nano והדביקו בפנים את הקוד הבא. חשוב: עדכנו את הפרטים שלכם
      בשורות :10-12
      Python
      import os, requests, threading, asyncio, uuid, time, edge_tts
      import google.generativeai as genai
      from flask import Flask, request
      import re, queue

      --- הגדרות אישיות - חובה למלא בתוך המירכאות ---

      KEY_API" = הדבק_כאן_מפתח_API"
      ID_SYSTEM" = מספר_המערכת_בימות_המשיח"
      PASSWORD" = סיסמת_המערכת"
      ---------------------------------------------- #
      )genai.configure(api_key=API_KEY
      2.5 לגרסה הגדרה #'( model = genai.GenerativeModel('gemini-2.5-flash
      )__app = Flask(__name
      )(processing_phones = set
      )(job_queue = queue.Queue
      :)async def generate_voice(text, output_file
      )"communicate = edge_tts.Communicate(text, "he-IL-HilaNeural
      )await communicate.save(output_file
      :)def ensure_folder_exists_and_configured(token, path

      יצירת התיקייה

      requests.get(f"https://www.call2all.co.il/ym/api/CreateIVR2Dir?token={token}&path=ivr2:{path
      )"}

      הגדרת הודעה למשתמש למקרה שהקובץ עוד לא מוכן )במקום שקט/ניתוק(

      config_data =
      b"type=playfile\nsay_no_files=t-\xd7\x94\xd7\xaa\xd7\xa9\xd7\x95\xd7\x91\xd7\x94
      \xd7\x91\xd7\x94\xd7\x9b\xd7\xa0\xd7\x94, \xd7\xa0\xd7\xa1\xd7\x95
      \xd7\xa9\xd7\x95\xd7\x91 \xd7\x91\xd7\xa2\xd7\x95\xd7\x93
      "\xd7\xa8\xd7\xa2\xd7\xa0\xd7\x94\n
      ,"requests.post("https://www.call2all.co.il/ym/api/UploadFile
      ,}'data={'token': token, 'path': f'ivr2:{path}/ext.ini
      )})files={'file': ('ext.ini', config_data
      :)def get_next_file_number(token, path
      :try
      res =
      requests.get(f"https://www.call2all.co.il/ym/api/GetIVR2Dir?token={token}&path=ivr2:{path}").
      )(json
      nums = [int(re.search(r'(\d{3})', f.get('name', '')).group(1)) for f in res.get("files", []) if
      ]))'' ,'re.search(r'(\d{3})', f.get('name
      "return f"{max(nums) + 1:03d}.mp3" if nums else "000.mp3
      "except: return "000.mp3
      :)def process_job(folder, phone
      ]uid = uuid.uuid4().hex[:6
      "tmp_in, tmp_out = f"in_{uid}.wav", f"out_{uid}.mp3
      audio_upload = None
      :try
      login_res =
      requests.get(f"https://www.call2all.co.il/ym/api/Login?username={SYSTEM_ID}&password={
      )(PASSWORD}").json
      )"token = login_res.get("token
      if not token: return
      list_res =
      requests.get(f"https://www.call2all.co.il/ym/api/GetIVR2Dir?token={token}&path=ivr2:{folder}"
      )().json
      files = [f for f in list_res.get("files", []) if f.get("name", "").lower().endswith((".wav",
      ]))"".mp3
      if not files: return
      ]"last_file = sorted(files, key=lambda x: x["name"])[-1]["name
      :with open(tmp_in, "wb") as f
      f.write(requests.get(f"https://www.call2all.co.il/ym/api/DownloadFile?token={token}&path=ivr2
      ):{folder}/{last_file}").content

      העלאה לגוגל

      )audio_upload = genai.upload_file(path=tmp_in
      prompt" = ענה בעברית. ספק תשובה מפורטת ללא סימני עיצוב )כוכביות או סולמיות( להקראה
      קולית."
      )]response = model.generate_content([audio_upload, prompt
      )(clean_text = response.text.replace('*', '').replace('#', '').replace('_', '').strip

      יצירת קול

      ))asyncio.run(generate_voice(clean_text, tmp_out

      העלאה חזרה לימות המשיח

      "}personal_path = f"6/{phone
      )ensure_folder_exists_and_configured(token, personal_path
      )target_name = get_next_file_number(token, personal_path
      :with open(tmp_out, 'rb') as f
      ,"requests.post("https://www.call2all.co.il/ym/api/UploadFile
      data={'token': token, 'path': f'ivr2:{personal_path}/{target_name}',
      )}'convertAudio': 1}, files={'file': f

      מחיקת קובץ המקור מהשלוחה

      requests.get(f"https://www.call2all.co.il/ym/api/DeleteFile?token={token}&path=ivr2:{folder}/{l
      )"}ast_file
      )"}except Exception as e: print(f"Error: {e
      :finally

      ניקוי יסודי - גם מהשרת וגם משרתי גוגל AI

      :if audio_upload
      )try: genai.delete_file(audio_upload.name
      except: pass
      :]for f in [tmp_in, tmp_out
      )if os.path.exists(f): os.remove(f
      :)(def worker
      :while True
      )(folder, phone = job_queue.get
      )try: process_job(folder, phone
      :finally
      )processing_phones.discard(phone
      )(job_queue.task_done
      )time.sleep(5
      )(threading.Thread(target=worker, daemon=True).start
      )]'app.route('/answer', methods=['GET', 'POST@
      :)(def answer
      )'phone = request.args.get('ApiPhone', 'unknown
      ]:if phone.startswith("972"): phone = "0" + phone[3
      )'ext = request.args.get('ApiExtension
      :"if ext == "4
      :if phone not in processing_phones
      )processing_phones.add(phone
      ))job_queue.put(("3", phone
      "hangup=yes&.6 בשלוחה בקרוב תופיע התשובה .התקבלה הבקשה-return "id_list_message=t
      :"elif ext == "6
      "}return f"go_to_folder=/6/{phone
      "return "ok
      :'__if name == '__main
      )app.run(host='0.0.0.0', port=5000
      .לשמירה Ctrl+X ואז ,Enter אז ,Ctrl+O לחצו
      ג. הגדרות "ימות המשיח" )ניהול המערכת(
      יש להגדיר את השלוחות בממשק הניהול של ימות המשיח תחת "הגדרות מתקדמות":
      שלוחה 3 )הקלטת השאלה(:
      Ini, TOML
      type=record
      folder_to_record=3
      record_ok=go_to_folder
      record_ok_data=/4
      שלוחה 4 )העברה לעיבוד(: )החליפו את ה-IP בכתובת שלכם(
      Ini, TOML
      type=api
      answer/5000:]שלכם_IP-ה]//:api_link=http
      שלוחה 6 )שמיעת התשובה(: חובה להגדיר כ-API בדיוק כמו שלוחה :4
      Ini, TOML
      type=api
      answer/5000:]שלכם_IP-ה]//:api_link=http
      ד. הרצה קבועה )24/7(
      כדי שהבוט ימשיך לעבוד גם כשה-SSH סגור:
      הקישו whoami כדי לראות את שם המשתמש )למשל ubuntu).
      sudo nano /etc/systemd/system/geminibot.service :הקישו
      הדביקו )החליפו את NAME_USER בשם שקיבלתם(:
      Ini, TOML
      ]Unit[
      Description=Gemini Bot Service
      After=network.target
      ]Service[
      User=USER_NAME
      WorkingDirectory=/home/USER_NAME
      ExecStart=/usr/local/bin/gunicorn -w 1 -b 0.0.0.0:5000 server:app
      Restart=always
      ]Install[
      WantedBy=multi-user.target
      שמרו והפעילו:
      Bash
      sudo systemctl daemon-reload
      sudo systemctl enable geminibot
      sudo systemctl start geminibot
      זהו! המערכת מחוברת ל2.5- Gemini. המשתמש מקליט בשלוחה ,3 והשרת דואג לעבד, להקריא ולנקות
      אחריו את כל הקבצים המיותרים

      תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • ה מנותק
        התחלה
        נערך לאחרונה על ידי

        מדריך איך בחצי שעה לחבר קו של ימות המשיח לגמיני.docx מצרף קובץ וורד, למי שהקישור הראשון לא עובד.

        C תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • C מנותק
          CUBASE @התחלה
          נערך לאחרונה על ידי

          @התחלה אפשר להתחבר לג׳מיני גם תוך 10 דקות הרבה יותר בקלות וללא הכנסת פרטי אשראי, אם היית קצת חוקר על זה יותר מלשאול AI

          מלבד זאת שאין לי מושג איזה AI חרטט לך ש-2.5 זה החדש - מדובר על מודל מלפני כמעט שנה..
          כיום סדרת המודלים המתקדמת ביותר של גוגל היא Gemini 3

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • ה מנותק
            התחלה
            נערך לאחרונה על ידי

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

            C תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • C מנותק
              CUBASE @התחלה
              נערך לאחרונה על ידי CUBASE

              @התחלה א"א בלי שרת באמצע אבל אפשר לפתוח שרת בצורה הרבה יותר קלה בחברה אחרת שלא דורשת פרטי אשראי

              אם אתה רוצה להגיב למשתמש תלחץ על "תגובה"

              תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • ה מנותק
                התחלה
                נערך לאחרונה על ידי

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

                C תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • C מנותק
                  CUBASE @התחלה
                  נערך לאחרונה על ידי CUBASE

                  @התחלה לפי מה שאתה יודע כי שאלת AI...

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

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • ה מנותק
                    התחלה
                    נערך לאחרונה על ידי

                    זה טענה עניינית,

                    תגובה 1 תגובה אחרונה תגובה ציטוט 1
                    • ה מנותק
                      התחלה
                      נערך לאחרונה על ידי

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

                      C תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • C מנותק
                        CUBASE @התחלה
                        נערך לאחרונה על ידי

                        @התחלה גם הקו שפתחת, לדעתי תשאל את ג׳מיני איך לסנן את זה, לפחות בצורה מינימלית

                        תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • פוסט ראשון
                          פוסט אחרון