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

    יצירת בינה מלאכותית טלפונית מדריך

    שאלות ועזרה הדדית
    3
    17
    89
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • י
      יוסף המתכנת מורחק נערך לאחרונה על ידי

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

        @יוסף-המתכנת כתב ביצירת בינה מלאכותית טלפונית מדריך:

        api_link=פה תכניס את הכתובת של השרת שלך

        איך אני ידוע מה השרת שלי ?

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

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

            יצירת השרת ע"י nodejs
            שלב א'
            לפתוח את "פנקס הרשימות"
            שלב ב' לכתוב בו את הקוד הבא ולשמור בשם "grok-transcribe-gpt-server.js"
            הקוד

            require('dotenv').config();
            const express = require('express');
            const multer = require('multer');
            const fs = require('fs');
            const axios = require('axios');
            const { SpeechClient } = require('@google-cloud/speech');
            
            const app = express();
            const upload = multer({ dest: 'uploads/' });
            const speechClient = new SpeechClient();
            
            const PORT = process.env.PORT || 3000;
            const OPENAI_API_KEY =פה שים את ה API';
            const DEFAULT_LANG = 'he-IL';
            
            function guessEncoding(mimetype) {
              if (!mimetype) return undefined;
              mimetype = mimetype.toLowerCase();
              if (mimetype.includes('wav')) return 'LINEAR16';
              if (mimetype.includes('x-wav')) return 'LINEAR16';
              if (mimetype.includes('mpeg') || mimetype.includes('mp3')) return 'MP3';
              if (mimetype.includes('ogg')) return 'OGG_OPUS';
              if (mimetype.includes('webm')) return 'WEBM_OPUS';
              if (mimetype.includes('flac')) return 'FLAC';
              return undefined;
            }
            
            app.get('/', (req, res) => {
              res.send('Server is running. POST /transcribe with form-data field `audio`.');
            });
            
            app.post('/transcribe', upload.single('audio'), async (req, res) => {
              if (!req.file) {
                return res.status(400).json({ error: 'No audio file uploaded.' });
              }
            
              const filepath = req.file.path;
              const mimetype = req.file.mimetype;
              const lang = req.query.lang || DEFAULT_LANG;
            
              try {
                const fileBuffer = fs.readFileSync(filepath);
                const audioBytes = fileBuffer.toString('base64');
            
                const encoding = guessEncoding(mimetype);
                const request = {
                  audio: { content: audioBytes },
                  config: {
                    ...(encoding ? { encoding } : {}),
                    languageCode: lang,
                    enableAutomaticPunctuation: true,
                  },
                };
            
                const [response] = await speechClient.recognize(request);
            
                let transcription = '';
                if (response && response.results) {
                  transcription = response.results
                    .map(r => (r.alternatives && r.alternatives[0]) ? r.alternatives[0].transcript : '')
                    .join('\n')
                    .trim();
                }
            
                if (!transcription) transcription = '';
            
                const openaiPayload = {
                  model: 'gpt-3.5-turbo',
                  messages: [
                    { role: 'system', content: 'You are a helpful assistant.' },
                    { role: 'user', content: `Transcription (language ${lang}):\n${transcription}` }
                  ],
                  max_tokens: 800,
                  temperature: 0.2,
                };
            
                const openaiRes = await axios.post('https://api.openai.com/v1/chat/completions', openaiPayload, {
                  headers: {
                    'Content-Type': 'application/json',
                    'Authorization': `Bearer ${OPENAI_API_KEY}`,
                  },
                });
            
                let assistantReply = '';
                try {
                  const choices = openaiRes.data.choices || [];
                  if (choices.length > 0 && choices[0].message) {
                    assistantReply = choices[0].message.content.trim();
                  } else {
                    assistantReply = JSON.stringify(openaiRes.data);
                  }
                } catch (err) {
                  assistantReply = '';
                }
            
                res.json({ transcription, gpt_reply: assistantReply });
              } catch (err) {
                res.status(500).json({ error: 'Server error', details: err.message });
              } finally {
                try { fs.unlinkSync(filepath); } catch (e) { }
              }
            });
            
            app.listen(PORT, () => {
              console.log(`Server listening on port ${PORT}`);
            });
            
            

            לאחר מכן ללכת במנהל הקבצים למיקום של הקובץ ואז בשורת המיקום של הקובץ למחוק את מה שכתוב ולכתוב "CMD" ווללחוץ אנטר
            6a40e6fa-92c4-444c-b407-dac3b407085b-image.png
            (כפי שרואים בתמונה איפה לכתוב CMD ואת הקובץ באותו מיקום)

            ואז יפתח הטרמינל באותו מיקום
            fe11ba06-8cee-4223-a24b-c0311f950329-image.png
            ואז לכתוב בטרמינל
            pip install flask openai SpeechRecognition pydub
            וללחוץ אנטר ואז לאחר שזה יגמור לרוץ לכתוב:
            npm install express multer dotenv axios @google-cloud/speech
            וללחוץ אנטר ואז לאחר שזה יגמור לרוץ לכתוב:
            node ngrok-transcribe-gpt-server.js
            ואז לפתוח טרמינל חדש ריק לא לסגור את הישן (לכתוב CMD במיקום של הקובץ כמו מקודם)
            ולכתוב
            ngrok http 3000
            ואז להעתיק את כתובת השרת (כתבנו איפה זה בתחילת המדריך בשלב ה' או ד') ולהמשיך משאר המדריך הראשון

            י 2 תגובות תגובה אחרונה תגובה ציטוט 0
            • י
              יעקב קליין @יוסף המתכנת נערך לאחרונה על ידי יעקב קליין

              @יוסף-המתכנת כתב ביצירת בינה מלאכותית טלפונית מדריך:

              שורת המיקום

              מה עם ווינדס 10 ?

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

                @יעקב-קליין אותו דבר בדיוק!

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

                  @יוסף-המתכנת עשיתי אנטר אבל לא מסתדר אחר כך

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

                    @יעקב-קליין באיזה שלב אתה
                    הוצאת - API
                    איפה אתה?

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

                      אל תדלג על שום שלב במדריך עם תדלג זה לא יעבוד לך

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

                        @יוסף-המתכנת כתב ביצירת בינה מלאכותית טלפונית מדריך:

                        ואז לכתוב בטרמינל

                        פה אני אוחז

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

                          א' יש לך API מOpenAI (הסברתי איך להוציא)?
                          ב'הכנסת את API במקום המתאים בקובץ?
                          ג' פתח את טרמינל כמו בהסבר?
                          ד' כתבת בטרמינל את מה שאמרתי לכתוב?
                          ה' את כל השלבים הקודמים עשית?
                          ו' התקנת "נגרוק"?

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

                            @יעקב-קליין פתחתי צ'אט למי שלא הצליח לעשות כמו ההסבר במדריך בקישור הזה
                            https://f2.freeivr.co.il/topic/18721/יצירת-בינה-מלאכותית-טלפונית-כמו-במדריך-של-יוסף-המתכנת/3

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

                              @יוסף-המתכנת אבל מה עוזר לך עם ngrok?, זה הרי עובד רק כשהמחשב פתוח ואתה מפעיל את השרת!

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

                                @CUBASE נכון! אלא למי שרוצה ליצור שרתים חיצוניים (הוא רצה מערכת שתחפש בשבילו מידע על רכבים) ואת האמת אף פעם לא ניסיתי ליצור שרת חיצוני כך שאני לא יכול לכתוב מדריך על משהו שלא עשיתי

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

                                  @יוסף-המתכנת אבל אין קטע במערכת טלפונית שעובדת רק כשהמחשב פתוח - אפשר כבר לבדוק במחשב..

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

                                    @CUBASE לי אישית זה עזר כי המחשב שלי פתוח כמעט כל הזמן

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