حزمة الوحدة غير الرسمية تتيح لك استخدام API Openai مباشرة في محرك لعبة الوحدة.
يمكنك العثور على دروس فيديو مخصصة لكيفية استخدام هذه الحزمة في قائمة تشغيل YouTube هذه.
https://www.youtube.com/playlist؟list=plre-fzieels1-c7qifzyzeq50id08fcjo

لاستيراد الحزمة ، اتبع هذه الخطوات:
Window > Package Manager+ وحدد Add package from git URLAddلاستخدام API Openai ، تحتاج إلى الحصول على حساب Openai. اتبع الخطوات هذه لإنشاء حساب وإنشاء مفتاح API:
لتقديم طلبات إلى Openai API ، تحتاج إلى استخدام مفتاح API واسم المؤسسة (إن أمكن). لتجنب تعريض مفتاح API الخاص بك في مشروع الوحدة الخاص بك ، يمكنك حفظه في التخزين المحلي لجهازك.
للقيام بذلك ، اتبع هذه الخطوات:
C:UserUserName for windows أو ~ for linux أو mac)auth.json في مجلد .openai{
"api_key" : " sk-...W6yi " ,
"organization" : " org-...L7W "
} يمكنك أيضًا تمرير مفتاح API الخاص بك إلى OpenAIApi Ctor عند إنشاء مثيل منه ولكن مرة أخرى ، لا ينصح بذلك!
var openai = new OpenAIApi ( " sk-Me8...6yi " ) ;هام: مفتاح API الخاص بك هو سر. لا تشاركها مع الآخرين أو تعرضها في أي رمز من جانب العميل (مثل متصفحات ، تطبيقات). إذا كنت تستخدم Openai للإنتاج ، فتأكد من تشغيله على جانب الخادم ، حيث يمكن تحميل مفتاح API الخاص بك بشكل آمن من متغير البيئة أو خدمة إدارة المفاتيح.
يمكنك استخدام فئة OpenAIApi لتقديم طلبات ASYNC إلى Openai API.
جميع الطرق غير متزامنة ويمكن الوصول إليها مباشرة من مثيل من فئة OpenAIApi .
فيما يلي مثال على كيفية تقديم طلب:
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 ) ;
} لتقديم طلب دفق ، يمكنك استخدام أساليب CreateCompletionAsync و CreateChatCompletionAsync . ستقوم هذه الأساليب بتعيين خاصية Stream للطلب إلى true وإعادة الاستجابات من خلال رد اتصال Onresponse. في هذه الحالة ، يتم تخزين استجابات النص في Delta خاصية حقل Choices في إكمال الدردشة.
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 ( )
) ;تتضمن هذه الحزمة مشاهدتين عينة يمكنك استيرادها عبر مدير الحزمة:
لا يمكن رؤية نتيجة الصورة في إنشاء WebGL: نظرًا لسياسة CORS الخاصة بتخزين صور Openai في إنشاء WebGL المحلي ، ستحصل على عنوان URL الذي تم إنشاؤه بواسطة الصورة ، ومع ذلك لن يتم تنزيله باستخدام UnityWebRequest حتى تقوم بتشغيله من LocalHost ، على الخادم.
الاستجابة المتدفق هي مجرد فارغة في WebGL Build: Unity 2020 WebGL لديها خطأ حيث ترد استجابات الدفق فارغة. يمكنك التحديث والمحاولة مع إصدار أحدث من الوحدة.
يوضح الجدول التالي إصدارات الوحدة المدعومة لبناء WebGL:
| نسخة الوحدة | النوافذ | Linux | ماكوس | WebGL | Android | iOS | Oculus 2 |
|---|---|---|---|---|---|---|---|
| 2022.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2021.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2020.3.x | ✅ | ✅ | ✅ | ✅ | |||
| 2019.4.x | ✅ |
| ✅ = مدعوم | ⛔ = غير مدعوم |
يرجى الإبلاغ عن أي مشكلات تواجهها مع البناء.
لمزيد من المعلومات حول كيفية استخدام معلمات الطلب المختلفة ، يرجى الرجوع إلى وثائق Openai: https://platform.openai.com/docs/api- المرجع