Skip to content

ianva/janus-llm

 
 

Repository files navigation

Pages Publish Code Style: black Python versions Package version

Overview

Janus (janus-llm) uses LLMs to aid in the modernization of legacy IT systems. The repository can currently do the following:

  1. Chunk code of over 100 programming languages to fit within different model context windows and add to a Chroma vector database.
  2. Translate from one programming language to another on a file-by-file basis using an LLM with varying results (with the translate.py script).
  3. Translate from a binary file to a programming language using Ghidra decompilation.
  4. Do 1-3 with a CLI tool (janus).

Roadmap

Priorities

  1. Scripts interacting with Chroma Vector DB for RAG translation and understanding.
  2. Evaluation of outputs in CLI using LLM self-evaluation or static analysis.

Installation

pip install janus-llm

Installing from Source

Clone the repository:

git clone git@github.com:janus-llm/janus-llm.git

NOTE: Make sure you're using Python 3.10 or 3.11.

Then, install the requirements:

curl -sSkL https://install.python-poetry.org | python -
export PATH=$PATH:$HOME/.local/bin
poetry install

Contributing

See our contributing pages

Copyright

Copyright ©2024 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.

About

Leveraging LLMs for modernization through intelligent chunking, iterative prompting and reflection, and retrieval augmented generation (RAG).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 60.8%
  • Assembly 33.6%
  • Fortran 2.5%
  • M 1.7%
  • MATLAB 1.2%
  • Shell 0.2%