Update README.md
Browse files
README.md
CHANGED
@@ -1,22 +1,290 @@
|
|
1 |
---
|
2 |
-
base_model: unsloth/
|
3 |
tags:
|
4 |
-
- text-generation-inference
|
5 |
-
- transformers
|
6 |
-
- unsloth
|
7 |
-
- llama
|
8 |
-
- gguf
|
|
|
9 |
license: apache-2.0
|
10 |
language:
|
11 |
-
- en
|
12 |
---
|
13 |
|
14 |
-
#
|
15 |
|
16 |
-
|
17 |
-
- **License:** apache-2.0
|
18 |
-
- **Finetuned from model :** unsloth/llama-3.2-3b-instruct-unsloth-bnb-4bit
|
19 |
|
20 |
-
|
21 |
|
22 |
-
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
base_model: unsloth/Llama-3.2-3B-Instruct-bnb-4bit
|
3 |
tags:
|
4 |
+
- text-generation-inference
|
5 |
+
- transformers
|
6 |
+
- unsloth
|
7 |
+
- llama
|
8 |
+
- gguf
|
9 |
+
- ollama
|
10 |
license: apache-2.0
|
11 |
language:
|
12 |
+
- en
|
13 |
---
|
14 |
|
15 |
+
# **kubernetes Operator Model - 3B GGUF**
|
16 |
|
17 |
+
**Developed by:** dereklck
|
|
|
|
|
18 |
|
19 |
+
**License:** Apache-2.0
|
20 |
|
21 |
+
**Fine-tuned from model:** [unsloth/Llama-3.2-3B-Instruct-bnb-4bit](https://huggingface.co/unsloth/Llama-3.2-3B-Instruct-bnb-4bit)
|
22 |
+
|
23 |
+
**Model Type:** GGUF (Quantized format compatible with Ollama)
|
24 |
+
|
25 |
+
**Language:** English
|
26 |
+
|
27 |
+
---
|
28 |
+
|
29 |
+
This Llama-based model has been fine-tuned to generate `kubectl` commands based on user descriptions. Leveraging the capabilities of a **3B parameter model**, it offers enhanced understanding and generation abilities compared to its 1B counterpart. The model has been trained efficiently using the [Unsloth](https://github.com/unslothai/unsloth) framework and Hugging Face's TRL library.
|
30 |
+
|
31 |
+
## **📌 Model Details**
|
32 |
+
|
33 |
+
### **🚀 Purpose**
|
34 |
+
|
35 |
+
The model assists users by:
|
36 |
+
|
37 |
+
- **Generating accurate `kubectl` commands** based on natural language descriptions.
|
38 |
+
- **Providing concise explanations about Kubernetes** for general queries.
|
39 |
+
- **Politely requesting additional information** when the instruction is incomplete or ambiguous.
|
40 |
+
|
41 |
+
### **👥 Intended Users**
|
42 |
+
|
43 |
+
- **Kubernetes Administrators**
|
44 |
+
- **DevOps Engineers**
|
45 |
+
- **Developers Working with Kubernetes Clusters**
|
46 |
+
|
47 |
+
### **🛠️ Training Process**
|
48 |
+
|
49 |
+
- **Base Model:** Unsloth's Llama-3.2-3B-Instruct-bnb-4bit
|
50 |
+
- **Fine-tuning:** Utilized the Unsloth framework and Hugging Face's TRL library for efficient and effective training.
|
51 |
+
- **Training Data:** Customized dataset focused on Kubernetes operations and `kubectl` command usage, containing approximately **1,500 entries** for improved coverage.
|
52 |
+
|
53 |
+
### **✨ Key Features**
|
54 |
+
|
55 |
+
#### **1️⃣ Command Generation**
|
56 |
+
|
57 |
+
- **Functionality:** Translates user instructions into executable `kubectl` commands.
|
58 |
+
- **Example:**
|
59 |
+
|
60 |
+
**User:** "Create a namespace called 'production'."
|
61 |
+
|
62 |
+
**Model Response:**
|
63 |
+
|
64 |
+
```bash
|
65 |
+
kubectl create namespace production
|
66 |
+
```
|
67 |
+
|
68 |
+
#### **2️⃣ Clarification Requests**
|
69 |
+
|
70 |
+
- **Functionality:** Politely asks for more details when the instruction is incomplete.
|
71 |
+
- **Example:**
|
72 |
+
|
73 |
+
**User:** "Show me logs."
|
74 |
+
|
75 |
+
**Model Response:**
|
76 |
+
|
77 |
+
"Please specify the name of the pod for which you want to view logs."
|
78 |
+
|
79 |
+
#### **3️⃣ Knowledge Base**
|
80 |
+
|
81 |
+
- **Functionality:** Provides concise and accurate explanations for general Kubernetes concepts.
|
82 |
+
- **Example:**
|
83 |
+
|
84 |
+
**User:** "What is a Deployment in Kubernetes?"
|
85 |
+
|
86 |
+
**Model Response:**
|
87 |
+
|
88 |
+
"A Deployment is a Kubernetes resource that manages a replicated application, ensuring that the desired number of pod replicas are running."
|
89 |
+
|
90 |
+
#### **4️⃣ Input Sensitivity**
|
91 |
+
|
92 |
+
- **Functionality:** Recognizes inappropriate language and maintains professionalism.
|
93 |
+
- **Example:**
|
94 |
+
|
95 |
+
**User:** "What the heck is wrong with this cluster?"
|
96 |
+
|
97 |
+
**Model Response:**
|
98 |
+
|
99 |
+
"Could you please provide more details about the issue you're experiencing with your cluster?"
|
100 |
+
|
101 |
+
---
|
102 |
+
|
103 |
+
## **💻 Usage Instructions**
|
104 |
+
|
105 |
+
### **📝 Prompt Template**
|
106 |
+
|
107 |
+
The model uses the following prompt template to generate responses:
|
108 |
+
|
109 |
+
```plaintext
|
110 |
+
You are an AI assistant that helps users with Kubernetes commands and questions.
|
111 |
+
|
112 |
+
**Guidelines:**
|
113 |
+
|
114 |
+
1. **For clear instructions:**
|
115 |
+
- Provide **only** the exact `kubectl` command needed.
|
116 |
+
- Do **not** include explanations, placeholders, or extra context.
|
117 |
+
- Enclose the command within a code block using `bash` syntax.
|
118 |
+
|
119 |
+
2. **For incomplete or ambiguous instructions:**
|
120 |
+
- **Politely ask** the user for specific missing information.
|
121 |
+
- Do **not** provide any commands or placeholders.
|
122 |
+
- Respond in plain text, clearly stating what information is needed.
|
123 |
+
|
124 |
+
3. **For general Kubernetes questions:**
|
125 |
+
- Provide a **concise and accurate explanation**.
|
126 |
+
- Do **not** include any commands unless specifically requested.
|
127 |
+
|
128 |
+
**Important Rules:**
|
129 |
+
|
130 |
+
- Do **not** generate commands with placeholders or example names like `<pod_name>`.
|
131 |
+
- Ensure all commands are **valid and executable** as provided.
|
132 |
+
- If unsure due to unclear instructions, **ask for clarification** without including any commands.
|
133 |
+
- Do **not** add extra text beyond what's necessary.
|
134 |
+
|
135 |
+
---
|
136 |
+
|
137 |
+
### Instruction:
|
138 |
+
{instruction}
|
139 |
+
|
140 |
+
### Response:
|
141 |
+
```
|
142 |
+
|
143 |
+
### **⚙️ Parameters**
|
144 |
+
|
145 |
+
- **Temperature:** `0.3` (Controls the randomness; lower values make outputs more deterministic.)
|
146 |
+
- **Stop Token:** `</s>` (Indicates the end of the assistant's response.)
|
147 |
+
|
148 |
+
---
|
149 |
+
|
150 |
+
## **🔍 Model Performance**
|
151 |
+
|
152 |
+
### **Enhanced Understanding**
|
153 |
+
|
154 |
+
With **3 billion parameters**, this model provides:
|
155 |
+
|
156 |
+
- **Improved comprehension** of user instructions, even when phrased in complex ways.
|
157 |
+
- **Better handling of edge cases** and less common Kubernetes operations.
|
158 |
+
|
159 |
+
### **Consistent Professionalism**
|
160 |
+
|
161 |
+
- Maintains a **professional and courteous tone** in all interactions.
|
162 |
+
- **Filters inappropriate language** and focuses on providing assistance.
|
163 |
+
|
164 |
+
### **Examples of Reactions to Questions**
|
165 |
+
|
166 |
+
#### **📗 Generating Complex Commands**
|
167 |
+
|
168 |
+
**User:** "Scale deployment 'backend-service' to 5 replicas."
|
169 |
+
|
170 |
+
**Model Response:**
|
171 |
+
|
172 |
+
```bash
|
173 |
+
kubectl scale deployment backend-service --replicas=5
|
174 |
+
```
|
175 |
+
|
176 |
+
#### **❓ Handling Ambiguity**
|
177 |
+
|
178 |
+
**User:** "Delete the resource."
|
179 |
+
|
180 |
+
**Model Response:**
|
181 |
+
|
182 |
+
"Please specify the type and name of the resource you wish to delete."
|
183 |
+
|
184 |
+
#### **🧠 Explaining Concepts**
|
185 |
+
|
186 |
+
**User:** "Explain how Kubernetes handles Secrets."
|
187 |
+
|
188 |
+
**Model Response:**
|
189 |
+
|
190 |
+
"Kubernetes Secrets allow you to store and manage sensitive information, such as passwords and tokens, in a secure manner. They can be mounted as files or exposed as environment variables in pods."
|
191 |
+
|
192 |
+
#### **🛑 Addressing Inappropriate Language**
|
193 |
+
|
194 |
+
**User:** "What the heck is wrong with this cluster?"
|
195 |
+
|
196 |
+
**Model Response:**
|
197 |
+
|
198 |
+
"Could you please provide more details about the issue you're experiencing with your cluster?"
|
199 |
+
|
200 |
+
---
|
201 |
+
|
202 |
+
## **🚀 Deployment with Ollama**
|
203 |
+
|
204 |
+
### **Prerequisites**
|
205 |
+
|
206 |
+
- Install [Ollama](https://github.com/jmorganca/ollama) on your system.
|
207 |
+
- Download the GGUF model directly from Hugging Face:
|
208 |
+
|
209 |
+
```bash
|
210 |
+
ollama pull hf.co/dereklck/kubectl_operator_3b_peft_gguf
|
211 |
+
```
|
212 |
+
|
213 |
+
### **Steps to Use the Model**
|
214 |
+
|
215 |
+
1. **Run the Model**
|
216 |
+
|
217 |
+
```bash
|
218 |
+
ollama run dereklck/kubectl_operator_3b_peft_gguf
|
219 |
+
```
|
220 |
+
|
221 |
+
2. **Interact with the Model**
|
222 |
+
|
223 |
+
Provide your instruction when prompted by the model.
|
224 |
+
|
225 |
+
---
|
226 |
+
|
227 |
+
## **⚠️ Limitations and Considerations**
|
228 |
+
|
229 |
+
### **Accuracy**
|
230 |
+
|
231 |
+
- While the model aims to generate precise commands, always **review the output** before execution to ensure it's appropriate for your environment.
|
232 |
+
|
233 |
+
### **Handling of Uncommon Scenarios**
|
234 |
+
|
235 |
+
- For highly specialized or unusual Kubernetes commands, the model may not provide the desired output.
|
236 |
+
|
237 |
+
### **Security**
|
238 |
+
|
239 |
+
- Be cautious when executing commands that make changes to your cluster. **Backup important data** and test commands in a safe environment when possible.
|
240 |
+
|
241 |
+
---
|
242 |
+
|
243 |
+
## **🤝 Feedback and Contributions**
|
244 |
+
|
245 |
+
We welcome feedback and contributions to improve the model and dataset. If you encounter issues or have suggestions:
|
246 |
+
|
247 |
+
- **GitHub:** [Unsloth Repository](https://github.com/unslothai/unsloth)
|
248 |
+
- **Contact:** Reach out to **dereklck** for assistance or collaboration opportunities.
|
249 |
+
|
250 |
+
---
|
251 |
+
|
252 |
+
## **📄 License**
|
253 |
+
|
254 |
+
This model is released under the **Apache-2.0 License**.
|
255 |
+
|
256 |
+
---
|
257 |
+
|
258 |
+
## **🏁 Conclusion**
|
259 |
+
|
260 |
+
The **kubectl Operator Model - 3B GGUF** offers a powerful tool for Kubernetes practitioners, providing reliable command generation and valuable explanations. Its enhanced capabilities make it a valuable asset for managing Kubernetes clusters more efficiently.
|
261 |
+
|
262 |
+
---
|
263 |
+
|
264 |
+
**Note:** This model card provides comprehensive information about the kubectl Operator Model - 3B GGUF, highlighting its features and guiding you on how to deploy and interact with the model effectively.
|
265 |
+
|
266 |
+
---
|
267 |
+
|
268 |
+
**Important:** To avoid YAML parsing errors:
|
269 |
+
|
270 |
+
- **Ensure the YAML front matter at the top is properly formatted.**
|
271 |
+
- **Avoid including `---` within the content, as it can be misinterpreted as YAML delimiters.**
|
272 |
+
- **Use horizontal rules (`***` or `___`) or headings to separate sections instead of `---`.**
|
273 |
+
|
274 |
+
---
|
275 |
+
|
276 |
+
**Verification:**
|
277 |
+
|
278 |
+
```yaml
|
279 |
+
base_model: unsloth/Llama-3.2-3B-Instruct-bnb-4bit
|
280 |
+
tags:
|
281 |
+
- text-generation-inference
|
282 |
+
- transformers
|
283 |
+
- unsloth
|
284 |
+
- llama
|
285 |
+
- gguf
|
286 |
+
- ollama
|
287 |
+
license: apache-2.0
|
288 |
+
language:
|
289 |
+
- en
|
290 |
+
```
|