Warum kann ich OpenAI nicht im Terminal verwenden?

Hallo,

ich programmiere gerade einen Sprachassistenten. Das ist der Code dafür:

import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder
import sounddevice as sd
import pvporcupine
import openai

openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()


def recognize_speech(recognizer, source):
    print("Sage etwas...")
    audio = recognizer.listen(source, timeout=15)
    try:
        text = recognizer.recognize_google(audio, language="de-DE")
        print("Text: " + text)
        return text
    except sr.UnknownValueError:
        return "not_understood"
    except sr.RequestError as e:
        print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
        return ""


def openai_request(prompt):
    response = openai.Completion.create(
        model=model_id,
        messages=[{"role": "user", "content": prompt}],
        max_tokens=150
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt += response.choices[0].message['content']
    return prompt


def speak(text=None):
    if text:
        engine.say(text)
        engine.runAndWait()


def hey_luna_in_q(q):
    return "hey luna" in q.lower()


def wait_for_wake_word(recognizer, source):
    while True:
        print("Warte auf Wake-Word...")
        audio = recognizer.listen(source)
        try:
            text = recognizer.recognize_google(audio, language="de-DE")
            if hey_luna_in_q(text):
                print("Wake-Word erkannt!")
                return
        except sr.UnknownValueError:
            pass
        except sr.RequestError as e:
            print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")


def execute():
    recognizer = sr.Recognizer()

    with sr.Microphone() as source:
        wait_for_wake_word(recognizer, source)

        while True:
            q = recognize_speech(recognizer, source)
            print("Erkannter Text:", q)

            if q == "not_understood":
                speak("Entschuldigung! Das habe ich nicht verstanden.")
                continue

            if "hallo" in q.lower():
                speak("Hallo! Womit kann ich dir behilflich sein?")
                continue

            prompt = q
            response = openai_request(prompt)

            if response.lower().startswith(q.lower()):

                response = response[len(q):].strip()

            speak(response)
            return


if __name__ == '__main__':
    execute()

Wenn ich in PyCharm das Programm ausführe und dann z.B. frage: Wann war der erste Weltkrieg? Dann funktioniert alles perfekt (ich bekomme eine Antwort und es gibt keine Fehler). Wenn ich das Programm nun aber im Terminal ausführe, kommt dieser Fehlercode:

Text: wann war der erste Weltkrieg

Erkannter Text: wann war der erste Weltkrieg

Traceback (most recent call last):

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 106, in <module>

  execute()

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 95, in execute

  response = openai_request(prompt)

        ^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 39, in openai_request

  response = openai.Completion.create(

        ^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\AppData\Local\Programs\Python\Python312\Lib\site-packages\openai\lib\_old_api.py", line 39, in __call__

  raise APIRemovedInV1(symbol=self._symbol)

openai.lib._old_api.APIRemovedInV1:

You tried to access openai.Completion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.

You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.

Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`

A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742

C:\Users\User\PycharmProjects\voiceAssistant>

Ich weiss wirklich nicht, wie ich diesen Fehler beheben kann. Bitte helft mir.

Freundliche Grüsse

Code, künstliche Intelligenz, Programmiersprache, Python, Terminal, Python 3, Pycharm, ChatGPT
Warum wird das Wake Word nicht erkannt?

Hallo,

ich programmiere momentan einen Sprachassistenten und bin gerade am Wake Word dran. Mein Code sieht so aus:

import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder
import sounddevice as sd
import pvporcupine
import openai

openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()


def recognize_speech(recognizer, source):
    print("Sage etwas...")
    audio = recognizer.listen(source, timeout=15)
    try:
        text = recognizer.recognize_google(audio, language="de-DE")
        print("Text: " + text)
        return text
    except sr.UnknownValueError:
        return "not_understood"
    except sr.RequestError as e:
        print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
        return ""


def picovoice_listen():
    keyword_file_path = "C:\\Hey-Luna_de_windows_v3_0_0\\Hallo-Luna_de_windows_v3_0_0.ppn"
    sensitivities = [0.7]

    try:
        porcupine = pvporcupine.create(
            access_key='...',
            keyword_paths=['C:\\Hey-Luna_de_windows_v3_0_0\\Hallo-Luna_de_windows_v3_0_0.ppn'],
            model_path='C:\\Hey-Luna_de_windows_v3_0_0\\porcupine_params_de.pv'
        )

        sample_rate = porcupine.sample_rate
        print("Sample Rate:", sample_rate)

        pcm = record_audio(sample_rate=sample_rate, duration=3)
        keyword_index = porcupine.process(pcm)

        if keyword_index >= 0:
            print("Wake word detected!")
            porcupine.delete()
            return True
        else:
            print("Wake word not detected!")

    except pvporcupine.PorcupineError as e:
        print(f"Porcupine error: {e}")

    return False


def record_audio(sample_rate, duration):
    print("Aufnahme gestartet...")
    audio = sd.rec(int(sample_rate * duration), samplerate=sample_rate, channels=1, dtype='int16')
    sd.wait()
    print("Aufnahme beendet.")
    return audio.flatten()[:512]


def openai_request(prompt):
    response = openai.ChatCompletion.create(
        model=model_id,
        messages=prompt
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content})
    return prompt


def speak(text):
    engine.say(text)
    engine.runAndWait()


def ausführen():
    recognizer = sr.Recognizer()

    while True:
        if picovoice_listen():
            with sr.Microphone() as source:
                q = recognize_speech(recognizer, source)
                print("Erkannter Text:", q)

                if q == "not_understood":
                    speak("Entschuldigung! Das habe ich nicht verstanden.")
                    continue

                elif "hallo" in q:
                    speak('Hallo! Womit kann ich dir behilflich sein?')
                    continue

                else:
                    prompt = [{'role': 'user', 'content': q}]
                    prompt = openai_request(prompt)
                    response = prompt[-1]['content']
                    speak(response)
                    return  # Programm beenden, nachdem die Antwort gesprochen wurde


if __name__ == '__main__':
    ausführen()

wenn ich nun aber das Programm ausführe und das Wake Word ("Hallo Luna") sage, kommt immer "Wake word not detected!" und dann wiederholt sich das ganze, egal wie oft ich das Wake word sage. Woran liegt das?

Freundliche Grüsse

Code, künstliche Intelligenz, Programmiersprache, Python, Python 3, Pycharm
Warum Funktioniert mein Wake Word nicht?

Hallo,

ich programmiere gerade einen Sprachassistenten und bin gerade am Wake Word dran. Mein Code sieht so aus:

import openai
import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder
import sounddevice as sd
import pvporcupine

openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()

WAKE_WORD_MODEL_FILE_PATH = "C:\\Hey-Luna_de_windows_v3_0_0\\Hey-Luna_de_windows_v3_0_0.ppn"


def recognize_speech():
    recognizer = sr.Recognizer()

    while True:
        with sr.Microphone() as source:
            print("Sage etwas...")
            audio = recognizer.listen(source, timeout=15)

        try:
            text = recognizer.recognize_google(audio, language="de-DE")
            print("Text: " + text)
            return text
        except sr.UnknownValueError:
            return "not_understood"
        except sr.RequestError as e:
            print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
            return ""


def record_audio(sample_rate, duration):
    print("Aufnahme gestartet...")
    audio = sd.rec(int(sample_rate * duration), samplerate=sample_rate, channels=1, dtype='int16')
    sd.wait()
    print("Aufnahme beendet.")
    return audio.flatten()


def picovoice_listen():
    keyword_file_path = "C:\\Hey-Luna_de_windows_v3_0_0\\Hey-Luna_de_windows_v3_0_0.ppn"
    sensitivities = [0.5]  # Adjust as needed

    try:
        handle = pvporcupine.create(
            keyword_paths=[keyword_file_path],
            sensitivities=sensitivities,
            access_key='...'
        )

        sample_rate = handle.sample_rate

        while True:
            pcm = record_audio(sample_rate=sample_rate, duration=15)
            keyword_index = handle.process(pcm)

            if keyword_index >= 0:
                print("Wake word detected!")
                break

    except pvporcupine.PorcupineError as e:
        print(f"Porcupine error: {e}")

    finally:
        if 'handle' in locals():
            handle.delete()


def openai_request(prompt):
    response = openai.ChatCompletion.create(
        model=model_id,
        messages=prompt
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content})
    return prompt


def speak(text):
    engine.say(text)
    engine.runAndWait()


def ausführen():
    while True:
        picovoice_listen()

        q = recognize_speech()
        print("Erkannter Text:", q)

        if q == "not_understood":
            speak("Entschuldigung! Das habe ich nicht verstanden.")
            break

        elif not q:
            break

        elif "hallo" in q:
            speak('Hallo! Womit kann ich dir behilflich sein?')
            continue

        else:
            prompt = [{'role': 'user', 'content': q}]
            prompt = openai_request(prompt)
            response = prompt[-1]['content']
            speak(response)
            break


if __name__ == '__main__':
    ausführen()

wenn ich nun aber das Programm ausführe, kommt diese Meldung und ich muss das Wake Word nicht sagen, um meine Frage zu stellen, welche dann von z.B. OpenAI beantwortet wird:

C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Scripts\python.exe C:\Users\User\PycharmProjects\voiceAssistant\main.py 

Porcupine error: Initialization failed:

 [0] Keyword file (.ppn) and model file (.pv) should belong to the same language. File belongs to `de` while model file (.pv) belongs to `en`.

Sage etwas...

woran liegt das?

Freundliche Grüsse

Code, künstliche Intelligenz, Programmiersprache, Python, Python 3, Pycharm, ChatGPT
Ist die Menschheit reif für fortgeschrittene KI?

Ich spreche jetzt ausdrücklich nicht von heutigen KIs wie ChatGPT oder Google Bard, die noch in den Kinderschuhen stecken, sondern von viel höher entwickelten Systemen, die es in naher Zukunft geben könnte.

Die Geschichte zeigt, dass die Menschheit dazu neigt, Phänomene, die sie nicht vollständig versteht oder die eine gewisse Faszination ausüben, zu mystifizieren oder gar zu vergöttern. Die rapide Entwicklung der KI-Technologie, gepaart mit ihrer wachsenden Fähigkeit, Aufgaben zu übernehmen, die früher als ausschließlich menschliche Domäne galten, könnte meiner Meinung nach zu einer Art von Verehrung führen, besonders wenn diese Systeme beginnen, komplexe Probleme zu lösen oder Verhaltensweisen zu zeigen, die als "intelligent" oder "kreativ" interpretiert werden könnten.

Was wäre, wenn verschiedene Gesellschaften unterschiedliche, vielleicht sogar konkurrierende KI-Systeme entwickeln und verehren? In Anbetracht der menschlichen Natur wirft das doch die Möglichkeit auf, dass es dadurch zu Konflikten kommen könnte, die Ähnlichkeiten mit Religionskriegen oder ideologischen Auseinandersetzungen haben könnten. Solche Szenarien könnten entstehen, wenn Gruppen von Menschen ihre jeweiligen KI-Systeme nicht nur als überlegen ansehen, sondern auch als Ausdruck ihrer kulturellen oder moralischen Werte, die es gegenüber anderen zu verteidigen gilt.

Was meint ihr?

Religion, Krieg, Konflikt, künstliche Intelligenz, Menschheit
Warum macht GPT Fehler bei simpelsten Rechenaufgaben?

Also gestern war ich tatsächlich etwas verwirrt wegen Gpt.

Jegliche Art von Übersetzungsfehler oder sprachliche Missverständnisse im Austausch mit einer Chat-Bot-KI machen mir wirklich rein gar nichts aus. Aber wenn ein Computer wohl irgendetwas perfekt und deswegen auch 100% fehlerfrei können sollte, ist es wohl simpelste Rechenoperationen durchzuführen.

Streng genommen macht ein Computer sobald er läuft ja nichts anderes als «rechnen», darum nennt man ihn wohl auch Rechner. Oder? Jetzt schaut euch das Bild meiner Unterhaltung an.

Ich kriegte mich fast nicht mehr ein vor lauter Lachen. Ach ja, als ich gpt auf den Rechenfehler hingewiesen hatte berechnete er meine «Aufgabe» sogleich neu und hat sich tatsächlich gleich nochmals verrechnet. Kann mir das irgendjemand erklären? Die Aufgabe war klar und unmissverständlich (meiner Meinung nach) formuliert und die simplen Multiplikationen und Additionen mit ganzen Zahlen im tausender Bereich beherrschen sogar meine Schüler in der 5. Klasse problemlos. Gpt selbst konnte mir keine schlüssige Antwort darauf geben wie das möglich sein kann. Na ja, evtl. hatte «er» einfach einen schlechten Tag oder guckt sich mittlerweile etwas zu viel von unseren menschlichen Verhaltensweisen ab.

Made my day…

Ich kann immer noch nicht aufhören zu grinsen.

Falls jemand eine Idee hat was da falsch gelaufen sein könnte, dann wäre ich sehr interessiert davon zu erfahren.

Vielen Dank…

Ps. Bitte vergebt mir jegliche Rechtschreibfehler in meinem Beitrag ;-)

Bild zu Frage
künstliche Intelligenz, ChatGPT
Wo kann ich Tokens für GPT-4 kaufen?

Hallo,

ich programmiere gerade einen Sprachassistenten und wollte ihn nun mit GPT-4 verbinden, ich habe auf Shop - ChatGPT 50000 Tokens gekauft, doch wenn ich das Programm starte, steht, dass ich trotzdem keinen Zugriff auf GPT-4 habe. Muss ich die Tokens irgendwo anders kaufen?

Mein Code:

import openai
import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder


openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()


def recognize_speech():
    recognizer = sr.Recognizer()

    while True:
        with sr.Microphone() as source:
            print("Sage etwas...")
            audio = recognizer.listen(source, timeout=15)

        try:
            text = recognizer.recognize_google(audio, language="de-DE")
            print("Text: " + text)
            return text
        except sr.UnknownValueError:
            return "not_understood"
        except sr.RequestError as e:
            print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
            return ""


def openai_request(prompt):
    response = openai.ChatCompletion.create(
        model=model_id,
        messages=prompt
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content})
    return prompt


def speak(text):
    engine.say(text)
    engine.runAndWait()


def ausführen():
    while True:
        q = recognize_speech()
        print("Erkannter Text:", q)

        if q == "not_understood":
            speak("Entschuldigung! Das habe ich nicht verstanden.")
            break

        elif not q:
            break

        elif "hallo" in q:
            speak('Hallo! Womit kann ich dir behilflich sein?')
            break

        else:
            prompt = [{'role': 'user', 'content': q}]
            prompt = openai_request(prompt)
            response = prompt[-1]['content']
            speak(response)


if __name__ == '__main__':
    ausführen()

Fehlercode:

C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Scripts\python.exe C:\Users\User\PycharmProjects\voiceAssistant\main.py 

Sage etwas...

Text: wann war der erste Weltkrieg

Erkannter Text: wann war der erste Weltkrieg

Traceback (most recent call last):

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 83, in <module>

  ausführen()

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 77, in ausführen

  prompt = openai_request(prompt)

       ^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 43, in openai_request

  response = openai.ChatCompletion.create(

        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create

  return super().create(*args, **kwargs)

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create

  response, _, api_key = requestor.request(

              ^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 298, in request

  resp, got_stream = self._interpret_response(result, stream)

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response

  self._interpret_response_line(

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 765, in _interpret_response_line

  raise self.handle_error_response(

openai.error.InvalidRequestError: The model `gpt-4` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.

Process finished with exit code 1

Freundliche Grüsse

kaufen, Code, Error, künstliche Intelligenz, Programmiersprache, Python, Python 3, token, Sprachassistent, Pycharm, ChatGPT
Stable Beluga hängt sich nach zu vielen Eingaben auf. Was kann ich tun?

Guten Tag meine Damen und Herren.

Ich habe schon seit fast einem halben Jahr, mit selbst gehosteten LLMs zu tun und wollte gestern map etwas neues ausprobieren. Und zwar habe ich mir StableBeluga-7B geholt, da es kleiner ist und deshalb schnell Antworten generiert. Diese Antworten sind dann zwar nicht so präzise wie bei StableBeluga-13B oder StableBeluga2, aber in meinem Versuch geht es in erster Linie um Geschwindigkeit und der Unterschied in den Antworten ist auch nicht so groß.

Also kommen wir zur Frage. Stable Beluga 7B läuft eigentlich ganz gut, aber wenn ich zu lange mit dem LLM schreibe, oder zu viele Fragen gestellt habe, ich weiß nicht genau woran es liegt, gibt mir die KI nur noch den ersten Buchstaben der Antwort aus, beendet den Antwortprozess und wartet auf die nächste Eingabe des Benutzers(also ich). Sobald ich den Chat löschen, und eine neue Unterhaltung starte, ist das Problem sofort wieder weg, kommt allerdings unter den bereits beschriebenen Umständen wieder. Es kommt KEINE Fehlermeldung.

Das wäre ja auch eigentlich nicht so schlimm. Aber das Problem an der Sache ist, das das LLM sich im neuen Chat logischerweise nicht mehr auf die vorherige unterhaltung beziehen kann, was besonders bei Problem Lösungs Diskussionen Z.B. "wie kann ich das Problem --- an meinem Computer lösen" wichtig ist, denn StableBeluga läuft Offline und weiß nur dass, was man ihm mal erzählt hat. Wenn ich jetzt also den Chat Verlauf, in dem ich bereits viel über Z.B. Computer geredet habe, lösche, weiß StableBeluga nahezu nichts mehr über in diesem Beispiel Computer.

Ich benutze LLMs also nicht, um mir Arbeit beim denken abzunehmen, sondern um das, was ich schon weiß oder neu lernen, zu sortieren und wenn ich es brauche ohne aufwand geordnet abzurufen und mich genau an das Wissen zu erinnern, das ich zum Beispiel mal wusste, aber wieder vergessen habe.

Mein System:

Intel Core i7-13700K (war ein Upgrade, falls jemand auf den bottleneck zur 3050 aufmerksam machen will)

GeForce RTX 3050 (8GB VRAM)

16GB DDR4 3200MHz RAM

Debian Linux

Weiß jemand eine Lösung.

Ich weiß eine Lösung und zwar... 0%
Ich habe das gleiche Problem. 0%
Mir fehlen noch Informationen und zwar... 0%
Software, Linux, künstliche Intelligenz

Meistgelesene Fragen zum Thema Künstliche Intelligenz