No project description provided
Project description
Focus on writing your code, let LLMs write the documentation for you.
With just a few keystrokes in your terminal by using OpenAI or 100% local LLMs without any data leaks.
Built with langchain, lama.cpp and treesitter.
✨ Features
- 📝 Generate documentation comment blocks for all methods in a file
- e.g. Javadoc, JSDoc, Docstring, Rustdoc etc.
- ✍️ Generate inline documentation comments in method bodies
- 🌳 Treesitter integration
- 💻 Local LLM support
- 🌐 Azure OpenAI support
[!NOTE]
Documentations will only be added to files without unstaged changes, so nothing is overwritten.
🚀 Usage
Create documentations for any method in a file specified by <RELATIVE_FILE_PATH>
with GPT-3.5-Turbo model:
aicomment <RELATIVE_FILE_PATH>
Create also documentation comments in the method body:
aicomment <RELATIVE_FILE_PATH> --inline
Use GPT-4 model:
aicomment <RELATIVE_FILE_PATH> --gpt4
Use GPT-3.5-Turbo-16k model:
aicomment <RELATIVE_FILE_PATH> --gpt3_5-16k
Use Azure OpenAI:
aicomment <RELATIVE_FILE_PATH> --azure-deployment <DEPLOYMENT_NAME>
Use a local LLM on your machine:
aicomment <RELATIVE_FILE_PATH> --local_model <MODEL_PATH>
Guided mode, confirm documentation generation for each method:
aicomment <RELATIVE_FILE_PATH> --guided
[!NOTE]
How to download models from huggingface for local usage see Local LLM usage
[!NOTE]
If very extensive and descriptive documentations are needed, consider using GPT-4/GPT-3.5 Turbo 16k or a similar local model.
[!IMPORTANT]
The results by using a local LLM will highly be affected by your selected model. To get similar results compared to GPT-3.5/4 you need to select very large models which require a powerful hardware.
📚 Supported Languages
- Python
- Typescript
- Javascript
- Java
- Rust
- Kotlin
- Go
- C++
- C
- C#
- Haskell
📋 Requirements
- Python >= 3.9
📦 Installation
Install with pipx
:
pipx install doc-comments-ai
1. OpenAI usage
Create your personal OpenAI API key and add it as $OPENAI_API_KEY
to your environment with:
export OPENAI_API_KEY = <YOUR_API_KEY>
2. Azure OpenAI usage
Add the following variables to your environment:
export AZURE_API_BASE = "https://<your-endpoint.openai.azure.com/"
export AZURE_API_KEY = <YOUR_AZURE_OPENAI_API_KEY>
export AZURE_API_VERSION = "2023-05-15"
3. Local LLM usage
By using a local LLM no API key is required. On first usage of --local_model
you will be asked for confirmation to intall llama-cpp-python
with its dependencies.
The installation process will take care of the hardware-accelerated build tailored to your hardware and OS. For further details see:
installation-with-hardware-acceleration
To download a model from huggingface for local usage the most convenient way is using the huggingface-cli
:
huggingface-cli download TheBloke/CodeLlama-13B-Python-GGUF codellama-13b-python.Q5_K_M.gguf
This will download the codellama-13b-python.Q5_K_M
model to ~/.cache/huggingface/
.
After the download has finished the absolute path of the .gguf
file is printed to the console which can be used as the value for --local_model
.
[!IMPORTANT]
Sincellama.cpp
is used the model must be in the.gguf
format.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file doc_comments_ai-0.1.14.tar.gz
.
File metadata
- Download URL: doc_comments_ai-0.1.14.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae2345109c9977b19e775634226f4d3ed1ad622b0b593fa8ca4a467c635c5146 |
|
MD5 | 6b23dce8f3212238235f83f0813a77c8 |
|
BLAKE2b-256 | 3f6f836102816c00c5a1ffd7e85201baecdff52b22cde74f213bcd2780042935 |
File details
Details for the file doc_comments_ai-0.1.14-py3-none-any.whl
.
File metadata
- Download URL: doc_comments_ai-0.1.14-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc9249e5fce644b15931adbac2b6306f952de8e84e793a13b842364502e806e4 |
|
MD5 | f85739f0a869ceb3e02ea80ebb126e95 |
|
BLAKE2b-256 | d310d182f1942199164360f54af43218eaa34cd95fdd22d642b9f10abfef8a7b |