kiel2 commited on
Commit
a0c55e8
·
verified ·
1 Parent(s): 49e3c67

Add README

Browse files
Files changed (1) hide show
  1. README.md +14 -95
README.md CHANGED
@@ -1,105 +1,24 @@
1
  ---
2
- language:
3
- - en
4
- license: apache-2.0
5
- library_name: transformers
6
- base_model: unsloth/Qwen2.5-1.5B-Instruct
7
  tags:
8
- - unsloth
9
- - qwen-2.5
10
- - mobile-agent
11
- - tool-use
12
  - gguf
13
- - qlora
14
- datasets:
15
- - mlabonne/FineTome-100k
16
- - google/mobile-actions
17
- model_name: Jotex
18
- ---
19
-
20
- # Jotex
21
-
22
- **Jotex** is a lightweight, 1.7B parameter instruction-tuned and device-action-oriented language model developed by **KielTech**. Built using QLoRA optimization via Unsloth, Jotex is specifically designed to power offline mobile assistants, processing natural language instructions and mapping them to tool calls and local phone-control functions.
23
-
24
- ## Model Details
25
-
26
- * **Developed by:** KielTech
27
- * **Model Type:** Causal Language Model / Mobile Automation Agent
28
- * **Base Model:** [Qwen2.5-1.5B-Instruct](https://huggingface.co/unsloth/Qwen2.5-1.5B-Instruct)
29
- * **Language(s):** English
30
- * **License:** Apache-2.0
31
- * **Finetuned from model:** unsloth/Qwen2.5-1.5B-Instruct
32
-
33
- ### Model Sources
34
- * **Repository:** [kiel2/Jotex](https://huggingface.co/kiel2/Jotex)
35
-
36
- ---
37
-
38
- ## Uses
39
-
40
- ### Direct Use
41
- * **Offline Mobile Control:** Acting as an on-device local assistant capable of interpreting phone commands and formatting them into structured OS intents or system actions.
42
- * **General Conversational Reasoning:** Handling multi-turn dialogues, logic tasks, and general queries while retaining low memory overhead.
43
-
44
- ### Out-of-Scope Use
45
- * High-stakes enterprise automation without human-in-the-loop validation.
46
- * Critical infrastructure control or medical diagnoses.
47
-
48
- ---
49
-
50
- ## Bias, Risks, and Limitations
51
- * **Hallucination:** Like all models of this scale (~1.7B parameters), Jotex may occasionally generate incorrect data or fail complex multi-step logical inferences.
52
- * **Scope Boundaries:** The model is optimized for mobile task delegation and conversational reasoning; it is not a general-purpose substitute for ultra-large foundation models (e.g., 70B+ parameters).
53
-
54
- ### Recommendations
55
- Users should deploy Jotex within sandboxed device environments where tool-execution logic validates user intents before executing sensitive local device APIs.
56
-
57
- ---
58
-
59
- ## Training Details
60
-
61
- ### Training Data
62
- Jotex was fine-tuned on a balanced, mixed dataset consisting of:
63
- 1. **General Conversational Data:** 5,000 curated rows from [`mlabonne/FineTome-100k`](https://huggingface.co/datasets/mlabonne/FineTome-100k) to preserve linguistic capability and reasoning flow.
64
- 2. **Mobile Function-Calling Data:** Structured rows from [`google/mobile-actions`](https://huggingface.co/datasets/google/mobile-actions) focused on parsing human phrasing into device utility commands.
65
-
66
- ### Training Hyperparameters
67
- * **Quantization:** 4-bit LoRA (QLoRA via Unsloth)
68
- * **Max Sequence Length:** 2048 tokens
69
- * **Per-Device Batch Size:** 2
70
- * **Gradient Accumulation Steps:** 4
71
- * **Effective Batch Size:** 8
72
- * **Learning Rate:** 2e-4
73
- * **Warmup Steps:** 5
74
- * **Training Regime:** FP16 / BF16 mixed precision
75
 
76
  ---
77
 
78
- ## How to Get Started with the Model
79
-
80
- You can load the model locally using Python with Unsloth or Transformers, or use the exported GGUF files (`q4_k_m`) directly within mobile wrappers like `llama.cpp`.
81
 
82
- ```python
83
- from unsloth import FastLanguageModel
84
- import torch
85
 
86
- max_seq_length = 2048
87
- model, tokenizer = FastLanguageModel.from_pretrained(
88
- model_name = "kiel2/Jotex",
89
- max_seq_length = max_seq_length,
90
- load_in_4bit = True,
91
- )
92
- FastLanguageModel.for_inference(model) # Enable native fast inference
93
 
94
- # Example prompt structure matching Qwen 2.5 chat template
95
- messages = [
96
- {"role": "user", "content": "Turn on my Wi-Fi and open settings."}
97
- ]
98
- input_ids = tokenizer.apply_chat_template(
99
- messages,
100
- add_generation_prompt=True,
101
- return_tensors="pt"
102
- .to("cuda"))
103
 
104
- outputs = model.generate(input_ids=input_ids, max_new_tokens=128)
105
- print(tokenizer.decode(outputs[0], skip_special_tokens=True))
 
 
 
1
  ---
 
 
 
 
 
2
  tags:
 
 
 
 
3
  - gguf
4
+ - llama.cpp
5
+ - unsloth
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  ---
8
 
9
+ # Jotex : GGUF
 
 
10
 
11
+ This model was finetuned and converted to GGUF format using [Unsloth](https://github.com/unslothai/unsloth).
 
 
12
 
13
+ **Example usage**:
14
+ - For text only LLMs: `llama-cli -hf kiel2/Jotex --jinja`
15
+ - For multimodal models: `llama-mtmd-cli -hf kiel2/Jotex --jinja`
 
 
 
 
16
 
17
+ ## Available Model files:
18
+ - `qwen2.5-1.5b-instruct.Q8_0.gguf`
19
+ - `qwen2.5-1.5b-instruct.Q4_K_M.gguf`
 
 
 
 
 
 
20
 
21
+ ## Ollama
22
+ An Ollama Modelfile is included for easy deployment.
23
+ This was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth)
24
+ [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)