-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #48 from Finity-Alpha/update_docs
Update docs slightly
- Loading branch information
Showing
5 changed files
with
115 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,55 @@ | ||
# Installation | ||
|
||
### Requirements | ||
- portaudio by running `sudo apt-get install portaudio19-dev ` | ||
- [torch](https://pytorch.org/get-started/locally/) | ||
- [torchaudio](https://pytorch.org/get-started/locally/) | ||
|
||
|
||
### Model specific requirements | ||
- [llama-cpp-python](https://llama-cpp-python.readthedocs.io/en/latest/) | ||
Make sure to install it using the correct CMAKE flag(s). | ||
- [onnxruntime-gpu](https://onnxruntime.ai/docs/install/) | ||
|
||
|
||
### pip installation | ||
```shell | ||
pip install openvoicechat | ||
``` | ||
|
||
### To install base and functionality specific packages | ||
```shell | ||
pip install openvoicechat[piper,openai,transformers] | ||
``` | ||
|
||
similarly "piper" and "openai" can be replaced by any of the following install options: | ||
### Other Requirements | ||
- portaudio | ||
- [torch](https://pytorch.org/get-started/locally/) | ||
- [torchaudio](https://pytorch.org/get-started/locally/) | ||
|
||
- piper ([link](https://github.com/rhasspy/piper)) (does not work on windows) | ||
- openai ([link](https://github.com/openai/openai-python)) | ||
- xtts ([link](https://github.com/coqui-ai/TTS)) | ||
- transformers ([link](https://github.com/huggingface/transformers)) | ||
### Install model specific packages | ||
|
||
| Category | Model Name | Required Packages | | ||
|----------|----------------------|-------------------------| | ||
| TTS | [Piper](https://github.com/rhasspy/piper.git) | ```pip install piper-tts piper-phonemize``` | | ||
| TTS | [xtts - Coqui](https://github.com/coqui-ai/TTS) | `pip install TTS phonemizer` | | ||
| ALL | [transformers - HuggingFace](https://huggingface.co/docs/transformers/index) | `pip install transformers` | | ||
| LLM | [Ollama](https://ollama.com/) | `pip install ollama` | | ||
| LLM | [OpenAI](https://github.com/openai/openai-python) | `pip install openai` | | ||
|
||
|
||
Below you can select the required packages, and the `pip install` command will be generated automatically: | ||
|
||
<div id="pip-install-generator"> | ||
<h2>Select Required Packages</h2> | ||
<div class="package-selection"> | ||
<input type="checkbox" id="transformers" value="transformers" onchange="generateCommand()"> | ||
<label for="transformers">HuggingFace - transformers</label><br> | ||
<input type="checkbox" id="ollama" value="ollama" onchange="generateCommand()"> | ||
<label for="ollama">Ollama</label><br> | ||
<input type="checkbox" id="openai" value="openai" onchange="generateCommand()"> | ||
<label for="openai">OpenAI</label><br> | ||
<input type="checkbox" id="piper" value="piper-tts piper-phonemize" onchange="generateCommand()"> | ||
<label for="piper">Piper-tts</label><br> | ||
<input type="checkbox" id="xtts" value="TTS phonemizer" onchange="generateCommand()"> | ||
<label for="xtts">xtts</label><br> | ||
</div> | ||
<pre class="result"><code id="result">pip install <package_name></code></pre> | ||
</div> | ||
|
||
<script> | ||
function generateCommand() { | ||
let selectedPackages = []; | ||
const checkboxes = document.querySelectorAll('input[type="checkbox"]:checked'); | ||
checkboxes.forEach((checkbox) => { | ||
selectedPackages.push(checkbox.value); | ||
}); | ||
selectedPackages.shift(); | ||
console.log(selectedPackages); | ||
let command = "pip install " + (selectedPackages.length > 0 ? selectedPackages.join(" ") : "<package_name>"); | ||
document.getElementById("result").innerText = command; | ||
} | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,35 @@ | ||
from setuptools import setup, find_packages | ||
|
||
setup( | ||
author='Fakhir Ali', | ||
author_email='[email protected]', | ||
description='OpenVoiceChat is an opensource library that allows you to have a natural voice conversation with ' | ||
'your LLM agent.', | ||
long_description='If you plan on making an LLM agent and want to have your users be able to talk to it like a ' | ||
'person (low latency, handles interruptions), this library is for you. It aims to be the ' | ||
'opensource, highly extensible and easy to use alternative to the proprietary solutions.', | ||
url='https://www.finityalpha.com/OpenVoiceChat/', | ||
name='openvoicechat', | ||
version='0.2.0', | ||
author="Fakhir Ali", | ||
author_email="[email protected]", | ||
description="OpenVoiceChat is an opensource library that allows you to have a natural voice conversation with " | ||
"your LLM agent.", | ||
long_description="If you plan on making an LLM agent and want to have your users be able to talk to it like a " | ||
"person (low latency, handles interruptions), this library is for you. It aims to be the " | ||
"opensource, highly extensible and easy to use alternative to the proprietary solutions.", | ||
url="https://www.finityalpha.com/OpenVoiceChat/", | ||
name="openvoicechat", | ||
version="0.2.0", | ||
packages=find_packages(), | ||
install_requires=[ | ||
'sounddevice', | ||
'pyaudio', | ||
'librosa', | ||
'pydub', | ||
'python-dotenv', | ||
'websockets', | ||
'fastapi', | ||
'pandas', | ||
'pysbd' | ||
"sounddevice", | ||
"pyaudio", | ||
"librosa", | ||
"pydub", | ||
"python-dotenv", | ||
"websockets", | ||
"fastapi", | ||
"pandas", | ||
"pysbd", | ||
], | ||
extras_require={ | ||
'transformers': ['transformers'], | ||
'piper': ['piper-tts', 'piper-phonemize'], | ||
'vosk': ['vosk'], | ||
'openai': ['openai'], | ||
'tortoise': ['tortoise-tts'], | ||
'xtts': ['TTS', 'phonemizer'], | ||
"transformers": ["transformers"], | ||
"piper": ["piper-tts", "piper-phonemize"], | ||
"vosk": ["vosk"], | ||
"openai": ["openai"], | ||
"tortoise": ["tortoise-tts"], | ||
"xtts": ["TTS", "phonemizer"], | ||
}, | ||
dependency_links=[], | ||
) |