Kerangka kerja tumpukan penuh untuk membangun aplikasi AI seluler lintas platform mendukung LLM real-time / streaming teks dan obrolan, layanan gambar dan bahasa alami untuk gambar dengan banyak model, dan pemrosesan gambar.
Lihat tutorial video di sini
Menghasilkan proyek baru dengan menjalankan:
npx rn-aiSelanjutnya, konfigurasi variabel lingkungan Anda dengan CLI, atau lakukan nanti.
Ubah ke direktori aplikasi dan jalankan:
npm startUbah ke direktori server dan jalankan:
npm run dev Variabel lingkungan server tersedia di server/.env.example . Jika sudah tidak ada, perbarui nama file ini ke .env dan konfigurasikan variabel lingkungan server.
Untuk menambahkan tema baru, buka app/src/theme.ts dan menambahkan tema baru dengan konfigurasi berikut:
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' ,
}Di bagian bawah file, ekspor tema baru:
export {
lightTheme , darkTheme , hackerNews , miami , vercel , christmas
} Berikut adalah cara menambahkan baru atau menghapus model LLM yang ada.
Anda dapat menambah atau mengonfigurasi model dengan memperbarui MODELS di constants.ts .
Untuk menghapus model, cukup lepaskan model yang tidak ingin Anda dukung.
Untuk menambahkan model, setelah definisi model ditambahkan ke array MODELS , Anda harus memperbarui src/screens/chat.tsx untuk mendukung model baru:
chat() untuk menangani jenis model barugenerateModelReponse untuk memanggil model barugetChatType di utils.ts untuk mengonfigurasi tipe LLM yang akan sesuai dengan jalur server Anda. {
chatType . label . includes ( 'newModel' ) && (
< FlatList
data = { newModelReponse . messages }
renderItem = { renderItem }
scrollEnabled = { false }
/ >
)
} Buat file baru di folder server/src/chat yang sesuai dengan jenis model yang Anda buat di aplikasi seluler. Anda mungkin dapat menyalin dan menggunakan kembali banyak kode streaming dari jalur lain yang ada untuk memulai.
Selanjutnya, perbarui server/src/chat/chatRouter untuk menggunakan rute baru.
Berikut adalah cara menambahkan baru atau menghapus model gambar yang ada.
Anda dapat menambah atau mengonfigurasi model dengan memperbarui IMAGE_MODELS di constants.ts .
Untuk menghapus model, cukup lepaskan model yang tidak ingin Anda dukung.
Untuk menambahkan model, setelah definisi model ditambahkan ke array IMAGE_MODELS , Anda harus memperbarui src/screens/images.tsx untuk mendukung model baru.
Pertimbangan utama adalah input. Apakah model mengambil teks, gambar, atau keduanya sebagai input?
Aplikasi ini dikonfigurasi untuk menangani keduanya, tetapi Anda harus memperbarui fungsi generate untuk meneruskan nilai ke API yang sesuai.
Di server/src/images/fal , perbarui fungsi penangan untuk memperhitungkan model baru.
Buat file baru di server/src/images/modelName , perbarui fungsi penangan untuk menangani panggilan API baru.
Selanjutnya, perbarui server/src/images/imagesRouter untuk menggunakan rute baru.