Benutzer-Werkzeuge

Webseiten-Werkzeuge


openai

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openai [2025/07/21 14:17]
jango [Chat Completion mit Verlauf]
openai [2025/08/02 19:49] (aktuell)
jango
Zeile 2: Zeile 2:
  
 [[https://platform.openai.com/docs/overview|OpenAI API Documentation]] [[https://platform.openai.com/docs/overview|OpenAI API Documentation]]
 +
 +====Local====
 +<code python>
 +import requests
 +import json
 +import pyttsx3
 +
 +# gemma-3-1b-it, qwen3-14b, openai-7b-v0.1
 +MODEL_NAME = "openai-7b-v0.1"
 +API_URL = "http://127.0.0.1:8080"
 +
 +def frage_gpt(prompt_text):
 +    try:
 +        response = requests.post(
 +            API_URL + "/v1/chat/completions",
 +            headers={"Content-Type": "application/json"},
 +            data=json.dumps({
 +                "model": MODEL_NAME,
 +                "messages": [
 +                    {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
 +                    {"role": "user", "content": prompt_text}
 +                ],
 +                "stream": False
 +            })
 +        )
 +        if response.status_code == 200:
 +            return response.json() # response.text
 +        else:
 +            return f"Fehler: {response.status_code} - {response.text}"
 +    except Exception as e:
 +        return f"Fehler: {e}"
 +        
 +def frage_gpt_stream(prompt_text):
 +    try:
 +        response = requests.post(
 +            API_URL + "/v1/chat/completions",
 +            headers={"Content-Type": "application/json"},
 +            data=json.dumps({
 +                "model": MODEL_NAME,
 +                "messages": [
 +                    {"role": "assistant", "content": "Du bist ein hilfreicher Assistent."},
 +                    {"role": "user", "content": prompt_text}
 +                ],
 +                "stream": True
 +            }),
 +            stream=True  # aktiviert Streaming
 +        )
 +
 +        if response.status_code != 200:
 +            print(f"Fehler: {response.status_code} - {response.text}")
 +            return
 +        
 +        # Antwort-Stream verarbeiten
 +        for line in response.iter_lines():
 +            if line:
 +                decoded_line = line.decode("utf-8")
 +                if decoded_line.startswith("data: "):
 +                    payload = json.loads(decoded_line[6:])
 +                    delta = payload.get("choices", [{}])[0].get("delta", {}).get("content")
 +                    if delta:
 +                        print(delta, end="", flush=True)
 +
 +    except Exception as e:
 +        print("") #print(f"Fehler: {e}")
 +
 +
 +engine = pyttsx3.init()
 +engine.setProperty("rate", 150)
 +engine.setProperty("volume", 1.0)
 +voices = engine.getProperty("voices")
 +for voice in voices:
 +    if "german" in voice.name.lower():
 +        engine.setProperty("voice", voice.id)
 +        break
 +
 +
 +while True:
 +    frage = input("Frage: ")
 +    frage_gpt_stream(frage)
 +    #print(antwort["choices"][0]["message"]["content"])
 +    #engine.say(antwort["choices"][0]["message"]["content"])
 +    #engine.runAndWait()
 +</code>
  
 ====Chat Completion==== ====Chat Completion====
openai.1753100242.txt.gz · Zuletzt geändert: 2025/07/21 14:17 von jango