DAMJ es una herramienta para crear indicaciones integrales para modelos de idiomas mediante la combinación de archivos de proyectos y aplicando opciones de procesamiento personalizadas.
damj está diseñado para ayudar a los desarrolladores a crear indicaciones efectivas para grandes modelos de idiomas (LLM) como ChatGPT. Al combinar diferentes archivos de proyectos y aplicar opciones de procesamiento personalizables, damj simplifica el proceso de generación de indicaciones adaptadas a contextos de proyecto específicos.
Puede instalar la última versión 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 )Producción:
# 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 también proporciona varias funciones de utilidad que se pueden usar de forma independiente. Estas utilidades incluyen funciones para obtener la estructura del proyecto, obtener contenido de archivo y más.
La función get_project_structure genera una representación de Markdown de la estructura del directorio, excluyendo archivos y directorios con lista negra.
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 función get_file_content recupera el contenido de un archivo, aplicando las py_options especificadas.
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 )Este proyecto tiene licencia bajo la licencia de software Apache. Consulte el archivo de licencia para obtener más detalles.
Basilea Mather ([email protected])
¡Las contribuciones son bienvenidas! Haga la bifurcación del repositorio y abra una solicitud de extracción con sus cambios.