Skip to content

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

License

Notifications You must be signed in to change notification settings

janus-llm/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

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.