• השמעת קבצים בAPI

    28
    0 הצבעות
    28 פוסטים
    723 צפיות
    ע
    @צדיק-תמים כן, זה תלוי בזרימת השיחה שהוא רוצה שתהיה.
  • נושא זה נמחק!

    1
    0 הצבעות
    1 פוסטים
    3 צפיות
    אין תגובות
  • לא מצליח להשמיעה קבצים

    11
    1 הצבעות
    11 פוסטים
    252 צפיות
    ט
    @פלמנמוני אנה הקוד אבל יש לי בעיה קטנה אני רציתי שישירות אחרי שאוה מבי את התשובה יבא את התשובה לממיר טקסט לקול שלהם ואז ישמיעה את הקובץ למשתמש וזה לא משמיעה את הקובץ import requests from flask import Flask, request, Response import warnings import re from google import genai from google.genai import types import wave import io # הקוד הזה מסתיר את אזהרות ה-SSL הלא קריטיות שהופיעו קודם from requests.packages.urllib3.exceptions import InsecureRequestWarning warnings.simplefilter('ignore', InsecureRequestWarning) app = Flask(__name__) # פונקציה לשמירת האודיו לקובץ במדיום זיכרון במקום לשמור כקובץ def wave_file_in_memory(pcm, channels=1, rate=24000, sample_width=2): buf = io.BytesIO() with wave.open(buf, "wb") as wf: wf.setnchannels(channels) wf.setsampwidth(sample_width) wf.setframerate(rate) wf.writeframes(pcm) buf.seek(0) return buf @app.route('/app.py', methods=['GET']) def handle_gemini_request(): print(">>> Request received! Processing with Gemini...") txt = request.args.get('txt') if not txt or len(txt.strip()) < 2: return "read=t-אנא הקלד שאלה ברורה ומלאה.=txt,,,,,HebrewKeyboard," # ==================== המפתח שלך ==================== api_key = "AIzaSyB6AxGaSia5qH43lOp2v268mMWEpwKRDqA" # ================================================== # שימוש בשם מודל מהדור החדש, לפי התיעוד model = "gemini-2.0-flash" api_url = f"https://generativelanguage.googleapis.com/v1/models/{model}:generateContent?key={api_key}" headers = {'Content-Type': 'application/json'} data = { 'contents': [{ 'parts': [{'text': txt}] }] } try: response = requests.post(api_url, json=data, headers=headers, verify=False, timeout=20) print(f">>> Raw response status code: {response.status_code}") print(f">>> Raw response text: {response.text}") response.raise_for_status() response_json = response.json() if 'candidates' not in response_json or not response_json['candidates']: print("!!! Gemini response is missing 'candidates'. Possibly blocked by safety filters.") return "read=t-השאלה שלך נחסמה או שלא התקבלה תשובה ברורה. נסה לשאול אחרת.=txt,,,,,HebrewKeyboard," generated_text = response_json['candidates'][0]['content']['parts'][0]['text'] print(f">>> Gemini Response: {generated_text}") except requests.exceptions.Timeout: print("!!! Request to Google API timed out!") return "read=t-לשרת לוקח יותר מדי זמן לענות. נסה שוב מאוחר יותר.=txt,,,,,HebrewKeyboard," except requests.exceptions.HTTPError as e: print("\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") print(">>> GOOGLE API RETURNED AN HTTP ERROR!") print(f">>> Status Code: {e.response.status_code}") print(f">>> Response Body: {e.response.text}") print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n") return "read=t-שגיאה בתקשורת עם הבינה המלאכותית. ייתכן ששם המודל אינו נכון.=txt,,,,,HebrewKeyboard," except Exception as e: print(f"!!! An unexpected error occurred: {e}") return "read=t-אירעה שגיאה לא צפויה.=txt,,,,,HebrewKeyboard," # ---- עיבוד התשובה וחיתוך למקטעים ---- generated_text = re.sub(r'[^A-Za-z0-9א-ת ]', '', generated_text) # הסרת סימנים מיוחדים כמו ** # המרת טקסט לדיבור באמצעות Gemini API (TTS) client = genai.Client() response = client.models.generate_content( model="gemini-2.5-flash-preview-tts", # או המודל הרלוונטי לך contents=generated_text, config=types.GenerateContentConfig( response_modalities=["AUDIO"], speech_config=types.SpeechConfig( voice_config=types.VoiceConfig( prebuilt_voice_config=types.PrebuiltVoiceConfig( voice_name='Kore', # בחירת הקול מתוך המובנים ) ) ) ) ) data = response.candidates[0].content.parts[0].inline_data.data # שמירת האודיו במדיום זיכרון buf = wave_file_in_memory(data) # החזרת האודיו ישירות כתגובה ב-HTTP return Response(buf, mimetype='audio/wav') if __name__ == '__main__': app.run(host='0.0.0.0', port=5001, debug=True) הקוד שעובד בלא המרה לאודיו את התשובה import requests from flask import Flask, request import warnings import re # הקוד הזה מסתיר את אזהרות ה-SSL הלא קריטיות שהופיעו קודם from requests.packages.urllib3.exceptions import InsecureRequestWarning warnings.simplefilter('ignore', InsecureRequestWarning) app = Flask(__name__) @app.route('/app.py', methods=['GET']) def handle_gemini_request(): print(">>> Request received! Processing with Gemini...") txt = request.args.get('txt') if not txt or len(txt.strip()) < 2: return "read=t-אנא הקלד שאלה ברורה ומלאה.=txt,,,,,HebrewKeyboard," api_key = "AIzaSyB6AxGaSia5qH43lOp2v268mMWEpwKRDqA" model = "gemini-2.0-flash" api_url = f"https://generativelanguage.googleapis.com/v1/models/{model}:generateContent?key={api_key}" headers = {'Content-Type': 'application/json'} data = { 'contents': [{ 'parts': [{'text': txt}] }] } try: response = requests.post(api_url, json=data, headers=headers, verify=False, timeout=20) print(f">>> Raw response status code: {response.status_code}") print(f">>> Raw response text: {response.text}") response.raise_for_status() response_json = response.json() if 'candidates' not in response_json or not response_json['candidates']: print("!!! Gemini response is missing 'candidates'. Possibly blocked by safety filters.") return "read=t-השאלה שלך נחסמה או שלא התקבלה תשובה ברורה. נסה לשאול אחרת.=txt,,,,,HebrewKeyboard," generated_text = response_json['candidates'][0]['content']['parts'][0]['text'] print(f">>> Gemini Response: {generated_text}") except requests.exceptions.Timeout: print("!!! Request to Google API timed out!") return "read=t-לשרת לוקח יותר מדי זמן לענות. נסה שוב מאוחר יותר.=txt,,,,,HebrewKeyboard," except requests.exceptions.HTTPError as e: print("\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") print(">>> GOOGLE API RETURNED AN HTTP ERROR!") print(f">>> Status Code: {e.response.status_code}") print(f">>> Response Body: {e.response.text}") print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n") return "read=t-שגיאה בתקשורת עם הבינה המלאכותית. ייתכן ששם המודל אינו נכון.=txt,,,,,HebrewKeyboard," except Exception as e: print(f"!!! An unexpected error occurred: {e}") return "read=t-אירעה שגיאה לא צפויה.=txt,,,,,HebrewKeyboard," # ---- עיבוד התשובה וחיתוך למקטעים ---- # הסרת סימנים מיוחדים מהתשובה כמו ** וכו' generated_text = re.sub(r'[^A-Za-z0-9א-ת ]', '', generated_text) # מסיר כל תו שלא אות או מספר # חילוק למילים והוספת פסיק אחרי כל 10 מילים words = generated_text.split() chunks = [] for i in range(0, len(words), 10): # כל 10 מילים chunk = ' '.join(words[i:i+10]) chunks.append(chunk + ',') # הוספת פסיק בסוף כל 10 מילים # מחבר את כל הקטעים חזרה לשורה אחת result = ' '.join(chunks) return f"id_list_message=t-{result}" if __name__ == '__main__': app.run(host='0.0.0.0', port=5001, debug=True)
  • פיתוח אתר להזמנת חדרי קליניקות

    2
    0 הצבעות
    2 פוסטים
    78 צפיות
    א
    @יהודי-מפרגן זה לא בדיוק המקום. זה פורום למערכות טלפוניות לא אתרים. בשביל זה יש את זה
  • 0 הצבעות
    9 פוסטים
    277 צפיות
    Y
    @סוד-כמוב כתב באני רוצה ליצור אפשרות לעריכת קובץ שמע בטלפון כגון לחתוך ממקום מסוים או עד מקום מסוים היאך עושים דבר כזה במודול API: אין לי שרת. לא נראה לי שיש אפשרות אחרת... זה היה מובן למבינים בתכנות. אפשר לעבור על הקישורים על API ועוד זה יעזור לך להבין יש לך פה מודול API | API גישת מפתחים למערכות | מה זה שרת | מה זה שרת, החלק הטכני | API הסבר, ופקודות מהדפדפן אני חוזר אולי יהיה צדיק שיוכל לעזור לי בכל אופן. אם זה חשוב לך ואתה רוצה פיתוח בתשלום, תוכל לפנות במייל y6714453@gmail.com
  • לסיכום API KEY

    6
    1 הצבעות
    6 פוסטים
    190 צפיות
    צ
    @CUBASE כתב בלסיכום API KEY: @sumone לכאורה לא. וחבל מאוד שימות לא אומרים את זה בעצמם בצורה ברורה לקוחות לא אמורים להסתמך על ניחוש
  • עזרה בתעלומת "אין מענה משרת API"

    נפתר
    3
    0 הצבעות
    3 פוסטים
    138 צפיות
    ע
    @יודעלע או נסגר או נחסם השרת
  • בדיקה האם קובץ קיים לא מגיב

    7
    0 הצבעות
    7 פוסטים
    133 צפיות
    ש
    @מוטי-לוין עכשיו זה כבר עובד מוזר
  • ניהול בית חכם באמצעות מערכת תוכן

    31
    0 הצבעות
    31 פוסטים
    1k צפיות
    ק
    @עידו תודה אבדוק את זה כעת לשאלה הבאה ראיתי שיש דילאי של כשמונה שניות עד שמתבצעת הפעולה (לא עד שאני מקבל תגובה במערכת), וזה רק בימות המשיח, אם אני שולח אותה פקודה במחשב משירות אחר של post זה מבוצע מייד. האם יש דרך לגרום לימות לשלוח את הפקודה מיד?
  • התו *

    נפתר
    9
    0 הצבעות
    9 פוסטים
    228 צפיות
    ע
    @י-ע @פלמנמוני נמצאה הבעיה, יש הבדל בין DigitsKeyboard ל Digits, בDigits אפשר לעשות כוכבית ובשני לא.
  • חיבור api לtuya

    9
    0 הצבעות
    9 פוסטים
    352 צפיות
    ק
    @זרח אה לא פעולות מורכבות אני עושה בהום אסיסטנט עם המחשב אני רק מחפש הפעלה וכיבוי, בשביל מי שנמצא מחוץ לבית או לא מחובר למחשב כן מעניין אותי לקבל סטטוס, וגם תגובה אם הפעולה בוצעה
  • יצירת מערכת בינה מלאכותית טלפונית עזרה!

    53
    0 הצבעות
    53 פוסטים
    2k צפיות
    י
    @CUBASE זה בסדר יש GPT שיצר לי את הסקריפט המלא
  • נושא זה נמחק!

    5
    -3 הצבעות
    5 פוסטים
    62 צפיות
  • באג בפיתוח "מודול ספירה לאחור" של @דוד_מלך_ישראל

    5
    0 הצבעות
    5 פוסטים
    186 צפיות
    א
    @קוסקוס לכאו' הודעת ברוכים הבאים ומעבר לשלוחה ל השמעת הודעה לאחר מכן.
  • דחוף מאד! עזרה בהגדרות API

    6
    0 הצבעות
    6 פוסטים
    224 צפיות
    ז
    @123456 סמן כנפתר
  • בעיה בהקראת ערך במודול API

    5
    0 הצבעות
    5 פוסטים
    123 צפיות
    ש
    @sumone כתב בבעיה בהקראת ערך במודול API: יש לי מודול API שמבצע קריאות לשרת שלי ומקבל תגובות, והכל עובד תקין. משום מה יש לי טקסט ספציפי שלא עובד טוב, אני מנסה להבין מה הבעיה. השרת שלי מחזיר את הטקסט הבא: id_list_message=t-בתאריך.date-17/09/2025.t-בשעה.n-11.n-30.t-לקוח יקר פריטים חסרים נשתדל לשלוח אחרי ראש השנה במידה ולא נספק את המוצרים החסרים תזדכו לאשראי.m-1006.t-בתאריך.date-17/09/2025.t-בשעה.n-11.n-01.t-שלום לקוח יקר אני צריכה 4 ספרות אחרונות של האשרי בשביל לזכות אותך יום טוב.m-1006.t-בתאריך.date-17/09/2025.t-בשעה.n-10.n-27.t-שלום לקוח יקר יש אפשרות לקבל את זה בחזרה ויש אפשרות לקבל זיכוי מה עדיף לכם המשך יום טוב.m-1005. ובלוג אני רואה רק את זה: id_list_message=t-בתאריך.date-17/09/2025.t-בשעה.n-11.n-30.t-לקוח יקר פריטים חסרים אני לא מצליח להבין מה לא תקין בזה? תוודא שלא שלחת תו של ירידת שורה. שלוחת API מטפלת רק בשורה הראשונה שהשרת מחזיר
  • השימוש ב API_KEI

    6
    0 הצבעות
    6 פוסטים
    197 צפיות
    ז
    @צדיק-תמים אם זה טיפה אתה צודק.
  • תיקיית Log

    21
    0 הצבעות
    21 פוסטים
    479 צפיות
    ח
    @אני-עם-הקו אבל כשהבאת את הרשימה של כל השלוחות - הבאת גם את תיקיית log. ואח"כ מחקת את זה. זה אומר שיש לך את השלוחה הזאת.
  • טיפ בהקראת טקסט מקוד PHP

    2
    0 הצבעות
    2 פוסטים
    113 צפיות
    ש
    @חכם-בצהריים כתב בטיפ בהקראת טקסט מקוד PHP: במקום לכתוב טקסט בקוד בעיקר ארוך מומלץ לכתוב בקובץ נפרד וגם בקצר זה מקל על השינוי ובעברית זה ככה תמיד יותר נוח |-<?php header('Content-Type: text/plain; charset=utf-8'); // קריאה מהודעה בקובץ טקסט חיצוני $message = file_get_contents("ivr_message.txt"); // השמעת ההודעה מהקובץ ואז קובץ המוזיקה 000.wav echo "id_list_message=t-$message&id_list_message=f-000"; ?> עבור קוד קטן זה אולי לא מזיק. אבל בבניית פרוייקט גדול זה רק יוצר IO מיותר ופוגע בתחזוקה של הקוד - כל שינוי קטן יצריך בדיקה של אלפי קבצי טקסט. לחילופין - שקול ליצור קובץ מחרוזות בפורמט כזה: 001=טקסט עבור ברוכים הבאים 002=טקסט עבור הודעה מספר 2 003=טקסט עבור הודעה מספר 3 ולפרסר אותו באמצעות split פשוט, ככה אתה שולף הודעה לפי קוד הודעה אבל הפתרון הכי נכון לדעתי הוא פשוט להשתמש עם IDE שתומך בעברית RTL בתוך הקוד. בהצלחה!
  • בירור מודול API בשלוחה רגילה

    3
    0 הצבעות
    3 פוסטים
    172 צפיות
    M
    @חכם-בצהריים לדעתי, הפתרון הפשוט ביותר הוא לבנות שלוחת API אישית שתנתב את המתקשר לשלוחה הרצויה לפי מספר הטלפון שלו. לדוגמה: שלוחה 1 – שלוחת API שלוחה 111 – שלוחת השמעה רגילה שלוחה 123 – שלוחת השמעת קבצים אישית כאשר המתקשר לוחץ על מקש 1, ה־API בודק את מספר הטלפון שלו: אם זה למשל 0501234567 – המערכת תעביר אותו לשלוחה 123 לכל מספר אחר – המערכת תעביר לשלוחה 111