git-llm


Namegit-llm JSON
Version 0.1.3 PyPI version JSON
download
home_page
SummaryThe project integrates Git with a llm (OpenAI, LlamaCpp, and GPT-4-All) to extend the capabilities of git.
upload_time2023-05-30 23:29:11
maintainer
docs_urlNone
authorSaryev Rustam
requires_python>=3.9,<4.0
license
keywords chatgpt openai cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## git-llm

The project integrates Git with a llm (OpenAI, LlamaCpp, and GPT-4-All) to extend the capabilities of git. It supports
offline processing using [GPT4All](https://github.com/nomic-ai/gpt4all) without sharing your code with third parties, or
you can use OpenAI if privacy is not a concern for you. It is only recommended for educational purposes and not for
production use.

### Installation

To install `git-llm`, you need to have Python 3.9 and an OpenAI API
key [api-keys](https://platform.openai.com/account/api-keys). Additionally, if you want to use the GPT4All model, you
need to download the [ggml-gpt4all-j-v1.3-groovy.bin](https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin) model.
If you prefer a different model, you can download it from [GPT4All](https://gpt4all.io) and configure path to it in the
configuration and specify its path in the configuration. If you want some files to be ignored, add them to .gitignore.

To install `git-llm`, run the following command in your terminal:

```bash
pip install git-llm
```

### Usage

To use `git-llm`, you need to configure it first. To do this, run the following command:

```bash
git-llm config
```

`changelog` - generates a list of changes from output `git diff --staged`

```bash
git-llm changelog
```

This command reviews the changes staged for commit using `git diff --staged` and writes a commit message following the
Conventional format.

```bash
git-llm commit
```

You can also edit the configuration manually by editing the `~/.git_llm_config.yaml` file. If for some reason you cannot
find the configuration file, just run the tool and at the very beginning it will output the path to the configuration
file.

```yaml
# The OpenAI API key. You can get it from https://beta.openai.com/account/api-keys
api_key: sk-xxx
# maximum size of a chunk of text to be sent to the model
chunk_size: 500
# the maximum tokens
max_tokens: 1048
# model name for the OpenAI API
model_name: gpt-3.5-turbo
# model path for the local model
model_path: models/ggml-gpt4all-j-v1.3-groovy.bin
# model type: openai or local
model_type: openai
```

### Features

More commands will be added in the future.

### Contributing

Contributions are always welcome!

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "git-llm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "chatgpt,openai,cli",
    "author": "Saryev Rustam",
    "author_email": "rsaryev1997@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/be/db/f3c41bfc7b0c5204b0fb17afd7e671c531008ccf74fd535ad2a9aca22269/git_llm-0.1.3.tar.gz",
    "platform": null,
    "description": "## git-llm\n\nThe project integrates Git with a llm (OpenAI, LlamaCpp, and GPT-4-All) to extend the capabilities of git. It supports\noffline processing using [GPT4All](https://github.com/nomic-ai/gpt4all) without sharing your code with third parties, or\nyou can use OpenAI if privacy is not a concern for you. It is only recommended for educational purposes and not for\nproduction use.\n\n### Installation\n\nTo install `git-llm`, you need to have Python 3.9 and an OpenAI API\nkey [api-keys](https://platform.openai.com/account/api-keys). Additionally, if you want to use the GPT4All model, you\nneed to download the [ggml-gpt4all-j-v1.3-groovy.bin](https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin) model.\nIf you prefer a different model, you can download it from [GPT4All](https://gpt4all.io) and configure path to it in the\nconfiguration and specify its path in the configuration. If you want some files to be ignored, add them to .gitignore.\n\nTo install `git-llm`, run the following command in your terminal:\n\n```bash\npip install git-llm\n```\n\n### Usage\n\nTo use `git-llm`, you need to configure it first. To do this, run the following command:\n\n```bash\ngit-llm config\n```\n\n`changelog` - generates a list of changes from output `git diff --staged`\n\n```bash\ngit-llm changelog\n```\n\nThis command reviews the changes staged for commit using `git diff --staged` and writes a commit message following the\nConventional format.\n\n```bash\ngit-llm commit\n```\n\nYou can also edit the configuration manually by editing the `~/.git_llm_config.yaml` file. If for some reason you cannot\nfind the configuration file, just run the tool and at the very beginning it will output the path to the configuration\nfile.\n\n```yaml\n# The OpenAI API key. You can get it from https://beta.openai.com/account/api-keys\napi_key: sk-xxx\n# maximum size of a chunk of text to be sent to the model\nchunk_size: 500\n# the maximum tokens\nmax_tokens: 1048\n# model name for the OpenAI API\nmodel_name: gpt-3.5-turbo\n# model path for the local model\nmodel_path: models/ggml-gpt4all-j-v1.3-groovy.bin\n# model type: openai or local\nmodel_type: openai\n```\n\n### Features\n\nMore commands will be added in the future.\n\n### Contributing\n\nContributions are always welcome!\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "The project integrates Git with a llm (OpenAI, LlamaCpp, and GPT-4-All) to extend the capabilities of git.",
    "version": "0.1.3",
    "project_urls": null,
    "split_keywords": [
        "chatgpt",
        "openai",
        "cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0483a7671192af7f911aa2f55b866767c248f561d5a1e21e80ce647997be328",
                "md5": "e634a70ffd3b493bb1707903510e121f",
                "sha256": "c4af0ffdc138dd7d9ea9772a86429162d771d0091d262b37541ae540d1e7e9b0"
            },
            "downloads": -1,
            "filename": "git_llm-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e634a70ffd3b493bb1707903510e121f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 10401,
            "upload_time": "2023-05-30T23:29:09",
            "upload_time_iso_8601": "2023-05-30T23:29:09.915126Z",
            "url": "https://files.pythonhosted.org/packages/e0/48/3a7671192af7f911aa2f55b866767c248f561d5a1e21e80ce647997be328/git_llm-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bedbf3c41bfc7b0c5204b0fb17afd7e671c531008ccf74fd535ad2a9aca22269",
                "md5": "8f583d1f1f0e3abbe1e2ac19cff7a78d",
                "sha256": "6e8207eded70fe5be3cb1e99e8c5f2b4e4382114c69c5a375a30b00c7e9e37e3"
            },
            "downloads": -1,
            "filename": "git_llm-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "8f583d1f1f0e3abbe1e2ac19cff7a78d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 8568,
            "upload_time": "2023-05-30T23:29:11",
            "upload_time_iso_8601": "2023-05-30T23:29:11.596640Z",
            "url": "https://files.pythonhosted.org/packages/be/db/f3c41bfc7b0c5204b0fb17afd7e671c531008ccf74fd535ad2a9aca22269/git_llm-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-30 23:29:11",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "git-llm"
}
        
Elapsed time: 0.07626s