DAMJ est un outil pour créer des invites complètes pour les modèles de langage en combinant des fichiers de projet et en appliquant des options de traitement personnalisées.
damj est conçu pour aider les développeurs à créer des invites efficaces pour des modèles de grands langues (LLM) tels que ChatGpt. En combinant différents fichiers de projet et en appliquant des options de traitement personnalisables, damj simplifie le processus de génération d'invites adaptées à des contextes de projet spécifiques.
Vous pouvez installer la dernière version de PYPI:
pip install damjgit clone https://github.com/baselhusam/damj.git
cd damj
pip install . import os
from damj import Damj
cwd = os . getcwd ()
damj = Damj ( cwd )
damj . project_info (
project_overview = "This is a sample project." ,
add_project_structure = True ,
)
prompt = damj . create_prompt (
question = "What is the purpose of this project?" ,
)
print ( prompt )Sortir:
# Project Overview
This is a sample project.
# Project Structure
| ├── LICENSE
| ├── README.md
| ├── pyproject.toml
| ├── requirements.txt
├── assets/
| ├── background.png
| ├── logo.png
├── damj/
| ├── __init__.py
| ├── damj.py
| ├── utils.py
# Question
What is the purpose of this project?
import os
from damj import Damj
cwd = os . getcwd ()
damj = Damj (
cwd = cwd ,
whitelist_files = [ "*.py" ],
blacklist_files = [ ".venv" , "__pycache__" ],
snippet_marker = "```"
)
damj . project_info (
project_overview = "This is a sample project." ,
add_project_structure = True ,
add_files_content = True ,
py_options = {
"add_imports" : True ,
"add_comments" : True ,
"add_docstrings" : False ,
"ipynb_output" : False
}
)
prompt = damj . create_prompt (
question = "What is the purpose of this project?" ,
copy_to_clipboard = True ,
to_markdown = False
)
print ( prompt )DAMJ fournit également plusieurs fonctions d'utilité qui peuvent être utilisées indépendamment. Ces utilitaires incluent des fonctions pour obtenir la structure du projet, obtenir du contenu de fichiers, etc.
La fonction get_project_structure génère une représentation Markdown de la structure du répertoire, à l'exclusion des fichiers et répertoires sur liste noire.
from damj . utils import get_project_structure
# Get the project structure excluding .venv and __pycache__ directories
cwd = os . getcwd ()
blacklist = [ ".venv" , "__pycache__" ]
project_structure = get_project_structure ( cwd , blacklist )
print ( project_structure ) La fonction get_file_content récupère le contenu d'un fichier, en appliquant les py_options spécifiées.
from damj . utils import get_file_content
py_options = {
"add_comments" : True ,
"add_imports" : True ,
"add_docstrings" : False ,
"ipynb_output" : False
}
# Get the content of a Python file with the specified options
file_content = get_file_content ( "example.py" , py_options )
print ( file_content )Ce projet est concédé sous licence Apache. Voir le fichier de licence pour plus de détails.
Bâle Mather ([email protected])
Les contributions sont les bienvenues! Veuillez débarquer le référentiel et ouvrir une demande de traction avec vos modifications.