# Genius Chatbot
![PyPI - Version](https://img.shields.io/pypi/v/genius-chatbot)
![PyPI - Downloads](https://img.shields.io/pypi/dd/genius-chatbot)
![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/genius-chatbot)
![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/genius-chatbot)
![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/genius-chatbot)
![PyPI - License](https://img.shields.io/pypi/l/genius-chatbot)
![GitHub](https://img.shields.io/github/license/Knuckles-Team/genius-chatbot)
![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/genius-chatbot)
![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/genius-chatbot)
![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/genius-chatbot)
![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/genius-chatbot)
![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/genius-chatbot)
![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/genius-chatbot)
![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/genius-chatbot)
![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/genius-chatbot)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/genius-chatbot)
![PyPI - Implementation](https://img.shields.io/pypi/implementation/genius-chatbot)
*Version: 1.10.4*
Chatbot that uses any hugging face model or OpenAI endpoint.
Local vector store supported with ChromaDB, or connect to a PGVector database
Allows for scalable intelligence tailored for hardware limitations
This repository is actively maintained - Contributions are welcome!
Contribution Opportunities:
- Support more vector databases
- Get list of models to choose from
- Output everything as JSON when selected
<details>
<summary><b>Usage:</b></summary>
| Short Flag | Long Flag | Description |
|------------|----------------------|---------------------------------------------------------------------------------|
| -h | --help | See Usage |
| -a | --assimilate | Assimilate knowledge from media provided in directory |
| | --batch-token | Number of tokens per batch |
| | --chromadb-directory | Number of chunks to use |
| | --chunks | Number of chunks to use |
| -e | --embeddings-model | [Embeddings model](https://www.sbert.net/docs/pretrained_models.html) to use |
| | --hide-source | Hide source of answer |
| -j | --json | Export to JSON |
| | --openai-token | OpenAI Token |
| | --openai-api | OpenAI API Url |
| | --pgvector-user | PGVector user |
| | --pgvector-password | PGVector password |
| | --pgvector-host | PGVector host |
| | --pgvector-port | PGVector port |
| | --pgvector-database | PGVector database |
| | --pgvector-driver | PGVector driver |
| -p | --prompt | Prompt for chatbot |
| | --mute-stream | Mute stream of generation |
| -m | --model | Copy [GPT4All](https://gpt4all.io/index.html) .bin file from the Model Explorer |
| | --max-token-limit | Maximum token to generate |
| | --model-directory | Directory to store models locally |
| | --model-engine | GPT4All LlamaCPP, or OpenAI |
</details>
<details>
<summary><b>Example:</b></summary>
```bash
genius-chatbot --assimilate "/directory/of/documents"
```
```bash
genius-chatbot --prompt "What is the 10th digit of Pi?"
```
```bash
genius-chatbot --prompt "Chatbots are cool because they" \
--model "wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin" \
--model-engine "GPT4All" \
--assimilate "/directory/of/documents" \
--json
```
</details>
<details>
<summary><b>Installation Instructions:</b></summary>
Install Python Package
Windows Prerequisites:
Visual Studio Code 2022
```bash
winget install -e --id Kitware.CMake
```
Ubuntu Prerequisites:
```bash
apt install -y pandoc
```
```bash
python -m pip install genius-chatbot
```
</details>
## Geniusbot Application
Use with a GUI through Geniusbot
Visit our [GitHub](https://github.com/Knuckles-Team/geniusbot) for more information
<details>
<summary><b>Installation Instructions with Geniusbot:</b></summary>
Install Python Package
```bash
python -m pip install geniusbot
```
</details>
<details>
<summary><b>Repository Owners:</b></summary>
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)
![GitHub User's stars](https://img.shields.io/github/stars/Knucklessg1)
</details>
Raw data
{
"_id": null,
"home_page": "https://github.com/Knuckles-Team/genius-chatbot",
"name": "genius-chatbot",
"maintainer": "Audel Rouhi",
"docs_url": null,
"requires_python": null,
"maintainer_email": "knucklessg1@gmail.com",
"keywords": null,
"author": "Audel Rouhi",
"author_email": "knucklessg1@gmail.com",
"download_url": null,
"platform": null,
"description": "# Genius Chatbot\n\n![PyPI - Version](https://img.shields.io/pypi/v/genius-chatbot)\n![PyPI - Downloads](https://img.shields.io/pypi/dd/genius-chatbot)\n![GitHub Repo stars](https://img.shields.io/github/stars/Knuckles-Team/genius-chatbot)\n![GitHub forks](https://img.shields.io/github/forks/Knuckles-Team/genius-chatbot)\n![GitHub contributors](https://img.shields.io/github/contributors/Knuckles-Team/genius-chatbot)\n![PyPI - License](https://img.shields.io/pypi/l/genius-chatbot)\n![GitHub](https://img.shields.io/github/license/Knuckles-Team/genius-chatbot)\n\n![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/Knuckles-Team/genius-chatbot)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/Knuckles-Team/genius-chatbot)\n![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Knuckles-Team/genius-chatbot)\n![GitHub issues](https://img.shields.io/github/issues/Knuckles-Team/genius-chatbot)\n\n![GitHub top language](https://img.shields.io/github/languages/top/Knuckles-Team/genius-chatbot)\n![GitHub language count](https://img.shields.io/github/languages/count/Knuckles-Team/genius-chatbot)\n![GitHub repo size](https://img.shields.io/github/repo-size/Knuckles-Team/genius-chatbot)\n![GitHub repo file count (file type)](https://img.shields.io/github/directory-file-count/Knuckles-Team/genius-chatbot)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/genius-chatbot)\n![PyPI - Implementation](https://img.shields.io/pypi/implementation/genius-chatbot)\n\n*Version: 1.10.4*\n\nChatbot that uses any hugging face model or OpenAI endpoint.\n\nLocal vector store supported with ChromaDB, or connect to a PGVector database\n\nAllows for scalable intelligence tailored for hardware limitations\n\nThis repository is actively maintained - Contributions are welcome!\n\nContribution Opportunities:\n- Support more vector databases\n- Get list of models to choose from\n- Output everything as JSON when selected\n\n<details>\n <summary><b>Usage:</b></summary>\n\n| Short Flag | Long Flag | Description |\n|------------|----------------------|---------------------------------------------------------------------------------|\n| -h | --help | See Usage |\n| -a | --assimilate | Assimilate knowledge from media provided in directory |\n| | --batch-token | Number of tokens per batch |\n| | --chromadb-directory | Number of chunks to use |\n| | --chunks | Number of chunks to use |\n| -e | --embeddings-model | [Embeddings model](https://www.sbert.net/docs/pretrained_models.html) to use |\n| | --hide-source | Hide source of answer |\n| -j | --json | Export to JSON |\n| | --openai-token | OpenAI Token |\n| | --openai-api | OpenAI API Url |\n| | --pgvector-user | PGVector user |\n| | --pgvector-password | PGVector password |\n| | --pgvector-host | PGVector host |\n| | --pgvector-port | PGVector port |\n| | --pgvector-database | PGVector database |\n| | --pgvector-driver | PGVector driver |\n| -p | --prompt | Prompt for chatbot |\n| | --mute-stream | Mute stream of generation |\n| -m | --model | Copy [GPT4All](https://gpt4all.io/index.html) .bin file from the Model Explorer |\n| | --max-token-limit | Maximum token to generate |\n| | --model-directory | Directory to store models locally |\n| | --model-engine | GPT4All LlamaCPP, or OpenAI |\n\n</details>\n\n<details>\n <summary><b>Example:</b></summary>\n\n```bash\ngenius-chatbot --assimilate \"/directory/of/documents\"\n```\n\n```bash\ngenius-chatbot --prompt \"What is the 10th digit of Pi?\"\n```\n\n```bash\ngenius-chatbot --prompt \"Chatbots are cool because they\" \\\n --model \"wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin\" \\\n --model-engine \"GPT4All\" \\\n --assimilate \"/directory/of/documents\" \\\n --json\n```\n\n</details>\n\n<details>\n <summary><b>Installation Instructions:</b></summary>\n\nInstall Python Package\n\nWindows Prerequisites:\n\nVisual Studio Code 2022\n\n```bash\nwinget install -e --id Kitware.CMake\n```\n\nUbuntu Prerequisites:\n```bash\napt install -y pandoc\n```\n\n```bash\npython -m pip install genius-chatbot\n```\n\n</details>\n\n## Geniusbot Application\n\nUse with a GUI through Geniusbot\n\nVisit our [GitHub](https://github.com/Knuckles-Team/geniusbot) for more information\n\n<details>\n <summary><b>Installation Instructions with Geniusbot:</b></summary>\n\nInstall Python Package\n\n```bash\npython -m pip install geniusbot\n```\n\n</details>\n\n<details>\n <summary><b>Repository Owners:</b></summary>\n\n\n<img width=\"100%\" height=\"180em\" src=\"https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true\" />\n\n![GitHub followers](https://img.shields.io/github/followers/Knucklessg1)\n![GitHub User's stars](https://img.shields.io/github/stars/Knucklessg1)\n</details>\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Use huggingface models to create an intelligent and scalable chatbot",
"version": "1.10.4",
"project_urls": {
"Homepage": "https://github.com/Knuckles-Team/genius-chatbot"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "13fc03f45150a1ac361b28d3b4fa1f5040065fcbd0a05648bd30ba8f8a15dedb",
"md5": "6eb7f4373511fd49ade07d0796f5b8f0",
"sha256": "e09b64e06a2c96f2d10f059efda12d3e3f9334a812e539545fd410339d205e9d"
},
"downloads": -1,
"filename": "genius_chatbot-1.10.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6eb7f4373511fd49ade07d0796f5b8f0",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10830,
"upload_time": "2024-05-09T03:48:42",
"upload_time_iso_8601": "2024-05-09T03:48:42.132492Z",
"url": "https://files.pythonhosted.org/packages/13/fc/03f45150a1ac361b28d3b4fa1f5040065fcbd0a05648bd30ba8f8a15dedb/genius_chatbot-1.10.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-09 03:48:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Knuckles-Team",
"github_project": "genius-chatbot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "langchain",
"specs": [
[
">=",
"0.1.9"
]
]
},
{
"name": "langchain-community",
"specs": [
[
">=",
"0.0.24"
]
]
},
{
"name": "gpt4all",
"specs": [
[
">=",
"2.2.1.post1"
]
]
},
{
"name": "chromadb",
"specs": [
[
">=",
"0.4.24"
]
]
},
{
"name": "llama-cpp-python",
"specs": [
[
">=",
"0.2.53"
]
]
},
{
"name": "PyMuPDF",
"specs": [
[
">=",
"1.23.22"
]
]
},
{
"name": "extract-msg",
"specs": [
[
">=",
"0.47.0"
]
]
},
{
"name": "tabulate",
"specs": [
[
">=",
"0.9.0"
]
]
},
{
"name": "pandoc",
"specs": [
[
">=",
"2.3"
]
]
},
{
"name": "pypandoc",
"specs": [
[
">=",
"1.13"
]
]
},
{
"name": "tqdm",
"specs": [
[
">=",
"4.66.2"
]
]
},
{
"name": "psutil",
"specs": [
[
">=",
"5.9.8"
]
]
},
{
"name": "sentence-transformers",
"specs": [
[
">=",
"2.3.1"
]
]
},
{
"name": "appengine-python-standard",
"specs": [
[
">=",
"1.1.6"
]
]
},
{
"name": "EbookLib",
"specs": [
[
">=",
"0.18"
]
]
},
{
"name": "pgvector",
"specs": [
[
">=",
"0.2.5"
]
]
},
{
"name": "openai",
"specs": [
[
">=",
"1.12.0"
]
]
},
{
"name": "psycopg-binary",
"specs": [
[
">=",
"3.1.18"
]
]
},
{
"name": "tiktoken",
"specs": [
[
">=",
"0.6.0"
]
]
},
{
"name": "unstructured",
"specs": [
[
">=",
"0.12.5"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2.6.3"
]
]
},
{
"name": "Markdown",
"specs": [
[
">=",
"3.5.2"
]
]
},
{
"name": "nltk",
"specs": [
[
">=",
"3.8.1"
]
]
},
{
"name": "docx2txt",
"specs": [
[
">=",
"0.8"
]
]
}
],
"lcname": "genius-chatbot"
}