يتيح LLM for Unity التكامل السلس لنماذج اللغات الكبيرة (LLMs) داخل محرك Unity.
فهو يسمح بإنشاء شخصيات ذكية يمكن للاعبين التفاعل معها للحصول على تجربة غامرة.
تتميز الحزمة أيضًا بنظام توليد الاسترجاع المعزز (RAG) الذي يسمح بإجراء بحث دلالي عبر بياناتك، والذي يمكن استخدامه لتعزيز معرفة الشخصية. تم إنشاء LLM for Unity أعلى مكتبة llama.cpp الرائعة.
في لمحة سريعة • كيفية المساعدة • الألعاب التي تستخدم LLM for Unity • الإعداد • كيفية الاستخدام • RAG • إدارة نموذج LLM • أمثلة • الخيارات • الترخيص
عبر منصة! ويندوز، لينكس، ماك وأندرويد
؟ يعمل محليا دون الوصول إلى الإنترنت. لا توجد بيانات تترك اللعبة على الإطلاق!
⚡ استنتاج سريع للغاية على وحدة المعالجة المركزية ووحدة معالجة الرسومات (Nvidia وAMD وApple Metal)
؟ يدعم جميع نماذج LLM الرئيسية
؟ سهل الإعداد، اتصل بسطر واحد من التعليمات البرمجية
؟ مجاني للاستخدام للأغراض الشخصية والتجارية
؟ تم اختباره على Unity: 2021 LTS، 2022 LTS، 2023
؟ الإصدارات القادمة
ضع نجمة على الريبو، واترك لنا تعليقًا وانشر الخبر عن المشروع!
انضم إلينا في Discord وقل مرحبًا.
ساهم من خلال إرسال طلبات الميزات أو الأخطاء أو حتى العلاقات العامة الخاصة بك.
هذا العمل للسماح بميزات أكثر برودة!
الحكم اللفظي
أنا، Chatbot: AISYLUM
أرواح الفراغ المجهولة
جريمة قتل في الممر 4
Finicky Food Delivery AI
صديقة عاطفية منظمة العفو الدولية
القضية مغلقة
تواصل معنا لإضافة مشروعك!
الطريقة الأولى: التثبيت باستخدام مخزن الأصول
افتح صفحة أصول LLM for Unity وانقر فوق Add to My Assets
افتح مدير الحزم في Unity: Window > Package Manager
حدد خيار Packages: My Assets
من القائمة المنسدلة
حدد LLM for Unity
، وانقر فوق Download
ثم Import
الطريقة الثانية: التثبيت باستخدام GitHub repo:
افتح مدير الحزم في Unity: Window > Package Manager
انقر فوق الزر +
وحدد Add package from git URL
استخدم عنوان URL للمستودع https://github.com/undreamai/LLMUnity.git
وانقر فوق Add
أولاً ستقوم بإعداد LLM للعبتك؟:
قم بإنشاء GameObject فارغ.
في GameObject Inspector، انقر فوق Add Component
وحدد البرنامج النصي LLM.
قم بتنزيل أحد النماذج الافتراضية باستخدام زر Download Model
(~جيجابايت).
أو قم بتحميل نموذج .gguf الخاص بك باستخدام زر Load model
(راجع إدارة نموذج LLM).
ثم يمكنك إعداد كل شخصية من شخصياتك على النحو التالي؟♀️:
قم بإنشاء GameObject فارغ للشخصية.
في GameObject Inspector، انقر فوق Add Component
وحدد البرنامج النصي LLMCharacter.
حدد دور الذكاء الاصطناعي الخاص بك في Prompt
. يمكنك تحديد اسم الذكاء الاصطناعي ( AI Name
) واللاعب ( Player Name
).
(اختياري) حدد LLM الذي تم إنشاؤه أعلاه في حقل LLM
إذا كان لديك أكثر من LLM GameObjects.
يمكنك أيضًا ضبط إعدادات LLM والشخصيات وفقًا لتفضيلاتك (انظر الخيارات).
في البرنامج النصي الخاص بك يمكنك بعد ذلك استخدامه على النحو التالي؟:
باستخدام LLMunity;الفئة العامة MyScript { LLMCharacter العامة llmCharacter؛ باطلة HandleReply(رد السلسلة){// افعل شيئًا مع الرد من modelDebug.Log(reply); } void Game(){// وظيفة لعبتك...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply);... }}
يمكنك أيضًا تحديد وظيفة للاتصال بها عند اكتمال الرد النموذجي.
يعد هذا مفيدًا إذا تم تمكين خيار Stream
للإخراج المستمر من النموذج (السلوك الافتراضي):
void ResponseCompleted(){// افعل شيئًا ما عندما يكتمل الرد من النموذجDebug.Log("رد الذكاء الاصطناعي"); } void Game(){// وظيفة لعبتك...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply, ResponseCompleted);... }
لإيقاف الدردشة دون انتظار اكتمالها يمكنك استخدام:
llmCharacter.CancelRequests();
أخيرًا، في مفتش GameObject الخاص بالبرنامج النصي الخاص بك، حدد LLMCharacter GameObject الذي تم إنشاؤه أعلاه كخاصية llmCharacter.
هذا كل شيء ✨!
يمكنك أيضًا:
لإنشاء تطبيق Android، يتعين عليك تحديد الواجهة الخلفية للبرمجة النصية IL2CPP
و ARM64
كبنية مستهدفة في إعدادات المشغل.
يمكن الوصول إلى هذه الإعدادات من قائمة Edit > Project Settings
داخل قسم " Player > Other Settings
.
إنها فكرة جيدة أيضًا تمكين خيار Download on Build
في LLM GameObject لتنزيل النموذج عند الإطلاق من أجل الحفاظ على حجم التطبيق صغيرًا.
لحفظ/تحميل سجل الدردشة تلقائيًا، يمكنك تحديد معلمة Save
LLMCharacter إلى اسم الملف (أو المسار النسبي) الذي تختاره. يتم حفظ الملف في المجلد المستمرDataPath الخاص بـ Unity. يؤدي هذا أيضًا إلى حفظ حالة LLM مما يعني أن المطالبة المخزنة مؤقتًا مسبقًا لا تحتاج إلى إعادة حسابها.
لحفظ سجل الدردشة يدويًا، يمكنك استخدام:
llmCharacter.Save("اسم الملف");
و لتحميل التاريخ:
llmCharacter.Load("اسم الملف");
حيث اسم الملف هو اسم الملف أو المسار النسبي الذي تختاره.
void WarmupCompleted(){// افعل شيئًا ما عند اكتمال عملية الإحماءDebug.Log("الذكاء الاصطناعي جيد وجاهز"); } void Game(){// وظيفة لعبتك..._ = llmCharacter.Warmup(WarmupCompleted);... }
الوسيطة الأخيرة لوظيفة Chat
هي قيمة منطقية تحدد ما إذا كنت تريد إضافة الرسالة إلى السجل (الافتراضي: صحيح):
void Game(){// وظيفة لعبتك...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply, ResponseCompleted, false);... }
void Game(){// وظيفة لعبتك...string message = "القطة بعيدة";_ = llmCharacter.Complete(message, HandleReply, ResponseCompleted);... }
لهذا يمكنك استخدام وظيفة async
/ await
:
async void Game(){// وظيفة لعبتك...string message = "Hello bot!";سلسلة الرد = انتظار llmCharacter.Chat(message, HandleReply, ResponseCompleted);Debug.Log(reply);... }
باستخدام UnityEngine;استخدام LLMUnity;public class MyScript : MonoBehaviour{LLM llm;LLMCharacter llmCharacter;async void Start(){// تعطيل gameObject بحيث لا يتم استدعاء Awake على الفورgameObject.SetActive(false);// Add LLM objectllm = gameObject. AddComponent<LLM>();// قم بتعيين النموذج باستخدام اسم ملف model.// يجب إضافة النموذج إلى مدير نماذج LLM (راجع إدارة نماذج LLM) عن طريق تحميله أو تنزيله.// وإلا يمكن نسخ ملف النموذج مباشرة داخل مجلد StreamingAssets.llm.SetModel("Phi-3" -mini-4k-instruct-q4.gguf");// اختياري: يمكنك أيضًا تعيين loras بطريقة مماثلة وتعيين أوزانها (إذا مطلوب)llm.AddLora("my-lora.gguf");llm.SetLoraWeight(0.5f);// اختياري: يمكنك تعيين قالب الدردشة للنموذج إذا لم يتم تحديده بشكل صحيح// يمكنك العثور على قائمة قوالب الدردشة في ChatTemplate.templates.Keysllm.SetTemplate("phi-3");// اختياري: تعيين عدد الخيوط = -1;// اختياري: تمكين GPU عن طريق تعيين عدد طبقات النموذج المراد إلغاء تحميلها إلى itllm.numGPULayers = 10;// إضافة كائن LLMCharacterllmCharacter = gameObject.AddComponent<LLMCharacter>();// قم بتعيين كائن LLM الذي يتعامل مع modelllmCharacter.llm = llm;/ / قم بتعيين الحرف PromptllmCharacter.SetPrompt("محادثة بين إنسان فضولي وذكاء اصطناعي Assistant.");// قم بتعيين اسم الذكاء الاصطناعي واللاعب namellmCharacter.AIName = "AI";llmCharacter.playerName = "Human";// اختياري: اضبط البث على false للحصول على النتيجة الكاملة دفعة واحدة// llmCharacter.stream = صحيح؛// اختياري: قم بتعيين مسار الحفظ// llmCharacter.save = "AICharacter1"؛// اختياري: قم بتمكين ذاكرة التخزين المؤقت للحفظ لتجنب إعادة الحساب عند تحميل ملف حفظ الملف (يتطلب حوالي 100 ميجابايت)// llmCharacter.saveCache = true;// اختياري: تعيين قواعد نحوية// في انتظار llmCharacter.SetGrammar("json.gbnf");// إعادة تمكين gameObjectgameObject.SetActive(true);} }
يمكنك استخدام خادم بعيد لتنفيذ المعالجة وتنفيذ الشخصيات التي تتفاعل معه.
إنشاء الخادم
لإنشاء الخادم:
قم بإنشاء مشروع باستخدام GameObject باستخدام البرنامج النصي LLM
كما هو موضح أعلاه
قم بتمكين الخيار Remote
الخاص بـ LLM
وقم بتكوين معلمات الخادم بشكل اختياري: المنفذ ومفتاح API وشهادة SSL ومفتاح SSL
بناء وتشغيل لبدء الخادم
وبدلاً من ذلك، يمكنك استخدام خادم ثنائي لتسهيل النشر:
قم بتشغيل المشهد أعلاه من المحرر وانسخ الأمر من رسائل التصحيح (بدءًا بـ "أمر الخادم:")
قم بتنزيل ثنائيات الخادم وملفات DLL واستخرجها في نفس المجلد
ابحث عن البنية التي تهتم بها من المجلد أعلاه، على سبيل المثال، بالنسبة لـ Windows و CUDA، استخدم windows-cuda-cu12.2.0
.
يمكنك أيضًا التحقق من البنية التي تعمل مع نظامك من خلال رسائل تصحيح الأخطاء (بدءًا بـ "استخدام البنية").
من سطر الأوامر قم بتغيير الدليل إلى مجلد البنية المحدد وابدأ تشغيل الخادم عن طريق تشغيل الأمر المنسوخ من الأعلى.
إنشاء الشخصيات
أنشئ مشروعًا ثانيًا بشخصيات اللعبة باستخدام البرنامج النصي LLMCharacter
كما هو موضح أعلاه. قم بتمكين الخيار Remote
وقم بتكوين المضيف بعنوان IP (يبدأ بـ "http://") ومنفذ الخادم.
يمكن استخدام وظيفة Embeddings
للحصول على إضافات العبارة:
List<float> embeddings = انتظار llmCharacter.Embeddings("مرحبًا، كيف حالك؟");
يمكن العثور على وثائق مفصلة عن مستوى الوظيفة هنا:
تطبق LLM for Unity وظيفة بحث تشابه فائقة السرعة باستخدام نظام الاسترجاع المعزز (RAG).
يعتمد ذلك على وظيفة LLM والبحث التقريبي لأقرب الجيران (ANN) من مكتبة userarch.
البحث الدلالي يعمل على النحو التالي.
بناء البيانات يمكنك توفير مدخلات نصية (عبارة، فقرة، مستند) لإضافتها إلى البيانات.
يتم تقسيم كل إدخال إلى أجزاء (اختياري) ويتم ترميزه في التضمينات باستخدام LLM.
البحث يمكنك بعد ذلك البحث عن إدخال نص الاستعلام.
يتم ترميز الإدخال مرة أخرى ويتم استرداد المدخلات النصية أو الأجزاء الأكثر تشابهًا في البيانات.
لاستخدام البحث الدلالي:
قم بإنشاء GameObject لـ LLM كما هو موضح أعلاه. قم بتنزيل أحد نماذج RAG المتوفرة أو قم بتحميل النموذج الخاص بك (يمكن العثور على خيارات جيدة في لوحة المتصدرين لـ MTEB).
إنشاء كائن GameObject فارغ. في GameObject Inspector، انقر فوق Add Component
وحدد البرنامج النصي RAG
.
في القائمة المنسدلة "نوع البحث" في RAG، حدد طريقة البحث المفضلة لديك. SimpleSearch
هو بحث بسيط يعتمد على القوة الغاشمة، بينما DBSearch
هو أسلوب ANN سريع ينبغي تفضيله في معظم الحالات.
في القائمة المنسدلة Chunking Type في RAG، يمكنك تحديد طريقة لتقسيم المدخلات إلى أجزاء. يعد هذا مفيدًا للحصول على معنى أكثر اتساقًا داخل كل جزء من أجزاء البيانات. يتم توفير طرق التقطيع للتقسيم وفقًا للرموز والكلمات والجمل.
وبدلاً من ذلك، يمكنك إنشاء RAG من التعليمات البرمجية (حيث يكون llm هو LLM الخاص بك):
RAG rag = gameObject.AddComponent<RAG>(); rag.Init(SearchMethods.DBSearch, ChunkingMethods.SentenceSplitter, llm);
في البرنامج النصي الخاص بك يمكنك بعد ذلك استخدامه على النحو التالي؟:
باستخدام LLMunity;public class MyScript : MonoBehaviour{ خرقة خرقة. async void Game(){...string[] inputs = new string[]{ "مرحبًا! أنا نظام بحث."، "الطقس جميل. يعجبني."، "أنا نظام RAG "};// أضف المدخلات إلى RAGforeach (إدخال السلسلة في المدخلات) في انتظار rag.Add(input);// احصل على المدخلين الأكثر تشابهًا والمسافة بينهما (الاختلاف) مع نتائج استعلام البحث (سلسلة []، تعويم) [] المسافات) = انتظار rag.Search("hello!", 2);// للحصول على أجزاء النص الأكثر تشابهًا (chnuks) يمكنك تمكين خيار returnChunksrag.ReturnChunks(true);(النتائج، المسافات) = انتظار rag.Search ("مرحبا!"، 2)؛ ... }}
يمكنك حفظ حالة RAG (المخزنة في مجلد Assets/StreamingAssets
):
rag.Save("rag.zip");
وتحميله من القرص:
انتظر rag.Load("rag.zip");
يمكنك استخدام RAG لتغذية LLM بالبيانات ذات الصلة بناءً على رسالة المستخدم:
سلسلة الرسائل = "كيف حال الطقس؟"; (سلسلة[] عبارات مماثلة، مسافة تعويم[]) = انتظار rag.Search(message, 3); سلسلة موجه = "أجب على استعلام المستخدم بناءً على البيانات المقدمة.nn"; موجه += $"استعلام المستخدم: {message}nn"; موجه += $"Data:n"; foreach (سلسلة مماثلة عبارة في عبارات مماثلة) موجه += $"n- {similarPhrase}"; _ = llmCharacter.Chat(prompt, HandleReply, ResponseCompleted);
تشتمل عينة RAG
على مثال لتطبيق RAG بالإضافة إلى مثال لتكامل RAG-LLM.
هذا كل شيء ✨!
يستخدم LLM for Unity مدير نماذج يسمح بتحميل أو تنزيل LLMs وشحنها مباشرة في لعبتك.
يمكن العثور على مدير النموذج كجزء من LLM GameObject:
يمكنك تنزيل النماذج باستخدام زر Download model
.
يتضمن LLM for Unity نماذج مختلفة ومتطورة مدمجة لأحجام مختلفة من النماذج، والتي تم قياسها باستخدام طريقة Q4_K_M.
يمكن تنزيل النماذج البديلة من HuggingFace بتنسيق .gguf.
يمكنك تنزيل نموذج محليًا وتحميله باستخدام زر Load model
، أو نسخ عنوان URL في حقل Download model > Custom URL
لتنزيله مباشرةً.
إذا كان نموذج HuggingFace لا يوفر ملف gguf، فيمكن تحويله إلى gguf باستخدام هذا المحول عبر الإنترنت.
يتم تحديد قالب الدردشة المستخدم لإنشاء المطالبات تلقائيًا من النموذج (في حالة وجود إدخال ذي صلة) أو من اسم النموذج.
إذا تم تحديده بشكل غير صحيح، فيمكنك تحديد قالب آخر من القائمة المنسدلة لقالب الدردشة.
يتم نسخ النماذج المضافة في مدير النماذج إلى اللعبة أثناء عملية البناء.
يمكنك حذف نموذج من الإنشاء عن طريق إلغاء تحديد خانة الاختيار "إنشاء".
لإزالة النموذج (ولكن ليس حذفه من القرص)، يمكنك النقر فوق زر سلة المهملات.
يتم عرض المسار وعنوان URL (إذا تم تنزيله) لكل نموذج مضاف في العرض الموسع لوصول مدير النموذج باستخدام الزر >>
:
يمكنك إنشاء تصميمات أخف عن طريق تحديد خيار Download on Build
.
باستخدام هذا الخيار، سيتم تنزيل النماذج في المرة الأولى التي تبدأ فيها اللعبة بدلاً من نسخها في الإصدار.
إذا قمت بتحميل نموذج محليًا، فستحتاج إلى تعيين عنوان URL الخاص به من خلال العرض الموسع، وإلا فسيتم نسخه في الإنشاء.
❕ قبل استخدام أي موديل تأكد من التحقق من الترخيص الخاص به ❕
يحتوي المجلد Samples~ على عدة أمثلة للتفاعل؟:
SimpleInteraction: يوضح تفاعلًا بسيطًا مع شخصية الذكاء الاصطناعي
أحرف متعددة: يوضح تفاعلًا بسيطًا باستخدام أحرف AI متعددة
خرقة: عينة خرقة. يتضمن مثالاً باستخدام RAG لتغذية المعلومات إلى LLM
ChatBot: يوضح التفاعل بين اللاعب والذكاء الاصطناعي باستخدام واجهة مستخدم مشابهة لتطبيق المراسلة (انظر الصورة أدناه)
KnowledgeBaseGame: لعبة بوليسية بسيطة تستخدم قاعدة معرفية لتوفير المعلومات إلى ماجستير إدارة الأعمال استنادًا إلى google/mysteryofthreebots
AndroidDemo: مثال لتطبيق Android مع شاشة أولية مع تقدم تنزيل النموذج
لتثبيت العينة:
افتح مدير الحزم: Window > Package Manager
حدد LLM for Unity
. من علامة التبويب Samples
"، انقر فوق Import
بجوار النموذج الذي تريد تثبيته.
يمكن تشغيل العينات باستخدام المشهد Scene.unity
الموجود داخل المجلد الخاص بها.
في المشهد، حدد LLM
GameObject وانقر فوق زر Download Model
لتنزيل نموذج افتراضي أو Load model
لتحميل النموذج الخاص بك (راجع إدارة نموذج LLM).
احفظ المشهد، اركض واستمتع!
Show/Hide Advanced Options
قم بالتبديل لإظهار/إخفاء الخيارات المتقدمة من الأسفل
Log Level
حدد مدى تفصيل رسائل السجل
Use extras
لتحديد التثبيت والسماح باستخدام الميزات الإضافية (انتباه الفلاش وكميات الذكاء)
حدد Remote
لتوفير الوصول عن بعد إلى LLM
منفذ Port
لتشغيل خادم LLM (إذا تم ضبط Remote
)
Num Threads
عدد المواضيع المراد استخدامها (الافتراضي: -1 = الكل)
Num GPU Layers
هو عدد طبقات النموذج التي سيتم تحميلها إلى وحدة معالجة الرسومات (GPU). إذا تم التعيين على 0، فلن يتم استخدام وحدة معالجة الرسومات. استخدم رقمًا كبيرًا، أي > 30 للاستفادة من وحدة معالجة الرسومات قدر الإمكان. لاحظ أن القيم الأعلى لحجم السياق ستستخدم المزيد من VRAM. إذا لم يتم دعم وحدة معالجة الرسومات (GPU) الخاصة بالمستخدم، فسوف يعود LLM إلى وحدة المعالجة المركزية (CPU).
حدد Debug
لتسجيل إخراج النموذج في محرر الوحدة
على سبيل المثال، سيؤدي تعيين Parallel Prompts
إلى 1 والفتحة 0 لجميع كائنات LLMCharacter إلى استخدام السياق الكامل، ولكن يجب حساب الموجه بالكامل (بدون تخزين مؤقت) عند استخدام كائن LLMCharacter للدردشة.
Dont Destroy On Load
حدد عدم تدمير LLM GameObject عند تحميل مشهد جديد
Parallel Prompts
بعدد المطالبات/الفتحات التي يمكن أن تحدث بالتوازي (الافتراضي: -1 = عدد كائنات LLMCharacter). لاحظ أن حجم السياق مقسم بين الفتحات. API key
مفتاح API الذي سيتم استخدامه للسماح بالوصول إلى الطلبات من كائنات LLMCharacter (إذا تم تعيين Remote
)
يسمح Load SSL certificate
بتحميل شهادة SSL للتشفير الشامل للطلبات (إذا تم تعيين Remote
). يتطلب مفتاح SSL أيضًا.
يسمح Load SSL key
بتحميل مفتاح SSL لتشفير الطلبات من طرف إلى طرف (إذا تم ضبط Remote
). يتطلب شهادة SSL كذلك.
SSL certificate path
شهادة SSL المستخدمة لتشفير الطلبات من طرف إلى طرف (إذا تم تعيين Remote
).
SSL key path
هو مفتاح SSL المستخدم لتشفير الطلبات من طرف إلى طرف (إذا تم تعيين Remote
).
Download model
انقر لتنزيل أحد النماذج الافتراضية
Load model
انقر لتحميل النموذج الخاص بك بتنسيق gguf
يتيح Download on Start
إمكانية تنزيل نماذج LLM في المرة الأولى التي تبدأ فيها اللعبة. وبدلاً من ذلك، سيتم نسخ نماذج LLM مباشرة في الإنشاء
Context Size
للسياق الفوري (0 = حجم سياق النموذج) Download lora
انقر لتنزيل نموذج LoRA بتنسيق .gguf
Load lora
انقر لتحميل نموذج LoRA بتنسيق .gguf
Batch Size
حجم الدفعة للمعالجة السريعة (الافتراضي: 512)
Model
مسار النموذج المستخدم (بالنسبة إلى مجلد الأصول/StreamingAssets)
Chat Template
هو قالب الدردشة المستخدم في LLM
Lora
مسار LoRAs المستخدم (نسبة إلى مجلد الأصول/StreamingAssets)
Lora Weights
أوزان LoRAs المستخدمة
انقر فوق Flash Attention
لاستخدام انتباه الفلاش في النموذج (إذا تم تمكين Use extras
)
Base Prompt
موجه أساسي مشترك لاستخدامه عبر جميع كائنات LLMCharacter باستخدام LLM
Show/Hide Advanced Options
قم بالتبديل لإظهار/إخفاء الخيارات المتقدمة من الأسفل
Log Level
حدد مدى تفصيل رسائل السجل
Use extras
لتحديد التثبيت والسماح باستخدام الميزات الإضافية (انتباه الفلاش وكميات الذكاء)
Remote
سواء كان LLM المستخدم بعيدًا أو محليًا
LLM
the LLM GameObject (إذا لم يتم تعيين Remote
)
Hort
IP لخادم LLM (إذا تم تعيين Remote
)
منفذ Port
خادم LLM (إذا تم تعيين Remote
)
Num Retries
إعادة المحاولة لطلب HTTP من خادم LLM (إذا تم تعيين Remote
)
API key
مفتاح API لخادم LLM (إذا تم تعيين Remote
)
Save
حفظ اسم الملف أو المسار النسبي حدد Save Cache
لحفظ حالة LLM مع سجل الدردشة. يبلغ حجم حالة LLM عادةً حوالي 100 ميجابايت+.
حدد Debug Prompt
لتسجيل المطالبات التي تم إنشاؤها في Unity Editor
Player Name
اسم اللاعب
AI Name
اسم AI
وصف Prompt
لدور الذكاء الاصطناعي
حدد Stream
لتلقي الرد من النموذج فور إنتاجه (مستحسن!).
إذا لم يتم تحديده، فسيتم استلام الرد الكامل من النموذج دفعة واحدة
Num Predict
الحد الأقصى لعدد الرموز المميزة للتنبؤ بها (الافتراضي: 256، -1 = ما لا نهاية، -2 = حتى يتم ملء السياق) Load grammar
انقر لتحميل القواعد النحوية بتنسيق .gbnf
Grammar
مسار القواعد النحوية المستخدمة (بالنسبة إلى مجلد الأصول/StreamingAssets)
Cache Prompt
بحفظ المطالبة المستمرة من الدردشة (الافتراضي: صحيح) فتحة Slot
لاستخدامها في الحساب. يمكن تعيين القيمة من 0 إلى Parallel Prompts
-1 (الافتراضي: -1 = فتحة جديدة لكل حرف)
بذور Seed
للتكاثر. للحصول على نتائج عشوائية في كل مرة استخدم -1
Temperature
درجة الحرارة LLM، القيم المنخفضة تعطي إجابات أكثر حتمية (الافتراضي: 0.2)Top K
top-k (الافتراضي: 40، 0 = معطل)Top P
-P (الافتراضي: 0.9، 1.0 = معطل)Min P
لاحتمال استخدام الرمز المميز (الافتراضي: 0.05)Repeat Penalty
بتكرار تسلسلات الرمز المميز في النص الذي تم إنشاؤه (الافتراضي: 1.1)Presence Penalty
المتكررة عقوبة الحضور المميز (الافتراضي: 0.0، 0.0 = معطل)Frequency Penalty
تكرار الرمز المميز (الافتراضي: 0.0، 0.0 = معطل) Tfs_z
: تمكين أخذ العينات الحرة باستخدام المعلمة z (الافتراضي: 1.0، 1.0 = معطل).
Typical P
: تمكين أخذ العينات النموذجي محليًا باستخدام المعلمة p (الافتراضي: 1.0، 1.0 = معطل).
Repeat Last N
: آخر رموز N التي يجب مراعاتها لمعاقبة التكرار (الافتراضي: 64، 0 = معطل، -1 = ctx-size).
Penalize Nl
: معاقبة رموز السطر الجديد عند تطبيق عقوبة التكرار (الافتراضي: صحيح).
Penalty Prompt
: موجه لغرض تقييم العقوبة. يمكن أن تكون إما null
أو سلسلة أو مجموعة من الأرقام التي تمثل الرموز المميزة (الافتراضي: null
= استخدم prompt
الأصلي ).
Mirostat
: تمكين أخذ عينات Mirostat، والتحكم في الارتباك أثناء إنشاء النص (الافتراضي: 0، 0 = معطل، 1 = Mirostat، 2 = Mirostat 2.0).
Mirostat Tau
: قم بتعيين إنتروبيا هدف Mirostat، المعلمة tau (الافتراضي: 5.0).
Mirostat Eta
: قم بتعيين معدل تعلم Mirostat، المعلمة eta (الافتراضي: 0.1).
N Probs
: إذا كانت أكبر من 0، فإن الاستجابة تحتوي أيضًا على احتمالات أعلى N من الرموز المميزة لكل رمز مميز تم إنشاؤه (الافتراضي: 0)
Ignore Eos
: تمكين تجاهل الرموز المميزة لنهاية الدفق ومواصلة الإنشاء (الافتراضي: خطأ).
ترخيص LLM for Unity هو MIT (LICENSE.md) ويستخدم برامج خارجية مع تراخيص MIT وApache. تحدد بعض النماذج المضمنة في الأصل شروط الترخيص الخاصة بها، يرجى مراجعتها قبل استخدام كل نموذج. يمكن العثور على تراخيص الطرف الثالث في (Third Party notifications.md).