Onnx Runner

Onnx Runner

This example demonstrates how to integrate ONNX and load the TinyStories-33M model on a mobile device. It showcases a locally running chatbot and the process of local text generation based on the TinyStories-33M model.

RU | EN

OnnxRunner

This example demonstrates how to integrate ONNX and load the TinyStories-33M model on a mobile device. It showcases a locally running chatbot and the process of local text generation based on the TinyStories-33M model.

Build status:

  1. example - pipeline status
  2. dev - pipeline status

Table of Contents

Compatibility

The project is compatible with all current versions of the Aurora OS.

Build features

The project is built using CMake build system. The project uses Conan package manager to obtain dependencies including MLPack library and its dependencies.

Branch info

Application versions conform to the branch naming convention

Install and running

Installation and build are performed according to the Build example instruction.

Screenshots

Screenshots

Use cases

The application demonstrates LLM functionality via text generation:

Text Generation

Project Structure

The project has a standard structure of an application based on C++ and QML for Aurora OS with LLM capabilities.

  • CMakeLists.txt file describes the project structure for the CMake build system and ONNX Runtime dependencies.
  • icons directory contains the application icons for different screen resolutions.
  • qml directory contains the QML source code and the UI resources.
    • cover directory contains the application cover implementations.
    • icons directory contains the additional custom UI icons.
    • pages directory contains the application pages.
    • OnnxRunner.qml file provides the application window implementation.
  • rpm directory contains the rpm-package build settings.
  • src directory contains the C++ source code with ONNX Runtime integration.
  • translations directory contains the UI translation files.
  • models directory contains ONNX models and tokenizer files.
  • scripts directory contains model conversion scripts and usage docs. See scripts/README.md.
  • ru.auroraos.OnnxRunner.desktop file defines the display and parameters for launching the application.

Terms of Use and Participation in Development

The source code of the project is provided under license, which allows to use it in third-party applications.

To participate in the development of the project, please read the member agreement. If you plan to submit your own source code for inclusion in the project, you will need to accept the CLA terms and conditions.

Participant information is listed in the AUTHORS file.

The Code of Conduct is the current set of rules of the Open Mobile Platform Company, which informs about the expectations for interaction between community members when communicating and working on projects.