Text Generation
Transformers
Safetensors
English
mistral
code
text-generation-inference
conversational
Inference Endpoints
leaderboard-pr-bot's picture
Adding Evaluation Results
3823f37 verified
|
raw
history blame
7.04 kB
metadata
language:
  - en
license: mit
tags:
  - code
  - text-generation-inference
datasets:
  - glaiveai/glaive-code-assistant-v2
  - TokenBender/code_instructions_122k_alpaca_style
metrics:
  - code_eval
pipeline_tag: text-generation
model-index:
  - name: CodeNinja-1.0-OpenChat-7B
    results:
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: IFEval (0-Shot)
          type: HuggingFaceH4/ifeval
          args:
            num_few_shot: 0
        metrics:
          - type: inst_level_strict_acc and prompt_level_strict_acc
            value: 54.47
            name: strict accuracy
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: BBH (3-Shot)
          type: BBH
          args:
            num_few_shot: 3
        metrics:
          - type: acc_norm
            value: 21.71
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MATH Lvl 5 (4-Shot)
          type: hendrycks/competition_math
          args:
            num_few_shot: 4
        metrics:
          - type: exact_match
            value: 5.21
            name: exact match
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: GPQA (0-shot)
          type: Idavidrein/gpqa
          args:
            num_few_shot: 0
        metrics:
          - type: acc_norm
            value: 5.93
            name: acc_norm
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MuSR (0-shot)
          type: TAUR-Lab/MuSR
          args:
            num_few_shot: 0
        metrics:
          - type: acc_norm
            value: 11.54
            name: acc_norm
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MMLU-PRO (5-shot)
          type: TIGER-Lab/MMLU-Pro
          config: main
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 22.39
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=beowolx/CodeNinja-1.0-OpenChat-7B
          name: Open LLM Leaderboard

DeepSeek Coder


CodeNinja: Your Advanced Coding Assistant

Overview

CodeNinja is an enhanced version of the renowned model openchat/openchat-3.5-1210. It having been fine-tuned through Supervised Fine Tuning on two expansive datasets, encompassing over 400,000 coding instructions. Designed to be an indispensable tool for coders, CodeNinja aims to integrate seamlessly into your daily coding routine.

Discover the quantized versions at: beowolx/CodeNinja-1.0-OpenChat-7B-GGUF.

Key Features

  • Expansive Training Database: CodeNinja has been refined with datasets from glaiveai/glaive-code-assistant-v2 and TokenBender/code_instructions_122k_alpaca_style, incorporating around 400,000 coding instructions across various languages including Python, C, C++, Rust, Java, JavaScript, and more.

  • Flexibility and Scalability: Available in a 7B model size, CodeNinja is adaptable for local runtime environments.

  • Advanced Code Completion: With a substantial context window size of 8192, it supports comprehensive project-level code completion.

Prompt Format

CodeNinja maintains the same prompt structure as OpenChat 3.5. Effective utilization requires adherence to this format:

GPT4 Correct User: Hello<|end_of_turn|>GPT4 Correct Assistant: Hi<|end_of_turn|>GPT4 Correct User: How are you today?<|end_of_turn|>GPT4 Correct Assistant:

🚨 Important: Ensure the use of <|end_of_turn|> as the end-of-generation token.

Adhering to this format is crucial for optimal results.

Usage Instructions

Using LM Studio

The simplest way to engage with CodeNinja is via the quantized versions on LM Studio. Ensure you select the "OpenChat" preset, which incorporates the necessary prompt format. The preset is also available in this gist.

Using the Transformers Library

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

# Initialize the model
model_path = "beowolx/CodeNinja-1.0-OpenChat-7B"
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")
# Load the OpenChat tokenizer
tokenizer = AutoTokenizer.from_pretrained("openchat/openchat-3.5-1210", use_fast=True)

def generate_one_completion(prompt: str):
    messages = [
        {"role": "user", "content": prompt},
        {"role": "assistant", "content": ""}  # Model response placeholder
    ]

    # Generate token IDs using the chat template
    input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True)

    # Produce completion
    generate_ids = model.generate(
        torch.tensor([input_ids]).to("cuda"),
        max_length=256,
        pad_token_id=tokenizer.pad_token_id,
        eos_token_id=tokenizer.eos_token_id
    )

    # Process the completion
    completion = tokenizer.decode(generate_ids[0], skip_special_tokens=True)
    completion = completion.split("\n\n\n")[0].strip()

    return completion

License

CodeNinja is licensed under the MIT License, with model usage subject to the Model License.

Contact

For queries or support, please open an issue in the repository.

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 20.21
IFEval (0-Shot) 54.47
BBH (3-Shot) 21.71
MATH Lvl 5 (4-Shot) 5.21
GPQA (0-shot) 5.93
MuSR (0-shot) 11.54
MMLU-PRO (5-shot) 22.39