
Open-source deep learning framework simplifies creation of modern AI applications, adhering to GitFlow for branching and Semantic Versioning for release management.
SKaiNET aims to democratize "Edge AI / On-device AI" by bridging the gap between high-level application development and low-level hardware optimization. We believe AI should be portable, type-safe, and developer-friendly, enabling seamless intelligence in everything from mobile apps to IoT devices without sacrificing performance.
For architecture details see ARCHITECTURE.md.
Add the core dependencies (Gradle Kotlin DSL):
dependencies {
implementation("sk.ainet.core:SKaiNET-lang-core:0.16.0")
implementation("sk.ainet.core:SKaiNET-backend-cpu:0.16.0")
}Java / Maven users — see Java Getting Started for BOM setup and JVM flags.
val model = nn {
input(28 * 28)
dense(out = 128)
relu()
dense(out = 10)
}val ctx = DirectCpuExecutionContext()
val ingestion = LlamaIngestion(ctx)
val weights = ingestion.load { SystemFileSystem.source(Path("model.gguf")).buffered() }
val tokenizer = GGUFTokenizer.fromSource(SystemFileSystem.source(Path("model.gguf")).buffered())
val runtime = LlamaRuntime(ctx, weights)
runtime.generate(tokenizer.encode("Once upon a time"), steps = 64) { token ->
print(tokenizer.decode(token))
}More examples: SKaiNET-examples | SKaiNET-notebook
| Goal | Start here |
|---|---|
| Examples and sample projects | SKaiNET-examples |
| Interactive notebooks | SKaiNET-notebook |
| LLM inference (Llama, Gemma) | docs/kllama-getting-started.md |
| Java 21+ integration | docs/java-getting-started.md |
| Data loading and transforms | docs/io-readers-guide.md |
| Graph DSL (ResNet, YOLO) | docs/graph-dsl.md |
| Edge AI / Arduino export | docs/arduino-c-codegen.md |
| MLIR / StableHLO compiler | docs/hlo-getting-started.md |
| Architecture overview | ARCHITECTURE.md |
| Contributing | CONTRIBUTING.md |
skainet-kllama-agent
AgentLoop for multi-turn tool-use conversationsJavaAgentLoop
nn { input(); dense(); relu(); dense() }
dag { } for ResNet, YOLO-style architecturesSKaiNET entry point, TensorJavaOps, builder-pattern model definitionKLlamaJava / KBertJava facades for blocking and async inferencesk.ainet:skainet-bom) for one-line version managementHloGenerator
KvCache, softmax, RoPE, and sampling
SKaiNET-transformers) to streamline the core projectskainet-bom to use local project() references for reliable buildsSee CHANGELOG.md for the full release history.
We love contributions! Whether it's a new operator, documentation, or a bug fix:
Browse the full codebase documentation on DeepWiki.
MIT — see LICENCE.
SKaiNET aims to democratize "Edge AI / On-device AI" by bridging the gap between high-level application development and low-level hardware optimization. We believe AI should be portable, type-safe, and developer-friendly, enabling seamless intelligence in everything from mobile apps to IoT devices without sacrificing performance.
For architecture details see ARCHITECTURE.md.
Add the core dependencies (Gradle Kotlin DSL):
dependencies {
implementation("sk.ainet.core:SKaiNET-lang-core:0.16.0")
implementation("sk.ainet.core:SKaiNET-backend-cpu:0.16.0")
}Java / Maven users — see Java Getting Started for BOM setup and JVM flags.
val model = nn {
input(28 * 28)
dense(out = 128)
relu()
dense(out = 10)
}val ctx = DirectCpuExecutionContext()
val ingestion = LlamaIngestion(ctx)
val weights = ingestion.load { SystemFileSystem.source(Path("model.gguf")).buffered() }
val tokenizer = GGUFTokenizer.fromSource(SystemFileSystem.source(Path("model.gguf")).buffered())
val runtime = LlamaRuntime(ctx, weights)
runtime.generate(tokenizer.encode("Once upon a time"), steps = 64) { token ->
print(tokenizer.decode(token))
}More examples: SKaiNET-examples | SKaiNET-notebook
| Goal | Start here |
|---|---|
| Examples and sample projects | SKaiNET-examples |
| Interactive notebooks | SKaiNET-notebook |
| LLM inference (Llama, Gemma) | docs/kllama-getting-started.md |
| Java 21+ integration | docs/java-getting-started.md |
| Data loading and transforms | docs/io-readers-guide.md |
| Graph DSL (ResNet, YOLO) | docs/graph-dsl.md |
| Edge AI / Arduino export | docs/arduino-c-codegen.md |
| MLIR / StableHLO compiler | docs/hlo-getting-started.md |
| Architecture overview | ARCHITECTURE.md |
| Contributing | CONTRIBUTING.md |
skainet-kllama-agent
AgentLoop for multi-turn tool-use conversationsJavaAgentLoop
nn { input(); dense(); relu(); dense() }
dag { } for ResNet, YOLO-style architecturesSKaiNET entry point, TensorJavaOps, builder-pattern model definitionKLlamaJava / KBertJava facades for blocking and async inferencesk.ainet:skainet-bom) for one-line version managementHloGenerator
KvCache, softmax, RoPE, and sampling
SKaiNET-transformers) to streamline the core projectskainet-bom to use local project() references for reliable buildsSee CHANGELOG.md for the full release history.
We love contributions! Whether it's a new operator, documentation, or a bug fix:
Browse the full codebase documentation on DeepWiki.
MIT — see LICENCE.