| | --- |
| | base_model: unsloth/DeepSeek-R1-Distill-Llama-8B |
| | tags: |
| | - text-generation-inference |
| | - transformers |
| | - unsloth |
| | - llama |
| | - gguf |
| | - ollama |
| | license: apache-2.0 |
| | language: |
| | - en |
| | --- |
| | |
| | ➕ YAML Creation Feature will be added |
| |
|
| |
|
| | # Kubernetes Assistant Model (8B) |
| |
|
| | - **Developed by:** dereklck |
| | - **License:** Apache-2.0 |
| | - **Fine-tuned from model:** [unsloth/DeepSeek-R1-Distill-Llama-8B](https://huggingface.co/unsloth/DeepSeek-R1-Distill-Llama-8B) |
| | - **Model type:** GGUF (compatible with Ollama) |
| | - **Language:** English |
| |
|
| | This Llama-based model was fine-tuned to assist users with Kubernetes commands and questions. It has three primary features: |
| |
|
| | 1. **Generating accurate `kubectl` commands** based on user instructions. |
| | 2. **Providing concise explanations about Kubernetes** for general queries. |
| | 3. **Politely requesting additional information** if the instruction is incomplete or ambiguous. |
| |
|
| | **Update:** The **8B model** provides improved accuracy and reliability compared to previous versions, including better adherence to guidelines and reduced hallucinations. Users can expect more precise responses when interacting with this model. |
| |
|
| | The model was trained efficiently using [Unsloth](https://github.com/unslothai/unsloth) and Hugging Face's TRL library. |
| |
|
| | --- |
| |
|
| | ## How to Use the Model |
| |
|
| | This section provides instructions on how to run the model using Ollama and the provided Modelfile. |
| |
|
| | ### Prerequisites |
| |
|
| | - Install [Ollama](https://github.com/jmorganca/ollama) on your system. |
| | - Ensure you have access to the model hosted on Hugging Face: `hf.co/dereklck/kubernetes_operator_8b_deepseek_peft_gguf`. |
| |
|
| | ### Steps |
| |
|
| | 1. **Create the Modelfile** |
| |
|
| | Save the following content as a file named `Modelfile`: |
| |
|
| | ```plaintext |
| | FROM hf.co/dereklck/kubernetes_operator_8b_deepseek_peft_gguf |
| | |
| | PARAMETER temperature 0.3 |
| | PARAMETER stop "</s>" |
| | |
| | TEMPLATE """ |
| | You are an AI assistant that helps users with Kubernetes commands and questions. |
| | |
| | **IMPORTANT: Strictly follow the guidelines below. Do not deviate under any circumstances.** |
| | |
| | --- |
| | |
| | ### **Your Behavior Guidelines:** |
| | |
| | #### **1. For clear and complete instructions:** |
| | |
| | - **Provide ONLY** the exact `kubectl` command needed to fulfill the user's request. |
| | - **DO NOT** include extra explanations, placeholders (like `<pod_name>`, `my-pod`), example values, or context. |
| | - **Enclose the command within a code block** using `bash` syntax highlighting. |
| | |
| | #### **2. For incomplete or ambiguous instructions:** |
| | |
| | - **Politely ask** the user for the specific missing information **in one sentence**. |
| | - **DO NOT** provide any commands, examples, or placeholders in your response. |
| | - **Respond in plain text**, clearly stating what information is needed. |
| | - **DO NOT** include any additional information or text beyond the question. |
| | |
| | #### **3. For general Kubernetes questions:** |
| | |
| | - **Provide a concise and accurate explanation**. |
| | - **DO NOT** include any commands unless specifically requested. |
| | - **Ensure that the explanation fully addresses the user's question without irrelevant information. |
| | |
| | --- |
| | |
| | ### **IMPORTANT RULES (READ CAREFULLY):** |
| | |
| | - **DO NOT generate CLI commands containing placeholders or example values** (e.g., `<pod_name>`, `my-pod`, `your-pod`). |
| | - **DO NOT invent resource names or use generic names**. If the resource name is not provided, ask for it. |
| | - **Always ensure CLI commands are complete, valid, and executable AS IS**. |
| | - **If user input is insufficient to form a complete command, ASK FOR CLARIFICATION** instead of using placeholders or examples. |
| | - **DO NOT output any additional text beyond what's necessary**. |
| | |
| | --- |
| | |
| | ### Instruction: |
| | {{ .Prompt }} |
| | |
| | ### Response: |
| | """ |
| | |
| | ``` |
| |
|
| | 2. **Create the Model with Ollama** |
| |
|
| | Open your terminal and run the following command to create the model: |
| |
|
| | ```bash |
| | ollama create kubernetes_assistant_8b -f Modelfile |
| | ``` |
| |
|
| | This command tells Ollama to create a new model named `kubernetes_assistant_8b` using the configuration specified in `Modelfile`. |
| |
|
| | 3. **Run the Model** |
| |
|
| | Start interacting with your model: |
| |
|
| | ```bash |
| | ollama run kubernetes_assistant_8b |
| | ``` |
| |
|
| | This will initiate the model and prompt you for input based on the template provided. |
| |
|
| | Alternatively, you can provide an instruction directly: |
| |
|
| | ```bash |
| | ollama run kubernetes_assistant_8b -p "Create a namespace called 'production'." |
| | ``` |
| |
|
| | **Example Output:** |
| |
|
| | ```bash |
| | kubectl create namespace production |
| | ``` |
| |
|
| | --- |
| |
|
| | ## Model Details |
| |
|
| | ### Purpose |
| |
|
| | The model assists users by: |
| |
|
| | - **Generating accurate `kubectl` commands** based on natural language instructions. |
| | - **Providing concise explanations about Kubernetes** for general queries. |
| | - **Politely requesting additional information** if the instruction is incomplete or ambiguous. |
| |
|
| | ### Intended Users |
| |
|
| | - Kubernetes administrators |
| | - DevOps engineers |
| | - Developers working with Kubernetes clusters |
| |
|
| | ### Training Process |
| |
|
| | - **Base Model:** Unsloth's DeepSeek-R1-Distill-Llama-8B |
| | - **Fine-tuning:** Leveraged the Unsloth framework and Hugging Face's TRL library for efficient training. |
| | - **Training Data:** Customized dataset focused on Kubernetes operations, including: |
| | - **`kubectl` Command Generation:** Commands for various Kubernetes tasks. |
| | - **Clarification Requests:** Responses requesting specific information when instructions are incomplete. |
| | - **Explanations:** Concise explanations of Kubernetes concepts. |
| | - The dataset contains approximately 1,500 entries. |
| |
|
| | --- |
| |
|
| | ## Model Features |
| |
|
| | ### 1. Command Generation in Bash Format |
| |
|
| | When the model generates CLI commands, it provides them in `bash` format, enclosed within code blocks for easy execution and clarity. This allows users to copy and paste the commands directly into their terminal. |
| |
|
| | ### 2. Handling Ambiguity with Polite Clarifications |
| |
|
| | If the instruction is incomplete or ambiguous, the model will politely ask for the specific missing information instead of making assumptions. This ensures accuracy and prevents the execution of incorrect commands. |
| |
|
| | ### 3. Providing Concise Explanations |
| |
|
| | For general Kubernetes questions, the model offers concise and accurate explanations without unnecessary details, helping users understand concepts quickly. |
| |
|
| | ### 4. Enhanced Accuracy with 8B Model |
| |
|
| | The transition to the 8B model has significantly **improved accuracy and reduced hallucinations** compared to smaller models. The 8B model provides more precise and reliable responses, enhancing the overall user experience. |
| |
|
| | --- |
| |
|
| | ## Examples |
| |
|
| | ### Example 1: Generating a Command |
| |
|
| | **Instruction:** |
| |
|
| | ``` |
| | Get the list of all pods in the 'staging' namespace. |
| | ``` |
| |
|
| | **Response:** |
| |
|
| | ```bash |
| | kubectl get pods -n staging |
| | ``` |
| |
|
| | --- |
| |
|
| | ### Example 2: Handling Ambiguity |
| |
|
| | **Instruction:** |
| |
|
| | ``` |
| | Delete the deployment. |
| | ``` |
| |
|
| | **Response:** |
| |
|
| | ``` |
| | Please specify the name of the deployment you wish to delete. |
| | ``` |
| |
|
| | --- |
| |
|
| | ### Example 3: Providing Explanations |
| |
|
| | **Instruction:** |
| |
|
| | ``` |
| | What is a StatefulSet in Kubernetes? |
| | ``` |
| |
|
| | **Response:** |
| |
|
| | ``` |
| | A StatefulSet manages the deployment and scaling of a set of pods, providing guarantees about the ordering and uniqueness of those pods. It's commonly used for stateful applications requiring stable network identities and persistent storage. |
| | ``` |
| |
|
| | --- |
| |
|
| | ## Limitations and Considerations |
| |
|
| | - **Accuracy:** While the 8B model significantly improves accuracy, the model may occasionally produce incorrect or suboptimal commands. Always review the output before execution. |
| | - **Resource Requirements:** The 8B model may require more computational resources compared to smaller models. Ensure your environment meets the necessary requirements for smooth operation. |
| | - **Security:** Be cautious when executing generated commands, especially in production environments. |
| |
|
| | --- |
| |
|
| | ## Feedback and Contributions |
| |
|
| | We welcome any comments or participation to improve the model and dataset. If you encounter issues or have suggestions for improvement: |
| |
|
| | - **GitHub:** [Unsloth Repository](https://github.com/unslothai/unsloth) |
| | - **Contact:** Reach out to the developer, **dereklck**, for further assistance. |
| |
|
| | --- |
| |
|
| | **Note:** This model provides assistance in generating Kubernetes commands and explanations based on user input. Always verify the generated commands in a safe environment before executing them in a production cluster. |
| |
|
| | --- |
| |
|
| | ## Summary |
| |
|
| | The **Kubernetes Assistant Model (8B)** is a powerful tool designed to help users interact with Kubernetes clusters more efficiently. By leveraging advanced language modeling techniques, the model provides accurate `kubectl` commands, helpful explanations, and polite clarifications when necessary. The use of the 8B model enhances the precision and reliability of responses, making it a valuable asset for anyone working with Kubernetes. |
| |
|
| | --- |