Merge branch 'dev' into eckartal-patch-2
@ -22,6 +22,7 @@ on:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release/**
|
||||
paths:
|
||||
- "electron/**"
|
||||
- .github/workflows/jan-electron-linter-and-test.yml
|
||||
@ -67,16 +68,17 @@ jobs:
|
||||
|
||||
test-on-windows:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
antivirus-tools: ['mcafee', 'default-windows-security','bit-defender']
|
||||
runs-on: windows-desktop-${{ matrix.antivirus-tools }}
|
||||
steps:
|
||||
- name: Clean workspace
|
||||
run: |
|
||||
Remove-Item -Path .\* -Force -Recurse
|
||||
Remove-Item -Path "\\?\$(Get-Location)\*" -Force -Recurse
|
||||
$path = "$Env:APPDATA\jan"
|
||||
if (Test-Path $path) {
|
||||
Remove-Item $path -Recurse -Force
|
||||
Remove-Item "\\?\$path" -Recurse -Force
|
||||
} else {
|
||||
Write-Output "Folder does not exist."
|
||||
}
|
||||
|
||||
21
README.md
@ -43,31 +43,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
|
||||
<tr style="text-align:center">
|
||||
<td style="text-align:center"><b>Stable (Recommended)</b></td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-win-x64-0.4.8.exe'>
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-win-x64-0.4.9.exe'>
|
||||
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
|
||||
<b>jan.exe</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.dmg'>
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.dmg'>
|
||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||
<b>Intel</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.dmg'>
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.dmg'>
|
||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||
<b>M1/M2</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-amd64-0.4.8.deb'>
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-amd64-0.4.9.deb'>
|
||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||
<b>jan.deb</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-x86_64-0.4.8.AppImage'>
|
||||
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-x86_64-0.4.9.AppImage'>
|
||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||
<b>jan.AppImage</b>
|
||||
</a>
|
||||
@ -76,31 +76,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
|
||||
<tr style="text-align:center">
|
||||
<td style="text-align:center"><b>Experimental (Nightly Build)</b></td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.8-324.exe'>
|
||||
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.9-336.exe'>
|
||||
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
|
||||
<b>jan.exe</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.8-324.dmg'>
|
||||
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.9-336.dmg'>
|
||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||
<b>Intel</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.8-324.dmg'>
|
||||
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.9-336.dmg'>
|
||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||
<b>M1/M2</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.8-324.deb'>
|
||||
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.9-336.deb'>
|
||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||
<b>jan.deb</b>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.8-324.AppImage'>
|
||||
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.9-336.AppImage'>
|
||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||
<b>jan.AppImage</b>
|
||||
</a>
|
||||
@ -327,6 +327,7 @@ Jan builds on top of other open-source projects:
|
||||
- [llama.cpp](https://github.com/ggerganov/llama.cpp)
|
||||
- [LangChain](https://github.com/langchain-ai)
|
||||
- [TensorRT](https://github.com/NVIDIA/TensorRT)
|
||||
- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)
|
||||
|
||||
## Contact
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^29.5.12",
|
||||
"@types/node": "^12.0.2",
|
||||
"@types/node": "^20.11.4",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-plugin-jest": "^27.9.0",
|
||||
"jest": "^29.7.0",
|
||||
|
||||
@ -33,7 +33,7 @@ export enum AppRoute {
|
||||
stopServer = 'stopServer',
|
||||
log = 'log',
|
||||
logServer = 'logServer',
|
||||
systemInformations = 'systemInformations',
|
||||
systemInformation = 'systemInformation',
|
||||
showToast = 'showToast',
|
||||
}
|
||||
|
||||
@ -95,6 +95,8 @@ export enum FileManagerRoute {
|
||||
getUserHomePath = 'getUserHomePath',
|
||||
fileStat = 'fileStat',
|
||||
writeBlob = 'writeBlob',
|
||||
mkdir = 'mkdir',
|
||||
rm = 'rm',
|
||||
}
|
||||
|
||||
export type ApiFunction = (...args: any[]) => any
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { DownloadRequest, FileStat, NetworkConfig } from './types'
|
||||
import { DownloadRequest, FileStat, NetworkConfig, SystemInformation } from './types'
|
||||
|
||||
/**
|
||||
* Execute a extension module function in main process
|
||||
@ -110,7 +110,8 @@ const isSubdirectory: (from: string, to: string) => Promise<boolean> = (from: st
|
||||
* Get system information
|
||||
* @returns {Promise<any>} - A promise that resolves with the system information.
|
||||
*/
|
||||
const systemInformations: () => Promise<any> = () => global.core.api?.systemInformations()
|
||||
const systemInformation: () => Promise<SystemInformation> = () =>
|
||||
global.core.api?.systemInformation()
|
||||
|
||||
/**
|
||||
* Show toast message from browser processes.
|
||||
@ -146,7 +147,7 @@ export {
|
||||
log,
|
||||
isSubdirectory,
|
||||
getUserHomePath,
|
||||
systemInformations,
|
||||
systemInformation,
|
||||
showToast,
|
||||
FileStat,
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ export interface Compatibility {
|
||||
const ALL_INSTALLATION_STATE = [
|
||||
'NotRequired', // not required.
|
||||
'Installed', // require and installed. Good to go.
|
||||
'Updatable', // require and installed but need to be updated.
|
||||
'NotInstalled', // require to be installed.
|
||||
'Corrupted', // require but corrupted. Need to redownload.
|
||||
] as const
|
||||
@ -59,6 +60,13 @@ export abstract class BaseExtension implements ExtensionType {
|
||||
return undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the extension is updatable.
|
||||
*/
|
||||
updatable(): boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the prerequisites for the extension are installed.
|
||||
*
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { executeOnMain, getJanDataFolderPath, joinPath } from '../../core'
|
||||
import { executeOnMain, getJanDataFolderPath, joinPath, systemInformation } from '../../core'
|
||||
import { events } from '../../events'
|
||||
import { Model, ModelEvent } from '../../types'
|
||||
import { OAIEngine } from './OAIEngine'
|
||||
@ -30,11 +30,11 @@ export abstract class LocalOAIEngine extends OAIEngine {
|
||||
if (model.engine.toString() !== this.provider) return
|
||||
|
||||
const modelFolder = await joinPath([await getJanDataFolderPath(), this.modelFolder, model.id])
|
||||
|
||||
const systemInfo = await systemInformation()
|
||||
const res = await executeOnMain(this.nodeModule, this.loadModelFunctionName, {
|
||||
modelFolder,
|
||||
model,
|
||||
})
|
||||
}, systemInfo)
|
||||
|
||||
if (res?.error) {
|
||||
events.emit(ModelEvent.OnModelFail, {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { BaseExtension, ExtensionTypeEnum } from '../extension'
|
||||
import { GpuSetting, MonitoringInterface } from '../index'
|
||||
import { GpuSetting, MonitoringInterface, OperatingSystemInfo } from '../index'
|
||||
|
||||
/**
|
||||
* Monitoring extension for system monitoring.
|
||||
@ -16,4 +16,5 @@ export abstract class MonitoringExtension extends BaseExtension implements Monit
|
||||
abstract getGpuSetting(): Promise<GpuSetting>
|
||||
abstract getResourcesInfo(): Promise<any>
|
||||
abstract getCurrentLoad(): Promise<any>
|
||||
abstract getOsInfo(): Promise<OperatingSystemInfo>
|
||||
}
|
||||
|
||||
@ -37,12 +37,17 @@ const readdirSync = (...args: any[]) => global.core.api?.readdirSync(...args)
|
||||
*/
|
||||
const mkdirSync = (...args: any[]) => global.core.api?.mkdirSync(...args)
|
||||
|
||||
const mkdir = (...args: any[]) => global.core.api?.mkdir(...args)
|
||||
|
||||
/**
|
||||
* Removes a directory at the specified path.
|
||||
* @returns {Promise<any>} A Promise that resolves when the directory is removed successfully.
|
||||
*/
|
||||
const rmdirSync = (...args: any[]) =>
|
||||
global.core.api?.rmdirSync(...args, { recursive: true, force: true })
|
||||
|
||||
const rm = (path: string) => global.core.api?.rm(path)
|
||||
|
||||
/**
|
||||
* Deletes a file from the local file system.
|
||||
* @param {string} path - The path of the file to delete.
|
||||
@ -92,7 +97,9 @@ export const fs = {
|
||||
existsSync,
|
||||
readdirSync,
|
||||
mkdirSync,
|
||||
mkdir,
|
||||
rmdirSync,
|
||||
rm,
|
||||
unlinkSync,
|
||||
appendFileSync,
|
||||
copyFileSync,
|
||||
|
||||
@ -88,4 +88,28 @@ export class FSExt implements Processor {
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
mkdir(path: string): Promise<void> {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs.mkdir(path, { recursive: true }, (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
rm(path: string): Promise<void> {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs.rm(path, { recursive: true }, (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,8 +93,7 @@ export function persistExtensions() {
|
||||
*/
|
||||
export async function installExtensions(extensions: any) {
|
||||
const installed: Extension[] = []
|
||||
for (const ext of extensions) {
|
||||
// Set install options and activation based on input type
|
||||
const installations = extensions.map((ext: any): Promise<void> => {
|
||||
const isObject = typeof ext === 'object'
|
||||
const spec = isObject ? [ext.specifier, ext] : [ext]
|
||||
const activate = isObject ? ext.activate !== false : true
|
||||
@ -102,15 +101,17 @@ export async function installExtensions(extensions: any) {
|
||||
// Install and possibly activate extension
|
||||
const extension = new Extension(...spec)
|
||||
if (!extension.origin) {
|
||||
continue
|
||||
return Promise.resolve()
|
||||
}
|
||||
await extension._install()
|
||||
if (activate) extension.setActive(true)
|
||||
return extension._install().then(() => {
|
||||
if (activate) extension.setActive(true)
|
||||
// Add extension to store if needed
|
||||
addExtension(extension)
|
||||
installed.push(extension)
|
||||
})
|
||||
})
|
||||
|
||||
// Add extension to store if needed
|
||||
addExtension(extension)
|
||||
installed.push(extension)
|
||||
}
|
||||
await Promise.all(installations)
|
||||
|
||||
// Return list of all installed extensions
|
||||
return installed
|
||||
|
||||
@ -82,26 +82,34 @@ export const getJanExtensionsPath = (): string => {
|
||||
*/
|
||||
export const physicalCpuCount = async (): Promise<number> => {
|
||||
const platform = os.platform()
|
||||
if (platform === 'linux') {
|
||||
const output = await exec('lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc -l')
|
||||
return parseInt(output.trim(), 10)
|
||||
} else if (platform === 'darwin') {
|
||||
const output = await exec('sysctl -n hw.physicalcpu_max')
|
||||
return parseInt(output.trim(), 10)
|
||||
} else if (platform === 'win32') {
|
||||
const output = await exec('WMIC CPU Get NumberOfCores')
|
||||
return output
|
||||
.split(os.EOL)
|
||||
.map((line: string) => parseInt(line))
|
||||
.filter((value: number) => !isNaN(value))
|
||||
.reduce((sum: number, number: number) => sum + number, 1)
|
||||
} else {
|
||||
const cores = os.cpus().filter((cpu: any, index: number) => {
|
||||
const hasHyperthreading = cpu.model.includes('Intel')
|
||||
const isOdd = index % 2 === 1
|
||||
return !hasHyperthreading || isOdd
|
||||
})
|
||||
return cores.length
|
||||
try {
|
||||
if (platform === 'linux') {
|
||||
const output = await exec('lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc -l')
|
||||
return parseInt(output.trim(), 10)
|
||||
} else if (platform === 'darwin') {
|
||||
const output = await exec('sysctl -n hw.physicalcpu_max')
|
||||
return parseInt(output.trim(), 10)
|
||||
} else if (platform === 'win32') {
|
||||
const output = await exec('WMIC CPU Get NumberOfCores')
|
||||
return output
|
||||
.split(os.EOL)
|
||||
.map((line: string) => parseInt(line))
|
||||
.filter((value: number) => !isNaN(value))
|
||||
.reduce((sum: number, number: number) => sum + number, 1)
|
||||
} else {
|
||||
const cores = os.cpus().filter((cpu: any, index: number) => {
|
||||
const hasHyperthreading = cpu.model.includes('Intel')
|
||||
const isOdd = index % 2 === 1
|
||||
return !hasHyperthreading || isOdd
|
||||
})
|
||||
return cores.length
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('Failed to get physical CPU count', err)
|
||||
// Divide by 2 to get rid of hyper threading
|
||||
const coreCount = Math.ceil(os.cpus().length / 2)
|
||||
console.debug('Using node API to get physical CPU count:', coreCount)
|
||||
return coreCount
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,7 +126,7 @@ const exec = async (command: string): Promise<string> => {
|
||||
}
|
||||
|
||||
export const getEngineConfiguration = async (engineId: string) => {
|
||||
if (engineId !== 'openai') {
|
||||
if (engineId !== 'openai' && engineId !== 'groq') {
|
||||
return undefined
|
||||
}
|
||||
const directoryPath = join(getJanDataFolderPath(), 'engines')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { SystemResourceInfo } from '../../types'
|
||||
import { physicalCpuCount } from './config'
|
||||
import { log, logServer } from './log'
|
||||
import { log } from './log'
|
||||
|
||||
export const getSystemResourceInfo = async (): Promise<SystemResourceInfo> => {
|
||||
const cpu = await physicalCpuCount()
|
||||
|
||||
@ -30,3 +30,27 @@ export type GpuSettingInfo = {
|
||||
name: string
|
||||
arch?: string
|
||||
}
|
||||
|
||||
export type SystemInformation = {
|
||||
gpuSetting: GpuSetting
|
||||
osInfo?: OperatingSystemInfo
|
||||
}
|
||||
|
||||
export const SupportedPlatforms = ['win32', 'linux', 'darwin'] as const
|
||||
export type SupportedPlatformTuple = typeof SupportedPlatforms
|
||||
export type SupportedPlatform = SupportedPlatformTuple[number]
|
||||
|
||||
export type OperatingSystemInfo = {
|
||||
platform: SupportedPlatform | 'unknown'
|
||||
arch: string
|
||||
release: string
|
||||
machine: string
|
||||
version: string
|
||||
totalMem: number
|
||||
freeMem: number
|
||||
}
|
||||
|
||||
export type CpuCoreInfo = {
|
||||
model: string
|
||||
speed: number
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@ export type ModelInfo = {
|
||||
export enum InferenceEngine {
|
||||
nitro = 'nitro',
|
||||
openai = 'openai',
|
||||
groq = 'groq',
|
||||
triton_trtllm = 'triton_trtllm',
|
||||
nitro_tensorrt_llm = 'nitro-tensorrt-llm',
|
||||
|
||||
|
||||
@ -5,6 +5,21 @@ slug: /postmortems/january-10-2024-bitdefender-false-positive-flag
|
||||
tags: [Postmortem]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan 10, 2024 Incident Postmortem - Bitdefender False Positive Flag on Jan AI Resolved</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Comprehensive postmortem on the Jan AI v0.4.4 Bitdefender false positive incident on January 10, 2024. Learn about the investigation, solutions, and preventive measures." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, postmortem, incident, flagging issue" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/blog/postmortems/january-10-2024-bitdefender-false-positive-flag/" />
|
||||
<meta property="og:title" content="Bitdefender False Positive Flag on Jan AI Resolved - Jan 10, 2024 Incident Postmortem" />
|
||||
<meta property="og:description" content="Comprehensive postmortem on the Jan AI v0.4.4 Bitdefender false positive incident on January 10, 2024. Learn about the investigation, solutions, and preventive measures." />
|
||||
<meta property="og:url" content="https://jan.ai/blog/postmortems/january-10-2024-bitdefender-false-positive-flag/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
|
||||
Following the recent incident related to Jan version 0.4.4 triggering Bitdefender on Windows with Gen:Variant.Tedy.258323 on January 10, 2024, we wanted to provide a comprehensive postmortem and outline the necessary follow-up actions.
|
||||
|
||||
## Incident Overview
|
||||
|
||||
@ -2,6 +2,20 @@
|
||||
title: Jan's Vision for 2035
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan's Vision for 2035</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Discover Jan's vision for the year 2035, where it aims to transform into a robotics company. Learn about its planning parameters, 10-year vision, 2-week sprint, and success measurement through Quarterly OKRs." />
|
||||
<meta name="keywords" content="Jan, vision, 2035, robotics company, planning parameters, 10-year vision, 2-week sprint, Quarterly OKRs" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/jans-vision-for-2035" />
|
||||
<meta property="og:title" content="Jan's Vision for 2035" />
|
||||
<meta property="og:description" content="Discover Jan's vision for the year 2035, where it aims to transform into a robotics company. Learn about its planning parameters, 10-year vision, 2-week sprint, and success measurement through Quarterly OKRs." />
|
||||
<meta property="og:url" content="https://jan.ai/jans-vision-for-2035" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-jans-vision.png" />
|
||||
</head>
|
||||
|
||||
[Jan 2035: A Robotics Company](https://hackmd.io/QIWyYbNNQVWVbupuI3kjAA)
|
||||
|
||||
We only have 2 planning parameters:
|
||||
|
||||
@ -18,6 +18,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>About Jan</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Discover Jan, a desktop application that turns computers into thinking machines. Learn about its features, principles, vision, and how to get involved with the Jan Labs team." />
|
||||
<meta name="keywords" content="Jan, Jan AI, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, desktop application, thinking machine, about Jan" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/about" />
|
||||
<meta property="og:title" content="About Jan" />
|
||||
<meta property="og:description" content="Discover Jan, a desktop application that turns computers into thinking machines. Learn about its features, principles, vision, and how to get involved with the Jan Labs team." />
|
||||
<meta property="og:url" content="https://jan.ai/about" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-about-jan.png" />
|
||||
</head>
|
||||
|
||||
Jan turns computers into thinking machines to change how we use them.
|
||||
Jan is created and maintained by Jan Labs, a robotics company.
|
||||
|
||||
|
||||
@ -1,3 +1,21 @@
|
||||
---
|
||||
title: Frequently Asked Questions (FAQ) - Jan
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Frequently Asked Questions (FAQ)</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Explore frequently asked questions about Jan, including its features, compatibility, privacy policy, usage, and community involvement." />
|
||||
<meta name="keywords" content="Jan, frequently asked questions, FAQ, about Jan, usage, compatibility, privacy, community, contribution, troubleshooting, self-hosting, hiring" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/faq" />
|
||||
<meta property="og:title" content="Frequently Asked Questions (FAQ)" />
|
||||
<meta property="og:description" content="Explore frequently asked questions about Jan, including its features, compatibility, privacy policy, usage, and community involvement." />
|
||||
<meta property="og:url" content="https://jan.ai/faq" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-faq.png" />
|
||||
</head>
|
||||
|
||||
# Frequently Asked Questions (FAQ)
|
||||
|
||||
## What is Jan?
|
||||
|
||||
@ -2,5 +2,19 @@
|
||||
title: Roadmap
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Roadmap</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Explore Jan's roadmap to see the immediate and longer-term plans for development and features." />
|
||||
<meta name="keywords" content="Jan, roadmap, development, features, immediate roadmap, longer-term roadmap, GitHub, Discord" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/roadmap" />
|
||||
<meta property="og:title" content="Roadmap" />
|
||||
<meta property="og:description" content="Explore Jan's roadmap to see the immediate and longer-term plans for development and features." />
|
||||
<meta property="og:url" content="https://jan.ai/roadmap" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-roadmap.png" />
|
||||
</head>
|
||||
|
||||
- [ ] [Immediate Roadmap on Github](https://github.com/orgs/janhq/projects/5/views/16)
|
||||
- [ ] [Longer-term Roadmap on Discord](https://discord.gg/Ey62mynnYr)
|
||||
- [ ] [Longer-term Roadmap on Discord](https://discord.gg/Ey62mynnYr)
|
||||
|
||||
@ -17,6 +17,17 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, acknowledgements, third-party libraries"/>
|
||||
<meta property="og:title" content="Acknowledgements - Jan"/>
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
|
||||
<meta property="og:url" content="https://jan.ai/acknowledgements"/>
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Acknowledgements - Jan"/>
|
||||
<meta name="twitter:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
|
||||
</head>
|
||||
|
||||
# Acknowledgements
|
||||
|
||||
We would like to express our gratitude to the following third-party libraries that have made the development of Jan possible.
|
||||
@ -24,3 +35,4 @@ We would like to express our gratitude to the following third-party libraries th
|
||||
- [llama.cpp](https://github.com/ggerganov/llama.cpp/blob/master/LICENSE)
|
||||
- [LangChain.js](https://github.com/langchain-ai/langchainjs/blob/main/LICENSE)
|
||||
- [TensorRT](https://github.com/NVIDIA/TensorRT/blob/main/LICENSE)
|
||||
- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM/blob/main/LICENSE)
|
||||
|
||||
@ -15,6 +15,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan's Community</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Join Jan's community to connect with other users, stay updated, and explore career opportunities." />
|
||||
<meta name="keywords" content="Jan, community, Discord, Twitter, HuggingFace, LinkedIn, Reddit, newsletter, careers" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/community" />
|
||||
<meta property="og:title" content="Jan's Community" />
|
||||
<meta property="og:description" content="Join Jan's community to connect with other users, stay updated, and explore career opportunities." />
|
||||
<meta property="og:url" content="https://jan.ai/community" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-community.png" />
|
||||
</head>
|
||||
|
||||
## Socials
|
||||
|
||||
- [Discord](https://discord.gg/SH3DGmUs6b)
|
||||
|
||||
@ -15,6 +15,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan AI Architecture - Modular and Extensible Framework</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Discover the modular architecture of Jan, a ChatGPT alternative that runs on your own computer. Learn about Jan's local API server, Desktop UI, and the Nitro inference engine." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, modular architecture, Extensions API" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/architecture/" />
|
||||
<meta property="og:title" content="Jan AI Architecture - Modular and Extensible Framework" />
|
||||
<meta property="og:description" content="Discover the modular architecture of Jan, a ChatGPT alternative that runs on your own computer. Learn about Jan's local API server, Desktop UI, and the Nitro inference engine." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/architecture/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
:::warning
|
||||
|
||||
This page is still under construction, and should be read as a scratchpad
|
||||
|
||||
@ -15,6 +15,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan AI File-based Data Persistence Approach</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Learn how Jan, a ChatGPT alternative, leverages a local filesystem for data persistence, promoting composability and tinkerability similar to VSCode." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, file-based data storage, data persistence" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/file-based/" />
|
||||
<meta property="og:title" content="Jan AI File-based Data Persistence Approach" />
|
||||
<meta property="og:description" content="Learn how Jan, a ChatGPT alternative, leverages a local filesystem for data persistence, promoting composability and tinkerability similar to VSCode." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/file-based/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
:::warning
|
||||
|
||||
This page is still under construction, and should be read as a scratchpad
|
||||
|
||||
@ -15,6 +15,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan AI User Interface - Customizable UI Kit</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Explore Jan's UI Kit for customizing the user interface to fit your brand and style. Learn how to personalize your application with Jan's flexible UI components." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, UI Kit, customizable UI" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/ui/" />
|
||||
<meta property="og:title" content="Jan AI User Interface - Customizable UI Kit" />
|
||||
<meta property="og:description" content="Explore Jan's UI Kit for customizing the user interface to fit your brand and style. Learn how to personalize your application with Jan's flexible UI components." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/ui/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
:::warning
|
||||
|
||||
This page is still under construction, and should be read as a scratchpad
|
||||
|
||||
@ -18,6 +18,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan AI Installation and Setup Guide - Developer Prerequisites</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Comprehensive guide to installing and setting up Jan for development. Covers hardware, system requirements, and step-by-step instructions for developers." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, installation, prerequisites, developer setup" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/prereq/" />
|
||||
<meta property="og:title" content="Jan AI Installation and Setup Guide - Developer Prerequisites" />
|
||||
<meta property="og:description" content="Comprehensive guide to installing and setting up Jan for development. Covers hardware, system requirements, and step-by-step instructions for developers." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/prereq/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
## Requirements
|
||||
|
||||
### Hardware Requirements
|
||||
|
||||
@ -15,6 +15,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan AI Developer Documentation - Building Extensions and SDK Overview</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Guide for developers on building extensions on top of the Jan Framework. Learn about Jan's extensible framework for AI applications, available on all platforms." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, extensible framework, SDK, building extensions" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/" />
|
||||
<meta property="og:title" content="Jan AI Developer Documentation - Building Extensions and SDK Overview" />
|
||||
<meta property="og:description" content="Guide for developers on building extensions on top of the Jan Framework. Learn about Jan's extensible framework for AI applications, available on all platforms." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
The following docs are aimed at developers who want to build extensions on top of the Jan Framework.
|
||||
|
||||
:::tip
|
||||
|
||||
@ -17,7 +17,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Your First Assistant</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Get started quickly with building your first assistant using Jan. Learn the basics of creating conversational AI." />
|
||||
<meta name="keywords" content="Jan, build assistant, quick start, conversational AI, local AI, private AI, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/build-assistant/your-first-assistant/" />
|
||||
<meta property="og:title" content="Your First Assistant" />
|
||||
<meta property="og:description" content="Get started quickly with building your first assistant using Jan. Learn the basics of creating conversational AI." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/build-assistant/your-first-assistant/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image-first-assistant.png" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
This is currently under development.
|
||||
:::
|
||||
|
||||
|
||||
@ -17,6 +17,20 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Building Your First Jan AI Extension - Quick Start Guide</title>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="description" content="Step-by-step guide on how to build your first extension for Jan AI. Learn how to use the extension template and integrate your custom functionality into Jan." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, quick start, build extension" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/developer/build-extension/your-first-extension/" />
|
||||
<meta property="og:title" content="Building Your First Jan AI Extension - Quick Start Guide" />
|
||||
<meta property="og:description" content="Step-by-step guide on how to build your first extension for Jan AI. Learn how to use the extension template and integrate your custom functionality into Jan." />
|
||||
<meta property="og:url" content="https://jan.ai/developer/build-extension/your-first-extension/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
This is currently under development.
|
||||
:::
|
||||
@ -76,13 +90,13 @@ There are a few things to keep in mind when writing your extension code:
|
||||
In `index.ts`, you will see that the extension function will return a `Promise<any>`.
|
||||
|
||||
```typescript
|
||||
import { core } from "@janhq/core";
|
||||
import { core } from '@janhq/core'
|
||||
|
||||
function onStart(): Promise<any> {
|
||||
return core.invokePluginFunc(MODULE_PATH, "run", 0);
|
||||
return core.invokePluginFunc(MODULE_PATH, 'run', 0)
|
||||
}
|
||||
```
|
||||
|
||||
For more information about the Jan Extension Core module, see the [documentation](https://github.com/janhq/jan/blob/main/core/README.md).
|
||||
|
||||
Now, go ahead and start customizing your extension! Happy coding!
|
||||
Now, go ahead and start customizing your extension! Happy coding!
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Assistants"
|
||||
title: 'Assistants'
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Assistants</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/assistants" />
|
||||
<meta property="og:title" content="Assistants" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/assistants" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
This is currently under development.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Chats</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/chats" />
|
||||
<meta property="og:title" content="Chats" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/chats" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
This is currently under development.
|
||||
|
||||
@ -2,6 +2,19 @@
|
||||
title: Engine
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Engine</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Currently Under Development" />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/engine" />
|
||||
<meta property="og:title" content="Engine" />
|
||||
<meta property="og:description" content="Currently Under Development" />
|
||||
<meta property="og:url" content="https://jan.ai/engine" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
Currently Under Development
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Files"
|
||||
title: 'Files'
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Files</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/files" />
|
||||
<meta property="og:title" content="Files" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/files" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::warning
|
||||
|
||||
Draft Specification: functionality has not been implemented yet.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Messages</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/messages" />
|
||||
<meta property="og:title" content="Messages" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/messages" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
This is currently under development.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Models</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/models" />
|
||||
<meta property="og:title" content="Models" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/models" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
This is currently under development.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Threads</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/threads" />
|
||||
<meta property="og:title" content="Threads" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/threads" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
:::caution
|
||||
|
||||
This is currently under development.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Chat</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/chat" />
|
||||
<meta property="og:title" content="Chat" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/chat" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
## Overview
|
||||
|
||||
A home screen for users to chat with [assistants](/docs/engineering/assistants) via conversation [threads](/docs/engineering/threads).
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Hub</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/hub" />
|
||||
<meta property="og:title" content="Hub" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/hub" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
## Overview
|
||||
|
||||
The Hub is like a store for everything, where users can discover and download models, assistants, and more.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan (The Default Assistant)</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/jan" />
|
||||
<meta property="og:title" content="Jan (The Default Assistant)" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/jan" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
Jan ships with a default assistant "Jan" that lets users chat with any open source model out-of-the-box.
|
||||
|
||||
This assistant is defined in `/jan`. It is a generic assistant to illustrate power of Jan. In the future, it will support additional features e.g. multi-assistant conversations
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Settings</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/settings" />
|
||||
<meta property="og:title" content="Settings" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/settings" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
## Overview
|
||||
|
||||
A settings page for users to add extensions, configure model settings, change app appearance, add keyboard shortcuts, and a plethora of other personalizations.
|
||||
|
||||
@ -14,6 +14,19 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>System Monitor</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/system-monitor" />
|
||||
<meta property="og:title" content="System Monitor" />
|
||||
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
|
||||
<meta property="og:url" content="https://jan.ai/system-monitor" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||
## Overview
|
||||
|
||||
An activity screen to monitor system health and running models.
|
||||
|
||||
@ -1,10 +1,23 @@
|
||||
---
|
||||
title: "Jan's AI Hacker House (Ho Chi Minh City)"
|
||||
description: "24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai"
|
||||
description: '24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai'
|
||||
slug: /events/hcmc-oct23
|
||||
image: /img/hcmc-launch-party.png
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Jan's AI Hacker House (Ho Chi Minh City)</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai" />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/events/hcmc-oct23" />
|
||||
<meta property="og:title" content="Jan's AI Hacker House (Ho Chi Minh City)" />
|
||||
<meta property="og:description" content="24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai" />
|
||||
<meta property="og:url" content="https://jan.ai/events/hcmc-oct23" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||

|
||||
|
||||
🎉 Join us at our Friday Launch Party for an evening of AI talks from other builders! [(RSVP here)](https://jan-launch-party.eventbrite.sg/) 🎉
|
||||
|
||||
@ -1,21 +1,33 @@
|
||||
---
|
||||
title: "Nov 23: Nvidia GenAI Day"
|
||||
description: Nvidia's LLM Day
|
||||
title: 'Nov 23: Nvidia GenAI Day'
|
||||
description: Nvidia's LLM Day
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Nov 23: Nvidia GenAI Day</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Nvidia's LLM Day" />
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<link rel="canonical" href="https://jan.ai/events/nvidia-genai-day" />
|
||||
<meta property="og:title" content="Nov 23: Nvidia GenAI Day" />
|
||||
<meta property="og:description" content="Nvidia's LLM Day" />
|
||||
<meta property="og:url" content="https://jan.ai/events/nvidia-genai-day" />
|
||||
<meta property="og:type" content="article" />
|
||||
</head>
|
||||
|
||||

|
||||
|
||||
## Nvidia GenAI Innovation Day
|
||||
|
||||
Jan will be at Nvidia's GenAI Innovation Day in Nov '23, focusing on Enterprise use-cases of LLMs.
|
||||
Jan will be at Nvidia's GenAI Innovation Day in Nov '23, focusing on Enterprise use-cases of LLMs.
|
||||
|
||||
### Location
|
||||
|
||||
- JW Marriott Hanoi Hotel
|
||||
- JW Marriott Hanoi Hotel
|
||||
- 8:30am November 8th 2023
|
||||
- Registration: [https://gmcgroup.com.vn/nvidia-genai-event/](https://gmcgroup.com.vn/nvidia-genai-event/)
|
||||
|
||||
### Programme
|
||||
|
||||

|
||||
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
{
|
||||
"label": "Advanced Settings",
|
||||
"position": 11,
|
||||
"link": {
|
||||
"type": "doc",
|
||||
"id": "guides/advanced-settings/advanced-settings"
|
||||
}
|
||||
}
|
||||
@ -1,118 +0,0 @@
|
||||
---
|
||||
title: HTTPS Proxy
|
||||
sidebar_position: 2
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
advanced-settings,
|
||||
https-proxy,
|
||||
]
|
||||
---
|
||||
|
||||
|
||||
## Why HTTPS Proxy?
|
||||
|
||||
HTTPS Proxy encrypts data between your browser and the internet, making it hard for outsiders to intercept or read. It also helps you to maintain your privacy and security while being able to bypass regional restrictions on internet.
|
||||
|
||||
:::note
|
||||
|
||||
- When configuring Jan using an HTTPS proxy, the speed of the downloading model may be affected due to the encryption and decryption process. It also depends on the networking of the cloud service provider.
|
||||
- HTTPS Proxy does not affect the remote model usage.
|
||||
|
||||
:::
|
||||
|
||||
## Setting Up Your Own HTTPS Proxy Server
|
||||
This guide provides a simple overview of setting up an HTTPS proxy server using **Squid**, a widely used open-source proxy software.
|
||||
|
||||
:::note
|
||||
Other software options are also available depending on your requirements.
|
||||
:::
|
||||
|
||||
### Step 1: Choosing a Server
|
||||
1. Firstly, you need to choose a server to host your proxy server.
|
||||
:::note
|
||||
We recommend using a well-known cloud provider service like:
|
||||
- Amazon AWS
|
||||
- Google Cloud
|
||||
- Microsoft Azure
|
||||
- Digital Ocean
|
||||
:::
|
||||
|
||||
2. Ensure that your server has a public IP address and is accessible from the internet.
|
||||
|
||||
### Step 2: Installing Squid
|
||||
Instal **Squid** using the following command:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install squid
|
||||
```
|
||||
|
||||
### Step 3: Configure Squid for HTTPS
|
||||
|
||||
To enable HTTPS, you will need to configure Squid with SSL support.
|
||||
|
||||
1. Squid requires an SSL certificate to be able to handle HTTPS traffic. You can generate a self-signed certificate or obtain one from a Certificate Authority (CA). For a self-signed certificate, you can use OpenSSL:
|
||||
|
||||
```bash
|
||||
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout squid-proxy.pem -out squid-proxy.pem
|
||||
```
|
||||
|
||||
2. Edit the Squid configuration file `/etc/squid/squid.conf` to include the path to your SSL certificate and enable the HTTPS port:
|
||||
|
||||
```bash
|
||||
http_port 3128 ssl-bump cert=/path/to/your/squid-proxy.pem
|
||||
ssl_bump server-first all
|
||||
ssl_bump bump all
|
||||
```
|
||||
|
||||
3. To intercept HTTPS traffic, Squid uses a process called SSL Bumping. This process allows Squid to decrypt and re-encrypt HTTPS traffic. To enable SSL Bumping, ensure the `ssl_bump` directives are configured correctly in your `squid.conf` file.
|
||||
|
||||
### Step 4 (Optional): Configure ACLs and Authentication
|
||||
|
||||
1. You can define rules to control who can access your proxy. This is done by editing the squid.conf file and defining ACLs:
|
||||
|
||||
```bash
|
||||
acl allowed_ips src "/etc/squid/allowed_ips.txt"
|
||||
http_access allow allowed_ips
|
||||
```
|
||||
|
||||
2. If you want to add an authentication layer, Squid supports several authentication schemes. Basic authentication setup might look like this:
|
||||
|
||||
```bash
|
||||
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
|
||||
acl authenticated proxy_auth REQUIRED
|
||||
http_access allow authenticated
|
||||
```
|
||||
|
||||
### Step 5: Restart and Test Your Proxy
|
||||
|
||||
1. After configuring, restart Squid to apply the changes:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart squid
|
||||
```
|
||||
|
||||
2. To test, configure your browser or another client to use the proxy server with its IP address and port (default is 3128).
|
||||
3. Check if you can access the internet through your proxy.
|
||||
|
||||
:::tip
|
||||
|
||||
Tips for Secure Your Proxy:
|
||||
- **Firewall rules**: Ensure that only intended users or IP addresses can connect to your proxy server. This can be achieved by setting up appropriate firewall rules.
|
||||
- **Regular updates**: Keep your server and proxy software updated to ensure that you are protected against known vulnerabilities.
|
||||
- **Monitoring and logging**: Monitor your proxy server for unusual activity and enable logging to keep track of the traffic passing through your proxy.
|
||||
|
||||
:::
|
||||
|
||||
## Setting Up Jan to Use Your HTTPS Proxy
|
||||
|
||||
Once you have your HTTPS proxy server set up, you can configure Jan to use it.
|
||||
1. Navigate to `Settings` > `Advanced Settings` and specify the HTTPS proxy (proxy auto-configuration and SOCKS not supported).
|
||||
2. You can turn on the feature `Ignore SSL Certificates` if you are using a self-signed certificate. This feature allows self-signed or unverified certificates.
|
||||
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 479 KiB After Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 472 KiB After Width: | Height: | Size: 472 KiB |
|
Before Width: | Height: | Size: 107 KiB |
@ -1,48 +0,0 @@
|
||||
---
|
||||
title: Best Practices
|
||||
sidebar_position: 3
|
||||
description: Comprehensive set of best practices.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
acknowledgements,
|
||||
third-party libraries,
|
||||
]
|
||||
---
|
||||
|
||||
Jan is a versatile platform offering solutions for integrating AI locally across various platforms. This guide outlines best practices for developers, analysts, and AI enthusiasts to enhance their experience with Jan when adding AI locally to their computers. Implementing these practices will optimize the performance of AI models.
|
||||
|
||||
## Follow the Quickstart Guide
|
||||
The [quickstart guide](quickstart.mdx) is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan.ai quickly. Even, if you are inexperienced in AI, the quickstart can offer valuable insights and tips to help you get started quickly.
|
||||
|
||||
## Setting up the Right Models
|
||||
Jan offers a range of pre-configured AI models that are tailored to different tasks and industries. You should identify which on that aligns with your objectives. There are factors to be considered:
|
||||
- Capabilities
|
||||
- Accuracy
|
||||
- Processing Speed
|
||||
|
||||
:::note
|
||||
- Some of these factors also depend on your hardware, please see Hardware Requirement.
|
||||
- Choosing the right model is important to achieve the best performance.
|
||||
:::
|
||||
|
||||
## Setting up Jan
|
||||
Ensure that you familiarize yourself with the Jan application. Jan offers advanced settings that you can adjust. These settings may influence how your AI behaves locally. Please see the [Advanced Settings](./advanced-settings/advanced-settings.mdx) article for a complete list of Jan's configurations and instructions on how to configure them.
|
||||
|
||||
## Integrations
|
||||
One of Jan's key features is its ability to integrate with many systems. Whether you are incorporating Jan.ai with any open-source LLM provider or other tools, it is important to understand the integration capabilities and limitations.
|
||||
|
||||
## Mastering the Prompt Engineering
|
||||
Prompt engineering is an important aspect when dealing with AI models to generate the desired outputs. Mastering this skill can significantly enhance the performance and the responses of the AI. Below are some tips that you can do for prompt engineering:
|
||||
- Ask the model to adopt a persona
|
||||
- Be specific and details get a more specific answers
|
||||
- Provide examples or preference text or context at the beginning
|
||||
- Use a clear and concise language
|
||||
- Use certain keywords and phrases
|
||||
@ -1,159 +0,0 @@
|
||||
---
|
||||
title: Broken Build
|
||||
sidebar_position: 1
|
||||
hide_table_of_contents: true
|
||||
description: A step-by-step guide to fix errors that prevent the project from compiling or running successfully.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
This guide provides you steps to troubleshoot and to resolve the issue where your Jan is stuck in a broken build after installation.
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="mac" label="Mac" default>
|
||||
### 1. Uninstall Jan
|
||||
|
||||
Delete Jan from your `/Applications` folder.
|
||||
|
||||
### 2. Delete Application Data, Cache, and User Data
|
||||
|
||||
```zsh
|
||||
# Step 1: Delete the application data
|
||||
## Newer versions
|
||||
rm -rf ~/Library/Application\ Support/jan
|
||||
## Versions 0.2.0 and older
|
||||
rm -rf ~/Library/Application\ Support/jan-electron
|
||||
|
||||
# Step 2: Clear application cache
|
||||
rm -rf ~/Library/Caches/jan*
|
||||
|
||||
# Step 3: Remove all user data
|
||||
rm -rf ~/jan
|
||||
```
|
||||
|
||||
### 3. Additional Step for Versions Before 0.4.2
|
||||
|
||||
If you are using a version before `0.4.2`, you need to run the following commands:
|
||||
|
||||
```zsh
|
||||
ps aux | grep nitro
|
||||
# Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
### 4. Download the Latest Version
|
||||
|
||||
Download the latest version of Jan from our [homepage](https://jan.ai/).
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="windows" label="Windows">
|
||||
### 1. Uninstall Jan
|
||||
|
||||
To uninstall Jan on Windows, use the [Windows Control Panel](https://support.microsoft.com/en-us/windows/uninstall-or-remove-apps-and-programs-in-windows-4b55f974-2cc6-2d2b-d092-5905080eaf98).
|
||||
|
||||
### 2. Delete Application Data, Cache, and User Data
|
||||
|
||||
```sh
|
||||
# You can delete the `/Jan` directory in Windows's AppData Directory by visiting the following path `%APPDATA%\Jan`
|
||||
cd C:\Users\YOUR_USERNAME\AppData\Roaming
|
||||
rm -r ./Jan
|
||||
```
|
||||
|
||||
### 3. Additional Step for Versions Before 0.4.2
|
||||
|
||||
If you are using a version before `0.4.2`, you need to run the following commands:
|
||||
|
||||
```sh
|
||||
# Find the process ID (PID) of the nitro process by filtering the list by process name
|
||||
tasklist | findstr "nitro"
|
||||
# Once you have the PID of the process you want to terminate, run the `taskkill`
|
||||
taskkill /F /PID <PID>
|
||||
```
|
||||
|
||||
### 4. Download the Latest Version
|
||||
|
||||
Download the latest version of Jan from our [homepage](https://jan.ai/).
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="linux" label="Linux">
|
||||
|
||||
### 1. Uninstall Jan
|
||||
|
||||
<Tabs groupId = "linux_type">
|
||||
<TabItem value="linux_main" label = "Linux">
|
||||
|
||||
To uninstall Jan, you should use your package manager's uninstall or remove option.
|
||||
|
||||
This will return your system to its state before the installation of Jan.
|
||||
|
||||
This method can also reset all settings if you are experiencing any issues with Jan.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
|
||||
|
||||
To uninstall Jan, run the following command.MDXContent
|
||||
|
||||
```sh
|
||||
sudo apt-get remove jan
|
||||
# where jan is the name of Jan package
|
||||
```
|
||||
|
||||
This will return your system to its state before the installation of Jan.
|
||||
|
||||
This method can also be used to reset all settings if you are experiencing any issues with Jan.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "other" label = "Others">
|
||||
|
||||
To uninstall Jan, you can uninstall Jan by deleting the `.AppImage` file.
|
||||
|
||||
If you wish to completely remove all user data associated with Jan after uninstallation, you can delete the user data at `~/jan`.
|
||||
|
||||
This method can also reset all settings if you are experiencing any issues with Jan.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### 2. Delete Application Data, Cache, and User Data
|
||||
|
||||
```sh
|
||||
# You can delete the user data folders located at the following `~/jan`
|
||||
rm -rf ~/jan
|
||||
```
|
||||
|
||||
### 3. Additional Step for Versions Before 0.4.2
|
||||
|
||||
If you are using a version before `0.4.2`, you need to run the following commands:
|
||||
|
||||
```zsh
|
||||
ps aux | grep nitro
|
||||
# Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
### 4. Download the Latest Version
|
||||
|
||||
Download the latest version of Jan from our [homepage](https://jan.ai/).
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
By following these steps, you can cleanly uninstall and reinstall Jan, ensuring a smooth and error-free experience with the latest version.
|
||||
|
||||
:::note
|
||||
|
||||
Before reinstalling Jan, ensure it's completely removed from all shared spaces if it's installed on multiple user accounts on your device.
|
||||
|
||||
:::
|
||||
@ -1,161 +0,0 @@
|
||||
---
|
||||
title: Troubleshooting NVIDIA GPU
|
||||
sidebar_position: 2
|
||||
description: A step-by-step guide to enable Jan to properly leverage NVIDIA GPU resources, avoiding performance issues.
|
||||
keywords: [
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
convZ
|
||||
ersational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
using GPU,
|
||||
]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
This guide provides steps to troubleshoot and resolve issues when the Jan app does not utilize the NVIDIA GPU on Windows and Linux systems.
|
||||
|
||||
### 1. Ensure GPU Mode Requirements
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="windows" label="Windows">
|
||||
|
||||
#### NVIDIA Driver
|
||||
|
||||
- Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher.
|
||||
- Use the following command to verify the installation:
|
||||
|
||||
```sh
|
||||
nvidia-smi
|
||||
```
|
||||
|
||||
#### CUDA Toolkit
|
||||
|
||||
- Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver.
|
||||
- Use the following command to verify the installation:
|
||||
|
||||
```sh
|
||||
nvcc --version
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux" label="Linux">
|
||||
|
||||
#### NVIDIA Driver
|
||||
|
||||
- Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher.
|
||||
- Use the following command to verify the installation:
|
||||
|
||||
```sh
|
||||
nvidia-smi
|
||||
```
|
||||
|
||||
#### CUDA Toolkit
|
||||
|
||||
- Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver.
|
||||
- Use the following command to verify the installation:
|
||||
|
||||
```sh
|
||||
nvcc --version
|
||||
```
|
||||
#### Linux Specifics
|
||||
|
||||
- Ensure that `gcc-11`, `g++-11`, `cpp-11`, or higher is installed.
|
||||
- See [instructions](https://gcc.gnu.org/projects/cxx-status.html#cxx17) for Ubuntu installation.
|
||||
|
||||
- **Post-Installation Actions**: Add CUDA libraries to `LD_LIBRARY_PATH`.
|
||||
- Follow the [Post-installation Actions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions) instructions.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### 2. Switch to GPU Mode
|
||||
|
||||
Jan defaults to CPU mode but automatically switches to GPU mode if your system supports it, selecting the GPU with the highest VRAM. Check this setting in `Settings` > `Advanced Settings`.
|
||||
|
||||
#### Troubleshooting Tips
|
||||
|
||||
If GPU mode isn't enabled by default:
|
||||
|
||||
1. Confirm that you have installed an NVIDIA driver supporting CUDA 11.7 or higher. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver).
|
||||
2. Ensure compatibility of the CUDA toolkit with your NVIDIA driver. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver).
|
||||
3. For Linux, add CUDA's `.so` libraries to the `LD_LIBRARY_PATH`. For Windows, ensure that CUDA's `.dll` libraries are in the PATH. Refer to [Windows setup](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#environment-setup).
|
||||
|
||||
### 3. Check GPU Settings
|
||||
|
||||
1. Navigate to `Settings` > `Advanced Settings` > `Jan Data Folder` to access GPU settings.
|
||||
2. Open the `settings.json` file in the `settings` folder. Here's an example:
|
||||
|
||||
```json title="~/jan/settings/settings.json"
|
||||
{
|
||||
"notify": true,
|
||||
"run_mode": "gpu",
|
||||
"nvidia_driver": {
|
||||
"exist": true,
|
||||
"version": "531.18"
|
||||
},
|
||||
"cuda": {
|
||||
"exist": true,
|
||||
"version": "12"
|
||||
},
|
||||
"gpus": [
|
||||
{
|
||||
"id": "0",
|
||||
"vram": "12282"
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"vram": "6144"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"vram": "6144"
|
||||
}
|
||||
],
|
||||
"gpu_highest_vram": "0"
|
||||
}
|
||||
```
|
||||
### 4. Restart Jan
|
||||
Restart Jan application to make sure it works.
|
||||
|
||||
#### Troubleshooting Tips
|
||||
|
||||
- Ensure `nvidia_driver` and `cuda` fields indicate installed software.
|
||||
- If `gpus` field is empty or lacks your GPU, check NVIDIA driver and CUDA toolkit installations.
|
||||
- For further assistance, share the `settings.json` file.
|
||||
|
||||
### Tested Configurations
|
||||
|
||||
- **Windows 11 Pro 64-bit:**
|
||||
- GPU: NVIDIA GeForce RTX 4070ti
|
||||
- CUDA: 12.2
|
||||
- NVIDIA driver: 531.18 (Bare metal)
|
||||
|
||||
- **Ubuntu 22.04 LTS:**
|
||||
- GPU: NVIDIA GeForce RTX 4070ti
|
||||
- CUDA: 12.2
|
||||
- NVIDIA driver: 545 (Bare metal)
|
||||
|
||||
- **Ubuntu 20.04 LTS:**
|
||||
- GPU: NVIDIA GeForce GTX 1660ti
|
||||
- CUDA: 12.1
|
||||
- NVIDIA driver: 535 (Proxmox VM passthrough GPU)
|
||||
|
||||
- **Ubuntu 18.04 LTS:**
|
||||
- GPU: NVIDIA GeForce GTX 1660ti
|
||||
- CUDA: 12.1
|
||||
- NVIDIA driver: 535 (Proxmox VM passthrough GPU)
|
||||
|
||||
### Common Issues and Solutions
|
||||
|
||||
1. If the issue persists, try installing the [Nightly version](https://jan.ai/install/nightly/).
|
||||
2. Ensure your (V)RAM is accessible; some users with virtual RAM may require additional configuration.
|
||||
3. Seek assistance in [Jan Discord](https://discord.gg/mY69SZaMaC).
|
||||
@ -1,49 +0,0 @@
|
||||
---
|
||||
title: How to Get Error Logs
|
||||
sidebar_position: 5
|
||||
description: A step-by-step guide to get the Jan app error logs.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
permission denied,
|
||||
]
|
||||
---
|
||||
|
||||
To get the error logs of your Jan application, follow the steps below:
|
||||
### Jan Application
|
||||
1. Navigate to the main dashboard.
|
||||
2. Click the **gear icon (⚙️)** on the bottom left of your screen.
|
||||
3. Under the **Settings screen**, click the **Advanced Settings**.
|
||||
4. On the **Jan Data Folder** click the **folder icon (📂)** to access the data.
|
||||
5. Click the **logs** folder.
|
||||
|
||||
### Jan UI
|
||||
1. Open your Unix or Linux terminal.
|
||||
2. Use the following commands to get the recent 50 lines of log files:
|
||||
```bash
|
||||
tail -n 50 ~/jan/logs/app.log
|
||||
|
||||
```
|
||||
|
||||
### Jan API Server
|
||||
1. Open your Unix or Linux terminal.
|
||||
2. Use the following commands to get the recent 50 lines of log files:
|
||||
```bash
|
||||
tail -n 50 ~/jan/logs/server.log
|
||||
|
||||
```
|
||||
:::warning
|
||||
Ensure to redact any private or sensitive information when sharing logs or error details.
|
||||
:::
|
||||
|
||||
:::note
|
||||
If you have any questions or are looking for support, please don't hesitate to contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ) or create a new issue in our [GitHub repository](https://github.com/janhq/jan/issues/new/choose).
|
||||
:::
|
||||
@ -1,31 +0,0 @@
|
||||
---
|
||||
title: No Assistant Available
|
||||
sidebar_position: 7
|
||||
description: Troubleshooting steps to resolve issues no assistant available.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
no assistant available,
|
||||
]
|
||||
---
|
||||
|
||||
When you encounter the following error message:
|
||||
```
|
||||
No assistant available.
|
||||
```
|
||||
|
||||
This issue arises when a new, unintentional file appears in `/jan/assistants`.
|
||||
|
||||
It can be resolved through the following steps:
|
||||
|
||||
1. Access the `/jan/assistants` directory using a file manager or terminal.
|
||||
|
||||
2. Within `/jan/assistants`, this directory should only contain a folder named `jan`. Identify any file outside of this folder and remove it.
|
||||
@ -1,39 +0,0 @@
|
||||
---
|
||||
title: Permission Denied
|
||||
sidebar_position: 1
|
||||
description: A step-by-step guide to fix the issue when access is denied due to insufficient permissions.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
permission denied,
|
||||
]
|
||||
---
|
||||
|
||||
When running Jan, you might encounter the following error message:
|
||||
|
||||
```
|
||||
Uncaught (in promise) Error: Error invoking layout-480796bff433a3a3.js:538 remote method 'installExtension':
|
||||
Error Package /Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-assistant-extension-1.0.0.tgz does not contain a valid manifest:
|
||||
Error EACCES: permission denied, mkdtemp '/Users/username/.npm/_cacache/tmp/ueCMn4'
|
||||
```
|
||||
|
||||
This error mainly caused by permission problem during installation. To resolve this issue, follow these steps:
|
||||
|
||||
1. Open your terminal.
|
||||
|
||||
2. Execute the following command to change ownership of the `~/.npm` directory to the current user:
|
||||
|
||||
```sh
|
||||
sudo chown -R $(whoami) ~/.npm
|
||||
```
|
||||
:::note
|
||||
This command ensures that the necessary permissions are granted for Jan installation, resolving the encountered error.
|
||||
:::
|
||||
@ -1,53 +0,0 @@
|
||||
---
|
||||
title: Something's Amiss
|
||||
sidebar_position: 4
|
||||
description: A step-by-step guide to resolve an unspecified or general error.
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
When you start a chat with a model and encounter with a Something's Amiss error, here's how to resolve it:
|
||||
1. Ensure your OS is up to date.
|
||||
2. Choose a model smaller than 80% of your hardware's V/RAM. For example, on an 8GB machine, opt for models smaller than 6GB.
|
||||
3. Install the latest [Nightly release](https://jan.ai/install/nightly/) or [clear the application cache](https://jan.ai/troubleshooting/stuck-on-broken-build/) when reinstalling Jan.
|
||||
4. Confirm your V/RAM accessibility, particularly if using virtual RAM.
|
||||
5. Nvidia GPU users should download [CUDA](https://developer.nvidia.com/cuda-downloads).
|
||||
6. Linux users, ensure your system meets the requirements of gcc 11, g++ 11, cpp 11, or higher. Refer to this [link](https://jan.ai/guides/troubleshooting/gpu-not-used/#specific-requirements-for-linux) for details.
|
||||
7. You might use the wrong port when you [check the app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) and encounter the Bind address failed at 127.0.0.1:3928 error. To check the port status, try use the `netstat` command, like the following:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="mac" label="MacOS" default>
|
||||
```sh
|
||||
netstat -an | grep 3928
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="windows" label="Windows" default>
|
||||
```sh
|
||||
netstat -ano | find "3928"
|
||||
tasklist /fi "PID eq 3928"
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="linux" label="Linux" default>
|
||||
```sh
|
||||
netstat -anpe | grep "3928"
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
|
||||
`Netstat` displays the contents of various network-related data structures for active connections
|
||||
|
||||
:::
|
||||
|
||||
:::tip
|
||||
|
||||
Jan uses the following ports:
|
||||
|
||||
- Nitro: `3928`
|
||||
- Jan API Server: `1337`
|
||||
- Jan Documentation: `3001`
|
||||
|
||||
:::
|
||||
@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Stuck on Loading Model
|
||||
sidebar_position: 8
|
||||
description: Troubleshooting steps to resolve issues related to the loading model.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
stuck on loading model,
|
||||
]
|
||||
---
|
||||
|
||||
## 1. Issue: Model Loading Stuck Due To Missing Windows Management Instrumentation Command-line (WMIC)
|
||||
|
||||
Encountering a stuck-on-loading model issue in Jan is caused by errors related to the `Windows Management Instrumentation Command-line (WMIC)` path not being included in the system's PATH environment variable.
|
||||
|
||||
Error message:
|
||||
```
|
||||
index.js:47 Uncaught (in promise) Error: Error invoking remote method 'invokeExtensionFunc': Error: Command failed: WMIC CPU Get NumberOfCores
|
||||
```
|
||||
|
||||
It can be resolved through the following steps:
|
||||
|
||||
1. **Open System Properties:**
|
||||
- Press `Windows key + R`.
|
||||
- Type `sysdm.cpl` and press `Enter`.
|
||||
|
||||
2. **Access Environment Variables:**
|
||||
- Go to the "Advanced" tab.
|
||||
- Click the "Environment Variables" button.
|
||||
|
||||
3. **Edit System PATH:**
|
||||
- Under "System Variables" find and select `Path`.
|
||||
- Click "Edit."
|
||||
|
||||
4. **Add WMIC Path:**
|
||||
- Click "New" and enter `C:\Windows\System32\Wbem`.
|
||||
|
||||
5. **Save Changes:**
|
||||
- Click "OK" to close and save your changes.
|
||||
|
||||
6. **Verify Installation:**
|
||||
- Restart any command prompts or terminals.
|
||||
- Run `where wmic` to verify. Expected output: `C:\Windows\System32\wbem\WMIC.exe`.
|
||||
|
||||
|
||||
## 2. Issue: Model Loading Stuck Due To CPU Without AVX
|
||||
|
||||
Encountering an issue with models stuck on loading in Jan can be due to the use of older generation CPUs that do not support Advanced Vector Extensions (AVX).
|
||||
|
||||
To check if your CPU supports AVX, visit the following link: [CPUs with AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX)
|
||||
|
||||
:::warning [Please use this with caution]
|
||||
As a workaround, consider using an [emulator](https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html) to simulate AVX support.
|
||||
:::
|
||||
@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Thread Disappearance
|
||||
sidebar_position: 6
|
||||
description: Troubleshooting steps to resolve issues threads suddenly disappearance.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
thread disappearance,
|
||||
]
|
||||
---
|
||||
|
||||
When you encounter the error of old threads suddenly disappear. This can happen when a new, unintentional file is created in `/jan/threads`.
|
||||
|
||||
It can be resolved through the following steps:
|
||||
|
||||
1. Go to `/jan/threads`.
|
||||
|
||||
2. The `/jan/threads` directory contains many folders named with the prefix `jan_` followed by an ID (e.g., `jan_123`). Look for any file not conforming to this naming pattern and remove it.
|
||||
@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Undefined Issue
|
||||
sidebar_position: 3
|
||||
description: A step-by-step guide to resolve errors when a variable or object is not defined.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
undefined issue,
|
||||
]
|
||||
---
|
||||
|
||||
Encountering an `undefined issue` in Jan is caused by errors related to the Nitro tool or other internal processes. It can be resolved through the following steps:
|
||||
|
||||
1. Clearing the Jan folder and then reopen the application to determine if the problem persists
|
||||
2. Manually run the nitro tool located at `~/jan/extensions/@janhq/inference-nitro-extensions/dist/bin/(your-os)/nitro` to check for error messages.
|
||||
3. Address any nitro error messages that are identified and reassess the persistence of the issue.
|
||||
4. Reopen Jan to determine if the problem has been resolved after addressing any identified errors.
|
||||
5. If the issue persists, please share the [app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) via [Jan Discord](https://discord.gg/mY69SZaMaC) for further assistance and troubleshooting.
|
||||
@ -1,24 +0,0 @@
|
||||
---
|
||||
title: Unexpected Token
|
||||
sidebar_position: 2
|
||||
description: A step-by-step guide to correct syntax errors caused by invalid JSON in the code.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
troubleshooting,
|
||||
unexpected token,
|
||||
]
|
||||
---
|
||||
|
||||
Encountering the `Unexpected token` error when initiating a chat with OpenAI models mainly caused by either your OpenAI key or where you access your OpenAI from. This issue can be solved through the following steps:
|
||||
|
||||
1. Obtain an OpenAI API key from [OpenAI's developer platform](https://platform.openai.com/) and integrate it into your application.
|
||||
|
||||
2. Trying a VPN could potentially solve the issue, especially if it's related to region locking for accessing OpenAI services. By connecting through a VPN, you may bypass such restrictions and successfully initiate chats with OpenAI models.
|
||||
@ -1,22 +0,0 @@
|
||||
---
|
||||
title: Extensions
|
||||
slug: /guides/extensions/
|
||||
sidebar_position: 5
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
build extension,
|
||||
]
|
||||
---
|
||||
|
||||
import DocCardList from "@theme/DocCardList";
|
||||
|
||||
<DocCardList />
|
||||
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 88 KiB |
@ -1,7 +1,8 @@
|
||||
---
|
||||
title: Extension Setup
|
||||
title: What are Jan Extensions?
|
||||
slug: /extensions
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 1
|
||||
description: Dive into the available extensions and configure them.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
@ -12,11 +13,11 @@ keywords:
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
extension settings,
|
||||
Jan Extensions,
|
||||
Extensions,
|
||||
]
|
||||
---
|
||||
|
||||
|
||||
The current Jan Desktop Client has some default extensions built on top of this framework to enhance the user experience. In this guide, we will show you the list of default extensions and how to configure extension settings.
|
||||
|
||||
## Default Extensions
|
||||
@ -136,6 +137,24 @@ To configure extension settings:
|
||||
}
|
||||
```
|
||||
|
||||
## Import Custom Extension
|
||||
|
||||
:::note
|
||||
Currently, Jan only supports official extensions, which can be directly downloaded in Extension Settings. We plan to support 3rd party Extensions in the future.
|
||||
:::
|
||||
|
||||
For now you can always import a third party extension at your own risk by following the steps below:
|
||||
|
||||
1. Navigate to **Settings** > **Extensions** > Click Select under **Manual Installation**.
|
||||
2. Then, the ~/jan/extensions/extensions.json file will be updated automatically.
|
||||
|
||||
:::caution
|
||||
|
||||
You need to prepare the extension file in .tgz format to install the **non-default** extension.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
:::info[Assistance and Support]
|
||||
|
||||
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.
|
||||
@ -1,36 +0,0 @@
|
||||
---
|
||||
title: Import Extensions
|
||||
sidebar_position: 2
|
||||
description: A step-by-step guide on how to import extensions.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
import extensions,
|
||||
]
|
||||
---
|
||||
|
||||
|
||||
Besides default extensions, you can import extensions into Jan by following the steps below:
|
||||
|
||||
1. Navigate to **Settings** > **Extensions** > Click Select under **Manual Installation**.
|
||||
2. Then, the ~/jan/extensions/extensions.json file will be updated automatically.
|
||||
|
||||
:::caution
|
||||
|
||||
You need to prepare the extension file in .tgz format to install the **non-default** extension.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
:::info[Assistance and Support]
|
||||
|
||||
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.
|
||||
|
||||
:::
|
||||
@ -1,99 +0,0 @@
|
||||
---
|
||||
title: FAQs
|
||||
slug: /guides/faqs
|
||||
sidebar_position: 12
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
acknowledgements,
|
||||
third-party libraries,
|
||||
]
|
||||
---
|
||||
|
||||
## General Issues
|
||||
|
||||
- **Why can't I download models like Pandora 11B Q4 and Solar Instruct 10.7B Q4?**
|
||||
- These models might have been removed or taken down. Please check the [Pre-configured Models](models-list.mdx) for the latest updates on model availability.
|
||||
|
||||
- **Why does Jan display "Apologies, something's amiss" when I try to run it?**
|
||||
- This issue may arise if you're using an older Intel chip that does not fully support AVX instructions required for running AI models. Upgrading your hardware may resolve this issue.
|
||||
|
||||
- **How can I use Jan in Russia?**
|
||||
- To use Jan in Russia, a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) is recommended to bypass any regional restrictions that might be in place.
|
||||
|
||||
- **I'm experiencing an error on startup from Nitro. What should I do?**
|
||||
- If you encounter errors with Nitro, try switching the path to use the Nitro executable for the version 12-0. This adjustment can help resolve path-related issues.
|
||||
|
||||
## Download and Installation Issues
|
||||
|
||||
- **What does "Error occurred: Unexpected token" mean?**
|
||||
- This error usually indicates a problem with your internet connection or that your access to certain resources is being blocked. Using a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) can help avoid these issues by providing a secure and unrestricted internet connection.
|
||||
|
||||
- **Why aren't my downloads working?**
|
||||
- If you're having trouble downloading directly through Jan, you might want to download the model separately and then import it into Jan. Detailed instructions are available on [here](install.mdx).
|
||||
|
||||
- **Jan AI doesn't open on my Mac with an Intel processor. What can I do?**
|
||||
- Granting the `.npm` folder permission for the user can resolve issues related to permissions on macOS, especially for users with Intel processors.
|
||||
|
||||
- **What should I do if the model download freezes?**
|
||||
- If a model download freezes, consider importing the models manually. You can find more detailed guidance on how to do this at [Manual Import](./models/import-models.mdx) article.
|
||||
|
||||
- **I received a message that the model GPT4 does not exist or I do not have access. What should I do?**
|
||||
- This message typically means you need to top up your credit with OpenAI or check your access permissions for the model.
|
||||
|
||||
- **I can't download models from "Explore the Hub." What's the solution?**
|
||||
- Uninstalling Jan, clearing the cache, and reinstalling it following the guide provided [here](install.mdx) may help. Also, consider downloading the `.gguf` model via a browser as an alternative approach.
|
||||
|
||||
## Technical Issues and Solutions
|
||||
|
||||
- **How can I download models with a socks5 proxy or import a local model file?**
|
||||
- Nightly builds of Jan offer support for downloading models with socks5 proxies or importing local model files.
|
||||
|
||||
- **My device shows no GPU usage and lacks a Settings folder. What should I do?**
|
||||
- Using the nightly builds of Jan can address issues related to GPU usage and the absence of a Settings folder, as these builds contain the latest fixes and features.
|
||||
|
||||
- **Why does Jan display a toast message saying a model is loaded when it is not actually loaded?**
|
||||
- This issue can be resolved by downloading the `.gguf` file from Hugging Face and replacing it in the model folder. This ensures the correct model is loaded.
|
||||
|
||||
- **How to enable CORS when running Nitro?**
|
||||
- By default, CORS (Cross-Origin Resource Sharing) is disabled when running Nitro. Enabling CORS can be necessary for certain operations and integrations. Check the official documentation for instructions on how to enable CORS if your workflow requires it.
|
||||
|
||||
## Compatibility and Support
|
||||
|
||||
- **How to use GPU AMD for Jan?**
|
||||
- Jan now supports AMD GPUs through Vulkan. This enhancement allows users with AMD graphics cards to leverage GPU acceleration, improving performance for AI model computations.
|
||||
|
||||
- **Is Jan available for Android or iOS?**
|
||||
- Jan is primarily focused on the Desktop app and does not currently offer mobile apps for Android or iOS. The development team is concentrating on enhancing the desktop experience.
|
||||
|
||||
## Development and Features
|
||||
|
||||
- **Does Jan support Safetensors?**
|
||||
- At the moment, Jan only supports GGUF. However, there are plans to support `.safetensor` files in the future.
|
||||
|
||||
- **I hope to customize the installation path of each model. Is that possible?**
|
||||
- Yes you can customize the installation path. Please see [here](https://jan.ai/guides/advanced-settings/#access-the-jan-data-folder) for more information.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **What should I do if there's high CPU usage while Jan is idle?**
|
||||
- If you notice high CPU usage while Jan is idle, consider using the nightly builds of Jan
|
||||
|
||||
- **What does the error "Failed to fetch" mean, and how can I fix it?**
|
||||
- The "Failed to fetch" error typically occurs due to network issues or restrictions. Using the nightly builds of Jan may help overcome these issues by providing updated fixes and features.
|
||||
|
||||
- **What should I do if "Failed to fetch" occurs using MacBook Pro with Intel HD Graphics 4000 1536 MB?**
|
||||
- Ensure that the model size is less than 90% of your available VRAM and that the VRAM is accessible to the app. Managing the resources effectively can help mitigate this issue.
|
||||
|
||||
:::info[Assistance and Support]
|
||||
|
||||
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.
|
||||
|
||||
:::
|
||||
BIN
docs/docs/guides/get-started/asset/download.gif
Normal file
|
After Width: | Height: | Size: 20 MiB |
BIN
docs/docs/guides/get-started/asset/gpt.gif
Normal file
|
After Width: | Height: | Size: 4.3 MiB |
BIN
docs/docs/guides/get-started/asset/model.gif
Normal file
|
After Width: | Height: | Size: 5.4 MiB |
24
docs/docs/guides/get-started/hardware-setup.mdx
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Hardware Setup
|
||||
slug: /guides/hardware
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 3
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
hardware requirements,
|
||||
Nvidia,
|
||||
AMD,
|
||||
CPU,
|
||||
GPU
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
19
docs/docs/guides/get-started/overview.mdx
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Overview
|
||||
slug: /guides
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 1
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
259
docs/docs/guides/get-started/quickstart.mdx
Normal file
@ -0,0 +1,259 @@
|
||||
---
|
||||
title: Quickstart
|
||||
slug: /guides/quickstart
|
||||
description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting.
|
||||
sidebar_position: 2
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
quickstart,
|
||||
getting started,
|
||||
using AI model,
|
||||
installation
|
||||
]
|
||||
---
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import download from './asset/download.gif';
|
||||
import gpt from './asset/gpt.gif';
|
||||
import model from './asset/model.gif';
|
||||
|
||||
To get started quickly with Jan, follow the steps below:
|
||||
## Step 1: Get Jan Desktop
|
||||
<Tabs>
|
||||
<TabItem value="mac" label = "Mac" default>
|
||||
|
||||
#### Pre-requisites
|
||||
Before installing Jan, ensure :
|
||||
- You have a Mac with an Apple Silicon Processor.
|
||||
- Homebrew and its dependencies are installed for installing Jan with Homebrew package.
|
||||
- Your macOS version is 10.15 or higher.
|
||||
|
||||
#### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Mac**.
|
||||
|
||||
The download should be available as a `.dmg`.
|
||||
|
||||
#### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
#### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
#### Install with Homebrew
|
||||
Install Jan with the following Homebrew command:
|
||||
|
||||
```brew
|
||||
brew install --cask jan
|
||||
```
|
||||
|
||||
:::warning
|
||||
|
||||
Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "windows" label = "Windows">
|
||||
|
||||
#### Pre-requisites
|
||||
Ensure that your system meets the following requirements:
|
||||
- Windows 10 or higher is required to run Jan.
|
||||
|
||||
To enable GPU support, you will need:
|
||||
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
|
||||
- NVIDIA driver 470.63.01 or higher
|
||||
|
||||
#### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Windows**.
|
||||
|
||||
The download should be available as a `.exe` file.
|
||||
|
||||
#### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
#### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
#### Default Installation Directory
|
||||
|
||||
By default, Jan is installed in the following directory:
|
||||
|
||||
```sh
|
||||
# Default installation directory
|
||||
C:\Users\{username}\AppData\Local\Programs\Jan
|
||||
```
|
||||
|
||||
:::warning
|
||||
|
||||
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "linux" label = "Linux">
|
||||
|
||||
#### Pre-requisites
|
||||
Ensure that your system meets the following requirements:
|
||||
- glibc 2.27 or higher (check with `ldd --version`)
|
||||
- gcc 11, g++ 11, cpp 11, or higher, refer to this link for more information.
|
||||
|
||||
To enable GPU support, you will need:
|
||||
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
|
||||
- NVIDIA driver 470.63.01 or higher
|
||||
|
||||
#### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Linux**.
|
||||
|
||||
The download should be available as a `.AppImage` file or a `.deb` file.
|
||||
|
||||
#### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
#### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
<Tabs groupId = "linux_type">
|
||||
<TabItem value="linux_main" label = "Linux">
|
||||
|
||||
To install Jan, you should use your package manager's install or `dpkg`.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
|
||||
|
||||
To install Jan, run the following command:
|
||||
|
||||
```sh
|
||||
# Install Jan using dpkg
|
||||
sudo dpkg -i jan-linux-amd64-{version}.deb
|
||||
|
||||
# Install Jan using apt-get
|
||||
sudo apt-get install ./jan-linux-amd64-{version}.deb
|
||||
# where jan-linux-amd64-{version}.deb is path to the Jan package
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "other" label = "Others">
|
||||
|
||||
To install Jan, run the following commands:
|
||||
|
||||
```sh
|
||||
# Install Jan using AppImage
|
||||
chmod +x jan-linux-x86_64-{version}.AppImage
|
||||
./jan-linux-x86_64-{version}.AppImage
|
||||
# where jan-linux-x86_64-{version}.AppImage is path to the Jan package
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::warning
|
||||
|
||||
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Step 2: Download a Model
|
||||
Jan provides a variety of local AI models tailored to different needs, ready for download. These models are installed and run directly on the user's device.
|
||||
|
||||
1. Go to the **Hub**.
|
||||
2. Select the models that you would like to install, to see a model details click the dropdown button.
|
||||
3. Click the **Download** button.
|
||||
|
||||
<br/>
|
||||
|
||||
<div style={{ display: 'flex', justifyContent: 'center' }}>
|
||||
<img src={download} alt="Download a Model" />
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
:::note
|
||||
|
||||
Ensure you select the appropriate model size by balancing performance, cost, and resource considerations in line with your task's specific requirements and hardware specifications.
|
||||
:::
|
||||
|
||||
## Step 3: Connect to ChatGPT (Optional)
|
||||
Jan also provides access to remote models hosted on external servers, requiring an API key for connectivity. For example, to use the ChatGPT model with Jan, you must input your API key by following these steps:
|
||||
|
||||
1. Go to the **Thread** tab.
|
||||
2. Under the Model dropdown menu, select the ChatGPT model.
|
||||
3. Fill in your ChatGPT API Key that you can get in your [OpenAI platform](https://platform.openai.com/account/api-keys).
|
||||
|
||||
<br/>
|
||||
|
||||
<div style={{ display: 'flex', justifyContent: 'center' }}>
|
||||
<img src={gpt} alt="Connect to ChatGPT" />
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
## Step 4: Chat with Models
|
||||
After downloading and configuring your model, you can immediately use it in the **Thread** tab.
|
||||
|
||||
<br/>
|
||||
|
||||
<div style={{ display: 'flex', justifyContent: 'center' }}>
|
||||
<img src={model} alt="Chat with a model" />
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
## Best Practices
|
||||
This section outlines best practices for developers, analysts, and AI enthusiasts to enhance their experience with Jan when adding AI locally to their computers. Implementing these practices will optimize the performance of AI models.
|
||||
|
||||
### Follow the Quickstart Guide
|
||||
The quickstart guide above is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan.ai quickly. Even, if you are inexperienced in AI.
|
||||
|
||||
### Select the Right Models
|
||||
Jan offers a range of pre-configured AI models that are suited for different purposes. You should identify which on that aligns with your objectives. There are factors to be considered:
|
||||
- Capabilities
|
||||
- Accuracy
|
||||
- Processing Speed
|
||||
|
||||
:::note
|
||||
- Some of these factors also depend on your hardware, please see Hardware Requirement.
|
||||
- Choosing the right model is important to achieve the best performance.
|
||||
:::
|
||||
|
||||
### Setting up Jan
|
||||
Ensure that you familiarize yourself with the Jan application. Jan offers advanced settings that you can adjust. These settings may influence how your AI behaves locally. Please see the [Advanced Settings](./guides/advanced) article for a complete list of Jan's configurations and instructions on how to configure them.
|
||||
|
||||
### Integrations
|
||||
Jan can work with many different systems and tools. Whether you are incorporating Jan.ai with any open-source LLM provider or other tools, it is important to understand the integration capabilities and limitations.
|
||||
|
||||
### Mastering the Prompt Engineering
|
||||
Prompt engineering is an important aspect when dealing with AI models to generate the desired outputs. Mastering this skill can significantly enhance the performance and the responses of the AI. Below are some tips that you can do for prompt engineering:
|
||||
- Ask the model to adopt a persona
|
||||
- Be specific and details get a more specific answers
|
||||
- Provide examples or preference text or context at the beginning
|
||||
- Use a clear and concise language
|
||||
- Use certain keywords and phrases
|
||||
|
||||
## Pre-configured Models
|
||||
To see the full list of Jan's pre-configured models, please see our official GitHub [here](https://github.com/janhq/jan).
|
||||
19
docs/docs/guides/get-started/settingup-gpu.mdx
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Setting Up GPU
|
||||
slug: /guides/hardware/gpu
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 1
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
19
docs/docs/guides/inference/overview-inference.mdx
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Overview
|
||||
slug: /guides/engines
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 12
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
95
docs/docs/guides/installation/README.mdx
Normal file
@ -0,0 +1,95 @@
|
||||
---
|
||||
title: Installation
|
||||
sidebar_position: 4
|
||||
slug: /guides/install/
|
||||
hide_table_of_contents: true
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
]
|
||||
---
|
||||
|
||||
## Jan Device Compatible
|
||||
Jan is compatible with macOS, Windows, and Linux, making it accessible for a wide range of users. This compatibility allows users to leverage Jan's AI tools effectively, regardless of their device or operating system.
|
||||
|
||||
:::note
|
||||
For detailed system requirements and setup instructions, refer to our [Hardware Setup](/guides/hardware/) guide.
|
||||
:::
|
||||
|
||||
import DocCardList from "@theme/DocCardList";
|
||||
|
||||
<DocCardList />
|
||||
|
||||
|
||||
## Install Server-Side
|
||||
To install Jan from source, follow the steps below:
|
||||
|
||||
### Pre-requisites
|
||||
Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system:
|
||||
|
||||
- Node.js version 20.0.0 or higher
|
||||
- Yarn version 1.22.0 or higher
|
||||
|
||||
### Install Jan Development Build
|
||||
1. Clone the Jan repository from GitHub by using the following command:
|
||||
```bash
|
||||
git clone https://github.com/janhq/jan
|
||||
git checkout DESIRED_BRANCH
|
||||
cd jan
|
||||
```
|
||||
|
||||
2. Install the required dependencies by using the following Yarn command:
|
||||
```bash
|
||||
yarn install
|
||||
|
||||
# Build core module
|
||||
yarn build:core
|
||||
|
||||
# Packing base plugins
|
||||
yarn build:plugins
|
||||
|
||||
# Packing uikit
|
||||
yarn build:uikit
|
||||
```
|
||||
|
||||
3. Run the development server.
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click **OK** and **Next** to continue.
|
||||
|
||||
### Install Jan Production Build
|
||||
1. Clone the Jan repository from GitHub by using the following command:
|
||||
```bash
|
||||
git clone https://github.com/janhq/jan
|
||||
cd jan
|
||||
```
|
||||
|
||||
2. Install the required dependencies by using the following Yarn command:
|
||||
```bash
|
||||
yarn install
|
||||
|
||||
# Build core module
|
||||
yarn build:core
|
||||
|
||||
# Packing base plugins
|
||||
yarn build:plugins
|
||||
|
||||
# Packing uikit
|
||||
yarn build:uikit
|
||||
```
|
||||
|
||||
3. Run the production server.
|
||||
```bash
|
||||
yarn
|
||||
```
|
||||
|
||||
This completes the installation process for Jan from source. The production-ready app for macOS can be found in the dist folder.
|
||||
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Installation
|
||||
sidebar_position: 2
|
||||
title: Install with Docker
|
||||
sidebar_position: 4
|
||||
slug: /guides/install/server
|
||||
hide_table_of_contents: true
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
description: A step-by-step guide to install Jan using Docker.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
@ -13,164 +14,15 @@ keywords:
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Install on Docker,
|
||||
Docker,
|
||||
Helm,
|
||||
]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import installImageURL from './assets/jan-ai-download.png';
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="mac" label = "Mac" default>
|
||||
|
||||
### Pre-requisites
|
||||
Before installing Jan, ensure :
|
||||
- You have a Mac with an Apple Silicon Processor.
|
||||
- Homebrew and its dependencies are installed. (for Installing Jan with Homebrew Package)
|
||||
- Your macOS version is 10.15 or higher.
|
||||
|
||||
### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Mac**.
|
||||
|
||||
The download should be available as a `.dmg`.
|
||||
|
||||
### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
### Install with Homebrew
|
||||
Install Jan with the following Homebrew command:
|
||||
|
||||
```brew
|
||||
brew install --cask jan
|
||||
```
|
||||
|
||||
:::warning
|
||||
|
||||
Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "windows" label = "Windows">
|
||||
|
||||
### Pre-requisites
|
||||
Ensure that your system meets the following requirements:
|
||||
- Windows 10 or higher is required to run Jan.
|
||||
|
||||
To enable GPU support, you will need:
|
||||
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
|
||||
- NVIDIA driver 470.63.01 or higher
|
||||
|
||||
### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Windows**.
|
||||
|
||||
The download should be available as a `.exe` file.
|
||||
|
||||
### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
### Default Installation Directory
|
||||
|
||||
By default, Jan is installed in the following directory:
|
||||
|
||||
```sh
|
||||
# Default installation directory
|
||||
C:\Users\{username}\AppData\Local\Programs\Jan
|
||||
```
|
||||
|
||||
:::warning
|
||||
|
||||
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "linux" label = "Linux">
|
||||
|
||||
### Pre-requisites
|
||||
Ensure that your system meets the following requirements:
|
||||
- glibc 2.27 or higher (check with `ldd --version`)
|
||||
- gcc 11, g++ 11, cpp 11, or higher, refer to this link for more information.
|
||||
|
||||
To enable GPU support, you will need:
|
||||
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
|
||||
- NVIDIA driver 470.63.01 or higher
|
||||
|
||||
### Stable Releases
|
||||
|
||||
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Linux**.
|
||||
|
||||
The download should be available as a `.AppImage` file or a `.deb` file.
|
||||
|
||||
### Nightly Releases
|
||||
|
||||
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
|
||||
|
||||
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
|
||||
|
||||
### Experimental Model
|
||||
|
||||
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
|
||||
|
||||
<Tabs groupId = "linux_type">
|
||||
<TabItem value="linux_main" label = "Linux">
|
||||
|
||||
To install Jan, you should use your package manager's install or `dpkg`.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
|
||||
|
||||
To install Jan, run the following command:
|
||||
|
||||
```sh
|
||||
# Install Jan using dpkg
|
||||
sudo dpkg -i jan-linux-amd64-{version}.deb
|
||||
|
||||
# Install Jan using apt-get
|
||||
sudo apt-get install ./jan-linux-amd64-{version}.deb
|
||||
# where jan-linux-amd64-{version}.deb is path to the Jan package
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value = "other" label = "Others">
|
||||
|
||||
To install Jan, run the following commands:
|
||||
|
||||
```sh
|
||||
# Install Jan using AppImage
|
||||
chmod +x jan-linux-x86_64-{version}.AppImage
|
||||
./jan-linux-x86_64-{version}.AppImage
|
||||
# where jan-linux-x86_64-{version}.AppImage is path to the Jan package
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::warning
|
||||
|
||||
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
|
||||
|
||||
:::
|
||||
</TabItem>
|
||||
<TabItem value="docker" label = "Docker" default>
|
||||
|
||||
### Pre-requisites
|
||||
### Pre-requisites
|
||||
Ensure that your system meets the following requirements:
|
||||
- Linux or WSL2 Docker
|
||||
- Latest Docker Engine and Docker Compose
|
||||
@ -276,9 +128,6 @@ If you are stuck in a broken build, go to the [Broken Build](/guides/common-erro
|
||||
|
||||
:::warning
|
||||
|
||||
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build/) section of Common Errors.
|
||||
If you are stuck in a broken build, go to the [Broken Build](/troubleshooting/#broken-build) section of Common Errors.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
22
docs/docs/guides/installation/linux.mdx
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Install on Linux
|
||||
sidebar_position: 3
|
||||
slug: /guides/install/linux
|
||||
hide_table_of_contents: true
|
||||
description: A step-by-step guide to install Jan on your Linux.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Install on Linux,
|
||||
Linux,
|
||||
]
|
||||
---
|
||||
|
||||
Coming soon
|
||||
23
docs/docs/guides/installation/mac.mdx
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Install on Mac
|
||||
sidebar_position: 1
|
||||
slug: /guides/install/mac
|
||||
hide_table_of_contents: true
|
||||
description: A step-by-step guide to install Jan on your Mac.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
MacOs,
|
||||
Install on Mac,
|
||||
Apple devices,
|
||||
]
|
||||
---
|
||||
|
||||
Coming soon
|
||||
24
docs/docs/guides/installation/windows.mdx
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Install on Windows
|
||||
sidebar_position: 2
|
||||
slug: /guides/install/windows
|
||||
hide_table_of_contents: true
|
||||
description: A step-by-step guide to install Jan on your Windows.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Windows 10,
|
||||
Windows 11,
|
||||
Install on Windows,
|
||||
Microsoft devices,
|
||||
]
|
||||
---
|
||||
|
||||
Coming soon
|
||||
@ -1,27 +0,0 @@
|
||||
---
|
||||
title: Raycast
|
||||
sidebar_position: 4
|
||||
description: A step-by-step guide on how to integrate Jan with Raycast.
|
||||
---
|
||||
|
||||
|
||||
## How to Integrate Raycast
|
||||
[Raycast](https://www.raycast.com/) is a productivity tool designed for macOS that enhances workflow efficiency by providing quick access to various tasks and functionalities through a keyboard-driven interface. To integrate Raycast with Jan, follow the steps below:
|
||||
|
||||
### Step 1: Download the TinyLlama Model
|
||||
|
||||
1. Go to the **Hub** and download the TinyLlama model.
|
||||
2. The model will be available at `~jan/models/tinyllama-1.1b`.
|
||||
|
||||
### Step 2: Clone and Run the Program
|
||||
|
||||
1. Clone this [GitHub repository](https://github.com/InNoobWeTrust/nitro-raycast).
|
||||
2. Execute the project using the following command:
|
||||
|
||||
```sh title="Node.js"
|
||||
npm i && npm run dev
|
||||
```
|
||||
|
||||
### Step 3: Search for Nitro and Run the Model
|
||||
|
||||
Search for `Nitro` using the program and you can use the models from Jan in RayCast.
|
||||
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Integrations
|
||||
slug: /guides/integrations/
|
||||
sidebar_position: 6
|
||||
slug: /integrations/
|
||||
sidebar_position: 1
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
22
docs/docs/guides/integrations/crewai.mdx
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: CrewAI
|
||||
sidebar_position: 19
|
||||
slug: /integrations/crewai
|
||||
description: A step-by-step guide on how to integrate Jan with CrewAI.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Continue integration,
|
||||
CrewAI integration,
|
||||
CrewAI
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
@ -1,10 +1,25 @@
|
||||
---
|
||||
title: Discord
|
||||
slug: /integrations/discord
|
||||
sidebar_position: 5
|
||||
description: A step-by-step guide on how to integrate Jan with a Discord bot.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Discord integration,
|
||||
Discord,
|
||||
bot,
|
||||
]
|
||||
---
|
||||
|
||||
## How to Integrate Discord Bot with Jan
|
||||
## Integrate Discord Bot with Jan
|
||||
|
||||
Discord bot can enhances your discord server interactions. By integrating Jan with it, you can significantly boost responsiveness and user engaggement in your discord server.
|
||||
|
||||
@ -1,11 +1,36 @@
|
||||
---
|
||||
title: Open Interpreter
|
||||
slug: /integrations/interpreter
|
||||
sidebar_position: 6
|
||||
description: A step-by-step guide on how to integrate Jan with Open Interpreter.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Open Interpreter integration,
|
||||
Open Interpreter,
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Open Interpreter</title>
|
||||
<meta name="description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, Open Interpreter integration"/>
|
||||
<meta property="og:title" content="Open Interpreter"/>
|
||||
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
|
||||
<meta property="og:url" content="https://jan.ai/guides/integration/open-interpreter"/>
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Open Interpreter"/>
|
||||
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
|
||||
</head>
|
||||
|
||||
## How to Integrate Open Interpreter with Jan
|
||||
## Integrate Open Interpreter with Jan
|
||||
|
||||
[Open Interpreter](https://github.com/KillianLucas/open-interpreter/) lets LLMs run code (Python, Javascript, Shell, and more) locally. You can chat with Open Interpreter through a ChatGPT-like interface in your terminal by running `interpreter` after installing. To integrate Open Interpreter with Jan, follow the steps below:
|
||||
|
||||
19
docs/docs/guides/integrations/overview-integration.mdx
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Overview
|
||||
slug: /integrationss
|
||||
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
sidebar_position: 1
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
52
docs/docs/guides/integrations/raycast.mdx
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Raycast
|
||||
slug: /integrations/raycast
|
||||
sidebar_position: 17
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
raycast integration,
|
||||
Raycast,
|
||||
]
|
||||
description: A step-by-step guide on how to integrate Jan with Raycast.
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>Raycast</title>
|
||||
<meta name="description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, Raycast integration"/>
|
||||
<meta property="og:title" content="Raycast"/>
|
||||
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
|
||||
<meta property="og:url" content="https://jan.ai/guides/integration/raycast"/>
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="Raycast"/>
|
||||
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
|
||||
</head>
|
||||
|
||||
## Integrate Raycast with Jan
|
||||
[Raycast](https://www.raycast.com/) is a productivity tool designed for macOS that enhances workflow efficiency by providing quick access to various tasks and functionalities through a keyboard-driven interface. To integrate Raycast with Jan, follow the steps below:
|
||||
|
||||
### Step 1: Download the TinyLlama Model
|
||||
|
||||
1. Go to the **Hub** and download the TinyLlama model.
|
||||
2. The model will be available at `~jan/models/tinyllama-1.1b`.
|
||||
|
||||
### Step 2: Clone and Run the Program
|
||||
|
||||
1. Clone this [GitHub repository](https://github.com/InNoobWeTrust/nitro-raycast).
|
||||
2. Execute the project using the following command:
|
||||
|
||||
```sh title="Node.js"
|
||||
npm i && npm run dev
|
||||
```
|
||||
|
||||
### Step 3: Search for Nitro and Run the Model
|
||||
|
||||
Search for `Nitro` using the program and you can use the models from Jan in RayCast.
|
||||
@ -1,11 +1,36 @@
|
||||
---
|
||||
title: OpenRouter
|
||||
slug: /integrations/openrouter
|
||||
sidebar_position: 2
|
||||
description: A step-by-step guide on how to integrate Jan with OpenRouter.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
OpenRouter integration,
|
||||
OpenRouter
|
||||
]
|
||||
---
|
||||
|
||||
<head>
|
||||
<title>OpenRouter</title>
|
||||
<meta name="description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
|
||||
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, OpenRouter integration"/>
|
||||
<meta property="og:title" content="OpenRouter"/>
|
||||
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
|
||||
<meta property="og:url" content="https://jan.ai/guides/integration/openrouter"/>
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="OpenRouter"/>
|
||||
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
|
||||
</head>
|
||||
|
||||
## How to Integrate OpenRouter with Jan
|
||||
## Integrate OpenRouter with Jan
|
||||
|
||||
[OpenRouter](https://openrouter.ai/docs#quick-start) is a tool that gathers AI models. Developers can utilize its API to engage with diverse large language models, generative image models, and generative 3D object models.
|
||||
|
||||
@ -16,7 +41,7 @@ To connect Jan with OpenRouter for accessing remote Large Language Models (LLMs)
|
||||
1. Find your API keys in the [OpenRouter API Key](https://openrouter.ai/keys).
|
||||
2. Set the OpenRouter API key in `~/jan/engines/openai.json` file.
|
||||
|
||||
### Step 2: MModel Configuration
|
||||
### Step 2: Model Configuration
|
||||
|
||||
1. Go to the directory `~/jan/models`.
|
||||
2. Make a new folder called `openrouter-(modelname)`, like `openrouter-dolphin-mixtral-8x7b`.
|
||||
@ -50,7 +75,7 @@ To connect Jan with OpenRouter for accessing remote Large Language Models (LLMs)
|
||||
```
|
||||
|
||||
:::note
|
||||
For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson).
|
||||
For more details regarding the `model.json` settings and parameters fields, please see [here](/guides/engines/remote-server/#modeljson).
|
||||
:::
|
||||
|
||||
### Step 3 : Start the Model
|
||||
21
docs/docs/guides/integrations/unsloth.mdx
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Unsloth
|
||||
sidebar_position: 20
|
||||
slug: /integrations/unsloth
|
||||
description: A step-by-step guide on how to integrate Jan with Unsloth.
|
||||
keywords:
|
||||
[
|
||||
Jan AI,
|
||||
Jan,
|
||||
ChatGPT alternative,
|
||||
local AI,
|
||||
private AI,
|
||||
conversational AI,
|
||||
no-subscription fee,
|
||||
large language model,
|
||||
Continue integration,
|
||||
Unsloth integration,
|
||||
]
|
||||
---
|
||||
|
||||
Coming Soon
|
||||
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: Continue
|
||||
sidebar_position: 1
|
||||
title: Continue Integration
|
||||
sidebar_position: 18
|
||||
slug: /integrations/continue
|
||||
description: A step-by-step guide on how to integrate Jan with Continue and VS Code.
|
||||
keywords:
|
||||
[
|
||||
@ -17,10 +18,11 @@ keywords:
|
||||
]
|
||||
---
|
||||
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
## How to Integrate with Continue VS Code
|
||||
## Integrate with Continue VS Code
|
||||
|
||||
[Continue](https://continue.dev/docs/intro) is an open-source autopilot compatible with Visual Studio Code and JetBrains, offering the simplest method to code with any LLM (Local Language Model).
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Common Error
|
||||
slug: /guides/common-error/
|
||||
sidebar_position: 8
|
||||
title: Local Engines
|
||||
slug: /guides/engines/local
|
||||
sidebar_position: 13
|
||||
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
|
||||
keywords:
|
||||
[
|
||||
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 258 KiB After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 7.3 MiB After Width: | Height: | Size: 7.3 MiB |
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 12 MiB After Width: | Height: | Size: 12 MiB |