2023-05-29 21:48:41 +00:00
|
|
|
# talk-codebase: A Tool for Chatting with Your Codebase
|
2023-05-27 01:13:34 +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
|
|
|
|
|
|
|
<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-29 21:48:41 +00:00
|
|
|
## Description
|
|
|
|
|
|
|
|
Talk-codebase is a powerful tool that allows you to converse with your codebase. It uses LLMs to answer your queries.
|
|
|
|
|
|
|
|
You can use [GPT4All](https://github.com/nomic-ai/gpt4all) for offline code processing without sharing your code with
|
|
|
|
third parties. Alternatively, you can use OpenAI if privacy is not a concern for you. You can switch between these two
|
|
|
|
options quickly and easily.
|
|
|
|
|
2023-05-26 01:15:30 +00:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
```bash
|
|
|
|
pip install talk-codebase
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2023-05-29 21:48:41 +00:00
|
|
|
Talk-codebase works only with files of popular programming languages and .txt files. All other files will be ignored.
|
2023-05-27 01:13:34 +00:00
|
|
|
|
2023-05-26 01:15:30 +00:00
|
|
|
```bash
|
|
|
|
# Start chatting with your codebase
|
|
|
|
talk-codebase chat <directory>
|
|
|
|
|
2023-05-29 21:48:41 +00:00
|
|
|
# Configure or edit configuration ~/.config.yaml
|
2023-05-26 01:15:30 +00:00
|
|
|
talk-codebase configure
|
|
|
|
|
|
|
|
# Help
|
|
|
|
talk-codebase --help
|
|
|
|
```
|
2023-05-29 00:33:11 +00:00
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
- Python 3.9
|
2023-05-29 21:48:41 +00:00
|
|
|
- OpenAI API key [api-keys](https://platform.openai.com/account/api-keys)
|
|
|
|
- If you want to use GPT4All, you need to download the
|
|
|
|
model [ggml-gpt4all-j-v1.3-groovy.bin](https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin) and specify the path
|
|
|
|
to it in the configuration.
|