chatGPT jetzt auch ohne API Key im Terminal nutzbar

  • Gute Nacht Geschichte für meine Tochter erstellen lassen und mittels Thorsten Voice als Audio Datei abgespeichert mal schauen was sie morgen dazu sagt ;)


  • Also das umleiten direkt in eine Textdatei funktioniert mit der Option -w wodurch man das über ein alias auch direkt vorlesen lassen kann :)


    Code
    tgpt -w "hallo, wie findest du Linux Mint" >> test.txt 

    erstellt also die test.txt mit den einen Inhalt wie

    Quote

    Hallo! Viele Leute schätzen Linux Mint für seine Benutzerfreundlichkeit und Stabilität. Es ist eine großartige Wahl, besonders für diejenigen, die von Windows umsteigen oder eine Linux-Distribution kennenlernen möchten, die einfach zu bedienen ist. Die Cinnamon-Desktop-Umgebung von Linux Mint ist intuitiv und ansprechend gestaltet. Was magst du besonders an Linux Mint?

    wodurch es mit der Sprachausgabe vorgelesen werden kann oder eben ein alias in die bashrc der das direkt vorliest ..

  • Die ARM-Variante läuft ohne große Problem auf meinem Droidian (basiert auf Debian Testing) Smartphone.

    Keine Alternativen ? Kein Mitleid !

  • Wie ich hier ist es auch möglich tgpt per Sprache zu Anweisungen zu geben ;)

    dazu einfach die Ausgabe des stt.py Python Scripts als Eingabe von tgpt nutzen. Ich habe duration=3 also die Spracheingabe auf 3 Sekunden gesetzt und folgenderweise gestartet:

    Code
    tgpt "$(python3 ./stt.py 2>/dev/null)"

    Das ganze kann man sich dann ja ggf. als alias in die .bashrc schreiben

    Edit: oder um es auf die Spitze zu treiben Text einsprechen und Antwort vorlesen lassen

    Code
    tgpt -w "$(python3 ./stt.py </dev/null 2>/dev/null)" >> test.txt ; spd-say "`cat "test.txt"`" ; rm -f test.txt


    Also ich habe die stt.py unter ~/.local/bin gespeichert und folgenden Alias zur .bashrc hinzugefügt. Wenn ich bot eingebe kann ich meine Frage stellen und es wird mir geantwortet. Falls es zu ein Fehler kommt, kommt die Antwort "Entschuldigung, ich habe Sie leider nicht verstanden."

    Code
    alias bot='output=$(tgpt -w "$(python3 ~/.local/bin/stt.py </dev/null 2>/dev/null)"); echo "$output" >> test.txt; if grep -q "Some error has occurred" test.txt; then spd-say "Entschuldigung, ich habe Sie leider nicht verstanden."; else spd-say "$(cat test.txt)"; fi; rm -f test.txt'

    In Anhang mal ein kleines Testvideo, leider wurde meine Sprecheingabe nicht mit aufgenommen aber die Ausgabe und es gab beim ersten mal ein Fehler, so das die Ausgabe davon auch gleich mit drauf ist. Hatte lediglich gefragt wie spät es ist.

  • 8)

  • Auf Grund von mehr Verwendung kam es leider immer öfter zu Fehlern bzw. abgelehnten Anfragen weshalb bei tgpt eine andere API mit dem update auf Version 2.2.3 verwendet wird. Leider mit der Nebenwirkung das antworten in englisch wieder gegeben werden wenn man nicht bei jeder anfrage mit dazu schreibt das es in deutsch antworten soll. Habe zwar auf github schon geschrieben aber bis jetzt leider nur als Antwort "Earlier it was a different language model" bekommen.

    Also bis jetzt ist die Aussage das es auf Grund der anderen API nicht möglich ist und ein alias bringt nur mischmasch oder garnix.

    alias tgpt='echo "Antworte bitte in Deutsch. $@" | tgpt'

    Quote

    tgpt
    Antworte bitte in Deutsch.

    Sure, I'd be happy to answer in German!

    Wie geht es Ihnen?

  • Habe die Sprachausgabe auf piper umgestellt. bei manueller Installation kann

    Code
    alias bot='sed -i "s/duration=[0-9]\+/duration=5/g" ~/.local/bin/stt.py; \
    output=$(tgpt -w "$(python3 ~/.local/bin/stt.py </dev/null 2>/dev/null)"); \
    echo "$output" >> output.txt; \
    echo "$output" | piper --data-dir $HOME/.config/piper --download-dir $HOME/.config/piper --model $HOME/.config/piper/de_DE-kerstin-low.onnx --output_file /tmp/out.wav 2>/dev/null; \
    wait; \
    aplay /tmp/out.wav </dev/null 2>/dev/null; \
    rm -f output.txt /tmp/out.wav'

    genutzt werden bei Pied geht das über die Speech Dispatcher Integration.

  • Meine Tochter nutzt es regelmäßig, fand es nur blöd es immer im terminal abzurufen weshalb ich mal kleine Oberfläche für tgpt angefangen hab.. klar gibt es schon Massen Tools wie mindMate (lief bei mir nicht) oder gpt4all (mir zu viel)..

    Wie gesagt ist auch erstmal nur der erste versuch und kann ja gern erweitert oder angepasst werden..


    Siehe Beitrag #38

  • das ist lediglich ein python script welches in einen eingebetteten Terminal das tgpt bzw. für Sprachchat den bot Befehl aufruft ( für die Sprchein- und Ausgabe lediglich Pied aus Post 32 installieren die alias aus Post 27 in die bashrc und die stt.py aus Post 26 unter ~/.local/bin/ speichern und ausführbar machen.

    Wenn du nur den Chat ohne Spracheingabe und Sprachausgabe nutzen willst riecht es tgpt wie auf der ersten Seite beschrieben zu installieren. Also kann auf jedem System genutzt werden.

  • Habe es noch mal bisschen überarbeitet und mal ein installscript dazu gemacht.

    Änderungen und Anpassungen:

    Neue Funktionen:

    Terminalintegration, Play- und Diktierfunktion überarbeitet
    Speichern unter Dialog hinzugefügt

    Tooltips hinzugefügt

    Tastenkombination "Strg + C" deaktiviert um Chat nicht zu verlassen.

    Kontextmenü bei Rechtsklick: Ein button-press-event wurde hinzugefügt.
    Rechtsklick auf das Terminal ein Kontextmenü erscheint und bietet die Optionen "Kopieren" und "Einfügen".

    Schaltfläche "Eingabe diktieren" hinzugefügt sowie optional Eingabe automatisch abschicken.

    Es wird geprüft ob Micro stumm geschaltet ist, wenn wird es während der Spracheingabe aktiviert und danach wieder in den deaktiviert.

    Beim Start wird nach älterer < 2.8.0 tgpt Version geprüft, wenn älter startet Programm im Update-Fenster.

    Schaltfläche "Antwort speichern" hinzugefügt, um die letzte Antwort auf dem Schreibtisch zu speichern.

    Vorlesen-Button:
    Verbesserte Logik zum Vorlesen des gesamten Textes der letzten Antwort und
    die Möglichkeit, laufende Vorleseaktionen zu stoppen, bleibt bestehen.

    Fokus zurück auf das Terminal:
    Nach dem Vorlesen und Speichern der Antwort wird der Fokus automatisch wieder auf das Terminal gesetzt um sofort weiter schreiben zu können.

    LG


    Bitte beachten: Ich verwende noch Linux Mint 21.3 bis es das offizielle Update gibt. Linux Mint 22, Ubuntu 24.4 usw. verwenden z.T. schon PipeWire als Soundserver/multimedia framework welches PulseAudio ablösen wird. Daher kann es sein das Mint Copilot bzw. dessen Sprachein- und Ausgabe da nicht funktioniert.

    Voraussetzung für die Spracheingabe unter Linux Mint ist die Installation von:

    apt install PyAudio python3-pip pipx
    pipx install SpeechRecognition --include-deps
    pip install --break-system-packages SpeechRecognition

  • So, jetzt habe ich mich noch mal herangetraut – diesmal unter Ubuntu Desktop 24.04 Pro. Installation klappte und die Abfragen / Ausgaben im Terminal funktionieren jetzt in Deutsch. :)

    CHATGPT kann durchaus ein interessantes Werkzeug sein.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!