https://github.com/mavrick-1/rishi-ai
https://github.com/mavrick-1/rishi-ai
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mavrick-1/rishi-ai
- Owner: MAVRICK-1
- Created: 2024-06-09T18:19:06.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-18T13:09:31.000Z (about 2 years ago)
- Last Synced: 2025-01-22T10:08:24.709Z (over 1 year ago)
- Language: TypeScript
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RishiAi - Free ChatBot CLI 🤖
`RishiAi` is a command-line interface (CLI) `AI ChatBot` that uses `Google’s Gemini` API to generate natural language responses. You can chat with RishiAi about anything, from images to documents, and have fun and engaging conversations.
## Quick Demo
https://github.com/MAVRICK-1/Rishi-AI/assets/146999057/04dea2f0-ca06-419f-a8f8-10435c244ea6
## Installation:
Installing RishiAi is simple. For global access, execute one of the commands below:
* **Using Node Package Manager (NPM):**
```bash
npm install -g rishiai
```
* **or if you are using (PNPM):**
```bash
pnpm install -g rishiai
```
## Usage:
### Logging In:
Before using Rishi Ai, you'll need to log in with your Google Gemini API token. To do this, run the following command:
```bash
rishi login [token]
```
**Example:**
```bash
rishi login Flqw9TUeaSkRfRii3lmgZLid
```
This command sends a request to the Gemini endpoint for authentication. Upon receiving a successful response, your API key will be verified.
To obtain your free API key, head over to [Google Gemini API Key](https://makersuite.google.com/app/apikey).
If you encounter any issues, try running `rishi login ` again to refresh your credentials.
### Viewing Configuration:
To view your current RishiAi configuration, simply type:
```bash
rishi config
```
This will display the contents of the `rishi.json` file stored on your machine.
### Updating Configuration:
To update the default values of RishiAi, run this command:
```bash
rishi config set
```
By default, when you log in, we have set some default values that are required for the Google Gemini API to work properly, such as:
- `maxOutputTokens`: 2048
- `topK`: 40
- `topP`: 1
- `temperature`: 0.7
- `kwargs`: 1
To update these default values, simply run `rishi config set`. After running this command, you will be prompted to enter your desired values in place of the default values.
### Chat with RishiAi:
To start chatting with the RishiAi chatbot, run this command:
```bash
rishi chat
```
Once you are logged in, you can have a natural language conversation with the chatbot.
### Chat with image
You can also chat with an image by running:
```bash
rishi vision
```
When you provide the path to an image, it will be converted to `base64`. When you ask a question about the image, `RishiAi` will send a request to the `Gemini Vision` endpoint with the image data and your question. The response from Gemini will be used to generate a reply.
**Example:**
```bash
rishi vision public/image.jpg
```
You can ask questions like "What's happening in the image?", "Who are the people in the image?", or "What is the object on the left?".
### Chat with Document
You can also chat with a document by running:
```bash
rishi read
```
You need to provide the `path` of your document, and optionally specify its `file type` using the `-f` flag. Default `file type` is set to `text` because it allows for easier splitting and chunking of content.
However, we generally `recommend` using the `text` file type for seamless conversations with any document.
**Example:**
```bash
rishi read -f pdf
```
RishiAi supports five file types: `pdf`, `text`, `json`, `csv`, and `url`.
**Note:** The `url` file type is included for convenience, allowing you to fetch data from websites that allow bots to scrape their web pages.
RishiAi also provides `verbose` output, displaying the retrieval process of chunks based on your queries.
**Example:**
```bash
rishi read resume.pdf -f pdf -t
```
**Fun Fact:** We can't use `-v` for `verbose` flag as it is already assigned as version flag.
By default, RishiAi use `MemoryVectorStore` to manage splitted chunks and indexes.
If you want to save the chunks and indexes to your local machine, you can use the `-s` flag. This will create a directory with a nanoid in `/user/.config/configstore/rishi`. You can also use the `-n` flag to give a `custom name` to the directory.
**Example:**
```bash
rishi read resume.pdf -f pdf -s -n resume-store
```
If you have already created and saved a `vector store` on your machine, you can load it by using the `-l` flag. This flag requires the location/path of the vector store directory.
**Example:**
```bash
rishi read resume.pdf -f pdf -l C:\Users\asus\.config\configstore\rishi\resume-store
```
## Credits:
RishiAi utilizes `Google's Gemini` API for its chatbot capabilities. To obtain your free API key, head over to [Google Gemini API Key](https://makersuite.google.com/app/apikey).
```