Paket Unity tidak resmi yang memungkinkan Anda menggunakan API OpenAI secara langsung di Unity Game Engine.
Anda dapat menemukan tutorial video khusus untuk cara menggunakan paket ini di daftar putar YouTube ini.
https://www.youtube.com/playlist?list=plre-fzieels1-c7qifzyzeq50id08fcjo

Untuk mengimpor paket, ikuti langkah -langkah ini:
Window > Package Manager+ dan pilih Add package from git URLAddUntuk menggunakan API OpenAI, Anda harus memiliki akun Openai. Ikuti langkah -langkah ini untuk membuat akun dan menghasilkan kunci API:
Untuk membuat permintaan ke API OpenAI, Anda perlu menggunakan kunci API dan nama organisasi Anda (jika berlaku). Untuk menghindari mengekspos kunci API Anda di proyek Unity Anda, Anda dapat menyimpannya di penyimpanan lokal perangkat Anda.
Untuk melakukan ini, ikuti langkah -langkah ini:
C:UserUserName for windows atau ~ for linux atau mac)auth.json di folder .openai{
"api_key" : " sk-...W6yi " ,
"organization" : " org-...L7W "
} Anda juga dapat meneruskan kunci API Anda ke OpenAIApi CTOR saat membuat contohnya tetapi sekali lagi, ini tidak disarankan!
var openai = new OpenAIApi ( " sk-Me8...6yi " ) ;Penting: Kunci API Anda adalah rahasia. Jangan membaginya dengan orang lain atau mengeksposnya dalam kode sisi klien apa pun (misalnya browser, aplikasi). Jika Anda menggunakan OpenAi untuk produksi, pastikan untuk menjalankannya di sisi server, di mana kunci API Anda dapat dimuat dengan aman dari variabel lingkungan atau layanan manajemen kunci.
Anda dapat menggunakan kelas OpenAIApi untuk membuat permintaan async ke API OpenAI.
Semua metode tidak sinkron dan dapat diakses langsung dari instance kelas OpenAIApi .
Berikut adalah contoh cara membuat permintaan:
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 ) ;
} Untuk membuat permintaan aliran, Anda dapat menggunakan metode CreateCompletionAsync dan CreateChatCompletionAsync . Metode -metode ini akan mengatur properti Stream dari permintaan ke true dan mengembalikan tanggapan melalui panggilan balik respons. Dalam hal ini respons teks disimpan di properti Delta dari bidang Choices di penyelesaian obrolan.
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 ( )
) ;Paket ini mencakup dua adegan sampel yang dapat Anda impor melalui manajer paket:
Tidak dapat melihat hasil gambar di WebGL builds: karena kebijakan CORS penyimpanan gambar openai di WebGL lokal Builds Anda akan mendapatkan URL gambar yang dihasilkan namun tidak akan diunduh menggunakan UnityWebRequest sampai Anda menjalankannya dari LocalHost, di server.
Respons streaming hanya kosong di WebGL build: Unity 2020 WebGL memiliki bug di mana respons stream kembali kosong. Anda dapat memperbarui dan mencoba dengan versi Unity yang lebih baru.
Tabel berikut menunjukkan versi Unity yang didukung untuk WebGL Builds:
| Versi Persatuan | Windows | Linux | MacOS | Webgl | Android | IOS | Oculus 2 |
|---|---|---|---|---|---|---|---|
| 2022.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2021.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2020.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2019.4.x | ✅ |
| ✅ = didukung | ⛔ = tidak didukung |
Harap laporkan masalah apa pun yang Anda hadapi dengan build.
Untuk informasi lebih lanjut tentang cara menggunakan berbagai parameter permintaan, silakan merujuk ke dokumentasi OpenAI: https://platform.openai.com/docs/api-reference