Ein inoffizielles Einheitspaket, mit dem Sie die OpenAI -API direkt in der Unity Game Engine verwenden können.
In dieser YouTube -Wiedergabeliste finden Sie dedizierte Video -Tutorials für die Verwendung dieses Pakets.
https://www.youtube.com/playlist?list=plre-fzieels1-c7qifzyzeq50id08fcjo

Um das Paket zu importieren, befolgen Sie die folgenden Schritte:
Window > Package Manager+ und wählen Sie Add package from git URLAddUm die OpenAI -API zu verwenden, müssen Sie ein OpenAI -Konto haben. Befolgen Sie diese Schritte, um ein Konto zu erstellen und einen API -Schlüssel zu generieren:
Um Anfragen an die OpenAI -API zu stellen, müssen Sie Ihren API -Schlüssel und den Organisationsnamen (falls zutreffend) verwenden. Um zu vermeiden, dass Ihr API -Schlüssel in Ihrem Einheitsprojekt aufgeschlossen wird, können Sie sie im lokalen Speicher Ihres Geräts speichern.
Befolgen Sie dazu die folgenden Schritte:
C:UserUserName für Windows oder ~ für Linux oder Mac)auth.json im Ordner .openai{
"api_key" : " sk-...W6yi " ,
"organization" : " org-...L7W "
} Sie können Ihren API -Schlüssel auch in OpenAIApi CTOR übergeben, wenn Sie eine Instanz davon erstellen, aber dies wird nicht empfohlen!
var openai = new OpenAIApi ( " sk-Me8...6yi " ) ;Wichtig: Ihr API -Schlüssel ist ein Geheimnis. Teilen Sie es nicht mit anderen und setzen Sie es nicht in einem clientseitigen Code (z. B. Browser, Apps) auf. Wenn Sie OpenAI für die Produktion verwenden, stellen Sie sicher, dass Sie sie auf der Serverseite ausführen, wobei Ihr API -Schlüssel sicher aus einer Umgebungsvariablen oder einem wichtigen Verwaltungsdienst geladen werden kann.
Sie können die OpenAIApi -Klasse verwenden, um asynchronen Anfragen an der OpenAI -API zu stellen.
Alle Methoden sind asynchron und können direkt aus einer Instanz der OpenAIApi -Klasse zugegriffen werden.
Hier ist ein Beispiel dafür, wie man eine Anfrage stellt:
private async void SendRequest ( )
{
var req = new CreateChatCompletionRequest
{
Model = " gpt-3.5-turbo " ,
Messages = new List < ChatMessage > ( )
{
new ChatMessage ( )
{
Role = " user " ,
Content = " Hello! "
}
}
} ;
var res = await openai . CreateChatCompletion ( req ) ;
} Um eine Stream -Anfrage zu stellen, können Sie die Methoden CreateCompletionAsync und CreateChatCompletionAsync verwenden. Diese Methoden werden Stream -Eigenschaft der Anfrage an true festlegen und Antworten über einen OnResponse -Rückruf zurückgeben. In diesem Fall werden die Textantworten in Delta -Eigenschaft des Feldes Choices in der Chat -Fertigstellung gespeichert.
var req = new CreateChatCompletionRequest {
Model = " gpt-3.5-turbo " ,
Messages = new List < ChatMessage >
{
new ChatMessage ( )
{
Role = " user " ,
Content = " Write a 100 word long short story in La Fontaine style. "
}
} ,
Temperature = 0.7f ,
} ;
openai . CreateChatCompletionAsync ( req ,
( responses ) => {
var result = string . Join ( " " , responses . Select ( response => response . Choices [ 0 ] . Delta . Content ) ) ;
Debug . Log ( result ) ;
} ,
( ) => {
Debug . Log ( " completed " ) ;
} ,
new CancellationTokenSource ( )
) ;Dieses Paket enthält zwei Beispielszenen, die Sie über den Paketmanager importieren können:
Sie können das Image -Ergebnis in WebGL -Builds nicht sehen: Aufgrund der CORS -Richtlinie des OpenAI -Bildspeichers in lokalen WebGL -Builds erhalten Sie die URL des generierten Bildes. Es wird jedoch nicht mit UnityWebRequest heruntergeladen, wenn Sie es auf einem Server aus Localhost herausführen.
Die Streamed -Antwort ist im WebGL Build nur leer: Unity 2020 WebGL hat einen Fehler, bei dem Stream -Antworten leer zurückkehren. Sie können eine neuere Version von Unity aktualisieren und versuchen.
Die folgende Tabelle zeigt die unterstützten Einheitsversionen für WebGL -Builds:
| Einheit Version | Fenster | Linux | Macos | Webgl | Android | IOS | Oculus 2 |
|---|---|---|---|---|---|---|---|
| 2022.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2021.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2020.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2019.4.x | ✅ |
| ✅ = unterstützt | ⛔ = nicht unterstützt |
Bitte melden Sie alle Probleme, die Sie mit Builds begegnen.
Weitere Informationen zur Verwendung der verschiedenen Anforderungsparameter finden Sie in der OpenAI-Dokumentation: https://platform.openai.com/docs/api-reference