Gish ist eine Command-Line-Schnittstelle (CLI), die nach Unix-Konventionen mit OpenAI-GPT interagiert und über Flags eine große Anzahl von Funktionen anbietet. Es ist wichtig zu beachten, dass ein kostenpflichtiges OpenAI -Konto und ein API -Schlüssel zur Verwendung von GISH erforderlich sind.
Gish bietet die folgenden Funktionen an:
#import
-Anweisung#diff
-Anweisung oder dem -d
-Flag npx gish-gpt
oder
npm install gish-gpt
node_modules/.bin/gish
Alternative, ersetzen Sie Schritt 3 durch NPM Dev, um Änderungen am Code und vorzunehmen
dist/index.js
ausdist/index.js
irgendwo auf Ihrem Pfad. Erstellen Sie alternativ einen Alias. # gish tell me a joke
Why was the math book sad? Because it had too many problems.
# gish "What is the population of the city of London?".
The population of the City of London is approximately9 million, as of 2021.
Ohne Zitate interpretiert die Shell das Fragezeichen in der zweiten Anfrage und verursacht einen Fehler.
Piped -Eingang:
#echo "What is the population of the city of London?" | gish
The estimated population of the city of London is around 9 million people.
# gish.
> tell me a joke
Why did the tomato turn red? Because it saw the salad dressing!
Dies ähnelt der Eingabe von "Python" oder "Knoten" in der Befehlszeile.
gist < foo
Wo Foo's Inhalt ist
tell me a joke
gish --help
zeigt alle verschiedenen Optionengish tell me a joke
wird einfach die Anfrage sendengish "what is the population of San Francisco?".
Sie benötigen die Zitate, um Shell -Fehler zu vermeiden.gish -e
bringt Sie in Ihren Editor und sendet den Inhalt, wenn Sie fertig sind. Zum Abbruch erstellen Sie die Datei entweder nicht oder leeren Sie sie nichtgish -e foo.txt
macht dasselbe, arbeitet aber in einer vorhandenen Datei.gish -h [num]
zeigt Ihnen die Geschichte. Num ist optional und standardmäßig 20.gish -i foo
sendet den Inhalt von Foo. Äquivalent zu cat foo | gish
.gish -m gpt-4
gibt das Modell angish -p foo
verwendet Foo als Eingabeaufforderung in einem Chat. Andere Flaggen oder Argumente werden verwendet, um die tatsächliche Anfrage zu bestehen, dies ist jedoch der Hintergrund. Siehe https://platform.openai.com/docs/guides/chat. Gish setzt diese Eingabeaufforderung als erste im Chat mit der Rolle des "Systems".gish -s foo.ts
spart die Ausgabe auf foo.ts. Beim Generieren von Code muss der Benutzer eine Eingabeaufforderung verwenden, die die entsprechende Ausgabe generiert. Ein Beispiel finden Sie auf Eingabeaufforderungen/Codierung.gish -d foo.ts
differnen Sie das Ergebnis mit dieser Datei. Erfordert -s.gish -c [num]
aktiviert den Chat -Modus und bezieht sich auf die Num -Anforderung, standardmäßig auf die vorherige. Weitere Informationen finden Sie im Bereich Chat.gish -g
generiert mehrere Dateien, um eine vollständige Anwendung zu erstellen. Weitere Informationen finden Sie im Abschnitt Generierung.gish -x
zusätzliche Argumente, um an GPT zu gelangen. Beispiel: -x '"Temperatur" = 0,5: "max_tokens" = 500'. Wie in Ihrer Shell -H oder -geschichte zeigt die Geschichte die Geschichte Ihrer Anfragen. Der optionale Num -Param gibt die Anzahl der Elemente an. Die Standardeinstellungen sind 20.
Der Chat -Modus bietet eine ähnliche Erfahrung wie https://platform.openai.com/chat, wo Sie sich auf frühere Anfragen verweisen können.
# gish what is the capital of japan
The capital of Japan is Tokyo.
# gish -c population
The estimated population of Tokyo, Japan as of2021 is approximately 13.9 million people.
Mit der History -Funktion sehen Sie die Position von Anfragen im Verlauf und übergeben sie im Parameter -c.
# gish tell me a joke
Why did the tomato turn red ? Because it saw the salad dressing !
# gish tell me a one line story
She found love in the most unexpected place.
# gish -h 2
892: tell me a joke
893: tell me a one line story
# gish -c 892 another
Why did the bicycle fall over ? Because it was two-tired !
Die Liste der Flagas finden Sie in den [CHAT-API-DOCS] (https://platform.openai.com/docs/api-reference/chat), die Sie verwenden können. Diese Funktion ist für fortgeschrittene Benutzer gedacht, aber die API wird normalerweise fehlerhaft, wenn Sie IT -Flags übergeben, die nicht unterstützt werden.
Warnung Die Saite, die Sie verabschieden, muss gültig sein. Stellen Sie speziell sicher, dass jede Zeichenfolge auf beiden Seiten der ':' in doppelten Zitaten eingeschlossen ist. Das ist JSON, nicht JavaScript! Beispiel:
# gish -x '"temperature":0.5,"max_tokens":5' tell me a joke
Why did the tomato turn
Ließ es nach 5 Token die Antwort hacken.
chat
und die Anforderung zum Eingeben von Chat -Modus ein. Geben Sie den Ausgang ein, um den Chat -Modus zu verlassen. Geben Sie den Verlauf mit einer optionalen Nummer ein, um den Verlauf anzuzeigen. Der Standard ist 20.
Der Chat -Modus bietet eine ähnliche Erfahrung wie https://platform.openai.com/chat, wo Sie sich auf frühere Anfragen verweisen können.
> 10 miles to km
16.0934 km.
> chat how about 40
40 miles is equal to64.3736 kilometers.
Chat > how about 50
50 miles is equal to80.4672 kilometers.
Chat > exit
> how about 30
30 is a positive integer that comes after29 and before 31.
chat 876 another
Verwenden Sie die #import
-Anweisung in Ihrer Eingabedatei, um Eingabeaufforderungen oder Kommentare/Text anzuschließen, auf die Chatgpt reagieren soll. Beispiel
#import ~/work/gish/tasks/coding.txt
The above program prints hello world. Change it to print goodbye world.
#import hello.ts
Hier ist der Inhalt von tasks/coding.txt
:
I want you to act as a coding collaborator. I will ask you software questions and you will answer with code.
Your response for this request needs to be code and nothing else.
Only provide comments if they provide important extra information and they should be brief and to the point. The contents should be in the code as comments at the top of the file.
---
Dies ist der typische Workflow bei der Verwendung von GISH für die Codierung:
Verwenden Sie die Option #diff
, wenn Sie möchten, dass GPT Änderungen an einer Datei vornimmt, und differnen Sie sie anschließend:
#import ~/work/gish/tasks/coding.txt
In the following file, document the code better
#diff settings.ts
Dieser Prozess ähnelt #import
, informiert sich aber auch mit der App mit, dass der Benutzer die Datei ändert. Sobald der Code generiert ist, wird der in settings.ts
definierte Diff -Befehl auf den ursprünglichen und generierten Dateien gestartet. Bei komplexen Änderungen kann Copilot besser funktionieren.
Mit der entsprechenden Eingabeaufforderung wie [Webanwendung] (Tasks/Webapp.txt) können Sie das LLM erhalten, GPT-4 wird dafür empfohlen, aber experimentieren und sehen, was für Sie funktioniert. Einfach eine Eingabedatei erstellen
#import tasks/webapp.txt
Generate Conway's game of life.
Include on the page, the instructions on how to play the game.
und dann rennen
gish -m gpt-4 -g life -i /input
Führte zum Spiel des Lebens im "Leben" -Verzeichnis.
Warnung
Beachten Sie, dass es einfach viele Token verwenden kann, insbesondere mit GPT-4, damit sich die Kosten summieren können.
In den [Beispielen] (Beispiele) können Sie wie GISH GISH verwenden:
Hier ist ein Shell -Skript -Beispiel, das GISH verwendet, um eine Git -Commit -Nachricht zu generieren und Benutzer im Editor mit dem vorpopulierten Nachrichten abzugeben:
#! /bin/bash
out= " The following is the output of git diff "
out+= ` git diff $* `
out+= " ----------------------------- "
out+= " The following is the output of git status "
out+= ` git status --untracked-files=no $* `
out+= " ----------------------------- "
out+= " based on the above provide a commit message "
git commit -e -m " ` echo $out | gish --no-stats ` " $*
Die Protokolldatei ~/.gish/history.json verhält sich als Protokoll Ihrer Gespräche mit ChatGPT. Da es sich um eine Standarddatei handelt, können Sie einen Editor oder einen Pager verwenden, um die Geschichte Ihrer Interaktionen mit ChatGPT zu betrachten. Er enthält:
Ähnlich wie bei Linux -Befehlen wie Cat und Echo ist das Folgende, wie Gish die Argumente und Flaggen priorisiert hat:
Standardmäßig zeigt Gish Ihnen Statistiken für Ihre Anfrage:
gish tell me a joke --no-stream
Why don't scientists trust atoms?
Because they make up everything.
Tokens: 26 Cost: $0.00005 Elapsed: 1.198 Seconds
Die Kosten basieren auf der Annahme, dass Sie 3,5 GPT bei 0,02 USD pro 1000 -Token verwenden. *Überprüfen Sie die Zahlen, bevor Sie sich auf sie verlassen. Bei der Verwendung von Streaming gibt uns die API nicht die Anzahl der Token, daher müssen wir diese selbst berechnen, was ausgeschaltet sein könnte.