Ein Befehlszeilen -Tool zum Ausführen von GPT -Befehlen. Dieses Tool unterstützt die Plugins mit Eingabeaufforderung, Eingabeaufforderung und ChatGPT.
Verwenden Sie dieses Tool, um
Sie müssen einen OpenAI -API -Schlüssel erstellen. Wenn Sie ein Konto haben, können Sie hier einen Schlüssel erstellen
https://platform.openai.com/account/api-keys
Teilen Sie Ihren API-Schlüssel nicht mit anderen und legen Sie sie im Browser oder im anderen clientseitigen Code nicht frei. Sie werden Gebühren anfallen, wenn jemand Ihren Schlüssel verwendet. Überprüfen Sie Ihren Schlüssel nicht in einem öffentlichen Repository.
Erstellen Sie eine Datei, die Ihren API -Schlüssel enthält (der unten ist nicht real). In unserem Beispiel. Wir nennen die Datei api_key und fügen den Schlüssel hinzu.
sk-gKtTxOumv4orO6cfWlh0ZK
Stellen Sie sicher, dass Sie den Dart installiert haben. Befolgen Sie die Anweisungen im folgenden Link.
https://dart.dev/get-dart
Nach der Installation können Sie das GPT -Programm mit dem folgenden Befehl installieren
Dart Pub Global Activate GPT
Im Folgenden sind die verwendeten Anwendungsfälle unterstützt
Führen Sie den Project -Befehl generieren aus
air genp
Sie müssen zuerst den Archetyp auswählen
? Project Archetype ›
❯ Prompt
Chain
Batch
Image
ChatGPT Plugin
Geben Sie den Projektnamen und die Projektversion ein
✔ Project Archetype · Prompt
✔ Project Name: · myproject
✔ Project Version: · 1.0
Abhängig vom Projekt müssen Sie möglicherweise Ihren API -Schlüssel eingeben. Sie können überspringen, eine vorhandene Schlüsseldatei verwenden oder eine neue Schlüsseldatei erstellen
? Import Key ›
❯ Skip
Use Existing OpenAI API Key File
Create New OpenAI API Key File
Mit der folgenden Option können wir den API -Schlüssel direkt eingeben. Es speichert den Schlüssel für eine Datei. Wenn Sie Probleme beim Kopieren und Einfügen des Schlüssels haben, geben Sie einfach ein paar Zeichen ein und bearbeiten Sie die Datei anschließend.
✔ Import Key · Create New OpenAI API Key File
? API Key: › sk-gKtTxOumv4orO6cfWlh0ZK
Mit dem ChatGPT -Plugin -Projekt können Sie ein schnelles Prototyping eines ChatGPT -Plugins durchführen. Insbesondere ermöglicht es Ihnen, Antworten auf ChatGPT zu verspotten. Das Projekt basiert auf dem QuickStart-Projekt unter: https://github.com/openai/plugins-quickstart
Ihre Projektdatei sieht so aus
---
projectName : plugin-quickstart
projectVersion : ' 1.0 '
projectType : plugin
defaultConfig :
properties :
port : 5003
nameForHuman : TODO Plugin (no auth)
nameForModel : todo
descriptionForHuman : Plugin for managing a TODO list, you can add, remove and view your TODOs.
mockedRequests :
- path : " /todos/global "
method : get
mockedResponse : todos-global.json
- path : " /todos/user "
method : get
mockedResponse : todos-global.json
pluginServers :
- serverId : todo-mike
flavor : mike
# mocked requests
mockedRequests :
- path : " /todos/mike "
method : get
mockedResponse : todos.json # returns the content of this file
# Adds a different user for testing
- serverId : todo-kaleb
flavor : kaleb
mockedRequests :
- path : " /todos/kaleb "
method : get
mockedResponse : todos.json
properties :
showHttpHeaders : true # Show http headers in logsJede Konfiguration im Standardconfig -Knoten wird auf jeden PluginServer angewendet, es sei denn, dieses Plugin überschreibt die Eigenschaft speziell.
Eine Stichprobe verspottete Reaktion ( todos.json ) ist unten angegeben. Dies wird bei einem Anruf an /todos /mike zurückgegeben
{
"todos" : [
" Clean out a septic tank " ,
" Repair a broken sewer pipe " ,
" Collect roadkill for disposal " ,
" Assist in bee hive relocation " ,
" Service a grease trap at a restaurant "
]
}Um eine verspottete Instanz des Plugin -Servers zu starten
air plugin
oder um einen bestimmten Server zu starten, fügen Sie die Serverid -Option hinzu
air plugin --serverId todo-mike
Weitere Informationen zum Erstellen und Verwenden eines Chatgpt-Plugins
Wenn Sie sich für ein Bildprojekt entschieden haben, werden Sie nach einer Beschreibung gefragt. Machen Sie sich keine Sorgen, Sie können es später nach dem Erstellen des Projekts ändern.
? Image Description: › A goldfish with big eyes
Ihre Projektdatei sieht so aus
projectName : image-2
projectVersion : 2.0
apiKeyFile : api_key
blocks :
- blockId : image-block-1
pluginName : ImageGptPlugin
executions :
# First Image
- id : img-1
sizes :
- 256
- 256
- 1024
prompt : image.prompt
properties :
imageDescription : A goldfish with big eyesIhre Eingabeaufforderung Datei wird sein
Generate a picture of a ${imageDescription}
Weitere Informationen zu Bildern

Im Folgenden wird gefragt, wie oft die Stapeldaten ausgeführt werden können. Wenn Sie 5 Mal auswählen, werden alle Stapeldatenanrufe jeweils 5 -mal ausgeführt.
? Number of Times to Run The Block: › 5
Sie sehen eine Projektdatei wie die folgende
---
projectName : mybatch
projectVersion : 1.0
apiKeyFile : api_key
blocks :
- blockId : batch-1
pluginName : BatchGptPlugin
blockRuns : 5
configuration :
requestParams :
model : gpt-3.5-turbo
temperature : 0.7
top_p : 1
max_tokens : 500
executions :
- id : batch-1
dataFile : batch-data.json
prompt : batch.promptDie Eingabeaufforderung ist eine einfache Hello World -Eingabeaufforderung
Write me a paragraph about the world I live in
World: ```${my_world}```
Die Batch-data.json-Datei enthält die Stapeldaten.
{
"my_world" : [
" Hello World, I live in a magical place with magical creatures " ,
" Hello World, I live in a futuristic Utopia " ,
" Hello World, I live in a futuristic Dystopia "
]
}Ändern Sie diese beiden Dateien mit Ihren eigenen Daten. Weitere Informationen zu Chargen
Im Folgenden wird gefragt, wie oft die schnelle Anfrage ausgeführt werden kann. Wenn Sie 5 Mal auswählen, wird die gesamte Eingabeaufforderung 5 Mal ausgeführt.
? Number of Times to Run The Block: › 5
Wählen Sie als nächstes das Ausgangsformat aus. Möchten Sie nur eine direkte Textantwort oder möchten Sie sie im JSON -Format?
? Response Format ›
JSON
❯ TEXT
Wenn Sie JSON wählen, werden Sie gefragt, ob Sie die Reparatur der JSON -Antwort aktivieren möchten. Dies wird versuchen, einen fremden Text zu analysieren, den der AI -Assistent hinzufügen kann.
? Attempt to FIX JSON Responses? (y/n) › no
Die Projektdatei sieht so aus
---
projectName : prompt-1
projectVersion : 1.0
apiKeyFile : api_key
blocks :
- blockId : single-1
pluginName : ExperimentGptPlugin
blockRuns : 5
configuration :
requestParams :
model : gpt-3.5-turbo
temperature : 1.2
top_p : 1
max_tokens : 500
executions :
- id : exp-1
responseFormat : json
fixJson : false
promptChain :
- prompt-json.prompt
properties :
character : Commander in Starfleet
mainCharacterName : ' '
- blockId : report-1
pluginName : ReportingGptPlugin
executions :
- id : report-1
blockIds :
- single-1Die Datei enthält einige Standardwerte für die OpenAI -Anforderungen. Ändern Sie sie, um Ihren Bedürfnissen zu entsprechen. Standardmäßig werden auch das Reporting -Plugin hinzugefügt, das die HTML -Ausgabe der Benutzer-/Assistenten -Antwort generiert hat.
Die Eingabeaufforderung-json.prompt sieht aus wie folgt. Beachten Sie, wie der Ausgang die Verwendung von JSON angibt. Ändern Sie die Eingabeaufforderung und die Eigenschaften an Ihren Anforderungen.
Write me a story about ${character}. The main character is ${mainCharacterName}.
If no main character is given, choose one. Write one sentence only.
The response should be in JSON using the following structure:
Only use these fields. {"mainCharacterName": "", "story": ""}
Weitere Informationen zu Eingabeaufforderungen erhalten
Wählen Sie den Kettenprojektarchetyp . Gehen Sie dann die Optionen durch.
? Number of Times to Run The Block: › 1
? Attempt to FIX JSON Responses? (y/n) › yes
? Number of Times to Run The Prompt Chain: › 2
Die generierte Projekt.yaml -Datei.
---
projectName : " chain-project "
projectVersion : " 1.0 "
apiKeyFile : " api_key "
blocks :
# Block demonstrates the use of importing properties
- blockId : chain-1
pluginName : ExperimentGptPlugin
blockRuns : 1 # Number of Stories
configuration :
requestParams :
model : gpt-3.5-turbo
temperature : 1.2
top_p : 1
max_tokens : 500
executions :
- id : exp-1-import
chainRuns : 2 # Number of times to run the promptChain
promptChain :
- story.prompt
- user-action.prompt # Simulates user input
excludesMessageHistory :
- user-action.prompt
fixJson : true
responseFormat : json
# Import properties from a properties file
import :
propertiesFile : properties.json # predefined values
properties :
planet : 1 # Earth
action : 3 # Lands on the planet
- blockId : report-1
pluginName : ReportingGptPlugin
executions :
- id : report-1
blockIds :
- chain-1Die Eigenschaftsfelder im obigen Projekt.YAML -Datei verweisen auf den Index innerhalb der Datei Properties.json . Mit dieser Datei können Sie die Testeingabe problemlos ändern.
{
"planet" : [
" Earth " ,
" Venus " ,
" Jupiter "
],
"action" : [
" Blows up the planet " ,
" Observes the planet From Orbit " ,
" Lands on the planet " ,
" Zips around the planet and hopes no one notices "
]
}Das Werkzeug ersetzt den Planeten "Erde" und die Aktion "landet auf dem Planeten" in die unten stehende Geschichte. Beachten Sie, dass die KI den Namen des Charakters und den ersten Absatz der Geschichte erzeugt.
The response will be in JSON Format.
Captain ${captainsName} is near ${planet}. .
The last part of the story is: ${story}
Then the captain ${action}
Tell me a story about what happens next.
Be very descriptive. Write two sentences only.
Give me the captains name, if I haven't given it.
RESPONSE
The response must only be in JSON using the following structure.
Only use these fields. {"captainsName": "${captainsName}", "story": ""}
Das Tool übergibt nun den Namen des zurückgegebenen Kapitäns und die Geschichte von der ersten Eingabeaufforderung in die user-action.prompt . Wir werden eine Aktion zurückbekommen, die der Charakter ausnimmt.
Give me an action for ${captainsName} for the following story:
${story}
The response must be in JSON using the following structure.
Only use these fields. {"action": ""}
Jetzt werden wir die Geschichte erstellen.
Der folgende ist die Probeausgabe aus einem tatsächlichen Lauf
As Captain John lands on the planet, he feels the trembling beneath his feet and sees the vibrant green flora around him.
He plants the Earth's flag to claim its new discovery and soon finds a thriving alien civilization welcoming him with open arms.
[user action "plants the flag to claim the new discovery"]
As Captain John plants the Earth's flag on the newfound planet, he is approached by the leaders of the alien civilization
who speak his language and reveal that they have known about Earth for centuries. They invite him to partake in a feast in
his honor, where he learns about their advanced technology and way of life.
Beachten Sie, dass der Kettenlauf der Anzahl der Absätze, die wir in der Ausgabe haben, übereinstimmen. Wenn wir einen weiteren Absatz wollten, würden wir Chainruns auf 3. Setzen. Wenn wir Blockruns auf 5 gesetzt hätten, hätten wir 5 verschiedene Geschichten generiert.
Weitere Informationen zu Ketten
Um einen HTML -Bericht zu generieren, fügen Sie das ReportingGptPlugin als den letzten Block hinzu. Fügen Sie unter den Blockids eine vorherige Block -ID hinzu, die Sie dem generierten Bericht hinzufügen möchten.
---
projectName : experiment-reporting
projectVersion : ' 1.7 '
apiKeyFile : " ../../api_key "
blocks :
- blockId : chain-1
pluginName : ExperimentGptPlugin
blockRuns : 1
...
# Generate HTML Report
- blockId : report-1
pluginName : ReportingGptPlugin
executions :
- id : report-execution
blockIds :
- chain-1 Der Bericht zeigt den gesamten Chat für die konfigurierten Blockausführungen an.

Weitere Informationen zur Berichterstattung
Luft -Help
A command line tool for running GPT commands
Usage: air <command> [arguments]
Global options:
-h, --help Print this usage information.
Available commands:
clean Cleans project's output directory
count Returns the number of OpenApiCalls that would be made
genp Generates a new project
plugin Runs local version of ChatGPT Plugin
run Runs a project's blocks
Run "air help <command>" for more information about a command.
Um ein Projekt zu reinigen, führen Sie Folgendes aus
Luft sauber
Dadurch wird das Ausgabemaschine für das Projekt gelöscht.
OpenAI-Anrufe mit einem Tool kann kostspielig sein, wenn Sie es falsch konfigurieren. Um festzustellen, wie viele OpenAI -Anrufe ein Projekt erstellen werden, führen Sie den folgenden Befehl aus
Luftanzahl
oder für die Anzahl eines bestimmten Blocks
Air Count -b Myblockid
Es wird ausgeben
Project: product-summary-2.8
Total OpenAPI Calls would be 12
Wenn Sie wissen möchten, dass Ihr Projekt vor dem Eröffnungskosten ausfällt, verwenden Sie die Flagge von Dryrun.
Air Run - -Dryrun
Executing Block
Running Project: image-generation-2.3
BlockId: image-1, PluginName: ImageGptPlugin
----------
Starting Block Run: 1
Starting execution: 1 - Requires 1 calls to OpenAI
POST to https://api.openai.com/v1/images/generations
{"prompt":"Generate a picture of a Unicorn with a gold horn and wings","n":1,"size":"256x256","response_format":"url"}
Finished execution: 1
Starting execution: 2 - Requires 2 calls to OpenAI
POST to https://api.openai.com/v1/images/generations
{"prompt":"Generate a picture of a fish with giant eyes","n":1,"size":"256x256","response_format":"b64_json"}
POST to https://api.openai.com/v1/images/generations
{"prompt":"Generate a picture of a fish with giant eyes","n":1,"size":"512x512","response_format":"b64_json"}
Finished execution: 2
--------
Finished running project: 0 seconds