Skip to main content

A transcoding library using LLMs.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janus_llm-4.2.0.tar.gz (89.4 kB view details)

Uploaded Source

Built Distribution

janus_llm-4.2.0-py3-none-any.whl (122.3 kB view details)

Uploaded Python 3

File details

Details for the file janus_llm-4.2.0.tar.gz.

File metadata

  • Download URL: janus_llm-4.2.0.tar.gz
  • Upload date:
  • Size: 89.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure

File hashes

Hashes for janus_llm-4.2.0.tar.gz
Algorithm Hash digest
SHA256 4c5facf7306f36376add8e389d92d1ea29802211d231b6ceb1a52ef511cd7b39
MD5 4f44df8866bbf93b6f1335268b759d50
BLAKE2b-256 3522f66f0ee002ad50d59d970478b871d1ee9d27ffb99822b80c1e2df4ea7607

See more details on using hashes here.

File details

Details for the file janus_llm-4.2.0-py3-none-any.whl.

File metadata

  • Download URL: janus_llm-4.2.0-py3-none-any.whl
  • Upload date:
  • Size: 122.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure

File hashes

Hashes for janus_llm-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75ec9aed57e6800703ea456a9ac9c36c6c1e53fb67fef5f2ee081dc3f9b24816
MD5 75f9bdc3da6ded3217b78c4c865d45e6
BLAKE2b-256 616a2b3bf57e396f44243fa4de0c1364172e1ae38f52eac805c32209ef113d04

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page