
chatGPT jetzt auch ohne API Key im Terminal nutzbar
-
A.E. -
November 20, 2023 at 8:49 AM -
Thread is Resolved
-
-
Gute Nacht Geschichte für meine Tochter erstellen lassen und mittels Thorsten Voice als Audio Datei abgespeichert mal schauen was sie morgen dazu sagt
QuoteEs war einmal in einem kleinen, verschlafenen Dorf namens Kuscheldorf, eine ganz
besondere Katze namens Cosmo. Cosmo war nicht wie die gewöhnlichen Katzen, die
gerne durch die Gegend streunten und Mäuse fingen. Nein, Cosmo hatte eine Leid
enschaft, die sie von allen anderen Katzen unterschied: Essen.Cosmo war eine wahrhaftig verfressene Katze. Ihr Tag drehte sich nur um eine S
ache – Futter. Morgens weckte sie ihr appetitliches Miauen die ganze Familie auf
, in der Hoffnung auf ein königliches Frühstück. Cosmo liebte es, sich in der Kü
che herumzudrängen und nach Leckereien zu suchen.Eines Tages, als die Sonne sich langsam über Kuscheldorf erhob, beschloss Cosmo,
dass es an der Zeit für ein großes Abenteuer sei. Sie kletterte auf das Fenster
brett und spähte nach draußen. Doch anstatt auf Mäusejagd zu gehen oder das Dorf
zu erkunden, führte ihr Weg geradewegs zum Lebensmittelschrank der Familie.Cosmo war nicht nur verfressen, sondern auch äußerst findig. Mit geschickten Pf
oten öffnete sie den Schrank und stöberte nach ihren Lieblingssnacks. Kekse, F
isch, und sogar eine Tüte Katzenminze fanden den Weg in ihren kleinen, pelzigen
Bauch.Nach ihrem köstlichen Schmaus wurde Cosmo schläfrig. Sie rollte sich auf dem we
ichen Teppich zusammen und begann zu schnurren. Doch ihr Tag war noch nicht vor
bei – es gab noch so viel Unsinn zu treiben.Cosmo schleicht sich in das Zimmer ihrer kleinen Freundin, Mia. Dort fand sie
eine Schachtel mit bunten Bändern und Glitzersternen. Natürlich konnte Cosmo
nicht widerstehen. Sie spielte mit den Bändern, purzelte durch die Zimmer und
machte dabei so viel Lärm, dass Mia aufwachte.
"Miau!" sagte Cosmo unschuldig und schaute mit großen Augen zu Mia hoch. Mia
konnte nicht anders, als zu lachen. "Oh, Cosmo, du bist wirklich eine lustige
Katze!"Nach all dem Spaß beschloss Cosmo, dass es Zeit war, sich auszuruhen. Sie kusch
elte sich in ihr gemütliches Katzenbett und träumte von einem Land, in dem die
Straßen mit Leckerbissen gepflastert waren.Und so endete ein weiterer aufregender Tag im Leben von Cosmo, der verfressenen
und albernsten Katze von Kuscheldorf. Die Sterne leuchteten am Himmel, und
während Cosmo träumte, schnurrte sie glücklich vor sich hin. Mia lächelte und d
achte: "Gute Nacht, Cosmo. Du machst mein Leben wirklich bunter." -
Guten Morgen Gemeinde
Gibt es auch Chat gpt für Anfänger ?? Habe damit bis keine Erfahrung
Mfg bananajoe
-
Also das umleiten direkt in eine Textdatei funktioniert mit der Option -w wodurch man das über ein alias auch direkt vorlesen lassen kann
erstellt also die test.txt mit den einen Inhalt wie
QuoteHallo! 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 ..
-
-
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:
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
Codetgpt -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."
Codealias 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.
-
Code
Display Morealias 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; if grep -q "Some error has occurred" output.txt; then spd-say "Entschuldigung, ich habe Sie leider nicht verstanden."; else spd-say "$(cat output.txt)"; fi; rm -f output.txt' alias bott='sed -i "s/duration=[0-9]\+/duration=10/g" ~/.local/bin/stt.py; output=$(tgpt -w "$(python3 ~/.local/bin/stt.py </dev/null 2>/dev/null)"); echo "$output" >> output.txt; if grep -q "Some error has occurred" output.txt; then spd-say "Entschuldigung, ich habe Sie leider nicht verstanden."; fi' alias botts='sed -i "s/duration=[0-9]\+/duration=10/g" ~/.local/bin/stt.py; output=$(tgpt -w "$(python3 ~/.local/bin/stt.py </dev/null 2>/dev/null)"); echo "$output" >> output.txt; if grep -q "Some error has occurred" output.txt; then spd-say "Entschuldigung, ich habe Sie leider nicht verstanden."; rm -f output.txt; else spd-say "$(cat output.txt)"; fi' alias botc='sed -i "s/duration=[0-9]\+/duration=15/g" ~/.local/bin/stt.py; output=$(tgpt -c "$(python3 ~/.local/bin/stt.py </dev/null 2>/dev/null)"); echo "$output" >> output.txt; if grep -q "Some error has occurred" output.txt; then spd-say "Entschuldigung, ich habe Sie leider nicht verstanden."; rm -f output.txt; else sed -i "s/\`\`\`//g" output.txt; spd-say "code wurde generiert."; fi' alias botb='sed -i "s/duration=[0-9]\+/duration=5/g" ~/.local/bin/stt.py; tgpt -img "$(python3 ~/.local/bin/stt.py 2>/dev/null)"; spd-say "Bilder wurden generiert."' alias both=' echo "Optionen für bot:" echo "" echo " bot - Standardausgabe" echo " - Spracheingabe mit Ausgabe-Sprachausgabe und ohne output.txt" echo "" echo " bott - Nur Textausgabe" echo " - Spracheingabe ohne Ausgabe-Sprachausgabe und mit output.txt" echo "" echo " botts - Textausgabe" echo " - Spracheingabe mit Ausgabe-Sprachausgabe und mit output.txt" echo "" echo " botc - Codegenerierung" echo " - Spracheingabe ohne Ausgabe-Sprachausgabe und mit output.txt" echo "" echo " botb - Bildgenerierung" echo " - Spracheingabe mit Bildergenerierung" echo "" echo " both - Diese Hilfe anzeigen"'
-
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'
Quotetgpt
Antworte bitte in Deutsch.Sure, I'd be happy to answer in German!
Wie geht es Ihnen?
-
Kurze Info.. mittlerweile geht tgpt wieder auf deutsch
-
Gibt es auch Chat gpt für Anfänger ??
Mach dir keine Sorgen.
Frag ChatGPT einfach was du willst und wenn das Ergebnis nicht zufriedenstellend ist kannst du dein Eingabe weiter präzisieren -
Habe die Sprachausgabe auf piper umgestellt. bei manueller Installation kann
Codealias 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..
Python
Display More#!/usr/bin/python3 # -*- coding: utf-8 -*- import gi import os gi.require_version('Gtk', '3.0') gi.require_version('Vte', '2.91') from gi.repository import Gtk, Vte, GLib, GdkPixbuf class TerminalApp(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Mint Copilot") self.set_default_size(800, 600) # Create a horizontal box to hold the image and buttons on the left hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) self.add(hbox) # Create a vertical box for logo and buttons vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) hbox.pack_start(vbox, False, False, 0) # Load the logo image pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(os.path.expanduser("~/.local/share/icons/mc-logo.png"), 200, -1, True) logo = Gtk.Image.new_from_pixbuf(pixbuf) vbox.pack_start(logo, False, False, 0) # Create buttons button1 = Gtk.Button(label="Chat") button1.connect("clicked", self.on_chat_clicked) vbox.pack_start(button1, False, False, 0) button2 = Gtk.Button(label="Sprachchat") button2.connect("clicked", self.on_sprachchat_clicked) vbox.pack_start(button2, False, False, 0) # Add a spacer to push the update button to the bottom vbox.pack_start(Gtk.Box(), True, True, 0) button3 = Gtk.Button(label="Terminal-GPT Update") button3.connect("clicked", self.on_update_clicked) vbox.pack_start(button3, False, False, 0) # Create the scrolled window to hold the terminal self.scrolled_window = Gtk.ScrolledWindow() hbox.pack_start(self.scrolled_window, True, True, 0) # Initially set terminal to None self.terminal = None # Start chat immediately self.on_chat_clicked(None) def create_terminal(self): # Remove old terminal if exists if self.terminal: # Close the current terminal session self.terminal.feed_child(b"exit\n") # Remove terminal from scrolled window self.scrolled_window.remove(self.terminal) self.terminal = None # Create a new terminal instance self.terminal = Vte.Terminal() self.terminal.spawn_async( Vte.PtyFlags.DEFAULT, os.environ['HOME'], ["/bin/bash"], [], GLib.SpawnFlags.DEFAULT, None, None, -1, None, None, ) # Add the new terminal to the scrolled window self.scrolled_window.add(self.terminal) self.scrolled_window.show_all() # Bring the terminal window to the front and make it active self.present() def run_command(self, command): if self.terminal: # Clear the terminal screen before running the command self.terminal.feed_child(b"clear\n") # Run the command self.terminal.feed_child(bytes(command + "\n", "utf-8")) # Focus on the terminal self.terminal.grab_focus() def run_command_on_enter(self, command): if self.terminal: # Clear the terminal screen before running the command self.terminal.feed_child(b"clear\n") # Define the command to run self.terminal.feed_child(bytes(f"{command}\n", "utf-8")) # Focus on the terminal self.terminal.grab_focus() # Add the handler for Enter key self.terminal.connect("commit", self.on_terminal_commit, command) def on_terminal_commit(self, terminal, text, length, command): if text == "\r": # Check if the Enter key was pressed # Clear the terminal screen before running the command terminal.feed_child(b"clear\n") # Define the command to run terminal.feed_child(bytes(f"{command}\n", "utf-8")) def on_chat_clicked(self, widget): self.create_terminal() GLib.timeout_add(100, lambda: self.run_command("clear; tgpt -i")) def on_sprachchat_clicked(self, widget): self.create_terminal() GLib.timeout_add(100, lambda: self.run_command_on_enter("clear; echo '\n Bitte sprechen Sie jetzt:\n\n'; bot && echo $output; echo '\n\n Für eine erneute Spracheingabe Eingabetaste drücken!\n'")) def on_update_clicked(self, widget): self.create_terminal() GLib.timeout_add(100, lambda: self.run_command("clear; echo '\nAuf Updates für Terminal-GPT prüfen:\n\n'; sudo tgpt -u; echo '\n'")) app = TerminalApp() app.connect("destroy", Gtk.main_quit) app.show_all() Gtk.main()
Siehe Beitrag #38
-
Moin Maik
Ist das GPT nur für ein System vorgesehen oder für alle Systeme (mint oder debian usw)
Gruß Joe
-
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.
-
Kenn mich mit pyton scripte allgemein nicht aus
-
Kenn mich mit pyton scripte allgemein nicht aus
Du kannst deine gewünschten Änderungen von chatgpt selbst machen lassen 😉
-
Du kannst deine gewünschten Änderungen von chatgpt selbst machen lassen 😉
Hab mich mit GPT noch nicht richtig befasst
-
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ügtTooltips 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.
-
Kleine Anpassungen:
- sounddevice hinzugefügt
- SpeechRecognition ist nun optional
- Spracheingabefehler werden nun angezeigt wenn nicht verstanden oder Übertragungsfehler
-Syntaxfehler durch Integration von neofetch bzw. lspci umgangen
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!