Greifen Sie über die Dart-Sprache auf die offizielle OpenAI ChatGPT-API zu. Unterstützt jedes Dart-Projekt und alle Flutter-Zielplattformen (iOS, Android, Windows, Linux, Web)
Registrieren Sie sich für einen API-Schlüssel von OpenAI.
Dieses Paket wird in der Pub Dev Library gehostet
flutter pub add chagpt_client
dart pub add chagpt_client
Mit API-Schlüssel initialisieren. Das Standardmodell ist gpt-3.5-turbo
.
import 'package:chatgpt_client/chatgpt_client.dart' ;
const client = ChatGPTClient (apiKey : "API_KEY" );
Optional können Sie die Systemaufforderung, die Temperatur und das Modell wie folgt angeben.
const client = ChatGPTClient (apiKey : "API_KEY" ,
model : "gpt-4" ,
systemPrompt : "You are a CS Professor" ,
temperature : 0.7 );
Es gibt zwei APIs: Stream und Normal
Der Server liefert Datenblöcke, bis der Stream abgeschlossen ist oder einen Fehler auslöst.
try {
var text = "" ;
final stream = client. sendMessageStream (prompt);
await for ( final textChunk in stream) {
text += textChunk;
print (textChunk);
}
print (text);
} catch (exception) {
print (exception. toString ());
}
Ein normaler HTTP-Anforderungs- und Antwortlebenszyklus. Der Server sendet den vollständigen Text (die Antwort dauert länger)
try {
final text = await client. sendMessage (prompt);
print (text);
} catch (exception) {
print (exception. toString ());
}
Der Client speichert die Verlaufsliste der Konversation, die in die neue Eingabeaufforderung aufgenommen wird, damit ChatGPT über den vorherigen Konversationskontext informiert ist. Beim Senden einer neuen Eingabeaufforderung stellt der Client sicher, dass der Token 4000 nicht überschreitet (unter Verwendung der Berechnung von 1 Token = 4 Zeichen). Falls er den Token überschreitet, werden einige der vorherigen Konversationen abgeschnitten
Sie können die Verlaufsliste auch durch Aufrufen löschen
client. clearHistoryList ();