Skip to content

Commit 50c7d95

Browse files
Merge pull request #1 from SKaiNET-developers/feature/gemma-3n-e4b-support
Feature/gemma 3n e4b support
2 parents 469e177 + c61ee67 commit 50c7d95

30 files changed

Lines changed: 1814 additions & 38 deletions

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SKaiNET-transformers
2+
3+
SKaiNET-transformers is a high-performance LLM (Large Language Model) application layer built on top of the [SKaiNET](https://github.com/SKaiNET-developers/SKaiNET.git) engine. It provides a set of runtimes and CLI tools for various transformer-based models, optimized for Kotlin Multiplatform.
4+
5+
## Key Features
6+
7+
- **Multi-Model Support**: Implementations for popular architectures including Llama, Gemma, Qwen, and BERT.
8+
- **Engineered for Performance**: Uses the SKaiNET library as its core inference engine, leveraging hardware acceleration where available.
9+
- **Kotlin Multiplatform**: Designed to run across different platforms (JVM, Native, Android, etc.).
10+
- **Efficient Weights Loading**: Support for `safetensors` format for fast and safe model loading.
11+
12+
## Project Structure
13+
14+
- `llm-core`: Core abstractions and base classes for LLM components.
15+
- `llm-inference`: Model-specific inference logic (Llama, BERT, Gemma, Qwen).
16+
- `llm-runtime`: Platform-specific runtime implementations.
17+
- `llm-apps`: Ready-to-use CLI applications for model interaction and testing.
18+
- `llm-agent`: High-level agentic capabilities (in development).
19+
20+
## Getting Started
21+
22+
### Prerequisites
23+
24+
- JDK 17 or higher
25+
- Gradle
26+
27+
### Running the CLI Tools
28+
29+
You can run the provided CLI tools using Gradle. For example, to run the BERT CLI:
30+
31+
```bash
32+
./gradlew :llm-apps:kbert-cli:run --args="/path/to/model-dir 'query text'"
33+
```
34+
35+
Replace `/path/to/model-dir` with a directory containing `model.safetensors`, `vocab.txt`, and `config.json`.
36+
37+
## Engine
38+
39+
This project uses **SKaiNET** as its underlying execution engine.
40+
GitHub: [https://github.com/SKaiNET-developers/SKaiNET](https://github.com/SKaiNET-developers/SKaiNET.git)
41+
42+
## License
43+
44+
[Add License Information Here]

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ allprojects {
1414
group = "sk.ainet.llm"
1515
}
1616

17-
// Require JDK 21+ but allow any newer version (produces Java 21 bytecode via --release / jvmTarget)
17+
// Require JDK 21+ for bytecode target; JDK 25 recommended (set via jenv local 25.0).
18+
// Produces Java 21 bytecode via --release / jvmTarget for backward compatibility.
1819
subprojects {
1920
require(JavaVersion.current() >= JavaVersion.VERSION_21) {
2021
"This project requires JDK 21+, but found ${JavaVersion.current()}"

gradle.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
GROUP=sk.ainet.llm
2-
VERSION_NAME=0.1.0
1+
GROUP=sk.ainet.transformers
2+
VERSION_NAME=0.3.0
33

4-
POM_DESCRIPTION=SKaiNET-LLM
4+
POM_DESCRIPTION=SKaiNET-transformers
55

6-
POM_URL=https://github.com/SKaiNET-developers/skainet/
7-
POM_SCM_URL=https://github.com/SKaiNET-developers/skainet
8-
POM_SCM_CONNECTION=scm:git:git@github.com:SKaiNET-developers/skainet.git
9-
POM_SCM_DEV_CONNECTION=scm:git:ssh@github.com:SKaiNET-developers/skainet.git
6+
POM_URL=https://github.com/SKaiNET-developers/SKaiNET-transformers/
7+
POM_SCM_URL=https://github.com/SKaiNET-developers/SKaiNET-transformers
8+
POM_SCM_CONNECTION=scm:git:git@github.com:SKaiNET-developers/SKaiNET-transformers.git
9+
POM_SCM_DEV_CONNECTION=scm:git:ssh@github.com:SKaiNET-developers/SKaiNET-transformers.git
1010

1111
POM_LICENCE_NAME=MIT License
1212
POM_LICENCE_URL=https://mit-license.org/

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ skainet = "0.15.3"
33
agp = "8.13.0"
44
jacksonDatabind = "2.21.1"
55
jsonSchemaValidator = "3.0.0"
6-
jsonSchemaValidatorVersion = "0.5.3"
6+
jsonSchemaValidatorVersion = "0.5.4"
77
junit = "4.13.2"
88
junitJupiter = "6.0.3"
99
kotlin = "2.3.0"
@@ -12,7 +12,7 @@ kotlinBrowser = "0.5.0"
1212
android-minSdk = "24"
1313
android-compileSdk = "36"
1414
kotlinxSerializationJson = "1.9.0"
15-
ktorClientCore = "3.1.1"
15+
ktorClientCore = "3.4.1"
1616
ktorClientPlugins = "3.1.1"
1717
logbackClassic = "1.5.32"
1818
kover = "0.9.7"

llm-agent/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
POM_ARTIFACT_ID=skainet-kllama-agents
1+
POM_ARTIFACT_ID=skainet-transformers-agent
22
POM_NAME=Agentic API for kllama
33

44
kotlin.mpp.applyDefaultHierarchyTemplate=false
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
POM_ARTIFACT_ID=skainet-apps-kllama-cli
1+
POM_ARTIFACT_ID=skainet-transformers-apps-kllama-cli
22
POM_NAME=skainet neural network scripting API
33

44
kotlin.mpp.applyDefaultHierarchyTemplate=false

llm-bom/gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
POM_ARTIFACT_ID=skainet-llm-bom
2-
POM_NAME=SKaiNET-LLM Bill of Materials
1+
POM_ARTIFACT_ID=skainet-transformers-bom
2+
POM_NAME=SKaiNET-transformers Bill of Materials

llm-core/gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
POM_ARTIFACT_ID=skainet-llm
2-
POM_NAME=skainet llm core
1+
POM_ARTIFACT_ID=skainet-transformers-core
2+
POM_NAME=skainet transformers core
33

44
kotlin.mpp.applyDefaultHierarchyTemplate=false
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
POM_ARTIFACT_ID=skainet-model-bert
1+
POM_ARTIFACT_ID=skainet-transformers-inference-bert
22
POM_NAME=skainet bert embeddings loader
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
POM_ARTIFACT_ID=skainet-model-gemma
1+
POM_ARTIFACT_ID=skainet-transformers-inference-gemma
22
POM_NAME=skainet gemma model loader

0 commit comments

Comments
 (0)