Chino is a terminal-based chatbot. Powered by OpenAI.
Uses RAG to generate responses based on user-provided documents.
This project is designed to be compatible with specific versions of Python for optimal performance and stability.
- Python 3.11.7
โ๏ธ For the best experience and performance, it is recommended to use the version mentioned above.
Before diving into the project, ensure that you have the correct Python version installed. To check the version of Python you currently have, execute the following command in your terminal:
python --version
Protip: Managing multiple Python versions is a breeze with pyenv. It allows you to seamlessly switch between different Python versions without the need to reinstall them.
If you haven't installed pyenv
yet, follow their official guide to set it up.
Once you have pyenv
ready, install the recommended Python version by running:
pyenv install 3.11.7
When you navigate to this project's directory in the future,
pyenv
will automatically select the recommended Python version, thanks to the.python-version
file in the project root.
pip install chinoai
-
Clone the repository:
git clone https://github.com/SAMAD101/Chino.git
-
Navigate to the project Directory:
cd Chino
-
Install using:
pip install .
Coming soon!
-
Clone the Repository:
Get the project source code from GitHub:
git clone https://github.com/SAMAD101/Chino.git
-
Navigate to the Project Directory:
cd Chino
-
Install the Project (from source):
-
Use PDM to run the project:
python3 -m pip install -e .
-
Run the project:
chino --help
You will need an OpenAI API key to make it work. Get your API key from OpenAI website and set it as an environment variable:
export OPENAI_API_KEY="<your_api_key>"
Commands and options are available by running:
chino --help
For using the Retrieval Augmented Generation (RAG) features, follow these steps:
-
You will need to put your documents in the
~/.local/share/chino/data
directory in the root of the project.mkdir data
-
Create a directory in the root of the project called
~/.local/share/chino/chroma
. This directory will contain the OpenAI embeddings (embedding vectors) for the documents. -
Process the documents and create the embeddings using the following command:
chino migrate
The directory data and chroma directories will be made more configurable in the future releases.
Once your documents are processed. You can use the query mode to give prompts for the documents [RAG]. Start Chino by running:
chino start
and use \q:
before your prompt to use it in query mode.