إطار مكدس كامل لبناء تطبيقات الذكاء الاصطناعي للهواتف المحمولة عبر الأنظمة الأساسية التي تدعم LLM في الوقت الفعلي / دفق النص وواجهات المستخدم للدردشة وخدمات الصور واللغة الطبيعية للصور مع نماذج متعددة ومعالجة الصور.
تحقق من الفيديو التعليمي هنا
قم بإنشاء مشروع جديد عن طريق تشغيل:
npx rn-ai
بعد ذلك، قم إما بتكوين متغيرات البيئة الخاصة بك باستخدام واجهة سطر الأوامر (CLI)، أو قم بذلك لاحقًا.
قم بالتغيير إلى دليل التطبيق وتشغيل:
npm start
قم بالتغيير إلى دليل الخادم وتشغيل:
npm run dev
لإضافة سمة جديدة، افتح app/src/theme.ts
وأضف سمة جديدة بالتكوين التالي:
const christmas = {
// extend an esisting theme or start from scratch
... lightTheme ,
name : 'Christmas' ,
label : 'christmas' ,
tintColor : '#ff0000' ,
textColor : '#378b29' ,
tabBarActiveTintColor : '#378b29' ,
tabBarInactiveTintColor : '#ff0000' ,
placeholderTextColor : '#378b29' ,
}
في أسفل الملف، قم بتصدير السمة الجديدة:
export {
lightTheme , darkTheme , hackerNews , miami , vercel , christmas
}
فيما يلي كيفية إضافة نماذج LLM جديدة أو إزالتها.
يمكنك إضافة نموذج أو تكوينه عن طريق تحديث MODELS
في constants.ts
.
لإزالة النماذج، ما عليك سوى إزالة النماذج التي لا تريد دعمها.
لإضافة نماذج، بمجرد إضافة تعريف النموذج إلى مصفوفة MODELS
، يجب عليك تحديث src/screens/chat.tsx
لدعم النموذج الجديد:
chat()
للتعامل مع نوع النموذج الجديدgenerateModelReponse
لاستدعاء النموذج الجديدgetChatType
في utils.ts
لتكوين نوع LLM الذي سيتوافق مع مسار الخادم الخاص بك. {
chatType . label . includes ( 'newModel' ) && (
< FlatList
data = { newModelReponse . messages }
renderItem = { renderItem }
scrollEnabled = { false }
/ >
)
}
قم بإنشاء ملف جديد في مجلد server/src/chat
الذي يتوافق مع نوع النموذج الذي قمت بإنشائه في تطبيق الهاتف المحمول. ربما يمكنك نسخ وإعادة استخدام الكثير من كود البث من المسارات الأخرى الموجودة للبدء.
بعد ذلك، قم بتحديث server/src/chat/chatRouter
لاستخدام المسار الجديد.
فيما يلي كيفية إضافة نماذج صور جديدة أو إزالة موجودة.
يمكنك إضافة نموذج أو تكوينه عن طريق تحديث IMAGE_MODELS
في constants.ts
.
لإزالة النماذج، ما عليك سوى إزالة النماذج التي لا تريد دعمها.
لإضافة نماذج، بمجرد إضافة تعريف النموذج إلى مصفوفة IMAGE_MODELS
، يجب عليك تحديث src/screens/images.tsx
لدعم النموذج الجديد.
الاعتبار الرئيسي هو الإدخال. هل يأخذ النموذج النص أو الصورة أو كليهما كمدخلات؟
تم تكوين التطبيق للتعامل مع كليهما، ولكن يجب عليك تحديث وظيفة generate
لتمرير القيم إلى واجهة برمجة التطبيقات وفقًا لذلك.
في server/src/images/fal
، قم بتحديث وظيفة المعالج لتأخذ في الاعتبار النموذج الجديد.
قم بإنشاء ملف جديد في server/src/images/modelName
، وقم بتحديث وظيفة المعالج للتعامل مع استدعاء API الجديد.
بعد ذلك، قم بتحديث server/src/images/imagesRouter
لاستخدام المسار الجديد.