---
title: Import Models Manually
---

{/* Imports */}
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

Jan is compatible with all GGUF models.

If you don't see the model you want in the Hub, or if you have a custom model, you can add it to Jan.

In this guide we will use our latest model, [Trinity](https://huggingface.co/janhq/trinity-v1-GGUF), as an example.

> We are fast shipping a UI to make this easier, but it's a bit manual for now. Apologies.

## 1. Create a model folder

Navigate to the `~/jan/models` folder on your computer.

In `App Settings`, go to `Advanced`, then `Open App Directory`.

<Tabs groupId="operating-systems">
  <TabItem value="mac" label="macOS">
    
    ```sh
    cd ~/jan/models
    ```
  
  </TabItem>
  <TabItem value="win" label="Windows">
  
    ```sh
    C:/Users/<your_user_name>/jan/models
    ```
  
  </TabItem>
  <TabItem value="linux" label="Linux">
  
    ```sh
    cd ~/jan/models
    ```
  
  </TabItem>
</Tabs>

In the `models` folder, create a folder with the name of the model.

<Tabs groupId="operating-systems">
  <TabItem value="mac" label="macOS">
    
    ```sh 
    mkdir trinity-v1-7b
    ```

  </TabItem>
  <TabItem value="win" label="Windows">
    
    ```sh
    mkdir trinity-v1-7b
    ```

  </TabItem>
  <TabItem value="linux" label="Linux">
    
    ```sh
    mkdir trinity-v1-7b
    ```

  </TabItem>
</Tabs>

## 2. Create a model JSON

Jan follows a folder-based, [standard model template](/specs/models) called a `model.json` to persist the model configurations on your local filesystem.

This means you can easily & transparently reconfigure your models and export and share your preferences.

<Tabs groupId="operating-systems">
  <TabItem value="mac" label="macOS">

    ```sh
    cd trinity-v1-7b
    touch model.json
    ```

  </TabItem>
  <TabItem value="win" label="Windows">
    
    ```sh
    cd trinity-v1-7b
    touch model.json
    ```

  </TabItem>
  <TabItem value="linux" label="Linux">

    ```sh
    cd trinity-v1-7b
    touch model.json
    ```

  </TabItem>
</Tabs>

Copy the following configurations into the `model.json`.

1. Make sure the `id` property is the same as the folder name you created.
2. Make sure the `source_url` property is the direct binary download link ending in `.gguf`. In HuggingFace, you can find the directl links in `Files and versions` tab.
3. Ensure you are using the correct `prompt_template`. This is usually provided in the HuggingFace model's description page.

```js
{
    "source_url": "https://huggingface.co/janhq/trinity-v1-GGUF/resolve/main/trinity-v1.Q4_K_M.gguf",
    "id": "trinity-v1-7b",
    "object": "model",
    "name": "Trinity 7B Q4",
    "version": "1.0",
    "description": "Trinity is an experimental model merge of GreenNodeLM & LeoScorpius using the Slerp method. Recommended for daily assistance purposes.",
    "format": "gguf",
    "settings": {
      "ctx_len": 2048,
      "prompt_template": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant"
    },
    "parameters": {
      "max_tokens": 2048
    },
    "metadata": {
      "author": "Jan",
      "tags": ["7B", "Merged", "Featured"],
      "size": 4370000000
    },
    "engine": "nitro"
  }
```

## 3. Download your model

Restart the Jan application and look for your model in the Hub.

Click the green `download` button to download your actual model binary. This pulls from the `source_url` you provided above.

![image](https://hackmd.io/_uploads/HJLAqvwI6.png)

There you go! You are ready to use your model.

If you have any questions or want to request for more preconfigured GGUF models, please message us in [Discord](https://discord.gg/Dt7MxDyNNZ).
