Model Card for Model ID
This modelcard aims to be a base template for new models. It has been generated using unsloth/Llama-3.2-3B-Instruct.
Model Details
Model Description
CodeConvLLM is a language model specifically designed to translate OCaml and Fortran code into C# and Rust. It integrates seamlessly with Visual Studio Code through a plugin and ensures industry-standard translations by benchmarking outputs against best practices in software engineering.
- Developed by: Caslow Chien and Chandrahas Aroori
- License: MIT
- Finetuned from model: unsloth/Llama-3.2-3B-Instruct
Model Sources
- Repository: GitHub Repo
Uses
Direct Use
The model can be used directly for code translation tasks. Users can input OCaml or Fortran code into the Gradio dashboard or via the API and receive C# or Rust code as output. It is particularly suitable for developers needing efficient, accurate language conversion in software migration or integration projects.
Downstream Use [optional]
Developers can integrate this model into larger IDE ecosystems, CI/CD pipelines, or automated code-refactoring systems for multi-language development projects.
Out-of-Scope Use
The model should not be used for:
- Translating non-code text.
- Translating between languages it is not trained for (e.g., Python to Java).
- Malicious purposes, such as creating obfuscated or harmful code.
Bias, Risks, and Limitations
While the model achieves high accuracy in most cases, it may introduce errors in certain edge cases or highly domain-specific code. Users must verify and test generated outputs thoroughly before deployment.
Recommendations
- Validation: Benchmark the output using standard tools and manual review.
- Testing: Integrate automated testing during translation workflows to catch potential bugs or inaccuracies.
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
How to Get Started with the Model
Please visit the GitHub Repo for a detailed guide.
Quick Guide
- Load the model
from unsloth import FastLanguageModel
from transformers import TextStreamer
max_seq_length = 2048
dtype = None
load_in_4bit = True
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "lora_model", # OUR MODEL YOU USED FOR TRAINING, put it under the same folder
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
)
FastLanguageModel.for_inference(model)
- Get your input
USER_INPUT_CODE = # YOUR FORTRAN CODE
USER_INPUT_EXPLANATION = # YOUR FORTRAN CODE EXPLANATION
messages = [
{
"role": "user",
"content": str("[Fortran Code]") + str(USER_INPUT_CODE) + str("[Fortran Code Explain]" )+ str(USER_INPUT_EXPLANATION)
},
]
inputs = tokenizer.apply_chat_template(
messages,
tokenize = True,
add_generation_prompt = True, # Must add for generation
return_tensors = "pt",
).to("cuda")
- Run the model
text_streamer = TextStreamer(tokenizer, skip_prompt = True)
_ = model.generate(input_ids = inputs, streamer = text_streamer, max_new_tokens = 2000,
use_cache = True, temperature = 1.5, min_p = 0.1)
Training Details
Please visit the GitHub Repo for a detailed guide.
Training Data
Please visit the GitHub Repo for a detailed guide.
Training Procedure
Please visit the GitHub Repo for a detailed guide.
Model tree for CodeTranslatorLLM/LinguistLLM
Base model
meta-llama/Llama-3.2-3B-Instruct