docs: update content quickstart integration add mistral ollama & lm
This commit is contained in:
parent
faec5cf6eb
commit
1585f3dd10
BIN
docs/docs/quickstart/integration/assets/lmstudio.png
Normal file
BIN
docs/docs/quickstart/integration/assets/lmstudio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
BIN
docs/docs/quickstart/integration/assets/mistral.png
Normal file
BIN
docs/docs/quickstart/integration/assets/mistral.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
BIN
docs/docs/quickstart/integration/assets/ollama.png
Normal file
BIN
docs/docs/quickstart/integration/assets/ollama.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 115 KiB |
196
docs/docs/quickstart/integration/lmstudio.mdx
Normal file
196
docs/docs/quickstart/integration/lmstudio.mdx
Normal file
@ -0,0 +1,196 @@
|
||||
---
|
||||
title: LM Studio
|
||||
sidebar_position: 8
|
||||
description: A step-by-step guide on how to integrate Jan with LM Studio.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
LM Studio integration,
|
||||
]
|
||||
---
|
||||
import flow from './assets/lmstudio.png';
|
||||
|
||||
## How to Integrate LM Studio with Jan
|
||||
|
||||
[LM Studio](https://lmstudio.ai/) enables you to explore, download, and run local Large Language Models (LLMs). You can integrate Jan with LM Studio using two methods:
|
||||
1. Integrate the LM Studio server with Jan UI
|
||||
2. Migrate your downloaded model from LM Studio to Jan.
|
||||
|
||||
<div class="text--center" >
|
||||
<img src={ flow } width = { 800} alt = "LM Studio" />
|
||||
</div>
|
||||
|
||||
To integrate LM Studio with Jan follow the steps below:
|
||||
|
||||
:::note
|
||||
|
||||
In this guide, we're going to show you how to connect Jan to [LM Studio](https://lmstudio.ai/) using the second method. We'll use the [Phi 2 - GGUF](https://huggingface.co/TheBloke/phi-2-GGUF) model from Hugging Face as our example.
|
||||
:::
|
||||
### Step 1: Server Setup
|
||||
|
||||
1. Access the `Local Inference Server` within LM Studio.
|
||||
2. Select your desired model.
|
||||
3. Start the server after configuring the port and options.
|
||||
|
||||
4. Update the `openai.json` file in `~/jan/engines` to include the LM Studio server's full URL.
|
||||
|
||||
```json title="~/jan/engines/openai.json"
|
||||
{
|
||||
"full_url": "http://localhost:<port>/v1/chat/completions"
|
||||
}
|
||||
```
|
||||
|
||||
:::tip
|
||||
|
||||
Replace `(port)` with your chosen port number. The default is 1234.
|
||||
|
||||
:::
|
||||
|
||||
### Step 2: Model Configuration
|
||||
|
||||
1. Navigate to `~/jan/models`.
|
||||
2. Create a folder named `lmstudio-(modelname)`, like `lmstudio-phi-2`.
|
||||
3. Inside, create a `model.json` file with these options:
|
||||
- Set `format` to `api`.
|
||||
- Specify `engine` as `openai`.
|
||||
- Set `state` to `ready`.
|
||||
|
||||
```json title="~/jan/models/lmstudio-phi-2/model.json"
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"filename": "phi-2-GGUF",
|
||||
"url": "https://huggingface.co/TheBloke/phi-2-GGUF"
|
||||
}
|
||||
],
|
||||
"id": "lmstudio-phi-2",
|
||||
"object": "model",
|
||||
"name": "LM Studio - Phi 2 - GGUF",
|
||||
"version": "1.0",
|
||||
"description": "TheBloke/phi-2-GGUF",
|
||||
"format": "api",
|
||||
"settings": {},
|
||||
"parameters": {},
|
||||
"metadata": {
|
||||
"author": "Microsoft",
|
||||
"tags": ["General", "Big Context Length"]
|
||||
},
|
||||
"engine": "openai"
|
||||
}
|
||||
```
|
||||
### Regarding `model.json`
|
||||
|
||||
- In `settings`, two crucial values are:
|
||||
- `ctx_len`: Defined based on the model's context size.
|
||||
- `prompt_template`: Defined based on the model's trained template (e.g., ChatML, Alpaca).
|
||||
- To set up the `prompt_template`:
|
||||
1. Visit [Hugging Face](https://huggingface.co/), an open-source machine learning platform.
|
||||
2. Find the current model that you're using (e.g., [Gemma 7b it](https://huggingface.co/google/gemma-7b-it)).
|
||||
3. Review the text and identify the template.
|
||||
- In `parameters`, consider the following options. The fields in `parameters` are typically general and can be the same across models. An example is provided below:
|
||||
|
||||
```json
|
||||
"parameters":{
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.95,
|
||||
"stream": true,
|
||||
"max_tokens": 4096,
|
||||
"frequency_penalty": 0,
|
||||
"presence_penalty": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Step 3: Starting the Model
|
||||
|
||||
1. Restart Jan and proceed to the **Hub**.
|
||||
2. Locate your model and click **Use** to activate it.
|
||||
|
||||
## Migrating Models from LM Studio to Jan (version 0.4.6 and older)
|
||||
|
||||
### Step 1: Model Migration
|
||||
|
||||
1. In LM Studio, navigate to `My Models` and access your model folder.
|
||||
2. Copy the model folder to `~/jan/models`.
|
||||
3. Ensure the folder name matches the model name in the `.gguf` filename. Rename as necessary.
|
||||
|
||||
### Step 2: Activating the Model
|
||||
|
||||
1. Restart Jan and navigate to the **Hub**, where the model will be automatically detected.
|
||||
2. Click **Use** to use the model.
|
||||
|
||||
## Direct Access to LM Studio Models from Jan (version 0.4.7+)
|
||||
|
||||
Starting from version 0.4.7, Jan enables direct import of LM Studio models using absolute file paths.
|
||||
|
||||
|
||||
### Step 1: Locating the Model Path
|
||||
|
||||
1. Access `My Models` in LM Studio and locate your model folder.
|
||||
2. Obtain the absolute path of your model.
|
||||
|
||||
### Step 2: Model Configuration
|
||||
|
||||
1. Go to `~/jan/models`.
|
||||
2. Create a folder named `(modelname)` (e.g., `phi-2.Q4_K_S`).
|
||||
3. Inside, craft a `model.json` file:
|
||||
- Set `id` to match the folder name.
|
||||
- Use the direct binary download link ending in `.gguf` as the `url`. You can now use the absolute filepath of the model file.
|
||||
- Set `engine` as `nitro`.
|
||||
|
||||
```json
|
||||
{
|
||||
"object": "model",
|
||||
"version": 1,
|
||||
"format": "gguf",
|
||||
"sources": [
|
||||
{
|
||||
"filename": "phi-2.Q4_K_S.gguf",
|
||||
"url": "<absolute-path-of-model-file>"
|
||||
}
|
||||
],
|
||||
"id": "phi-2.Q4_K_S",
|
||||
"name": "phi-2.Q4_K_S",
|
||||
"created": 1708308111506,
|
||||
"description": "phi-2.Q4_K_S - user self import model",
|
||||
"settings": {
|
||||
"ctx_len": 4096,
|
||||
"embedding": false,
|
||||
"prompt_template": "{system_message}\n### Instruction: {prompt}\n### Response:",
|
||||
"llama_model_path": "phi-2.Q4_K_S.gguf"
|
||||
},
|
||||
"parameters": {
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.95,
|
||||
"stream": true,
|
||||
"max_tokens": 2048,
|
||||
"stop": ["<endofstring>"],
|
||||
"frequency_penalty": 0,
|
||||
"presence_penalty": 0
|
||||
},
|
||||
"metadata": {
|
||||
"size": 1615568736,
|
||||
"author": "User",
|
||||
"tags": []
|
||||
},
|
||||
"engine": "nitro"
|
||||
}
|
||||
```
|
||||
|
||||
:::warning
|
||||
|
||||
For Windows users, ensure to include double backslashes in the URL property, such as `C:\\Users\\username\\filename.gguf`.
|
||||
|
||||
:::
|
||||
|
||||
### Step 3: Starting the Model
|
||||
|
||||
1. Restart Jan and proceed to the **Hub**.
|
||||
2. Locate your model and click **Use** to activate it.
|
||||
114
docs/docs/quickstart/integration/mistral.mdx
Normal file
114
docs/docs/quickstart/integration/mistral.mdx
Normal file
@ -0,0 +1,114 @@
|
||||
---
|
||||
title: Mistral AI
|
||||
sidebar_position: 7
|
||||
description: A step-by-step guide on how to integrate Jan with Mistral AI.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Mistral integration,
|
||||
]
|
||||
---
|
||||
|
||||
import flow from './assets/mistral.png';
|
||||
|
||||
## How to Integrate Mistral AI with Jan
|
||||
|
||||
[Mistral AI](https://docs.mistral.ai/) provides two ways to use their Large Language Models (LLM):
|
||||
1. API
|
||||
2. Open-source models on Hugging Face.
|
||||
|
||||
<div class="text--center" >
|
||||
<img src={ flow } width = { 800} alt = "Mistral" />
|
||||
</div>
|
||||
|
||||
To integrate Jan with Mistral AI, follow the steps below:
|
||||
|
||||
:::note
|
||||
This tutorial demonstrates integrating Mistral AI with Jan using the API.
|
||||
:::
|
||||
|
||||
### Step 1: Configure Mistral API Key
|
||||
|
||||
1. Obtain Mistral API keys from your [Mistral](https://console.mistral.ai/user/api-keys/) dashboard.
|
||||
2. Insert the Mistral AI API key into `~/jan/engines/openai.json`.
|
||||
|
||||
```json title="~/jan/engines/openai.json"
|
||||
{
|
||||
"full_url": "https://api.mistral.ai/v1/chat/completions",
|
||||
"api_key": "<your-mistral-ai-api-key>"
|
||||
}
|
||||
```
|
||||
|
||||
### Step 2: Model Configuration
|
||||
|
||||
1. Navigate to `~/jan/models`.
|
||||
2. Create a folder named `mistral-(modelname)` (e.g., `mistral-tiny`).
|
||||
3. Inside, create a `model.json` file with these settings:
|
||||
- Set `id` to the Mistral AI model ID.
|
||||
- Set `format` to `api`.
|
||||
- Set `engine` to `openai`.
|
||||
- Set `state` to `ready`.
|
||||
|
||||
```json title="~/jan/models/mistral-tiny/model.json"
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"filename": "mistral-tiny",
|
||||
"url": "https://mistral.ai/"
|
||||
}
|
||||
],
|
||||
"id": "mistral-tiny",
|
||||
"object": "model",
|
||||
"name": "Mistral-7B-v0.2 (Tiny Endpoint)",
|
||||
"version": "1.0",
|
||||
"description": "Currently powered by Mistral-7B-v0.2, a better fine-tuning of the initial Mistral-7B released, inspired by the fantastic work of the community.",
|
||||
"format": "api",
|
||||
"settings": {},
|
||||
"parameters": {},
|
||||
"metadata": {
|
||||
"author": "Mistral AI",
|
||||
"tags": ["General", "Big Context Length"]
|
||||
},
|
||||
"engine": "openai"
|
||||
}
|
||||
|
||||
```
|
||||
### Regarding `model.json`
|
||||
|
||||
- In `settings`, two crucial values are:
|
||||
- `ctx_len`: Defined based on the model's context size.
|
||||
- `prompt_template`: Defined based on the model's trained template (e.g., ChatML, Alpaca).
|
||||
- To set up the `prompt_template`:
|
||||
1. Visit [Hugging Face](https://huggingface.co/), an open-source machine learning platform.
|
||||
2. Find the current model that you're using (e.g., [Gemma 7b it](https://huggingface.co/google/gemma-7b-it)).
|
||||
3. Review the text and identify the template.
|
||||
- In `parameters`, consider the following options. The fields in `parameters` are typically general and can be the same across models. An example is provided below:
|
||||
|
||||
```json
|
||||
"parameters":{
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.95,
|
||||
"stream": true,
|
||||
"max_tokens": 4096,
|
||||
"frequency_penalty": 0,
|
||||
"presence_penalty": 0
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
Mistral AI offers various endpoints. Refer to their [endpoint documentation](https://docs.mistral.ai/platform/endpoints/) to select the one that fits your requirements. Here, we use the `mistral-tiny` model as an example.
|
||||
|
||||
:::
|
||||
|
||||
### Step 3: Start the Model
|
||||
|
||||
1. Restart Jan and navigate to the **Hub**.
|
||||
2. Locate your model and click the **Use** button.
|
||||
112
docs/docs/quickstart/integration/ollama.mdx
Normal file
112
docs/docs/quickstart/integration/ollama.mdx
Normal file
@ -0,0 +1,112 @@
|
||||
---
|
||||
title: Ollama
|
||||
sidebar_position: 9
|
||||
description: A step-by-step guide on how to integrate Jan with Ollama.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Ollama integration,
|
||||
]
|
||||
---
|
||||
|
||||
import flow from './assets/ollama.png';
|
||||
|
||||
## How to Integrate Ollama with Jan
|
||||
|
||||
Ollama provides you with largen language that you can run locally. There are two methods to integrate Ollama with Jan:
|
||||
1. Integrate Ollama server with Jan.
|
||||
2. Migrate the downloaded model from Ollama to Jan.
|
||||
|
||||
<div class="text--center" >
|
||||
<img src={ flow } width = { 800} alt = "Ollama" />
|
||||
</div>
|
||||
|
||||
To integrate Ollama with Jan, follow the steps below:
|
||||
|
||||
:::note
|
||||
In this tutorial, we'll show how to integrate Ollama with Jan using the first method. We will use the [llama2](https://ollama.com/library/llama2) model as an example.
|
||||
:::
|
||||
|
||||
### Step 1: Start the Ollama Server
|
||||
|
||||
1. Choose your model from the [Ollama library](https://ollama.com/library).
|
||||
2. Run your model with this command:
|
||||
|
||||
```sh
|
||||
ollama run <model-name>
|
||||
```
|
||||
|
||||
3. According to the [Ollama documentation on OpenAI compatibility](https://github.com/ollama/ollama/blob/main/docs/openai.md), you can connect to the Ollama server using the web address `http://localhost:11434/v1/chat/completions`. To do this, change the `openai.json` file in the `~/jan/engines` folder to add the Ollama server's full web address:
|
||||
|
||||
|
||||
```json title="~/jan/engines/openai.json"
|
||||
{
|
||||
"full_url": "http://localhost:11434/v1/chat/completions"
|
||||
}
|
||||
```
|
||||
|
||||
### Step 2: Model Configuration
|
||||
|
||||
1. Navigate to the `~/jan/models` folder.
|
||||
2. Create a folder named `(ollam-modelname)`, for example, `lmstudio-phi-2`.
|
||||
3. Create a `model.json` file inside the folder including the following configurations:
|
||||
- Set the `id` property to the model name as Ollama model name.
|
||||
- Set the `format` property to `api`.
|
||||
- Set the `engine` property to `openai`.
|
||||
- Set the `state` property to `ready`.
|
||||
|
||||
```json title="~/jan/models/llama2/model.json"
|
||||
{
|
||||
"sources": [
|
||||
{
|
||||
"filename": "llama2",
|
||||
"url": "https://ollama.com/library/llama2"
|
||||
}
|
||||
],
|
||||
"id": "llama2",
|
||||
"object": "model",
|
||||
"name": "Ollama - Llama2",
|
||||
"version": "1.0",
|
||||
"description": "Llama 2 is a collection of foundation language models ranging from 7B to 70B parameters.",
|
||||
"format": "api",
|
||||
"settings": {},
|
||||
"parameters": {},
|
||||
"metadata": {
|
||||
"author": "Meta",
|
||||
"tags": ["General", "Big Context Length"]
|
||||
},
|
||||
"engine": "openai"
|
||||
}
|
||||
```
|
||||
### Regarding `model.json`
|
||||
|
||||
- In `settings`, two crucial values are:
|
||||
- `ctx_len`: Defined based on the model's context size.
|
||||
- `prompt_template`: Defined based on the model's trained template (e.g., ChatML, Alpaca).
|
||||
- To set up the `prompt_template`:
|
||||
1. Visit [Hugging Face](https://huggingface.co/), an open-source machine learning platform.
|
||||
2. Find the current model that you're using (e.g., [Gemma 7b it](https://huggingface.co/google/gemma-7b-it)).
|
||||
3. Review the text and identify the template.
|
||||
- In `parameters`, consider the following options. The fields in `parameters` are typically general and can be the same across models. An example is provided below:
|
||||
|
||||
```json
|
||||
"parameters":{
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.95,
|
||||
"stream": true,
|
||||
"max_tokens": 4096,
|
||||
"frequency_penalty": 0,
|
||||
"presence_penalty": 0
|
||||
}
|
||||
```
|
||||
|
||||
### Step 3: Start the Model
|
||||
1. Restart Jan and navigate to the **Hub**.
|
||||
2. Locate your model and click the **Use** button.
|
||||
BIN
docs/src/theme/DocCard/assets/lm.png
Normal file
BIN
docs/src/theme/DocCard/assets/lm.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
BIN
docs/src/theme/DocCard/assets/mistral.png
Normal file
BIN
docs/src/theme/DocCard/assets/mistral.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
BIN
docs/src/theme/DocCard/assets/ollama.png
Normal file
BIN
docs/src/theme/DocCard/assets/ollama.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.1 KiB |
Loading…
x
Reference in New Issue
Block a user