You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An experimental library for translating source code to different programming languages using Ollama.
Description
This library enables translation of source code files from one programming language to another using Ollama AI models capabilities. It's an experimental tool that can be helpful for quick code conversion between different languages.
Prerequisites
Rust installed on your system
Ollama installed and running locally
A compatible model (default: qwen2.5-coder)
Installation
cargo add aleph_ollama
Usage
The library can be used via command line through the provided example:
cargo run --example basic <source_file_path><target_language>
Example
cargo r --example basic test/dataset/syracuse.ml java
Which produces the following output:
importjava.util.ArrayList;
importjava.util.List;
publicclassSyracuse {
publicstaticvoidmain(String[] args) {
intn = 7;
List<Integer> suite = syracuse(n);
System.out.print("Syracuse for " + n + " : ");
for (intx : suite) {
System.out.print(x + " ");
}
System.out.println();
}
publicstaticList<Integer> syracuse(intn) {
if (n <= 0) {
thrownewIllegalArgumentException("Le nombre doit être strictement positif");
} elseif (n == 1) {
List<Integer> list = newArrayList<>();
list.add(1);
returnlist;
} elseif (n % 2 == 0) {
List<Integer> list = syracuse(n / 2);
list.add(0, n);
returnlist;
} else {
List<Integer> list = syracuse(3 * n + 1);
list.add(0, n);
returnlist;
}
}
}
Configuration
The library can be configured through environment variables:
OLLAMA_MODEL: The model to use for translation (default: "qwen2.5-coder")