Skip to content

Vali-98/ChatterUI

Folders and files

NameName
Last commit message
Last commit date
Aug 7, 2024
Aug 7, 2024
Aug 16, 2024
Aug 13, 2024
Aug 7, 2024
Aug 7, 2024
Aug 11, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 13, 2024
Aug 11, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 7, 2024
Aug 10, 2024
Aug 10, 2024
Aug 7, 2024

Repository files navigation

ChatterUI - A simple app for LLMs

ChatterUI is a native mobile frontend for managing chat files and character cards inspired by SillyTavern. It aims to provide a mobile friendly experience to inferface with Large Language models. ChatterUI supports multiple backends and can even run GGUF models locally on your device.

Support the development of this app here:

Support me on ko-fi.com


Usage

Android

Download the and install latest APK from the releases page.

IOS is Currently unavailable, I do not have the means to test and deploy on IOS :(

Supported Backends

On Device Inferencing:

To use Local inferencing, go to API > Local > Import Model and choose a gguf model that can fit on your device's memory. Then load the model to begin!

For devices with Snapdragon 8 Gen 1 and above or Exynos 2200+, it is recommended to use the Q4_0_4_8 quantization for enhanced prompt processing.

Open Source Backends:

  • koboldcpp
  • text-generation-webui
  • Ollama

Dedicated API:

  • OpenAI
  • Claude (with ability to use a proxy)
  • Cohere
  • Open Router
  • Mancer
  • AI Horde

Customizable backends:

  • Generic Text Completions
  • Generic Chat Completions

These should be compliant with any Text Completion/Chat Completion backends such as Groq or Infermatic.

Development

Android

To run a development build, follow these simple steps:

  • Install any Java 17/21 SDK of your choosing
  • Install android-sdk via Android Studio
  • Clone the repo:
git clone https://github.com/Vali-98/ChatterUI.git
  • Install dependencies via npm and run via Expo:
npm install
npx expo run:android

Building an APK

Requires Node.js and Android SDK. Expo uses EAS to build apps which requires a Linux environment.

  1. Clone the repo.
  2. Rename the eas.json.example to eas.json.
  3. Modify "ANDROID_SDK_ROOT" to the directory of your Android SDK
  4. Run the following:
npm install
eas build --platform android --local

IOS

Currently untested as I do have the resources to develop for IoS. Assistance here would be greatly appreciated!

Fix For Text Streaming in Development

(Note: This is only applicable for versions prior to Expo SDK 51 in 20fbff2fb6375cfd0d76acf06a9cd13ae9126c57)

ReactNativeFlipper causes streaming to break on Android development builds. To fix this, navigate to:

android/app/src/main/java/com/Vali98/ChatterUI/MainApplication.kt

Then comment out the following:

if (BuildConfig.DEBUG) {
    // hacky fix for: https://github.com/react-native-community/fetch
    // ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager)
}