--- license: mit datasets: - CodeTranslatorLLM/Code-Translation language: - en base_model: - unsloth/Llama-3.2-3B-Instruct new_version: meta-llama/Llama-3.2-3B-Instruct pipeline_tag: text2text-generation tags: - Fortran - Rust - FortranToRust --- # 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](https://huggingface.co/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](https://huggingface.co/Caslow) and [Chandrahas Aroori](https://huggingface.co/charoori) - **License:** MIT - **Finetuned from model:** [unsloth/Llama-3.2-3B-Instruct](https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct) ### Model Sources - **Repository:** [GitHub Repo](https://github.com/CodeTranslatorLLM/LinguistLLM) ## 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](https://github.com/CodeTranslatorLLM/LinguistLLM) for a detailed guide. **Quick Guide** 1. Load the model ```python 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) ``` 2. Get your input ```python 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") ``` 3. Run the model ```python 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](https://github.com/CodeTranslatorLLM/LinguistLLM) for a detailed guide. ### Training Data Please visit the [GitHub Repo](https://github.com/CodeTranslatorLLM/LinguistLLM) for a detailed guide. ### Training Procedure Please visit the [GitHub Repo](https://github.com/CodeTranslatorLLM/LinguistLLM) for a detailed guide.