Instructions to use Deci/DeciCoder-6B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Deci/DeciCoder-6B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Deci/DeciCoder-6B", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Deci/DeciCoder-6B", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use Deci/DeciCoder-6B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Deci/DeciCoder-6B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Deci/DeciCoder-6B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Deci/DeciCoder-6B
- SGLang
How to use Deci/DeciCoder-6B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Deci/DeciCoder-6B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Deci/DeciCoder-6B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Deci/DeciCoder-6B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Deci/DeciCoder-6B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Deci/DeciCoder-6B with Docker Model Runner:
docker model run hf.co/Deci/DeciCoder-6B
| from transformers.dynamic_module_utils import get_class_from_dynamic_module | |
| from transformers.tokenization_utils import AddedToken | |
| _codegen_revision = dict(pretrained_model_name_or_path="Salesforce/codegen25-7b-multi", | |
| revision="d4dc9dd90e8b23d5411e6d970e3a11e88dc5c2bc") | |
| CodeGen25Tokenizer = get_class_from_dynamic_module( | |
| "tokenization_codegen25.CodeGen25Tokenizer", **_codegen_revision) | |
| tiktoken_tokenizer = get_class_from_dynamic_module( | |
| "tokenization_codegen25.tiktoken_tokenizer", **_codegen_revision) | |
| class DeciCoderTokenizer(CodeGen25Tokenizer): | |
| def __init__( | |
| self, | |
| pad_token=None, | |
| eos_token="<|endoftext|>", | |
| add_eos_token=False, | |
| add_special_tokens=True, | |
| **kwargs, | |
| ): | |
| self._tiktoken_kwargs = dict(base="gpt2", pad_token=pad_token, add_special=add_special_tokens) | |
| self.add_eos_token = add_eos_token | |
| self.encoder = tiktoken_tokenizer(**self._tiktoken_kwargs) | |
| pad_token_added = AddedToken(pad_token, lstrip=False, rstrip=False) if isinstance(pad_token, str) else pad_token | |
| eos_token_added = AddedToken(eos_token, lstrip=False, rstrip=False) if isinstance(eos_token, str) else eos_token | |
| super().__init__( | |
| pad_token=pad_token_added, | |
| eos_token=eos_token_added, | |
| add_eos_token=add_eos_token, | |
| add_special_tokens=add_special_tokens, | |
| **kwargs, | |
| ) | |
| def _convert_id_to_token(self, index): | |
| """ bug fix in CodeGen25Tokenizer """ | |
| try: | |
| return super()._convert_id_to_token(index) | |
| except: | |
| return None | |
| def __getstate__(self): | |
| """ make the object picklable """ | |
| return {**self.__dict__, "encoder": None} | |
| def __setstate__(self, state): | |
| """ initialize tiktoken encoder after unpickling """ | |
| state["encoder"] = tiktoken_tokenizer(**state["_tiktoken_kwargs"]) | |
| self.__dict__ = state | |
| def save_pretrained(self, *args, **kwargs): | |
| """ | |
| add_special_tokens is not JSON serializable, which crashes save_pretrained(). | |
| Removing it from the tokenizer_config.json does not affect from_pretrained(). | |
| """ | |
| add_special_tokens = self.add_special_tokens | |
| self.add_special_tokens = True | |
| super().save_pretrained(*args, **kwargs) | |
| self.add_special_tokens = add_special_tokens | |