Instructions to use JetBrains/CodeLlama-7B-Kexer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use JetBrains/CodeLlama-7B-Kexer with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="JetBrains/CodeLlama-7B-Kexer")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("JetBrains/CodeLlama-7B-Kexer") model = AutoModelForCausalLM.from_pretrained("JetBrains/CodeLlama-7B-Kexer", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use JetBrains/CodeLlama-7B-Kexer with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "JetBrains/CodeLlama-7B-Kexer" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "JetBrains/CodeLlama-7B-Kexer", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/JetBrains/CodeLlama-7B-Kexer
- SGLang
How to use JetBrains/CodeLlama-7B-Kexer 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 "JetBrains/CodeLlama-7B-Kexer" \ --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": "JetBrains/CodeLlama-7B-Kexer", "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 "JetBrains/CodeLlama-7B-Kexer" \ --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": "JetBrains/CodeLlama-7B-Kexer", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use JetBrains/CodeLlama-7B-Kexer with Docker Model Runner:
docker model run hf.co/JetBrains/CodeLlama-7B-Kexer
| license: apache-2.0 | |
| datasets: | |
| - JetBrains/KExercises | |
| base_model: meta-llama/CodeLlama-7b-hf | |
| results: | |
| - task: | |
| type: text-generation | |
| dataset: | |
| name: MultiPL-HumanEval (Kotlin) | |
| type: openai_humaneval | |
| metrics: | |
| - name: pass@1 | |
| type: pass@1 | |
| value: 42.24 | |
| tags: | |
| - code | |
| # Kexer models | |
| Kexer models are a collection of open-source generative text models fine-tuned on the [Kotlin Exercices](https://huggingface.co/datasets/JetBrains/KExercises) dataset. | |
| This is a repository for the fine-tuned **CodeLlama-7b** model in the *Hugging Face Transformers* format. | |
| # How to use | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| # Load pre-trained model and tokenizer | |
| model_name = 'JetBrains/CodeLlama-7B-Kexer' | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForCausalLM.from_pretrained(model_name).to('cuda') | |
| # Create and encode input | |
| input_text = """\ | |
| This function takes an integer n and returns factorial of a number: | |
| fun factorial(n: Int): Int {\ | |
| """ | |
| input_ids = tokenizer.encode( | |
| input_text, return_tensors='pt' | |
| ).to('cuda') | |
| # Generate | |
| output = model.generate( | |
| input_ids, max_length=60, num_return_sequences=1, | |
| early_stopping=True, pad_token_id=tokenizer.eos_token_id, | |
| ) | |
| # Decode output | |
| generated_text = tokenizer.decode(output[0], skip_special_tokens=True) | |
| print(generated_text) | |
| ``` | |
| As with the base model, we can use FIM. To do this, the following format must be used: | |
| ``` | |
| '<PRE> ' + prefix + ' <SUF> ' + suffix + ' <MID>' | |
| ``` | |
| # Training setup | |
| The model was trained on one A100 GPU with the following hyperparameters: | |
| | **Hyperparameter** | **Value** | | |
| |:---------------------------:|:----------------------------------------:| | |
| | `warmup` | 10% | | |
| | `max_lr` | 1e-4 | | |
| | `scheduler` | linear | | |
| | `total_batch_size` | 256 (~130K tokens per step) | | |
| | `num_epochs` | 4 | | |
| More details about fine-tuning can be found in the technical report (coming soon!). | |
| # Fine-tuning data | |
| For tuning this model, we used 15K exmaples from the synthetically generated [Kotlin Exercices](https://huggingface.co/datasets/JetBrains/KExercises) dataset. Every example follows the HumanEval format. In total, the dataset contains about 3.5M tokens. | |
| # Evaluation | |
| For evaluation, we used the [Kotlin HumanEval](https://huggingface.co/datasets/JetBrains/Kotlin_HumanEval) dataset, which contains all 161 tasks from HumanEval translated into Kotlin by human experts. You can find more details about the pre-processing necessary to obtain our results, including the code for running, on the [datasets's page](https://huggingface.co/datasets/JetBrains/Kotlin_HumanEval). | |
| Here are the results of our evaluation: | |
| | **Model name** | **Kotlin HumanEval Pass Rate** | | |
| |:---------------------------:|:----------------------------------------:| | |
| | `CodeLlama-7B` | 26.89 | | |
| | `CodeLlama-7B-Kexer` | **42.24** | | |
| # Ethical considerations and limitations | |
| CodeLlama-7B-Kexer is a new technology that carries risks with use. The testing conducted to date has not covered, nor could it cover all scenarios. For these reasons, as with all LLMs, CodeLlama-7B-Kexer's potential outputs cannot be predicted in advance, and the model may in some instances produce inaccurate or objectionable responses to user prompts. The model was fine-tuned on a specific data format (Kotlin tasks), and deviation from this format can also lead to inaccurate or undesirable responses to user queries. Therefore, before deploying any applications of CodeLlama-7B-Kexer, developers should perform safety testing and tuning tailored to their specific applications of the model. |