Skip to content

Commit

Permalink
Ready for 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
curvedinf committed Aug 1, 2024
1 parent 5d2d544 commit bab6ec1
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 13 deletions.
41 changes: 41 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Contributors

We would like to extend our gratitude to the following contributors for their efforts in making `dir-assistant` a better project.

## Maintainers

- **curvedinf**
- GitHub: [curvedinf](https://github.com/curvedinf)
- Role: Project Lead, Core Developer

## Contributors

- **retteghy**
- GitHub: [retteghy](https://github.com/retteghy)

## How to Contribute

We welcome contributions from the community! Here are a few ways you can help:

1. **Report Issues**: If you find any bugs or have suggestions for enhancements, please open an issue [here](https://github.com/curvedinf/dir-assistant/issues).
2. **Submit Pull Requests**: We appreciate and review pull requests. Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes.
- Open a pull request with a detailed description of your changes.

## Acknowledgments

- **llama-cpp-python**
- Repository: [llama-cpp-python](https://github.com/abetlen/llama-cpp-python)
- Contribution: Providing the local LLM support that `dir-assistant` builds upon.

- **LiteLLM**
- Repository: [LiteLLM](https://github.com/litellm/litellm)
- Contribution: Offering the API LLM integration that `dir-assistant` utilizes.

## Contact

For any questions or feedback, feel free to reach out via GitHub issues or directly contact the maintainers.

Thank you for your support and contributions!
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,23 @@ Chat with your current directory's files using a local or API LLM.

![(Demo GIF of dir-assistant being run)](demo.gif)

*Now with [CGRAG (Contextually Guided Retrieval-Augmented Generation)](https://medium.com/@djangoist/how-to-create-accurate-llm-responses-on-large-code-repositories-presenting-cgrag-a-new-feature-of-e77c0ffe432d).*

This project runs local LLMs via the fantastic [llama-cpp-python](https://github.com/abetlen/llama-cpp-python) package
and runs API LLMS using the also fantastic [LiteLLM](https://github.com/BerriAI/litellm) package.

Dir-assistant has local platform support for CPU (OpenBLAS), Cuda, ROCm, Metal, Vulkan, and SYCL.

Dir-assistant has API support for all major LLM APIs. More info in the
[LiteLLM Docs](https://docs.litellm.ai/docs/providers).

Dir-assistant uses a unique method for finding the most important files to include when submitting your
prompt to an LLM called CGRAG (Contextually Guided Retrieval-Augmented Generation). You can read
[this blog post](https://medium.com/@djangoist/how-to-create-accurate-llm-responses-on-large-code-repositories-presenting-cgrag-a-new-feature-of-e77c0ffe432d) for more information about how it works.

This project runs local LLMs via the fantastic [llama-cpp-python](https://github.com/abetlen/llama-cpp-python) package
and runs API LLMS using the also fantastic [LiteLLM](https://github.com/BerriAI/litellm) package.

## New Features

* Now installable via pip
* Thorough CLI functionality including platform installation, model downloading, and config editing.
User `dir-assistant -h` for more info.
* User files have been moved to appropriate linux hidden home directories.
* Thorough CLI functionality including platform installation, model downloading, and config editing.
* User files have been moved to appropriate home hidden directories.
* Config now has llama.cpp completion options exposed (top_k, frequency_penalty, etc.)

## Install
Expand Down Expand Up @@ -138,13 +139,18 @@ dir-assistant clear

## Additional Help

Use the `-h` argument with any command or subcommand to view more information.
Use the `-h` argument with any command or subcommand to view more information. If your problem is beyond the scope of
the helptext, please report a github issue.

## Contributors

We appreciate contributions from the community! For a list of contributors and how you can contribute,
please see [CONTRIBUTORS.md](CONTRIBUTORS.md).

## Limitations

- Only tested on Ubuntu 22.04. If you get it working on another platform, let me know.
- Only tested on Ubuntu 22.04. Please let us know if you run it successfully on other platforms by submitting an issue.
- Dir-assistant only detects and reads text files at this time.
- This is a personal project that works for my needs but might not work for yours. If you make any adjustments so it works for you, I'd appreciate it if you made a PR.

## Todos

Expand All @@ -158,3 +164,4 @@ Use the `-h` argument with any command or subcommand to view more information.
- ~~Model download~~
- Web search
- API Embedding models
- Simple mode for better compatibility with external script automations
1 change: 0 additions & 1 deletion dir_assistant/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ def load_config():
# Check for missing config options (maybe after a version upgrade)
for key, value in CONFIG_DEFAULTS.items():
if key not in config_dict['DIR_ASSISTANT'].keys():
print(f"inserting default {key} = {value}")
config_dict['DIR_ASSISTANT'][key] = value
save_config(config_dict)
# Set OpenAI API key
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

setup(
name="dir-assistant",
version="0.0.6",
version="1.0.0",
description="Chat with your current directory's files using a local or API LLM.",
long_description=README,
long_description_content_type='text/markdown',
Expand Down

0 comments on commit bab6ec1

Please sign in to comment.