LLM リアルタイム / ストリーミング テキストおよびチャット UI、画像サービスと複数のモデルを使用した画像への自然言語、および画像処理をサポートするクロスプラットフォームのモバイル AI アプリを構築するためのフルスタック フレームワーク。
ここでビデオチュートリアルをご覧ください
以下を実行して新しいプロジェクトを生成します。
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 モデルを追加または既存の LLM モデルを削除する方法は次のとおりです。
constants.ts
のMODELS
更新することで、モデルを追加または構成できます。
モデルを削除するには、サポートしたくないモデルを削除するだけです。
モデルを追加するには、モデル定義をMODELS
配列に追加したら、新しいモデルをサポートするようにsrc/screens/chat.tsx
更新する必要があります。
chat()
関数を更新しますgenerateModelReponse
関数を作成しますutils.ts
のgetChatType
更新して、サーバー パスに対応する LLM タイプを構成します。 {
chatType . label . includes ( 'newModel' ) && (
< FlatList
data = { newModelReponse . messages }
renderItem = { renderItem }
scrollEnabled = { false }
/ >
)
}
モバイル アプリで作成したモデル タイプに対応する新しいファイルをserver/src/chat
フォルダーに作成します。おそらく、他の既存のパスから多くのストリーミング コードをコピーして再利用して始めることができます。
次に、新しいルートを使用するように、 server/src/chat/chatRouter
更新します。
新しいイメージ モデルを追加または既存のイメージ モデルを削除する方法は次のとおりです。
constants.ts
のIMAGE_MODELS
を更新することで、モデルを追加または構成できます。
モデルを削除するには、サポートしたくないモデルを削除するだけです。
モデルを追加する場合は、モデル定義をIMAGE_MODELS
配列に追加したら、新しいモデルをサポートするようにsrc/screens/images.tsx
を更新する必要があります。
主な考慮事項は入力です。モデルはテキスト、画像、またはその両方を入力として受け取りますか?
アプリは両方を処理するように構成されていますが、それに応じて値を API に渡すようにgenerate
関数を更新する必要があります。
server/src/images/fal
で、新しいモデルを考慮するためにハンドラー関数を更新します。
server/src/images/modelName
に新しいファイルを作成し、新しい API 呼び出しを処理するようにハンドラー関数を更新します。
次に、新しいルートを使用するように、 server/src/images/imagesRouter
更新します。