416 Commits

Author SHA1 Message Date
hiento09
745b2cafce chore: update api domain to jan.ai (#6832) 2025-10-28 15:52:22 +07:00
hiento09
6538ded65f chore: api change domain to menlo.ai (#6764) 2025-10-08 13:27:14 +07:00
Dinh Long Nguyen
e6bc1182a6
Merge branch 'dev' into feat/sync-release=to-dev 2025-09-30 22:04:27 +07:00
Minh141120
631a95e018 ci: add upload msi installer for windows 2025-09-30 20:12:53 +07:00
Minh141120
dcb511023d ci: add upload .msi artifact 2025-09-30 15:41:04 +07:00
Louis
5fd249c72d
refactor: deprecate Vulkan external binaries (#6638)
* refactor: deprecate vulkan binary

refactor: clean up vulkan lib

chore: cleanup

chore: clean up

chore: clean up

fix: build

* fix: skip binaries download env

* Update src-tauri/utils/src/system.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src-tauri/utils/src/system.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-29 17:47:59 +07:00
Minh141120
fb9bbb66b0 refactor: remove mise 2025-09-26 12:42:01 +07:00
Akarshan Biswas
11b3a60675
fix: refactor, fix and move gguf support utilities to backend (#6584)
* feat: move estimateKVCacheSize to BE

* feat: Migrate model planning to backend

This commit migrates the model load planning logic from the frontend to the Tauri backend. This refactors the `planModelLoad` and `isModelSupported` methods into the `tauri-plugin-llamacpp` plugin, making them directly callable from the Rust core.

The model planning now incorporates a more robust and accurate memory estimation, considering both VRAM and system RAM, and introduces a `batch_size` parameter to the model plan.

**Key changes:**

- **Moved `planModelLoad` to `tauri-plugin-llamacpp`:** The core logic for determining GPU layers, context length, and memory offloading is now in Rust for better performance and accuracy.
- **Moved `isModelSupported` to `tauri-plugin-llamacpp`:** The model support check is also now handled by the backend.
- **Removed `getChatClient` from `AIEngine`:** This optional method was not implemented and has been removed from the abstract class.
- **Improved KV Cache estimation:** The `estimate_kv_cache_internal` function in Rust now accounts for `attention.key_length` and `attention.value_length` if available, and considers sliding window attention for more precise estimates.
- **Introduced `batch_size` in ModelPlan:** The model plan now includes a `batch_size` property, which will be automatically adjusted based on the determined `ModelMode` (e.g., lower for CPU/Hybrid modes).
- **Updated `llamacpp-extension`:** The frontend extension now calls the new Tauri commands for model planning and support checks.
- **Removed `batch_size` from `llamacpp-extension/settings.json`:** The batch size is now dynamically determined by the planning logic and will be set as a model setting directly.
- **Updated `ModelSetting` and `useModelProvider` hooks:** These now handle the new `batch_size` property in model settings.
- **Added new Tauri commands and permissions:** `get_model_size`, `is_model_supported`, and `plan_model_load` are new commands with corresponding permissions.
- **Consolidated `ModelSupportStatus` and `KVCacheEstimate`:** These types are now defined in `src/tauri/plugins/tauri-plugin-llamacpp/src/gguf/types.rs`.

This refactoring centralizes critical model resource management logic, improving consistency and maintainability, and lays the groundwork for more sophisticated model loading strategies.

* feat: refine model planner to handle more memory scenarios

This commit introduces several improvements to the `plan_model_load` function, enhancing its ability to determine a suitable model loading strategy based on system memory constraints. Specifically, it includes:

-   **VRAM calculation improvements:**  Corrects the calculation of total VRAM by iterating over GPUs and multiplying by 1024*1024, improving accuracy.
-   **Hybrid plan optimization:**  Implements a more robust hybrid plan strategy, iterating through GPU layer configurations to find the highest possible GPU usage while remaining within VRAM limits.
-   **Minimum context length enforcement:** Enforces a minimum context length for the model, ensuring that the model can be loaded and used effectively.
-   **Fallback to CPU mode:** If a hybrid plan isn't feasible, it now correctly falls back to a CPU-only mode.
-   **Improved logging:** Enhanced logging to provide more detailed information about the memory planning process, including VRAM, RAM, and GPU layers.
-   **Batch size adjustment:** Updated batch size based on the selected mode, ensuring efficient utilization of available resources.
-   **Error handling and edge cases:**  Improved error handling and edge case management to prevent unexpected failures.
-   **Constants:** Added constants for easier maintenance and understanding.
-   **Power-of-2 adjustment:** Added power of 2 adjustment for max context length to ensure correct sizing for the LLM.

These changes improve the reliability and robustness of the model planning process, allowing it to handle a wider range of hardware configurations and model sizes.

* Add log for raw GPU info from tauri-plugin-hardware

* chore: update linux runner for tauri build

* feat: Improve GPU memory calculation for unified memory

This commit improves the logic for calculating usable VRAM, particularly for systems with **unified memory** like Apple Silicon. Previously, the application would report 0 total VRAM if no dedicated GPUs were found, leading to incorrect calculations and failed model loads.

This change modifies the VRAM calculation to fall back to the total system RAM if no discrete GPUs are detected. This is a common and correct approach for unified memory architectures, where the CPU and GPU share the same memory pool.

Additionally, this commit refactors the logic for calculating usable VRAM and RAM to prevent potential underflow by checking if the total memory is greater than the reserved bytes before subtracting. This ensures the calculation remains safe and correct.

* chore: fix update migration version

* fix: enable unified memory support on model support indicator

* Use total_system_memory in bytes

---------

Co-authored-by: Minh141120 <minh.itptit@gmail.com>
Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-09-25 12:17:57 +05:30
Minh141120
45590e3188 ci: fix path for tauri plugins 2025-09-25 12:10:51 +07:00
Minh141120
8205c33176 ci: update package version for tauri plugin 2025-09-25 10:55:10 +07:00
Minh141120
91e30d3c19 docs: add clean output dir step 2025-09-24 12:12:41 +07:00
Minh141120
2a905c6c02 ci: standardize nightly external build on windows 2025-09-23 19:00:39 +07:00
Minh141120
7a15c2646d ci: update signCommand for tauri config windows 2025-09-23 19:00:39 +07:00
Minh141120
6c83580283 ci: fix syntax error in windows build workflow 2025-09-23 19:00:39 +07:00
Minh141120
6dc38f18cf chore: standardize build process on windows 2025-09-23 19:00:39 +07:00
Minh141120
53707a5083 chore: use default nsis template 2025-09-23 19:00:39 +07:00
hiento09
05e58cffe8
chore: add ci for web stag (#6550) 2025-09-23 01:58:48 +07:00
Dinh Long Nguyen
359dd8f41e
Merge pull request #6514 from menloresearch/feat/web-gtag
feat: Add GA Measurement and change keyboard bindings on web
2025-09-18 20:45:41 +07:00
Dinh Long Nguyen
645548e931
Merge pull request #6516 from menloresearch/release/v0.6.10 2025-09-18 19:15:54 +07:00
Minh141120
d9a0a8e09d ci: add system dependencies for appindicator lib on Linux 2025-09-17 20:34:44 +07:00
Minh141120
1db67ea9a2 chore: simplify macos workflow 2025-09-15 11:24:11 +07:00
Minh141120
6959329fd6 chore: add install-rust-targets step for macOS universal builds 2025-09-15 09:32:51 +07:00
Bui Quang Huy
78d816b435
Update 4-goal.md 2025-09-14 22:26:57 +08:00
Nguyen Ngoc Minh
b8ca6f5d76
ci: fix typo in branch name for jan web 2025-09-12 14:15:27 +07:00
Minh141120
6c935132a9 ci: remove paths triggered for jan server 2025-09-12 13:41:48 +07:00
Minh141120
32440a9510 ci: separate jan web build and deploy 2025-09-12 11:10:28 +07:00
Minh141120
65a515a9db chore: add upload artifact steps for 3 platforms 2025-09-11 12:21:56 +07:00
Minh141120
773b252555 ci: add nightly build for external contributors 2025-09-11 11:30:43 +07:00
Minh141120
0edf9635a1 ci: add claude issue dedup 2025-09-10 17:16:21 +07:00
Ramon Perez
9ec87614b2 removed cloud api spec update 2025-09-10 13:32:06 +10:00
hiento09
97eebd1c97
fix: jan server api base url for prod (#6403) 2025-09-09 20:51:04 +07:00
hiento09
dbaf563e88
chore: add cicd for jan web prod (#6396) 2025-09-09 12:13:37 +07:00
Minh141120
0e7c12f340 ci: remove unnecessary folder paths and on Dockerfile 2025-09-08 16:37:26 +07:00
Ramon Perez
88fb1acc0a
Merge pull request #6372 from menloresearch/rp/api-docs
docs: add first‑class API Reference to Jan docs (Local + Server)
2025-09-05 21:44:07 +10:00
Minh141120
354cda8c35 refactor: install deps step 2025-09-05 16:51:43 +07:00
Minh141120
82206954e9 chore: edit preview url on pr comments 2025-09-05 16:48:52 +07:00
Minh141120
58cdb61ad7 chore: update paths 2025-09-05 16:41:10 +07:00
Minh141120
f11899ddb5 chore: remove pre-install folders from paths 2025-09-05 16:39:31 +07:00
Minh141120
c3a44dd54e chore: update missing paths 2025-09-05 16:38:52 +07:00
Minh141120
4d7bf5271d ci: add paths for jan server web 2025-09-05 16:31:50 +07:00
Ramon Perez
c5ea4cb8f9
Merge branch 'dev' into rp/api-docs 2025-09-05 19:20:29 +10:00
Dinh Long Nguyen
d490174544
feat: Web use jan model (#6374)
* call jan api

* fix lint

* ci: add jan server web

* chore: add Dockerfile

* clean up ui ux and support for reasoning fields, make app spa

* add logo

* chore: update tag for preview image

* chore: update k8s service name

* chore: update image tag and image name

* fixed test

---------

Co-authored-by: Minh141120 <minh.itptit@gmail.com>
Co-authored-by: Nguyen Ngoc Minh <91668012+Minh141120@users.noreply.github.com>
2025-09-05 16:18:30 +07:00
Ramon Perez
1e6cf8d771 docs: add first‑class API Reference to Jan docs (Local + Server) 2025-09-05 11:21:43 +10:00
Minh141120
2000fc31b5 ci: add job condition for auto assign milestone 2025-08-21 21:25:08 +07:00
Nguyen Ngoc Minh
e096c3114f
Create autoqa-migration.yml 2025-08-21 16:14:13 +07:00
Minh141120
76dfe027ab chore: remove local artifact inputs 2025-08-20 18:08:38 +07:00
Minh141120
4059d7a7ec ci: add autoqa reliability workflow for windows 2025-08-20 18:03:27 +07:00
Minh141120
df4491e568 chỏe: update new domain for jan docs 2025-08-20 13:57:52 +07:00
Minh141120
16652e7bf9 feat: add flatpak ci 2025-08-14 15:04:49 +07:00
Faisal Amir
a66d83c598
Merge pull request #6172 from menloresearch/fix/model-id-special-char
fix: handle modelId special char
2025-08-14 12:33:58 +07:00