Полный стек-фреймворк для создания кроссплатформенных приложений для мобильных ИИ, поддерживающих текст LLM в реальном времени / потоковую передачу и чаты, службы изображений и естественный язык для изображений с несколькими моделями и обработки изображений.
Проверьте видеоурок здесь
Создайте новый проект под управлением:
npx rn-aiЗатем либо настройте переменные среды с помощью CLI, либо сделайте это позже.
Переодеться в каталог приложений и запустить:
npm startПереодеться в каталог сервера и запустить:
npm run dev Переменные среды сервера доступны в server/.env.example . Если уже нет присутствия, обновите имя этого файла на .env и настройте переменные среды сервера.
Чтобы добавить новую тему, откройте app/src/theme.ts и добавьте новую тему со следующей конфигурацией:
const christmas = {
// extend an existing 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 , чтобы соответствующим образом передавать значения API.
В server/src/images/fal обновите функцию обработчика, чтобы учесть новую модель.
Создайте новый файл в server/src/images/modelName , обновите функцию обработчика, чтобы обработать новый вызов API.
Далее, обновление server/src/images/imagesRouter чтобы использовать новый маршрут.