Metadata-Version: 2.1
Name: mdchat
Version: 1.0.2
Summary: a CLI that lets you chat with your markdown notes
License: see LICENSE
Author: Mykal Machon
Author-email: mykal@tinybox.dev
Requires-Python: >=3.10,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: faiss-gpu (>=1.7.2,<2.0.0)
Requires-Dist: langchain (>=0.0.345,<0.0.346)
Requires-Dist: openai (>=1.3.7,<2.0.0)
Requires-Dist: rich (>=13.7.0,<14.0.0)
Requires-Dist: tiktoken (>=0.5.2,<0.6.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Description-Content-Type: text/markdown

# MDChat

![Tests](https://github.com/MykalMachon/NoteChat/actions/workflows/cicd.yml/badge.svg)

A CLI tool that allows you to chat with your markdown notes. MDChat uses a large language model (LLM) and a method called "Retrieval Augmented Generation" to allow you to have intelligent conversations with an expert on your content. 

The primary goal of this project is to be both easy to get started with and educational to what modern AI systems can achieve. There are lots of tools like this out there but, in my opinion, they get a bit too into the weeds on the tech or require too much setup.

## Getting started

To get started with MDChat you just need to install it, configure it, and get to chattin!

```bash
pip install mdchat
```

Then you can point mdchat at your notes through th interactive config and select a model (`GPT-4` is more accurate, `GPT-3.5-turbo` is much cheaper and faster)

```bash
mdchat config
```

After that's done, all you need to do is start a chat with your note! You can start a new chat thread with the following command:

```bash
mdchat chat
```

## Key Features 

- Allows you to "chat" with any folder of markdown files.
- Answers will include "sources" to the notes used in generating them.
- summarizing the most recent notes on a certain topic (given your notes are dated)
- summarizing what you've been working on in the last day, or week (given your notes are dated)
- Making novel connections on topics you previously hadn't thought were related

## Contributing 

MDChat is open-source and open to contributions! if you're looking to contribute to this project please: 

* Create an issue to discuss your idea
* Fork this repo
* Create a new branch for your change 
* Make the chnage discussed in your issue 
* Send a pull request

### Installing dependencies

```bash
poetry lock
poetry install
```

### Running the CLI during development

```bash
poetry run mdchat <your-command>
```

### Running tests

```bash
poetry run pytest
```

## License 

MDChat is released under the [MIT License]([https://gi](https://github.com/MykalMachon/NoteChat/blob/main/LICENSE))

