janus-llm
Leveraging LLMs for modernization through intelligent chunking, iterative prompting and reflection, and retrieval augmented generation (RAG).
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Keywords
Repository
Leveraging LLMs for modernization through intelligent chunking, iterative prompting and reflection, and retrieval augmented generation (RAG).
Basic Info
- Host: GitHub
- Owner: janus-llm
- License: apache-2.0
- Language: Python
- Default Branch: public
- Homepage: https://janus-llm.github.io/janus-llm/
- Size: 43.6 MB
Statistics
- Stars: 36
- Watchers: 3
- Forks: 5
- Open Issues: 3
- Releases: 9
Topics
Metadata Files
README.md
Overview
Janus (janus-llm) uses LLMs to aid in the modernization of legacy IT systems. The repository can currently do the following:
- Chunk code of over 100 programming languages to fit within different model context windows and add to a Chroma vector database.
- Translate from one programming language to another on a file-by-file basis using an LLM.
- Translate from a binary file to a programming language using Ghidra decompilation.
- Generate requirements, UML diagrams, code comments, and summaries from source code.
- Evaluate the products that you generate.
- Do 1-5 with a CLI tool (
janus).
Installation
shell
pip install janus-llm
Installing from Source
Clone the repository:
shell
git clone git@github.com:janus-llm/janus-llm.git
Then, install the requirements:
shell
curl -sSkL https://install.python-poetry.org | python -
export PATH=$PATH:$HOME/.local/bin
poetry install
Documentation
See the documentation for more information on how to use the package.
Contributing
See our contributing pages
Copyright
Copyright ©2025 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.
Owner
- Name: Janus LLM
- Login: janus-llm
- Kind: organization
- Location: United States of America
- Website: https://mitre.org
- Repositories: 4
- Profile: https://github.com/janus-llm
Modernization tools developed under MITRE’s Independent Research and Development Program.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Janus LLM
message: >-
If you use this software, please cite it using the metadata from this file.
type: software
authors:
- given-names: Michael
family-names: Doyle
email: mdoyle@mitre.org
affiliation: MITRE
orcid: 'https://orcid.org/0009-0002-0229-5693'
- given-names: Chris
family-names: Glasz
email: cglasz@mitre.org
affiliation: MITRE
- given-names: Chris
family-names: Tohline
email: ctohline@mitre.org
affiliation: MITRE
- given-names: William
family-names: Macke
email: wmacke@mitre.org
affiliation: MITRE
- given-names: Paul
family-names: Kirk
email: pkirk@mitre.org
affiliation: MITRE
- given-names: Lily
family-names: Wong
email: lwong@mitre.org
affiliation: MITRE
- given-names: Michael
family-names: Threet
email: mthreet@mitre.org
affiliation: MITRE
- given-names: Colin
family-names: Diggs
email: cdiggs@mitre.org
affiliation: MITRE
- given-names: Pranay
family-names: Jain
email: pranayjain@mitre.org
affiliation: MITRE
- given-names: Chris
family-names: Kempis
email: ckempis@mitre.org
affiliation: MITRE
repository-code: 'https://github.com/janus-llm/janus-llm'
url: 'janus-llm.github.io/janus-llm'
repository-artifact: 'https://pypi.org/project/janus-llm/'
abstract: >-
Janus LLM allows users to parse and chunk over 100 programming languages and embed that information into a vector database for retrieval augmented generation (RAG).
keywords:
- large language models
- llm
- parsing
- nlp
- translation
- vector database
- chroma
- python
license: Apache-2.0
version: 1.0.0
date-released: '2024-01-29'
GitHub Events
Total
- Create event: 52
- Issues event: 1
- Release event: 3
- Watch event: 15
- Delete event: 15
- Issue comment event: 2
- Push event: 13
- Pull request event: 1
- Fork event: 2
Last Year
- Create event: 52
- Issues event: 1
- Release event: 3
- Watch event: 15
- Delete event: 15
- Issue comment event: 2
- Push event: 13
- Pull request event: 1
- Fork event: 2
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 4
- Total pull requests: 3
- Average time to close issues: 8 days
- Average time to close pull requests: about 2 months
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.25
- Average comments per pull request: 0.33
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 2
- Average time to close issues: 8 days
- Average time to close pull requests: about 2 hours
- Issue authors: 2
- Pull request authors: 2
- Average comments per issue: 0.67
- Average comments per pull request: 0.5
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- rlippmann (2)
- ompanda (1)
- huntermc45 (1)
- jobeid1 (1)
Pull Request Authors
- jobeid1 (2)
- ewolos (2)
- psirenny (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 117 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 29
- Total maintainers: 1
pypi.org: janus-llm
A transcoding library using LLMs.
- Homepage: https://github.com/janus-llm/janus-llm
- Documentation: https://janus-llm.github.io/janus-llm
- License: Apache 2.0
-
Latest release: 4.5.4
published 10 months ago
Rankings
Maintainers (1)
Dependencies
- pytest-cov ^4.1.0 coverage
- bandit ^1.7.5 develop
- black ^23.3.0 develop
- flake8 ^6.0.0 develop
- isort ^5.12.0 develop
- pre-commit ^3.3.1 develop
- pydocstyle ^6.3.0 develop
- pytest ^7.3.1 develop
- Sphinx ^6.0.2 docs
- furo ^2023.3.27 docs
- myst-parser ^1.0.0 docs
- sphinx-autoapi ^3.0.0 docs
- sphinx-autobuild ^2021.3.14 docs
- sphinx-copybutton ^0.5.2 docs
- sphinx-rtd-theme ^1.0.0 docs
- sphinxext-opengraph ^0.9.1 docs
- aenum ^3.1.15
- boto3 ^1.34.142
- chromadb ^0.5.0
- gitpython ^3.1.32
- gpt4all ^2.0.2
- langchain ^0.2.0
- langchain-anthropic ^0.1.15
- langchain-community ^0.2.0
- langchain-core ^0.2.0
- langchain-openai ^0.1.8
- nltk ^3.8.1
- numpy ^1.24.3
- openai ^1.14.0
- py-readability-metrics ^1.4.5
- py-rouge ^1.1
- python >=3.11, <3.12
- python-dotenv ^1.0.0
- rich ^13.7.1
- sacrebleu ^2.4.1
- sentence-transformers ^2.6.1
- text-generation ^0.6.0
- tiktoken ^0.7.0
- transformers ^4.31.0
- tree-sitter ^0.21.0
- typer ^0.9.0
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v1 composite
- actions/checkout v1 composite
- Finally ,returnaJSON
- Hereisthecode *
- Ifyouthinkanysectionofthecodeisdifficulttounderstandorhasuncertainrequirements ,thisshouldbedescribed.
- Inaddition ,describethecapabilitiesandlimitationsofthefunctionality,aswellashowtotestthefunctionality.
- Pleaseconvertthefollowingcodeintosoftwarerequirementsthatcanreplicateitsfunctionality. *
- WritetherequirementsinthestyleofanINCOSEsoftwarerequirementsspecificationdocument. *
- Yourpurposeistounderstandasourcecodefile *
- andgenerateasoftwarerequirementsspecificationdocumentforit. *
- 213 dependencies