A Kotlin-first LLM toolkit offering unified API for AI models (OpenAI, HuggingFace, DeepSeek, custom) and modular data storage. Features agent-enabled architecture with async RAG capabilities and zero boilerplate.
<h1 align="center"><img src="https://github.com/SithraBot/synthetic/blob/dev/icon_text.svg" alt="Synthetic" height="64px"/></h1>
[__**查看中文介绍**__](https://github.com/SithraBot/synthetis/blob/dev/README-ZH.md)
**Synthetic** is a lightweight Kotlin/JVM library for building LLM-driven applications, specializing in RAG (
Retrieval-Augmented Generation) pipelines and agent systems. Designed for API flexibility, it implements an
adapter-first architecture to seamlessly integrate any AI provider (OpenAI, HuggingFace, custom endpoints) and data
storage system.
**Core features:**
- **Modular RAG components**: Document processors, embedding interfaces, and retriever/reranker blueprints
- **Flexible Agent framework**: Custom tool integration, stateful conversation management, and goal-oriented execution
flows
- **Agnostic data layer**: Abstracted connectors for vector DBs, SQL/NoSQL, or file systems via unified interfaces
- **API-neutral LLM operations**: Swap models/endpoints without rewriting chains/agents
- **Coroutine-native pipelines**: Async workflows for both RAG and Agent operations
- **Minimal abstraction overhead**: Clear extension points for custom agent logic and data handlers
Optimized for Kotlin/JVM developers prioritizing API interoperability and custom data flows over framework rigidity.
## Usage
### Common
```kotlin
private val apiKey = "sk-xxxxxxxxxx"
private val url = Url("https://synthetic.sithra.org/v1")
fun main() = runBlocking {
val adapter = OpenAIAdapter {
baseUrl = url
token = apiKey
}
val ctx = Context {
apiAdapter = adapter
messagesStore = MessagesStoreInMemory()
}
val session = ctx.createSession("demo-model")
// common
ctx.withSession(session) {
val message = chat(Message("why hello world?"))
println(message.content)
addMessage(message)
}
// streaming
ctx.withSession(session) {
val response = chatStream(Message("why hello world?"))
HAL 分层混合模型工作流 — 强模型(Claude)负责理解/拆解/验收,低成本模型(DeepSeek)负责检索/提取/清洗。Hermes Agent skill。
An LLM agent fine-tuned on DeepSeek for spaced repetition, dynamically integrating knowledge points based on the Ebbinghaus forgetting curve.
基于 STM32F103 构建的端到端 AI 智能手表生态。自研“零重定位”原生机器码动态加载引擎与页面栈式 UI 框架;集成生产级 OTA 回滚保护机制与高带宽(921600 baud)串口协议栈。通过 Node.js 中继实现 DeepSeek AI 语义控制及 ASRPRO 语音全双工交互,是一个集成了分布式计算、现代存储管理与 AI Agent 的嵌入式全栈工程。
A Meta-Agent-Driven Self-Evolving Multi-Agent System for UAV Detection and Tracking
One command to run Hermes AI Agent with a browser UI. Zero prerequisites. 一行命令,AI 就位。
网页应用Agent,接入DeepSeek、Mimo等模型