Home

Awesome

talk-codebase

Node.js Package

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 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.

<p align="center"> <img src="https://github.com/rsaryev/talk-codebase/assets/70219513/b5d338f9-14a5-417b-9690-83f5cd66facf" width="800" alt="chat"> </p>

Installation

Requirement Python 3.8.1 or higher Your project must be in a git repository

pip install talk-codebase

After installation, you can use it to chat with your codebase in the current directory by running the following command:

talk-codebase chat <path>

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">

OpenAI

If you use the OpenAI model, you need an OpenAI API key. You can get it from here. Then you will be offered a choice of available models.

<img width="300" alt="select" src="https://github.com/rsaryev/talk-codebase/assets/70219513/889ad7c8-a489-4ce8-83af-148b7df09229">

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">

If you want some files to be ignored, add them to .gitignore.

Reset configuration

To reset the configuration, run the following command:

talk-codebase configure

Advanced configuration

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.

Supported Extensions

Contributing