jan/docs/docs/developer/01-overview/01-architecture.md
2023-12-20 13:38:54 +08:00

1.9 KiB

title slug description keywords
Architecture /developer/architecture Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
Jan AI
Jan
ChatGPT alternative
local AI
private AI
conversational AI
no-subscription fee
large language model

:::warning

This page is still under construction, and should be read as a scratchpad

:::

Overview

  • Jan has a modular architecture and is largely built on top of its own modules.
  • Jan uses a local file-based approach for data persistence.
  • Jan provides an Electron-based Desktop UI.
  • Jan provides an embeddable inference engine, written in C++, called Nitro.

Extensions

Jan has an Extensions API inspired by VSCode. In fact, most of Jan's core services are built as extensions.

Jan supports the following OpenAI compatible extensions:

Jan Module Description API Docs
Chat Inference /chats
Models Models /models
Assistants Apps /assistants
Threads Conversations /threads
Messages Messages /messages

Modules

Modules are low level, system services. It is similar to OS kernel modules. Modules provide abstractions to basic, device level functionality like working with the filesystem, device system, databases, AI inference engines, etc.

Jan follows the dependency inversion principle such that modules expose the interfaces that extensions can then implement.