Skip to main content

File-based Approach

warning

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

Jan use the local filesystem for data persistence, similar to VSCode. This allows for composability and tinkerability.

janroot/               # Jan's root folder (e.g. ~/jan)
models/ # For raw AI models
threads/ # For conversation history
assistants/ # For AI assistants' configs, knowledge, etc.
/models
/modelA
model.json # Default model settings
llama-7b-q4.gguf # Model binaries
/threads
/jan-unixstamp
thread.json # thread metadata (e.g. subject)
messages.jsonl # messages
files/ # RAG
/assistants
/jan # A default assistant that can use all models
assistant.json # Assistant configs (see below)
package.json # Import npm modules, e.g. Langchain, Llamaindex
/src # For custom code
index.js # Entrypoint
# `/threads` at root level
# `/models` at root level
/shakespeare # Example of a custom assistant
assistant.json
package.json
/threads # Assistants remember conversations in the future
/models # Users can upload custom models

Data Dependencies

  • User/ Integrator
  • Assistant object
  • Model object
  • Thread object
  • Built-in tool object