/talk-codebase

Tool for chatting with your codebase and docs using OpenAI, LlamaCpp, and GPT-4-All

Primary LanguagePythonMIT LicenseMIT

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.

chat

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

select_type

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.

select

Local

Снимок экрана 2023-07-12 в 03 47 58

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

  • .csv
  • .doc
  • .docx
  • .epub
  • .md
  • .pdf
  • .txt
  • popular programming languages

Contributing

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