|
--- |
|
library_name: transformers |
|
tags: |
|
- dockerllama |
|
- docker |
|
- nlp |
|
- command-generation |
|
license: llama3.2 |
|
datasets: |
|
- MattCoddity/dockerNLcommands |
|
language: |
|
- en |
|
base_model: |
|
- meta-llama/Llama-3.2-1B |
|
--- |
|
|
|
# Model Card for DockerLlama |
|
|
|
DockerLlama is a Transformers model designed to interpret natural language queries and generate Docker commands. This model facilitates quick and easy command generation for Docker operations, making it ideal for users who want to interact with Docker without memorizing command syntax. |
|
|
|
## Model Details |
|
|
|
### Model Description |
|
|
|
DockerLlama, developed as a command-generation model, translates user requests into precise Docker commands. It supports use cases like querying the health of containers, creating networks, and managing Docker resources. DockerLlama is particularly useful for DevOps engineers, software developers, and IT professionals working with containerized applications. |
|
|
|
- **Developed by:** [rahulvk007](https://www.rahulvk.com) |
|
- **Model type:** Language Model fine-tuned for Docker command generation |
|
- **Language(s):** English (NLP for Docker commands) |
|
- **License:** llama3.2 |
|
- **Finetuned from model:** meta-llama/Llama-3.2-1B |
|
|
|
### Model Sources |
|
|
|
- **Repository:** [DockerLlama on Hugging Face Hub](https://huggingface.co/rahulvk007/dockerllama) |
|
- **Dataset:** [MattCoddity/dockerNLcommands](https://huggingface.co/datasets/MattCoddity/dockerNLcommands) |
|
|
|
## Uses |
|
|
|
### Direct Use |
|
|
|
DockerLlama is used directly to translate natural language queries into Docker commands. For example, "Give me a list of running containers that are healthy" would be translated into ```docker ps --filter 'status=running' --filter 'health=healthy'``` command. |
|
|
|
### Out-of-Scope Use |
|
|
|
The model is not suited for general natural language tasks unrelated to Docker or for use cases outside of Docker command generation. |
|
|
|
## Bias, Risks, and Limitations |
|
|
|
DockerLlama is focused on Docker commands, so its performance on unrelated queries or commands not supported by Docker may produce incorrect or irrelevant responses. |
|
|
|
### Recommendations |
|
|
|
Users should verify the generated Docker commands before executing them to avoid unintended effects on their Docker environment. |
|
|
|
## How to Get Started with the Model |
|
|
|
To deploy the model locally, you can use VLLM. Here are some commands: |
|
|
|
**Command to deploy with VLLM:** |
|
|
|
```bash |
|
docker run --runtime nvidia --gpus all -p 9000:8000 --ipc=host vllm/vllm-openai:latest --model rahulvk007/dockerllama |
|
``` |
|
|
|
If you have a low-memory machine with an older GPU (like GTX 1650), try this: |
|
|
|
```bash |
|
docker run --gpus all -p 9000:8000 --ipc=host vllm/vllm-openai:latest --model rahulvk007/dockerllama --dtype=half --max-model-len=512 |
|
``` |
|
|
|
### Important Prompt Setup |
|
|
|
Use the following system prompt to ensure the model translates queries accurately: |
|
|
|
``` |
|
translate this sentence in docker command |
|
``` |
|
|
|
**Example Request:** |
|
|
|
To interact with the deployed model, make a POST request to `http://localhost:9000/v1/chat/completions` (change the endpoint to your deployment url) with the following payload: |
|
|
|
```json |
|
{ |
|
"model": "rahulvk007/dockerllama", |
|
"messages": [ |
|
{"role": "system", "content": "translate this sentence in docker command"}, |
|
{"role": "user", "content": "Give me a list of running containers that are healthy."} |
|
] |
|
} |
|
``` |
|
|
|
## Training Details |
|
|
|
### Training Data |
|
|
|
The model was fine-tuned using the dataset [MattCoddity/dockerNLcommands](https://huggingface.co/datasets/MattCoddity/dockerNLcommands), which includes natural language commands and their Docker command equivalents. |