وثائق شرح UE مكمل الذكاء الاصطناعي AIChatPlus
المستودعات العامة
الحصول على الإضافات
مقدمة الوصفة
هذا الملحق يدعم UE5.2+،
UE.AIChatPlus هو إضافة لـ UnrealEngine تقوم بالتواصل مع مجموعة متنوعة من خدمات الدردشة GPT AI. حاليًا، يدعم الإضافة خدمات OpenAI (ChatGPT، DALL-E)، و Azure OpenAI (ChatGPT، DALL-E)، و Claude، و Google Gemini، و Ollama، وllama.cpp المحلي بدون اتصال بالإنترنت. سيتم دعم مزيد من مزودي الخدمات في المستقبل. تعتمد تنفيذها على طلبات REST غير المتزامنة، مما يجعلها كفاءة من الناحية الأدائية وسهلة الاختيار لمطوري UE للوصول إلى خدمات الدردشة الذكية هذه.
UE.AIChatPlus تحتوي أيضًا على أداة محرر تُمكّنك من استخدام خدمات الدردشة الذكية هذه مباشرةً في المحرر، لإنشاء نصوص وصور، وتحليل الصور، وما إلى ذلك.
تعليمات الاستخدام
أداة محادثة المحرر
يمكن فتح شريط القوائم والانتقال إلى AIChatPlus -> AIChat لاستخدام أدوات محرر الدردشة المقدمة من الإضافة.
يدعم الأداة إنشاء النصوص والدردشة النصية وإنشاء الصور وتحليل الصور.
واجهة الأداة تقريبًا:
الميزات الرئيسية
النموذج الكبير دون اتصال: مدموج مع مكتبة llama.cpp ، تدعم التنفيذ اللاحق للنماذج الكبيرة محليًا
الدردشة النصية: انقر فوق زر "New Chat" في الزاوية السفلي اليساري، لإنشاء جلسة دردشة نصية جديدة.
إنشاء صورة: انقر فوق الزر New Image Chat
في الزاوية السفلي اليسرى لإنشاء جلسة جديدة لإنشاء صورة.
تحليل الصور: تدعم خدمة الدردشة في 'New Chat' إمكانية إرسال الصور، مثل Claude و Google Gemini. يمكنك تحميل الصور التي تود إرسالها ببساطة عن طريق النقر على الزر 🖼️ أو 🎨 أعلى مربع الإدخال.
دعم الخطط الأساسية (Blueprint): دعم إنشاء طلبات API للخطط الأساسية، لإتمام محادثات النصوص، وإنشاء الصور وغيرها من الوظائف.
قم بتعيين دور الدردشة الحالي: يمكنك تعيين دور الشخصية التي سترسل النص الخاص بها حاليًا من خلال القائمة المنسدلة في أعلى نافذة الدردشة، ويمكنك من خلال تجسيد شخصيات مختلفة ضبط دردشة الذكاء الصناعي.
امسح الدردشة: يمكنك مسح تاريخ الرسائل الحالي في الدردشة عن طريق الضغط على ❌ في أعلى صندوق الدردشة.
نموذج الحوار: يتضمن مئات النماذج المدمجة لإعدادات الحوار، مما يسهل التعامل مع المشكلات الشائعة.
الإعدادات العامة: بالنقر على زر Setting
في الزاوية السفلى اليسرى، يمكن فتح نافذة الإعدادات العامة. يمكنك تعيين الدردشة النصية الافتراضية، وخدمة API لإنشاء الصور، وضبط معلمات كل خدمة API بشكل محدد. ستحفظ الإعدادات تلقائيًا في مسار المشروع $(ProjectFolder)/Saved/AIChatPlusEditor
.
إعدادات الدردشة: انقر فوق زر الإعدادات في أعلى صندوق الدردشة لفتح نافذة إعدادات الدردشة الحالية. تدعم تغيير اسم الدردشة، وتغيير خدمة واجهة برمجة التطبيقات (API) المستخدمة في الدردشة، وتدعم ضبط معلمات API المحددة لكل دردشة على حدة. يتم حفظ إعدادات الدردشة تلقائيًا في $(ProjectFolder)/Saved/AIChatPlusEditor/Sessions
تعديل محتوى المحادثة: عند تحويل الماوس إلى المحتوى المحدد في المحادثة، ستظهر أزرار الإعدادات الخاصة بالمحتوى، تدعم إعادة إنشاء المحتوى، وتعديله، ونسخه، وحذفه، وإعادة إنشاء محتوى جديد أسفل ذلك (بالنسبة للمحتوى الخاص بمستخدمي الأدوار).
عرض الصور: بالنسبة لإنشاء الصور، يمكن فتح نافذة عرض الصور (ImageViewer) عند النقر فوق الصورة، وتدعم حفظ الصور كملف PNG/UE Texture، يمكن عرض الـ Texture مباشرة في مستعرض المحتوى (Content Browser)، مما يسهل استخدام الصور في المحرر. بالإضافة إلى ذلك، تدعم أيضًا حذف الصور، وإعادة إنشاء الصور، واستمرار توليد المزيد من الصور وغيرها من الوظائف. بالنسبة لمحرر Windows، تدعم أيضًا نسخ الصور، مما يسمح بنسخ الصور مباشرة إلى الحافظة لسهولة الاستخدام. يتم حفظ الصور التي تم إنشاؤها خلال الجلسة تلقائيًا في مجلد الجلسة الخاص بكل جلسة، والمسار الافتراضي عادة هو '\((ProjectFolder)/Saved/AIChatPlusEditor/Sessions/\)/images'.
الرسم البياني:
إعدادات عامة:
إعدادات المحادثة:
قم بتعديل محتوى المحادثة:
عارض الصور:
استخدام نماذج كبيرة دون اتصال بالإنترنت
قالب الحوار
شرح الكود الأساسي
حالياً، يتم تقسيم الإضافات إلى عدة وحدات كالتالي:
AIChatPlusCommon: وحدة التشغيل (Runtime) ، المسؤولة عن معالجة طلبات إرسال وتحليل محتوى ردود واجهة برمجة تطبيقات الذكاء الصناعي (AI API) المختلفة.
AIChatPlusEditor: موديل المحرر، مسؤول عن تنفيذ أداة محادثة AI للمحرر.
AIChatPlusCllama: Runtime module responsible for encapsulating the interface and parameters of llama.cpp, enabling offline execution of large models
تمت ترجمة النص إلى اللغة العربية:
- Thirdparty/LLAMACpp: تشغيل الوحدة الخارجية (Runtime)، والتي تدمج مكتبة لاما.cpp الديناميكية والملفات الرأسية.
يُسند على UClass المسؤول تحديد نوع طلب FAIChatPlus_xxxChatRequest الذي سيتم إرساله، ولكل خدمة API يوجد UClass طلب مستقل. سيتم الحصول على ردود الطلبات من خلال UClass UAIChatPlus_ChatHandlerBase / UAIChatPlus_ImageHandlerBase، حيث يتطلب الأمر تسجيل الاستدعاءات المناسبة فقط.
قبل إرسال الطلبات، يجب تعيين معلمات ورسائل الـ API بشكل مسبق، يتم تعيين ذلك باستخدام FAIChatPlus_xxxChatRequestBody. يتم تحليل المحتوى الخاص بالردود أيضًا في FAIChatPlus_xxxChatResponseBody، يمكنك الحصول على ResponseBody من خلال واجهة معينة عند استلام التعليق.
يمكن الحصول على مزيد من تفاصيل الشفرة المصدرية عبر UE Marketplace: AIChatPlus
Cllama(llama.cpp)
استخدام أداة المحرر لنموذج غير متصل بالإنترنت Cllama(llama.cpp)
سيرين توضح كيفية استخدام نموذج الغياب llama.cpp في أداة تحرير AIChatPlus.
قم بتحميل النموذج الفردي من موقع HuggingFace: Qwen1.5-1.8B-Chat-Q8_0.gguf
ضع النموذج في مجلد معين، على سبيل المثال ضعه في دليل المشروع اللعبة تحت مجلد Content/LLAMA
افتح أداة تحرير AIChatPlus: Tools -> AIChatPlus -> AIChat، أنشئ جلسة دردشة جديدة وافتح صفحة إعدادات الجلسة
قم بتعيين Api إلى Cllama، وفتح إعدادات الـ Custom Api، وأضف مسار بحث للنموذج، واختر نموذجًا.
البدء في الدردشة!
استخدمت أداة المحرر نموذجًا غير متصل بالإنترنت بعنوان Cllama(llama.cpp) لمعالجة الصور.
قم بتنزيل نموذج MobileVLM_V2-1.7B-GGUF من موقع HuggingFace وضعه في دليل Content/LLAMA: ggml-model-q4_k.gguf(https://huggingface.co/ZiangWu/MobileVLM_V2-1.7B-GGUF/resolve/main/mmproj-model-f16.gguf)I'm sorry, but the text you provided does not contain any content to be translated.
ضبط نموذج الجلسة:
بدء الدردشة بإرسال الصور
استخدام الشيفرة للنموذج غير المتصل بالإنترنت Cllama(llama.cpp)
توضح الإرشادات التالية كيفية استخدام النموذج الغير متصل llama.cpp في الشفرة.
أولاً، يجب تحميل ملفات النموذج إلى Content/LLAMA.
إضافة سطر في الشفرة لإدخال أمر وإرسال رسالة للنموذج غير المتصل داخل هذا الأمر.
#include "Common/AIChatPlus_Log.h"
#include "Common_Cllama/AIChatPlus_CllamaChatRequest.h"
void AddTestCommand()
{
IConsoleManager::Get().RegisterConsoleCommand(
TEXT("AIChatPlus.TestChat"),
TEXT("Test Chat."),
FConsoleCommandDelegate::CreateLambda([]()
{
if (!FModuleManager::GetModulePtr<FAIChatPlusCommon>(TEXT("AIChatPlusCommon"))) return;
TWeakObjectPtr<UAIChatPlus_ChatHandlerBase> HandlerObject = UAIChatPlus_ChatHandlerBase::New();
// Cllama
FAIChatPlus_CllamaChatRequestOptions Options;
Options.ModelPath.FilePath = FPaths::ProjectContentDir() / "LLAMA" / "qwen1.5-1_8b-chat-q8_0.gguf";
Options.NumPredict = 400;
Options.bStream = true;
// Options.StopSequences.Emplace(TEXT("json"));
auto RequestPtr = UAIChatPlus_CllamaChatRequest::CreateWithOptionsAndMessages(
Options,
{
{"You are a chat bot", EAIChatPlus_ChatRole::System},
{"who are you", EAIChatPlus_ChatRole::User}
});
HandlerObject->BindChatRequest(RequestPtr);
const FName ApiName = TEnumTraits<EAIChatPlus_ChatApiProvider>::ToName(RequestPtr->GetApiProvider());
HandlerObject->OnMessage.AddLambda([ApiName](const FString& Message)
{
UE_LOG(AIChatPlus_Internal, Display, TEXT("TestChat[%s] Message: [%s]"), *ApiName.ToString(), *Message);
});
HandlerObject->OnStarted.AddLambda([ApiName]()
{
UE_LOG(AIChatPlus_Internal, Display, TEXT("TestChat[%s] RequestStarted"), *ApiName.ToString());
});
HandlerObject->OnFailed.AddLambda([ApiName](const FAIChatPlus_ResponseErrorBase& InError)
{
UE_LOG(AIChatPlus_Internal, Error, TEXT("TestChat[%s] RequestFailed: %s "), *ApiName.ToString(), *InError.GetDescription());
});
HandlerObject->OnUpdated.AddLambda([ApiName](const FAIChatPlus_ResponseBodyBase& ResponseBody)
{
UE_LOG(AIChatPlus_Internal, Display, TEXT("TestChat[%s] RequestUpdated"), *ApiName.ToString());
});
HandlerObject->OnFinished.AddLambda([ApiName](const FAIChatPlus_ResponseBodyBase& ResponseBody)
{
UE_LOG(AIChatPlus_Internal, Display, TEXT("TestChat[%s] RequestFinished"), *ApiName.ToString());
});
RequestPtr->SendRequest();
}),
ECVF_Default
);
}
بعد إعادة تجميعها، يمكنك استخدام الأوامر في محرر الأوامر Cmd لرؤية نتائج النموذج الكبير في سجل الإخراج OutputLog.
استخدام النموذج غير المتصل llama.cpp في الرسم البياني.
كيفية استخدام نموذج llama.cpp دون اتصال في الخطط التفصيلية.
إنشاء نقطة "Send Cllama Chat Request" بالنقر بزر اليمين في الخريطة.
إنشاء عقد Options ، وتعيين 'Stream=true ، ModelPath="E:\UE\projects\FP_Test1\Content\LLAMA\qwen1.5-1_8b-chat-q8_0.gguf"'
إنشاء رسائل Messages، وإضافة رسالة نظامية ورسالة مستخدم على التوالي
إنشاء delegate لاستقبال مخرجات النموذج وطباعتها على الشاشة.
النص المطلوب ترجمته هو: * إن النسخة الكاملة من التصميم على هذا الشكل، عند تشغيل التصميم، يمكن رؤية رسالة تظهر على الشاشة تعود إليك بطباعة النموذج الكبير
OpenAI
تستخدم المحررات دردشة OpenAI.
قم بفتح أداة الدردشة Tools -> AIChatPlus -> AIChat، وانشئ محادثة جديدة New Chat، وضبط جلسة الدردشة ChatApi على OpenAI، ثم قم بضبط معلمات الواجهة
بدء المحادثة:
قم بتغيير النموذج إلى GPT-4o / GPT-4o-mini ، يمكنك استخدام وظيفة الرؤية من OpenAI لتحليل الصور.
يستخدم المحرر OpenAI لمعالجة الصور (إنشاء / تعديل / تغيير)
إنشاء محادثة جديدة للصور في أداة الدردشة ، وتعديل إعدادات المحادثة إلى OpenAI وضبط المعلمات
إنشاء صورة
يرجى تعديل الصورة، وتغيير نوع الدردشة في الصورة إلى "تحرير"، ثم قم برفع صورتين، إحداهما الصورة الأصلية، والأخرى "قناع" حيث يُظهر المكان الذي يجب تعديله بوضوح (جعل القناع فيه شفافية بقيمة 0 في قناة ألفا).
قم بتعديل نوع الدردشة الصورية إلى "تعديل" وارفع صورة جديدة، ستقوم OpenAI بإرجاع نسخة معدلة من الصورة الأصلية.
استخدام النموذج OpenAI للدردشة
أنشئ مُحظوظة "Send OpenAI Chat Request In World" في المُخطَّط عن طريق النقر بزر الماوس الأيمن.
إنشاء مقطع Options، وتعيين Stream=true، Api Key="مفتاح الواجهة البرمجية الخاص بك من OpenAI"
.
أنشئ رسائل، ثم أضف رسالة نظام ورسالة مستخدم بشكل منفصل
إنشاء Delegate يستقبل معلومات النموذج الصادرة ويقوم بطباعتها على الشاشة.
تبدو الخطة الزرقاء الكاملة كما هو موضح، قم بتشغيل الخطة الزرقاء لعرض رسالة العودة التي تُظهر الشاشة الخاصة باللعبة بطباعة نموذج كبير.
استخدام OpenAI لإنشاء الصور.
إنشاء نقطة "Send OpenAI Image Request" في الخريطة الذهنية بالضغط الأيمن، وتعيين "In Prompt" إلى "فراشة جميلة".
إنشاء "Options" العقدة، وتعيين Api Key="your api key from OpenAI"
ربط حدث On Images وحفظ الصورة على القرص الصلب المحلي
سيبدو النسخ الكاملة للمخطط كما هو مبين هنا، قم بتشغيل المخطط لرؤية الصورة محفوظة في الموقع المحدد.
Azure
تستخدم الواجهة البرمجية Azure
إنشاء محادثة جديدة (New Chat)، قم بتغيير ChatApi إلى Azure، وضبط معلمات Api الخاصة بـ Azure
بدء المحادثة
استخدمت المحرر Azure لإنشاء الصور.
إنشاء جلسة صور جديدة (New Image Chat)، قم بتغيير ChatApi إلى Azure، وقم بضبط معلمات Azure الخاصة به، يرجى ملاحظة، إذا كانت النموذج dall-e-2، يجب ضبط معلمات الجودة (Quality) والنمط (Stype) على not_use.
ابدأ الدردشة لإنشاء صورة Azure
استخدام Azure Chat Blueprint
إنشاء الخطة الزرقاء التالية، ضبط خيارات Azure، انقر على تشغيل، وسترى رسائل المحادثة المُرجعة من Azure تظهر على الشاشة.
استخدام Azure في إنشاء الصورة.
إنشاء الرسم البياني التالي، ثم ضبط خيارات أزور، وانقر على "تشغيل". إذا نجح إنشاء الصورة، سترى عبارة "تم إنشاء الصورة" على الشاشة.
وفقًا للإعدادات في الخريطة الزرقاء أعلاه، سيتم حفظ الصورة في المسار D:\Dwnloads\butterfly.png
Claude
يستخدم المحرر Claude المحادثات وتحليل الصور.
إنشاء محادثة جديدة (New Chat)، قم بتغيير ChatApi إلى Claude، وضبط معلمات Api لـ Claude
ابدأ الدردشة.
استخدم كلود النموذج الأزرق للدردشة وتحليل الصور.
قم بإنشاء نقطة "Send Claude Chat Request" بالنقر بزر الماوس الأيمن في النموذج الأزرق.
إنشاء عقدة Options، وتعيين 'Stream=true، Api Key="مفتاح الواجهة البرمجية الخاص بك من Clude'، Max Output Tokens=1024.
إنشاء رسائل، إنشاء Texture2D من الملفات، ومن Texture2D إنشاء AIChatPlusTexture، ثم إضافة AIChatPlusTexture إلى الرسالة
انشئ حدثًا مشابهًا للبرنامج التعليمي السابق واطبع المعلومات على شاشة اللعبة.
تبدو النسخة الكاملة من الخطة الزرقاء مثل هذا، تشغيل الخطة الزرقاء سوف تظهر رسالة عائدة على شاشة اللعب تطبع نموذجًا كبيرًا.
Ollama
الحصول على Ollama
يمكن الحصول على حزمة التثبيت محليًا من خلال موقع Ollama الرسمي: ollama.com
يمكنك استخدام واجهة Ollama المقدمة من قبل الآخرين لاستخدام Ollama.
المحرر يستخدم Ollama للدردشة وتحليل الصور.
أنشئ محادثة جديدة (New Chat)، غيّر ChatApi إلى Ollama، وقم بضبط معلمات Api Ollama. إذا كانت المحادثة نصية، فقم بتعيين النموذج كنموذج نصي، مثل llama3.1؛ وإذا كنت بحاجة لمعالجة الصور، فقم بتعيين النموذج كنموذج يدعم vision، مثل moondream.
بدء المحادثة
استخدام Ollama للدردشة وتحليل الصور في التصميم الأزرق
أنشئ المخطط التالي ، قم بضبط خيارات الـ Ollama ، انقر على تشغيل ، وسترى معلومات الدردشة التي تم إرجاعها بواسطة Ollama على الشاشة.
Gemini
المحرر يستخدم Gemini
قم بإنشاء محادثة جديدة (New Chat) ، وقم بتغيير ChatApi إلى Gemini، ثم قم بضبط معلمات Api الخاصة بـ Gemini.
بدء المحادثة
استخدام التصميم الأزرق Gemini للدردشة
أنشئ الخطة الزرقاء كما هو موضح، ثم قم بضبط خيارات Gemini، انقر على تشغيل، وسترى على الشاشة طباعة معلومات المحادثة التي تم إرجاعها من Gemini.
Deepseek
المحرر يستخدم Deepseek
إنشاء محادثة جديدة (New Chat)، غير ChatApi إلى OpenAi، وضبط معلمة Deepseek للواجهة البرمجية. إضافة نماذج المرشحين تسمى deepseek-chat وتعيين النموذج كـ deepseek-chat.
ابدأ الدردشة
استخدام Deepseek في الدردشة البصرية
قم بإنشاء نسق مشروع كـ Deepseek وحدد خيارات الطلب المتعلقة بـ Deepseek، بما في ذلك نموذج البيانات وعنوان URL الأساسي وعنوان URL النهائي ومفتاح الواجهة البرمجية وما إلى ذلك. انقر فوق تشغيل لرؤية معلومات المحادثة التي تعود من Gemini يتم طباعتها على الشاشة.
سجل التحديثات
v1.4.1 - 2025.01.04
إصلاح المشكلة
واجهة دردشة تدعم إمكانية إرسال الصور فقط دون إرسال رسائل.
إصلاح مشكلة إرسال الصور في واجهة OpenAI فشل الصورة والنص
إصلاح مشكلة غياب الإعدادات Quality، Style، ApiVersion من إعدادات أدوات الدردشة OpanAI وAzure.
v1.4.0 - 2024.12.30
الميزة الجديدة
(وظيفة تجريبية) Cllama (llama.cpp) تدعم نموذج متعدد الأوضاع لمعالجة الصور.
تم إضافة توجيهات مفصلة إلى جميع معلمات أنواع الخرائط.
v1.3.4 - 2024.12.05
النص الأصلي: 新功能
OpenAI تدعم واجهة برمجة تطبيقات الرؤية.
تصحيح المشكلة
إصلاح الخطأ عند تعيين OpenAI stream=false
v1.3.3 - 2024.11.25
الميزة الجديدة
دعم UE-5.5
إصلاح المشكلة
قم بإصلاح مشكلة عدم فعالية جزء من التصميمات الزرقاء.
v1.3.2 - 2024.10.10
إصلاح المشكلة
إصلاح الانهيار الذي يحدث في cllama عند إيقاف طلب الإيقاف يدويًا.
إصلاح مشكلة عدم العثور على ملفات ggml.dll و llama.dll أثناء تحزيم إصدار win لتنزيل من المتجر.
عند إنشاء الطلب، تحقق مما إذا كان ذلك في خيط اللعب.
v1.3.1 - 2024.9.30
وظيفة جديدة
إضافة SystemTemplateViewer جديد، يمكنك الاطلاع على واستخدام مئات القوالب النظام المختلفة.
تصليح المشكلات
إصلاح الإضافات التي تم تنزيلها من المتجر ، llama.cpp لا يمكن العثور على مكتبة الربط
إصلاح مشكلة الطول الزائد في مسار LLAMACpp
إصلاح خطأ رابط ملف llama.dll بعد تجميع نظام Windows.
إصلاح مشكلة قراءة مسار الملف في نظام التشغيل iOS/Android.
إصلاح خطأ في تسمية إعدادات Cllame
v1.3.0 - 2024.9.23
ميزة جديدة مهمة
دمج ملف llama.cpp، يدعم تنفيذ النماذج الكبيرة محلياً وخارج الاتصال.
v1.2.0 - 2024.08.20
ميزة جديدة
دعم تعديل الصور/التباين في OpenAI
دعم واجهة برمجة تطبيقات Ollama، دعم الحصول التلقائي على قائمة النماذج المدعومة من قبل Ollama
v1.1.0 - 2024.08.07
الميزة الجديدة
دعم الخطة الزرقاء
v1.0.0 - 2024.08.05
ترجمة: "وظيفة جديدة".
الوظائف الأساسية كاملة
دعم OpenAI، Azure، Claude، Gemini
أداة تحرير مدمجة مع ميزات شاملة للدردشة
Original: https://wiki.disenone.site/ar
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
هذا المنشور تمت ترجمته باستخدام ChatGPT، يرجى تقديم تغذية راجعةأشير إلى أي شيء مفتقد.