Merge pull request #5799 from menloresearch/ramon/docs-v0.6.5

This commit is contained in:
Ramon Perez 2025-07-17 20:26:04 +10:00 committed by GitHub
commit 333cd3a694
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
152 changed files with 2035 additions and 435 deletions

View File

@ -20,7 +20,7 @@
"embla-carousel-react": "^8.0.0",
"fs": "^0.0.1-security",
"gray-matter": "^4.0.3",
"lucide-react": "^0.372.0",
"lucide-react": "^0.522.0",
"next": "^14.1.4",
"next-seo": "^6.5.0",
"next-sitemap": "^4.2.3",
@ -1503,7 +1503,7 @@
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
"lucide-react": ["lucide-react@0.372.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } }, "sha512-0cKdqmilHXWUwWAWnf6CrrjHD8YaqPMtLrmEHXolZusNTr9epULCsiJwIOHk2q1yFxdEwd96D4zShlAj67UJdA=="],
"lucide-react": ["lucide-react@0.522.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-jnJbw974yZ7rQHHEFKJOlWAefG3ATSCZHANZxIdx8Rk/16siuwjgA4fBULpXEAWx/RlTs3FzmKW/udWUuO0aRw=="],
"lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="],

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

View File

@ -11,6 +11,11 @@
"type": "page",
"title": "Documentation"
},
"local-server": {
"type": "page",
"title": "Jan Local Server",
"display": "hidden"
},
"cortex": {
"type": "page",
"title": "Cortex",

View File

@ -0,0 +1,26 @@
---
title: "Jan v0.6.5 brings responsive UI and MCP examples!"
version: 0.6.5
description: "New MCP examples, updated pages, and bug fixes!"
date: 2025-07-17
ogImage: "/assets/images/changelog/release_v0_6_5.gif"
---
import ChangelogHeader from "@/components/Changelog/ChangelogHeader"
<ChangelogHeader title="Jan v0.6.5 brings responsive UI and MCP examples!" date="2025-07-17" ogImage="/assets/images/changelog/release_v0_6_5.gif" />
## Highlights 🎉
Jan v0.6.5 brings responsive UI improvements, enhanced model provider management, and better Linux compatibility alongside
new MCP examples.
- Support responsive UI on Jan
- Rework of Model Providers UI
- Bump version of llama.cpp
- Fix the bug where fetching models from custom provider can cause app to crash
- AppImage can now render on wayland + mesa
Update your Jan or [download the latest](https://jan.ai/).
For more details, see the [GitHub release notes](https://github.com/menloresearch/jan/releases/tag/v0.6.5).

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -17,17 +17,15 @@
"title": "TUTORIALS",
"type": "separator"
},
"quickstart": "Quickstart",
"remote-models": "Connect to Remote Models",
"server-examples": "Integrations",
"explanation-separator": {
"title": "EXPLANATION",
"type": "separator"
},
"llama-cpp": "Local AI Engine",
"api-server": "Server Overview",
"data-folder": "Jan Data Folder",
"model-parameters": "Model Parameters",
"privacy-policy": {
"type": "page",
"display": "hidden",
@ -40,13 +38,14 @@
},
"manage-models": "Manage Models",
"mcp": "Model Context Protocol",
"mcp-examples": "MCP Examples",
"reference-separator": {
"title": "REFERENCE",
"type": "separator"
},
"settings": "Settings",
"data-folder": "Jan Data Folder",
"troubleshooting": "Troubleshooting",
"model-parameters": "Model Parameters",
"privacy": "Privacy"
}

View File

@ -10,9 +10,5 @@
"linux": {
"title": "Linux",
"href": "/docs/desktop/linux"
},
"beta": {
"title": "BETA apps",
"href": "/docs/desktop/beta"
}
}

View File

@ -1,81 +0,0 @@
---
title: Beta Builds
description: Try out the latest features of Jan through our beta builds. Get early access to new features and help shape the future of Jan.
keywords:
[
Jan,
beta,
preview,
early-access,
testing,
development,
experimental-features,
feedback,
support
]
---
import { Tabs, Callout } from 'nextra/components'
# Jan Beta Builds
Welcome to Jan's beta program! Beta builds give you early access to new features and improvements before they reach the stable release. By participating in the beta program, you can help shape the future of Jan by providing feedback and reporting issues.
<Callout type="warning">
Beta builds may contain bugs and unstable features. We recommend using the stable release for production environments.
</Callout>
## Download Beta Builds
Get the latest beta builds for your platform:
<Tabs items={['macOS', 'Windows', 'Linux']}>
<Tabs.Tab>
- [MacOS Universal](https://app.jan.ai/download/beta/mac-universal)
</Tabs.Tab>
<Tabs.Tab>
- [Windows Installer](https://app.jan.ai/download/beta/win-x64)
</Tabs.Tab>
<Tabs.Tab>
- [jan.deb](https://app.jan.ai/download/beta/linux-amd64-deb)
- [jan.AppImage](https://app.jan.ai/download/beta/linux-amd64-appimage)
</Tabs.Tab>
</Tabs>
## Getting Help & Support
### Discord Community
Join our Discord community to:
- Get help with beta builds
- Discuss new features
- Connect with other beta testers
- Share feedback directly with the team
[Join our Discord Server](https://discord.com/channels/1107178041848909847/1149558035971321886) or report directly to [#🆘|jan-help](https://discord.com/channels/1107178041848909847/1192090449725358130)
### GitHub Issues
Found a bug or have a feature request? Let us know on GitHub:
1. Check if the issue has already been reported
2. Create a new issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- System information
- Screenshots if applicable
[File an Issue on GitHub](https://github.com/menloresearch/jan/issues)
## Beta Program Benefits
- Early access to new features
- Direct influence on product development
- Opportunity to shape Jan's future
- Access to beta-specific support channels
- Regular updates with the latest improvements
<Callout type="info">
Your feedback is invaluable in helping us improve Jan. Thank you for being part of our beta testing community!
</Callout>

View File

@ -1,6 +1,6 @@
---
title: llama.cpp
description: A step-by-step guide on how to customize the llama.cpp engine.
title: llama.cpp Engine
description: Understand and configure Jan's local AI engine for running models on your hardware.
keywords:
[
Jan,
@ -27,139 +27,181 @@ import { Tabs } from 'nextra/components'
import { Callout, Steps } from 'nextra/components'
import { Settings, EllipsisVertical, Plus, FolderOpen, Pencil } from 'lucide-react'
# Local Model Management
# Local AI Engine (llama.cpp)
## Overview
Jan uses **llama.cpp** for running local AI models. You can find its settings in **Settings** (<Settings width={16} height={16} style={{display:"inline"}}/>) > **Local Engine** > **llama.cpp**:
## What is llama.cpp?
llama.cpp is the engine that runs AI models locally on your computer. Think of it as the software that takes an AI model file and makes it actually work on your hardware - whether that's your CPU, graphics card, or Apple's M-series chips.
Originally created by Georgi Gerganov, llama.cpp is designed to run large language models efficiently on consumer hardware without requiring specialized AI accelerators or cloud connections.
## Why This Matters
**Privacy**: Your conversations never leave your computer
**Cost**: No monthly subscription fees or API costs
**Speed**: No internet required once models are downloaded
**Control**: Choose exactly which models to run and how they behave
## Accessing Engine Settings
Find llama.cpp settings at **Settings** (<Settings width={16} height={16} style={{display:"inline"}}/>) > **Local Engine** > **llama.cpp**:
<br/>
![llama.cpp](./_assets/llama.cpp-01-updated.png)
<br/>
These settings are for advanced users, you would want to check these settings when:
- Your AI models are running slowly or not working
- You've installed new hardware (like a graphics card)
- You want to tinker & test performance with different [backends](/docs/local-engines/llama-cpp#available-backends)
<Callout type="info">
These are advanced settings. You typically only need to adjust them if models aren't working properly or you want to optimize performance for your specific hardware.
</Callout>
## Engine Version and Updates
- **Engine Version**: View current version of llama.cpp engine
- **Check Updates**: Verify if a newer version is available & install available updates when it's available
## Engine Management
| Feature | What It Does | When You Need It |
|---------|-------------|------------------|
| **Engine Version** | Shows which version of llama.cpp you're running | Check compatibility with newer models |
| **Check Updates** | Downloads newer engine versions | When new models require updated engine |
| **Backend Selection** | Choose the version optimized for your hardware | After installing new graphics cards or when performance is poor |
## Available Backends
## Hardware Backends
Jan offers different backend variants for **llama.cpp** based on your operating system, you can:
- Download different backends as needed
- Switch between backends for different hardware configurations
- View currently installed backends in the list
Jan offers different backend versions optimized for your specific hardware. Think of these as different "drivers" - each one is tuned for particular processors or graphics cards.
<Callout type="warning">
Choose the backend that matches your hardware. Using the wrong variant may cause performance issues or prevent models from loading.
Using the wrong backend can make models run slowly or fail to load. Pick the one that matches your hardware.
</Callout>
<Tabs items={['Windows', 'Linux', 'macOS']}>
<Tabs.Tab>
### CUDA Support (NVIDIA GPUs)
- `llama.cpp-avx-cuda-11-7`
- `llama.cpp-avx-cuda-12-0`
- `llama.cpp-avx2-cuda-11-7`
- `llama.cpp-avx2-cuda-12-0`
- `llama.cpp-avx512-cuda-11-7`
- `llama.cpp-avx512-cuda-12-0`
- `llama.cpp-noavx-cuda-11-7`
- `llama.cpp-noavx-cuda-12-0`
### CPU Only
- `llama.cpp-avx`
- `llama.cpp-avx2`
- `llama.cpp-avx512`
- `llama.cpp-noavx`
### NVIDIA Graphics Cards (Recommended for Speed)
Choose based on your CUDA version (check NVIDIA Control Panel):
### Other Accelerators
- `llama.cpp-vulkan`
**For CUDA 12.0:**
- `llama.cpp-avx2-cuda-12-0` (most common)
- `llama.cpp-avx512-cuda-12-0` (newer Intel/AMD CPUs)
**For CUDA 11.7:**
- `llama.cpp-avx2-cuda-11-7` (most common)
- `llama.cpp-avx512-cuda-11-7` (newer Intel/AMD CPUs)
### CPU Only (No Graphics Card Acceleration)
- `llama.cpp-avx2` (most modern CPUs)
- `llama.cpp-avx512` (newer Intel/AMD CPUs)
- `llama.cpp-avx` (older CPUs)
- `llama.cpp-noavx` (very old CPUs)
### Other Graphics Cards
- `llama.cpp-vulkan` (AMD, Intel Arc, some others)
<Callout type="info">
- For detailed hardware compatibility, please visit our guide for [Windows](/docs/desktop/windows#compatibility).
- AVX, AVX2, and AVX-512 are CPU instruction sets. For best performance, use the most advanced instruction set your CPU supports.
- CUDA versions should match your installed NVIDIA drivers.
**Quick Test**: Start with `avx2-cuda-12-0` if you have an NVIDIA card, or `avx2` for CPU-only. If it doesn't work, try the `avx` variant.
</Callout>
</Tabs.Tab>
<Tabs.Tab>
### CUDA Support (NVIDIA GPUs)
- `llama.cpp-avx-cuda-11-7`
- `llama.cpp-avx-cuda-12-0`
- `llama.cpp-avx2-cuda-11-7`
- `llama.cpp-avx2-cuda-12-0`
- `llama.cpp-avx512-cuda-11-7`
- `llama.cpp-avx512-cuda-12-0`
- `llama.cpp-noavx-cuda-11-7`
- `llama.cpp-noavx-cuda-12-0`
### NVIDIA Graphics Cards
Same CUDA options as Windows:
- `llama.cpp-avx2-cuda-12-0` (most common)
- `llama.cpp-avx2-cuda-11-7` (older drivers)
### CPU Only
- `llama.cpp-avx`
- `llama.cpp-avx2`
- `llama.cpp-avx512`
- `llama.cpp-noavx`
- `llama.cpp-avx2` (most modern CPUs)
- `llama.cpp-avx512` (newer Intel/AMD CPUs)
- `llama.cpp-arm64` (ARM processors like Raspberry Pi)
### Other Accelerators
- `llama.cpp-vulkan`
- `llama.cpp-arm64`
<Callout type="info">
- For detailed hardware compatibility, please visit our guide for [Linux](docs/desktop/linux).
- AVX, AVX2, and AVX-512 are CPU instruction sets. For best performance, use the most advanced instruction set your CPU supports.
- CUDA versions should match your installed NVIDIA drivers.
</Callout>
### Other Graphics Cards
- `llama.cpp-vulkan` (AMD, Intel graphics)
</Tabs.Tab>
<Tabs.Tab>
### Apple Silicon
- `llama.cpp-mac-arm64`: For M1/M2/M3 Macs
### Intel
- `llama.cpp-mac-amd64`: For Intel-based Macs
### Apple Silicon (M1/M2/M3/M4)
- `llama.cpp-mac-arm64` (recommended)
### Intel Macs
- `llama.cpp-mac-amd64`
<Callout type="info">
For detailed hardware compatibility, please visit our guide for [Mac](/docs/desktop/mac#compatibility).
Apple Silicon Macs automatically use the GPU through Metal - no additional setup needed.
</Callout>
</Tabs.Tab>
</Tabs>
## Performance Settings
These control how efficiently models run:
| Setting | Description | Default |
|---------|-------------|---------|
| **Continuous Batching** | - Enables processing multiple requests simultaneously<br></br>- Improves throughput for concurrent operations | Enabled |
| **Parallel Operations** | - Number of prompts to run in parallel<br></br>- Affects model inference speed | 4 |
| **CPU Threads** | - Number of CPU cores to use when running without GPU<br></br>- Higher thread counts may improve performance but increase CPU usage | Auto-detected based on your system's capabilities |
| Setting | What It Does | Recommended Value | Impact |
|---------|-------------|------------------|---------|
| **Continuous Batching** | Process multiple requests at once | Enabled | Faster when using multiple tools or having multiple conversations |
| **Parallel Operations** | How many requests to handle simultaneously | 4 | Higher = more multitasking, but uses more memory |
| **CPU Threads** | How many processor cores to use | Auto-detected | More threads can speed up CPU processing |
## Memory Settings
| Setting | Description | Default |
|---------|-------------|---------|
| **Flash Attention** | - Optimizes attention computation<br></br>- Reduces memory usage<br></br>- Recommended for most cases | Enabled |
| **Caching** | - Enable to store recent prompts and responses<br></br>- Improves response time for repeated prompts | Enabled |
| **KV Cache Type** | - KV cache implementation type; controls memory usage and precision trade-off<br></br>- Options:<br></br>• f16 (most stable)<br></br>• q8_0 (balanced)<br></br>• q4_0 (lowest memory) | f16 |
| **mmap** | - Enables memory-mapped model loading<br></br>- Reduces memory usage<br></br>- Recommended for large models | Enabled |
| **Context Shift** | - Automatically shifts the context window when the model is unable to process the entire prompt<br/> - Ensures that the most relevant information is always included <br/> - Recommended for long conversations and multiple tool calls | Disabled |
These control how models use your computer's memory:
| Setting | What It Does | Recommended Value | When to Change |
|---------|-------------|------------------|----------------|
| **Flash Attention** | More efficient memory usage | Enabled | Leave enabled unless you have problems |
| **Caching** | Remember recent conversations | Enabled | Speeds up follow-up questions |
| **KV Cache Type** | Memory precision trade-off | f16 | Change to q8_0 or q4_0 if running out of memory |
| **mmap** | Load models more efficiently | Enabled | Helps with large models |
| **Context Shift** | Handle very long conversations | Disabled | Enable for very long chats or multiple tool calls |
## Best Practices
- Start with default settings
- Adjust based on your hardware capabilities
- Monitor system performance
- Test changes with your specific use case
### KV Cache Types Explained
- **f16**: Most stable, uses more memory
- **q8_0**: Balanced memory usage and quality
- **q4_0**: Uses least memory, slight quality loss
## Troubleshooting Common Issues
**Models won't load:**
- Try a different backend (switch from CUDA to CPU or vice versa)
- Check if you have enough RAM/VRAM
- Update to latest engine version
**Very slow performance:**
- Make sure you're using GPU acceleration (CUDA/Metal/Vulkan backend)
- Increase GPU Layers in model settings
- Close other memory-intensive programs
**Out of memory errors:**
- Reduce Context Size in model settings
- Switch KV Cache Type to q8_0 or q4_0
- Try a smaller model variant
**Random crashes:**
- Switch to a more stable backend (try avx instead of avx2)
- Disable overclocking if you have it enabled
- Update graphics drivers
## Quick Setup Guide
**For most users:**
1. Use the default backend that Jan installs
2. Leave all performance settings at defaults
3. Only adjust if you experience problems
**If you have an NVIDIA graphics card:**
1. Download the appropriate CUDA backend
2. Make sure GPU Layers is set high in model settings
3. Enable Flash Attention
**If models are too slow:**
1. Check you're using GPU acceleration
2. Try enabling Continuous Batching
3. Close other applications using memory
**If running out of memory:**
1. Change KV Cache Type to q8_0
2. Reduce Context Size in model settings
3. Try a smaller model
<Callout type="info">
Performance impact varies by hardware, model size, and usage patterns.
Most users can run Jan successfully without changing any of these settings. The defaults are chosen to work well on typical hardware.
</Callout>

View File

@ -0,0 +1,290 @@
---
title: E2B Code Sandbox
description: Execute Python code securely in isolated sandbox environments with E2B.
keywords:
[
Jan,
MCP,
Model Context Protocol,
E2B,
code execution,
sandbox,
data analysis,
Python,
secure computing,
tool calling,
]
---
import { Callout, Steps } from 'nextra/components'
# E2B Code Sandbox MCP
E2B MCP provides isolated Python execution environments. Your AI can run actual code instead of just describing what code might do.
The real value emerges when you combine secure remote execution with Jan's flexible model selection. You can use
local models for conversation and reasoning while offloading actual computation to E2B's sandboxes. This means you
get the privacy and control of local models plus the computational power of cloud infrastructure, without the
complexity of managing Python environments or dependencies locally.
## Setup
### Prerequisites
- Jan with MCP enabled
- E2B API key from [e2b.dev](https://e2b.dev/)
- Node.js installed
- Model with tool calling support
### Configuration
1. **Enable MCP**: Go to **Settings** > **MCP Servers**, toggle **Allow All MCP Tool Permission** ON
![Turn on MCP](../../_assets/mcp-on.png)
<Callout type="info">
Don't forget that MCP gets enabled once you turn on Experimental Features in Jan's General settings.
</Callout>
2. **Get API Key**: Sign up at [e2b.dev](https://e2b.dev/), generate an API key
![E2B API Key](../../_assets/e2b-key.png)
Add a meaningful name to your key.
![E2B MCP Server](../../_assets/e2b-key1.png)
3. **Add MCP Server**: Click `+` in MCP Servers section
Configure:
- **Server Name**: `e2b-server`
- **Command**: `npx`
- **Arguments**: `@e2b/mcp-server`
- **Environment Variables**:
- Key: `E2B_API_KEY`
- Value: `your-api-key`
![E2B MCP Server](../../_assets/e2b-key2.png)
4. **Verify**: Check server shows as active
![E2B MCP Server](../../_assets/e2b-key3.png)
## Pre-installed Libraries
The sandbox includes these packages by default:
**Data Analysis & Science:**
- `pandas` (1.5.3) - Data manipulation
- `numpy` (1.26.4) - Numerical computing
- `scipy` (1.12.0) - Scientific computing
- `scikit-learn` (1.4.1) - Machine learning
- `sympy` (1.12) - Symbolic mathematics
**Visualization:**
- `matplotlib` (3.8.3) - Static plots
- `seaborn` (0.13.2) - Statistical visualization
- `plotly` (5.19.0) - Interactive charts
- `bokeh` (3.3.4) - Web-ready visualizations
**Data Processing:**
- `requests` (2.26.0) - HTTP requests
- `beautifulsoup4` (4.12.3) - HTML/XML parsing
- `openpyxl` (3.1.2) - Excel files
- `python-docx` (1.1.0) - Word documents
**Text & NLP:**
- `nltk` (3.8.1) - Natural language processing
- `spacy` (3.7.4) - Advanced NLP
- `textblob` (0.18.0) - Text processing
- `gensim` (4.3.2) - Topic modeling
**Image & Audio:**
- `opencv-python` (4.9.0) - Computer vision
- `scikit-image` (0.22.0) - Image processing
- `imageio` (2.34.0) - Image I/O
- `librosa` (0.10.1) - Audio analysis
Additional packages can be installed as needed.
## Examples
For the following examples, we'll use Claude 4 Sonnet but you can use any local or remote
model with tool calling capabilities you'd like.
<Callout type="info">
Make sure you activate Tools on the model you're using.
</Callout>
![E2B MCP Server](../../_assets/e2b-key4.png)
### Basic Data Analysis
Start small. Open a new chat, confirm that the model has tools enabled and ask it to create a small dataset of 100 students with grades and study hours.
![Chat and use E2B MCP ](../../_assets/e2b-key5.png)
```
Create a small dataset of 100 students with grades and study hours.
Calculate the correlation and create a scatter plot.
```
The model will:
1. Generate data with pandas (100 rows)
2. Calculate correlation coefficient
3. Create a matplotlib scatter plot
4. Add trend line
![Chat and use E2B MCP ](../../_assets/e2b-key6.png)
![Chat and use E2B MCP ](../../_assets/e2b-key7.png)
<Callout type="warning">
As of `v0.6.5`, Jan won't be able to display visualizations in the chat but we're to get this fixed for the next release.
</Callout>
### Statistical Computing
```
Run a Monte Carlo simulation with 10,000 iterations to estimate π.
```
Expected output:
- Numerical computation with numpy
- Convergence plot showing estimate improvement
- Final π estimate
For more intensive simulations, increase iterations gradually and monitor performance.
### Machine Learning
```
Create a simple 2-class dataset with 200 samples. Train a logistic regression
model and visualize the decision boundary.
```
The model will:
- Generate synthetic 2D classification data
- Train a single scikit-learn model
- Plot data points and decision boundary
### Time Series Analysis
```
Generate daily temperature data for one year. Calculate moving averages
and identify seasonal patterns.
```
Output includes:
- Line plot of temperature data
- Moving average overlay
- Simple seasonal decomposition
### Scaling Up
Once basic examples work, you can increase complexity:
- Larger datasets (1000+ samples)
- Multiple models for comparison
- Complex visualizations with subplots
- Advanced statistical tests
The sandbox handles moderate computational loads well. For very large datasets or intensive ML training, consider breaking work into smaller chunks.
## Chart Generation
E2B automatically detects and extracts charts from matplotlib code. Charts are returned as base64-encoded images and downloadable files.
### Static Charts
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.show()
```
E2B captures the plot and makes it available for download.
### Interactive Charts
The system extracts chart data for frontend visualization:
```python
plt.bar(['A', 'B', 'C'], [10, 20, 15])
plt.title('Sample Bar Chart')
plt.show()
```
Returns structured data:
```json
{
"type": "bar",
"title": "Sample Bar Chart",
"elements": [
{"label": "A", "value": 10},
{"label": "B", "value": 20},
{"label": "C", "value": 15}
]
}
```
Supported chart types: line, bar, scatter, pie, box plots.
## Available Tools
- **run_code**: Execute Python code
- **install_package**: Add Python packages
- **create_file**: Save files to sandbox
- **read_file**: Access sandbox files
- **list_files**: Browse sandbox contents
## Troubleshooting
**Connection Issues:**
- Verify API key is correct
- Check Node.js installation
- Restart Jan if server won't start
**Execution Problems:**
- Free sandboxes have 2 cores and 1GB RAM - start with small datasets
- Large computations may time out or run out of memory
- Scale up complexity gradually after testing basic examples
- Some packages may require explicit installation
**Package Installation:**
- Most data science packages install successfully
- System dependencies may cause failures for some packages
- Try alternative packages if installation fails
<Callout type="warning">
E2B has computational and memory limits. Break large operations into smaller chunks if needed.
</Callout>
## Use Cases
E2B is useful for:
- **Academic Research**: Statistical analysis, data visualization, hypothesis testing
- **Data Science**: Exploratory data analysis, model prototyping, result validation
- **Financial Analysis**: Portfolio optimization, risk calculations, market simulations
- **Scientific Computing**: Numerical simulations, mathematical modeling, algorithm testing
- **Prototyping**: Quick algorithm validation, proof-of-concept development
The sandbox provides isolated execution without local environment setup or dependency management.

View File

@ -0,0 +1,216 @@
---
title: Exa Search MCP
description: Connect Jan to real-time web search with Exa's AI-powered search engine.
keywords:
[
Jan,
MCP,
Model Context Protocol,
Exa,
web search,
real-time search,
research,
AI search,
tool calling,
]
---
import { Callout, Steps } from 'nextra/components'
# Exa Search MCP
[Exa MCP](https://docs.exa.ai/examples/exa-mcp) provides real-time web search capabilities for AI models. Instead of relying on training data,
models can access current web content through Exa's search API.
## Available Tools
Exa MCP includes eight search functions:
- `web_search_exa`: General web search with content extraction
- `research_paper_search`: Academic papers and research content
- `company_research`: Company analysis and business intelligence
- `crawling`: Extract content from specific URLs
- `competitor_finder`: Find business competitors
- `linkedin_search`: Search LinkedIn profiles and companies
- `wikipedia_search_exa`: Wikipedia content retrieval
- `github_search`: Repository and code search
## Prerequisites
- Jan with MCP enabled
- Exa API key from [dashboard.exa.ai](https://dashboard.exa.ai/api-keys)
- Model with tool calling support
- Node.js installed
<Callout type="info">
Tool calling support varies by model. Jan Nano 32k and 128k, Claude, Gemini, GPT-4o and above models work reliably. For both local and remote models,
verify tool calling is enabled in model parameters.
</Callout>
## Setup
### Enable MCP
1. Go to **Settings** > **MCP Servers**
2. Toggle **Allow All MCP Tool Permission** ON
![MCP settings page with toggle enabled](../../_assets/mcp-on.png)
### Get API Key
1. Visit [dashboard.exa.ai/api-keys](https://dashboard.exa.ai/api-keys)
2. Create account or sign in
3. Generate API key
4. Save the key
![Exa API Key](../../_assets/exa.png)
### Configure MCP Server
Click `+` in MCP Servers section:
**Configuration:**
- **Server Name**: `exa`
- **Command**: `npx`
- **Arguments**: `-y exa-mcp-server`
- **Environment Variables**:
- Key: `EXA_API_KEY`
- Value: `your-api-key`
![Exa Jan MCP Server](../../_assets/exa1.png)
### Verify Setup
Check server status in the MCP Servers list.
![Exa Jan MCP Server](../../_assets/exa2.png)
### Model Configuration
Use a compatible model provider:
- **Jan Nano 32k**
- **Anthropic**
- **OpenAI**
- **OpenRouter**
![E2B MCP Server](../../_assets/e2b-key4.png)
## Usage
Start a new chat with a tool-enabled model. Exa tools will appear in the available tools list.
![Exa Tools Available](../../_assets/exa3.png)
### Example Queries
**Current Events & Activities:**
```
What is happening this week, mid July 2025, in Sydney, Australia?
```
![Exa Tools Available](../../_assets/exa4.png)
**Investment Research:**
```
Find recent research papers about quantum computing startups that received Series A funding in 2024-2025
```
**Tech Discovery:**
```
Find GitHub repositories for WebAssembly runtime engines written in Rust with active development
```
**Career Intelligence:**
```
Search LinkedIn for AI safety researchers at major tech companies who published papers in the last 6 months
```
**Competitive Analysis:**
```
Research emerging competitors to OpenAI in the large language model space, focusing on companies founded after 2023
```
**Travel & Local Research:**
```
Find authentic local food experiences in Tokyo that aren't in typical tourist guides, mentioned in recent travel blogs
```
**Academic Research:**
```
Find recent papers about carbon capture technology breakthroughs published in Nature or Science during 2025
```
**Creator Economy:**
```
Research successful creators who transitioned from TikTok to longer-form content platforms in 2024-2025
```
**Emerging Tech Trends:**
```
Find startups working on brain-computer interfaces that have raised funding in the past 12 months
```
**Health & Wellness:**
```
Extract information about the latest longevity research findings from Peter Attia's recent podcast episodes
```
**Regulatory Intelligence:**
```
Find recent AI regulation developments in the EU that could impact US companies, focusing on July 2025 updates
```
**Supply Chain Research:**
```
Research companies developing sustainable packaging alternatives that have partnerships with major retailers
```
## Use Cases
### Academic Research
Literature reviews, finding recent papers, tracking research trends.
### Business Intelligence
Competitor analysis, market research, company information gathering.
### Technical Research
Finding libraries, tools, and code repositories. Documentation research.
### Content Analysis
Extracting and analyzing content from specific URLs for research.
### Professional Search
LinkedIn searches for industry connections and expertise.
## Troubleshooting
**Connection Issues:**
- Verify API key accuracy
- Check Node.js installation
- Restart Jan
- Make sure you have enough credits in your Exa account
**Tool Calling Problems:**
- Confirm tool calling is enabled for your model
- Try Jan Nano 32k, Claude, Gemini, GPT-4o and above models
- Check MCP server status
**Search Quality:**
- Use specific, descriptive queries
- Prefer natural language over keywords
**API Errors:**
- Verify API key at [dashboard.exa.ai](https://dashboard.exa.ai)
- Check rate limits on your plan
- Regenerate API key if needed
<Callout type="warning">
Exa has API rate limits. Check your plan limits to avoid interruptions.
</Callout>
## Next Steps
Exa MCP enables real-time web search within Jan's privacy-focused environment. Models can access current information while maintaining
local conversation processing.

View File

@ -1,6 +1,6 @@
---
title: Model Parameters
description: Manage your interaction with AI locally.
description: Customize how your AI models behave and perform.
keywords:
[
Jan,
@ -12,64 +12,99 @@ keywords:
conversational AI,
no-subscription fee,
large language models,
threads,
chat history,
thread history,
model settings,
parameters,
]
---
import { Callout, Steps } from 'nextra/components'
# Model Parameters
To customize model settings for a conversation or a model:
- In **Threads**, click the **Gear icon** next to selected model
- Or, in **Settings > Model Providers > Llama.cpp**, click the **gear icon** next to a model for advanced settings
- Click the **edit button** next to a model to configure capabilities
## Inference & Engine Parameters (Gear Icon)
These settings are available in the model settings modal:
| Parameter | Description |
|---------------------|-------------|
| **Context Size** | Maximum prompt context length (how much text the model can consider at once). |
| **GPU Layers** | Number of model layers to offload to GPU. More layers = faster, but uses more VRAM. |
| **Temperature** | Controls response randomness. Lower = more focused, higher = more creative. |
| **Top K** | Top-K sampling. Limits next token selection to the K most likely. |
| **Top P** | Top-P (nucleus) sampling. Limits next token selection to a cumulative probability. |
| **Min P** | Minimum probability for token selection. |
| **Repeat Last N** | Number of tokens to consider for repeat penalty. |
| **Repeat Penalty** | Penalize repeating token sequences. |
| **Presence Penalty**| Penalize alpha presence (encourages new topics). |
| **Frequency Penalty** | Reduces word repetition. |
Model parameters control how your AI thinks and responds. Think of them as the AI's personality settings and performance controls.
## How to Access Settings
**For individual conversations:**
- In **Threads**, click the **gear icon** next to your selected model
**For permanent model settings:**
- Go to **Settings > Model Providers > Llama.cpp**, click the **gear icon** next to a model
**For model capabilities:**
- Click the **edit button** next to a model to enable features like vision or tools
## Performance Settings (Gear Icon)
These settings control how the model thinks and performs:
| Setting | What It Does | Simple Explanation |
|---------|-------------|-------------------|
| **Context Size** | How much text the model remembers | Like the model's working memory. Larger = remembers more of your conversation, but uses more computer memory. |
| **GPU Layers** | How much work your graphics card does | More layers on GPU = faster responses, but needs more graphics memory. Start high and reduce if you get errors. |
| **Temperature** | How creative vs. predictable responses are | Low (0.1-0.3) = focused, consistent answers. High (0.7-1.0) = creative, varied responses. Try 0.7 for general use. |
| **Top K** | How many word choices the model considers | Smaller numbers (20-40) = more focused. Larger numbers (80-100) = more variety. Most people don't need to change this. |
| **Top P** | Another way to control word variety | Works with Top K. Values like 0.9 work well. Lower = more focused, higher = more creative. |
| **Min P** | Minimum chance a word needs to be chosen | Prevents very unlikely words. Usually fine at default settings. |
| **Repeat Last N** | How far back to check for repetition | Helps prevent the model from repeating itself. Default values usually work well. |
| **Repeat Penalty** | How much to avoid repeating words | Higher values (1.1-1.3) reduce repetition. Too high makes responses awkward. |
| **Presence Penalty** | Encourages talking about new topics | Higher values make the model explore new subjects instead of staying on one topic. |
| **Frequency Penalty** | Reduces word repetition | Similar to repeat penalty but focuses on how often words are used. |
<br/>
![Model Parameters](./_assets/model-parameters.png)
<br/>
## Model Capabilities (Edit Button)
These toggles are available when you click the edit button next to a model:
- **Vision**: Enable image input/output
- **Tools**: Enable advanced tools (web search, file ops, code)
- **Embeddings**: Enable embedding generation
- **Web Search**: Allow model to search the web
- **Reasoning**: Enable advanced reasoning features
<br/>
These toggle switches enable special features:
- **Vision**: Let the model see and analyze images you share
- **Tools**: Enable advanced features like web search, file operations, and code execution
- **Embeddings**: Allow the model to create numerical representations of text (for advanced users)
- **Web Search**: Let the model search the internet for current information
- **Reasoning**: Enable step-by-step thinking for complex problems
![Model Capabilities Edit 01](./_assets/model-capabilities-edit-01.png)
![Model Capabilities Edit 02](./_assets/model-capabilities-edit-02.png)
<br/>
### Model Parameters
This setting defines and configures the model's behavior.
| Parameter | Description |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Prompt Template** | A structured format that guides how the model should respond. Contains **placeholders** and **instructions** that help shape the model's output in a consistent way.|
## Hardware Settings
### Engine Parameters
These settings parameters control how the model runs on your hardware.
| Parameter | Description |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Number of GPU Layers (ngl)** | - Controls how many layers of the model run on your GPU.<br></br>- More layers on GPU generally means faster processing, but requires more GPU memory.|
| **Context Length** | - Controls how much text the model can consider at once.<br></br>- Longer context allows the model to handle more input but uses more memory and runs slower.<br></br>- The maximum context length varies with the model used.<br></br>|
These control how efficiently the model runs on your computer:
### GPU Layers
Think of your model as a stack of layers, like a cake. Each layer can run on either your main processor (CPU) or graphics card (GPU). Your graphics card is usually much faster.
- **More GPU layers** = Faster responses, but uses more graphics memory
- **Fewer GPU layers** = Slower responses, but uses less graphics memory
Start with the maximum number and reduce if you get out-of-memory errors.
### Context Length
This is like the model's short-term memory - how much of your conversation it can remember at once.
- **Longer context** = Remembers more of your conversation, better for long discussions
- **Shorter context** = Uses less memory, runs faster, but might "forget" earlier parts of long conversations
<Callout type="info">
By default, Jan defaults to the minimum between **8192** and the model's maximum context length, you can adjust this based on your needs.
Jan defaults to 8192 tokens (roughly 6000 words) or your model's maximum, whichever is smaller. This handles most conversations well.
</Callout>
## Quick Setup Guide
**For most users:**
1. Enable **Tools** if you want web search and code execution
2. Set **Temperature** to 0.7 for balanced creativity
3. Max out **GPU Layers** (reduce only if you get memory errors)
4. Leave other settings at defaults
**For creative writing:**
- Increase **Temperature** to 0.8-1.0
- Increase **Top P** to 0.95
**For factual/technical work:**
- Decrease **Temperature** to 0.1-0.3
- Enable **Tools** for web search and calculations
**Troubleshooting:**
- **Responses too repetitive?** Increase Temperature or Repeat Penalty
- **Out of memory errors?** Reduce GPU Layers or Context Size
- **Responses too random?** Decrease Temperature
- **Model running slowly?** Increase GPU Layers (if you have VRAM) or reduce Context Size

View File

@ -1,143 +0,0 @@
---
title: Installation
description: Jan is an open-source ChatGPT-alternative and self-hosted AI platform - build and run AI on your own desktop or server.
sidebar_position: 2
keywords:
[
Jan,
Customizable Intelligence, LLM,
local AI,
privacy focus,
free and open source,
private and offline,
conversational AI,
no-subscription fee,
large language models,
quickstart,
getting started,
using AI model,
installation,
]
---
import { Callout, Steps } from 'nextra/components'
import { Settings } from 'lucide-react'
# Quickstart
<Steps>
### Step 1: Install Jan
1. [Download Jan](/download)
2. Install the app on your system ([Mac](/docs/desktop/mac), [Windows](/docs/desktop/windows), [Linux](/docs/desktop/linux))
3. Launch Jan
Once installed, you'll see Jan's interface with no pre-installed models. You can:
- Download and run local AI models
- Connect to cloud-based AI model providers if desired
<br/>
![Default State](./_assets/jan_ui.png)
<br/>
### Step 2: Download a Model
Jan offers various local AI models, from nimble lightweights to hefty powerhouses:
1. Go to the **Hub Tab** or to [HuggingFace](https://huggingface.co/models) where you will be able
to find even more models alongside their details. (TIP: You can copy the URL or name of the model on the Hub Tab
and download it there.)
2. Browse models and tap any for details (Models need to be in GGUF format)
3. Select one that matches your needs & hardware specs
4. Hit **Download** to begin (a progress bar will appear for the duration of the download)
<br/>
![Download a Model](./_assets/model-management-01.png)
<br/>
<Callout type="warning">
Local models consume your computer's memory and processing power. Choose carefully based on your hardware
specifications ([Mac](/docs/desktop/mac#minimum-requirements), [Windows](/docs/desktop/windows#compatibility),
[Linux](/docs/desktop/linux#compatibility)).
</Callout>
**Note:** Some Hugging Face models require an access token. Enter yours
in **Settings > Model Providers > Llama.cpp > Hugging Face Access Token** before importing.
<br/>
![Add HF Token](./_assets/hf_token.png)
<br/>
For alternative installation methods, see the [Model Management](/manage-models) section.
### Step 3: Turn on GPU Acceleration (Optional)
While your model downloads, let's supercharge your setup. On **Windows** or **Linux** with
a compatible graphics card, you can dramatically boost performance with GPU acceleration.
1. Head to **(<Settings width={16} height={16} style={{display:"inline"}}/>) Settings** > **Hardware**
2. Under **GPUs**, toggle the setting to ON if not already enabled.
![Turn on GPU acceleration](./_assets/gpu_accl.png)
<Callout type="info">
Install all required dependencies and drivers before enabling GPU acceleration. Check the **GPU Setup Guide** for [Windows](/docs/desktop/windows#gpu-acceleration) & [Linux](/docs/desktop/linux#gpu-acceleration).
</Callout>
<br/>
### Step 4: Customize Assistant Instructions
With your model ready to roll, you can tailor how it responds by tweaking instructions or model configurations
through the [Assistants feature](/docs/assistants).
<br/>
![Assistant Instruction](./_assets/assistant-dropdown.png)
<br/>
You can also go to the assistant tab to manage all of your personalized instructions. The cool thing about
these is that you can use them no matter which model you choose.
<br/>
![Add an Assistant Instruction](./_assets/assistant-edit-dialog.png)
<br/>
### Step 5: Start Chatting and Update the Settings
Model downloaded? Instructions set? Time to chat. Type your message in the **input field** at
the bottom to kickstart the conversation.
Fine-tune your experience by:
- Tweaking [model parameters](/docs/model-parameters) via the **Gear icon** next to your model or in **Assistant Settings**
- Switching models for different tasks through the **model selector** in **Model** tab or **input field**
- [Creating new threads](/docs/threads#creating-new-thread) with custom instructions and configurations
<br/>
![Chat with a Model](./_assets/model-parameters.png)
<br/>
### Step 6: Connect to cloud models (Optional)
Jan plays nice with both open source and cloud models. Connect to OpenAI (GPT-4o, o1), Anthropic (Claude), Groq, Mistral, and others:
1. Open any **Thread**
2. Select a model from the **model selector** dropdown
3. Pick your provider, click the **Gear icon** beside it
4. Grab a valid API key from your chosen provider (make sure it has sufficient credits)
5. Paste your **API Key** into Jan
For detailed setup, check [Remote APIs](/docs/remote-models/openai).
<br/>
![Connect Remote APIs](./_assets/quick-start-03.png)
<br/>
</Steps>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 KiB

View File

@ -1,86 +1,145 @@
---
title: Start Chatting
description: Manage your interaction with AI models locally.
description: Download models and manage your conversations with AI models locally.
keywords:
[
Jan,
Customizable Intelligence, LLM,
local AI,
privacy focus,
free and open source,
private and offline,
conversational AI,
no-subscription fee,
large language models,
LLM,
chat,
threads,
chat history,
thread history,
models,
download,
installation,
conversations,
]
---
import { Callout } from 'nextra/components'
import { SquarePen, Pencil, Ellipsis, Paintbrush, Trash2 } from 'lucide-react'
import { Callout, Steps } from 'nextra/components'
import { SquarePen, Pencil, Ellipsis, Paintbrush, Trash2, Settings } from 'lucide-react'
# Start Chatting
# Chat with a Model
<Steps>
Jan organizes your conversations with a model into chats or threads, making it easy to track and revisit
your interactions. This guide will help you effectively manage your chat history.
### Step 1: Install Jan
## Creating New Conversation/Thread
1. Click **New Chat** (<SquarePen width={16} height={16} style={{display:"inline"}}/>) icon on the
bottom left of Jan.
2. Select your preferred model in **Model Selector** in input field & start chatting.
1. [Download Jan](/download)
2. Install the app ([Mac](/docs/desktop/mac), [Windows](/docs/desktop/windows), [Linux](/docs/desktop/linux))
3. Launch Jan
<br/>
![Create New Thread](./_assets/threads-new-chat-updated.png)
### Step 2: Download a Model
## View Your Chat History
Jan requires a model to chat. Download one from the Hub:
1. Once you open Jan, the default screen is **Chat**
2. On the **left sidebar**, you can:
- View your **Conversations** and scroll through your history
- Click any chat to open the full conversation
1. Go to the **Hub Tab**
2. Browse available models (must be GGUF format)
3. Select one matching your hardware specs
4. Click **Download**
## Favorites and Recents
Jan helps you quickly access important and recent conversations with **Favorites** and **Recents**
in the left sidebar:
- **Favorites**: Pin threads you use often for instant access. Click the three dots icon on the right of the
thread and a context menu will pop up with the favorite option for you to click on.
- **Recents**: See your most recently accessed threads for quick navigation.
<br/>
![Favorites and Recents](./_assets/threads-favorites-and-recents-updated.png)
## Edit a Chat Title
1. Navigate to the **Conversation** that you want to edit title on the sidebar to your left
2. Hover on the conversation and click on **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
3. Click <Pencil width={16} height={16} style={{display:"inline"}}/> **Rename**
4. Add new title & save
<br/>
![Context Menu](./_assets/threads-context-menu-updated.png)
## Delete Thread
![Download a Model](./_assets/model-management-01.png)
<Callout type="warning">
There's no undo for chat deletion, so make sure you REALLY want to remove it permanently.
Models consume memory and processing power. Choose based on your hardware specs.
</Callout>
When you want to completely remove a thread:
**HuggingFace models:** Some require an access token. Add yours in **Settings > Model Providers > Llama.cpp > Hugging Face Access Token**.
1. Navigate to the **Thread** that you want to delete in left sidebar
2. Hover on the thread and click on **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
![Add HF Token](./_assets/hf_token.png)
### Step 3: Enable GPU Acceleration (Optional)
For Windows/Linux with compatible graphics cards:
1. Go to **(<Settings width={16} height={16} style={{display:"inline"}}/>) Settings** > **Hardware**
2. Toggle **GPUs** to ON
![Turn on GPU acceleration](./_assets/gpu_accl.png)
<Callout type="info">
Install required drivers before enabling GPU acceleration. See setup guides for [Windows](/docs/desktop/windows#gpu-acceleration) & [Linux](/docs/desktop/linux#gpu-acceleration).
</Callout>
### Step 4: Start Chatting
1. Click **New Chat** (<SquarePen width={16} height={16} style={{display:"inline"}}/>) icon
2. Select your model in the input field dropdown
3. Type your message and start chatting
![Create New Thread](./_assets/threads-new-chat-updated.png)
</Steps>
## Managing Conversations
Jan organizes conversations into threads for easy tracking and revisiting.
### View Chat History
- **Left sidebar** shows all conversations
- Click any chat to open the full conversation
- **Favorites**: Pin important threads for quick access
- **Recents**: Access recently used threads
![Favorites and Recents](./_assets/threads-favorites-and-recents-updated.png)
### Edit Chat Titles
1. Hover over a conversation in the sidebar
2. Click **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
3. Click <Pencil width={16} height={16} style={{display:"inline"}}/> **Rename**
4. Enter new title and save
![Context Menu](./_assets/threads-context-menu-updated.png)
### Delete Threads
<Callout type="warning">
Thread deletion is permanent. No undo available.
</Callout>
**Single thread:**
1. Hover over thread in sidebar
2. Click **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
3. Click <Trash2 width={16} height={16} style={{display:"inline"}}/> **Delete**
**All threads:**
1. Hover over `Recents` category
2. Click **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
3. Select <Trash2 width={16} height={16} style={{display:"inline"}}/> **Delete All**
<br/>
![Delete Thread](./_assets/threads-context-menu-updated.png)
## Advanced Features
### Delete all threads at once
### Custom Assistant Instructions
In case you need to remove all conversations at once:
1. Hover on the `Recents` category and click on **three dots** (<Ellipsis width={16} height={16} style={{display:"inline"}}/>) icon
2. Select <Trash2 width={16} height={16} style={{display:"inline"}}/> **Delete All**
Customize how models respond:
1. Use the assistant dropdown in the input field
2. Or go to the **Assistant tab** to create custom instructions
3. Instructions work across all models
![Assistant Instruction](./_assets/assistant-dropdown.png)
![Add an Assistant Instruction](./_assets/assistant-edit-dialog.png)
### Model Parameters
Fine-tune model behavior:
- Click the **Gear icon** next to your model
- Adjust parameters in **Assistant Settings**
- Switch models via the **model selector**
![Chat with a Model](./_assets/model-parameters.png)
### Connect Cloud Models (Optional)
Connect to OpenAI, Anthropic, Groq, Mistral, and others:
1. Open any thread
2. Select a cloud model from the dropdown
3. Click the **Gear icon** beside the provider
4. Add your API key (ensure sufficient credits)
![Connect Remote APIs](./_assets/quick-start-03.png)
For detailed setup, see [Remote APIs](/docs/remote-models/openai).

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 KiB

Some files were not shown because too many files have changed in this diff Show More