Crates.io | aleph_ollama |
lib.rs | aleph_ollama |
version | 0.1.4 |
source | src |
created_at | 2024-11-17 04:42:03.70045 |
updated_at | 2024-11-22 05:40:10.769955 |
description | Aleph Ollama Code Translator. |
homepage | |
repository | https://github.com/aleph-lang/aleph_ollama |
max_upload_size | |
id | 1450893 |
size | 48,424 |
An experimental library for translating source code to different programming languages using Ollama.
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.
cargo add aleph_ollama
The library can be used via command line through the provided example:
cargo run --example basic <source_file_path> <target_language>
cargo r --example basic test/dataset/syracuse.ml java
Which produces the following output:
import java.util.ArrayList;
import java.util.List;
public class Syracuse {
public static void main(String[] args) {
int n = 7;
List<Integer> suite = syracuse(n);
System.out.print("Syracuse for " + n + " : ");
for (int x : suite) {
System.out.print(x + " ");
}
System.out.println();
}
public static List<Integer> syracuse(int n) {
if (n <= 0) {
throw new IllegalArgumentException("Le nombre doit ĂȘtre strictement positif");
} else if (n == 1) {
List<Integer> list = new ArrayList<>();
list.add(1);
return list;
} else if (n % 2 == 0) {
List<Integer> list = syracuse(n / 2);
list.add(0, n);
return list;
} else {
List<Integer> list = syracuse(3 * n + 1);
list.add(0, n);
return list;
}
}
}
The library can be configured through environment variables:
OLLAMA_MODEL
: The model to use for translation (default: "qwen2.5-coder")
OLLAMA_URL
: Ollama endpoint (default "http://localhost:11434/api/generate")
Contributions are welcome! Feel free to open an issue or submit a pull request.