2023-07-12 00:41:09 +00:00
|
|
|
# talk-codebase
|
2023-08-15 22:25:02 +00:00
|
|
|
|
2023-05-26 12:02:35 +00:00
|
|
|
[![Node.js Package](https://github.com/rsaryev/talk-codebase/actions/workflows/python-publish.yml/badge.svg)](https://github.com/rsaryev/talk-codebase/actions/workflows/python-publish.yml)
|
2023-05-26 01:15:30 +00:00
|
|
|
|
2023-08-15 22:25:02 +00:00
|
|
|
Talk-codebase is a tool that allows you to converse with your codebase using Large Language Models (LLMs) to answer your
|
|
|
|
queries. It supports offline code processing using LlamaCpp and [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. Please note that
|
|
|
|
talk-codebase is still under development and is recommended for educational purposes, not for production use.
|
2023-06-17 00:22:50 +00:00
|
|
|
|
2023-05-26 01:15:30 +00:00
|
|
|
<p align="center">
|
2023-05-27 14:25:50 +00:00
|
|
|
<img src="https://github.com/rsaryev/talk-codebase/assets/70219513/b5d338f9-14a5-417b-9690-83f5cd66facf" width="800" alt="chat">
|
2023-05-26 01:15:30 +00:00
|
|
|
</p>
|
2023-05-27 14:25:50 +00:00
|
|
|
|
2023-05-30 07:19:28 +00:00
|
|
|
## Installation
|
2023-05-29 21:48:41 +00:00
|
|
|
|
2023-08-15 22:25:02 +00:00
|
|
|
Requirement Python 3.8.1 or higher
|
2023-08-21 21:09:22 +00:00
|
|
|
Your project must be in a git repository
|
2023-08-15 22:25:02 +00:00
|
|
|
|
2023-05-26 01:15:30 +00:00
|
|
|
```bash
|
|
|
|
pip install talk-codebase
|
2023-07-12 00:41:09 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
After installation, you can use it to chat with your codebase in the current directory by running the following command:
|
2023-05-26 01:15:30 +00:00
|
|
|
|
2023-07-12 00:41:09 +00:00
|
|
|
```bash
|
2023-07-28 09:48:18 +00:00
|
|
|
talk-codebase chat <path>
|
2023-05-30 07:19:28 +00:00
|
|
|
```
|
2023-05-26 01:15:30 +00:00
|
|
|
|
2023-07-12 00:41:09 +00:00
|
|
|
Select model type: Local or OpenAI
|
|
|
|
|
|
|
|
<img width="300" alt="select_type" src="https://github.com/rsaryev/talk-codebase/assets/70219513/05196fe5-78ff-44ff-8ca3-0313ccef572a">
|
|
|
|
|
2023-07-12 00:52:03 +00:00
|
|
|
OpenAI
|
2023-07-12 00:41:09 +00:00
|
|
|
|
2023-08-15 22:25:02 +00:00
|
|
|
If you use the OpenAI model, you need an OpenAI API key. You can get it from [here](https://beta.openai.com/). Then you
|
|
|
|
will be offered a choice of available models.
|
2023-07-12 00:41:09 +00:00
|
|
|
|
|
|
|
<img width="300" alt="select" src="https://github.com/rsaryev/talk-codebase/assets/70219513/889ad7c8-a489-4ce8-83af-148b7df09229">
|
|
|
|
|
2023-07-12 00:52:03 +00:00
|
|
|
|
|
|
|
Local
|
|
|
|
|
|
|
|
<img width="696" alt="Снимок экрана 2023-07-12 в 03 47 58" src="https://github.com/rsaryev/talk-codebase/assets/70219513/16988911-c605-4570-bfb4-4a34a03cd4a1">
|
|
|
|
|
2023-07-12 00:41:09 +00:00
|
|
|
If you want some files to be ignored, add them to .gitignore.
|
|
|
|
|
2023-07-05 01:54:25 +00:00
|
|
|
## Reset configuration
|
2023-07-12 00:41:09 +00:00
|
|
|
|
|
|
|
To reset the configuration, run the following command:
|
|
|
|
|
2023-07-05 01:54:25 +00:00
|
|
|
```bash
|
|
|
|
talk-codebase configure
|
|
|
|
```
|
|
|
|
|
2023-06-17 00:22:50 +00:00
|
|
|
## Advanced configuration
|
2023-05-30 07:19:28 +00:00
|
|
|
|
2023-08-15 22:25:02 +00:00
|
|
|
You can manually edit the configuration by editing the `~/.config.yaml` file. If you cannot find the configuration file,
|
|
|
|
run the tool and it will output the path to the configuration file at the very beginning.
|
2023-05-29 00:33:11 +00:00
|
|
|
|
2023-07-12 00:41:09 +00:00
|
|
|
## Supported Extensions
|
2023-05-29 00:33:11 +00:00
|
|
|
|
2023-05-30 07:19:28 +00:00
|
|
|
- [x] `.csv`
|
|
|
|
- [x] `.doc`
|
|
|
|
- [x] `.docx`
|
|
|
|
- [x] `.epub`
|
|
|
|
- [x] `.md`
|
|
|
|
- [x] `.pdf`
|
|
|
|
- [x] `.txt`
|
|
|
|
- [x] `popular programming languages`
|
2023-05-29 22:13:23 +00:00
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
2023-08-15 22:25:02 +00:00
|
|
|
* If you find a bug in talk-codebase, please report it on the project's issue tracker. When reporting a bug, please
|
|
|
|
include as much information as possible, such as the steps to reproduce the bug, the expected behavior, and the actual
|
|
|
|
behavior.
|
|
|
|
* If you have an idea for a new feature for Talk-codebase, please open an issue on the project's issue tracker. When
|
|
|
|
suggesting a feature, please include a brief description of the feature, as well as any rationale for why the feature
|
|
|
|
would be useful.
|
|
|
|
* You can contribute to talk-codebase by writing code. The project is always looking for help with improving the
|
|
|
|
codebase, adding new features, and fixing bugs.
|