<!-- markdownlint-disable MD033 MD041 -->
<img src="https://kura.pro/talkwave/images/logos/talkwave.svg" alt="talkwave logo" width="261" align="right" />
<!-- markdownlint-enable MD033 MD041 -->
# Python TalkWave
![talkwave banner](https://kura.pro/talkwave/images/titles/title-talkwave.svg)
## Overview 📖
TalkWave is an AI chatbot for developers written in Python. It features
a simple HTML frontend and is designed to be accessible across various
browsers and devices. TalkWave supports asynchronous operations and can
handle multiple requests simultaneously.
## Features ✨
- [x] Accepts a range of parameters to customize the response, such as max tokens, temperature, and stopping conditions.
- [x] Accessible design for cross-browser and device compatibility (Chrome, Firefox, Safari, Edge, and mobile).
- [x] Accurately limits billing with limits and ID binding to prevent exceeding API limits and incurring charges.
- [x] Implements rate limiting functionality to prevent exceeding API limits and incurring charges.
- [x] Plain Python implementation with a limited number of dependencies for easy installation and use.
- [x] Stores responses in log files, JSON, and Markdown formats for easy analysis and sharing.
- [x] Supports multiple GPT models for generating responses, including `gpt-3.5-turbo`,`text-davinci-002`,`text-curie-001`,`text-babbage-001`,`text-ada-001`.
## Requirements 📋
- Python 3.6 or higher
- The `openai`, `tabulate`, and `python-dotenv` packages
- An OpenAI API key (get one [here](https://openai.com/))
## Installation 🛠
1. Install the required packages:
```bash
pip install openai tabulate python-dotenv
```
1. Clone the TalkWave repository:
```bash
git clone https://github.com/sebastienrousseau/talkwave.git
```
1. Add your OpenAI API key to a `.env` file in the project directory:
```bash
OPENAI_API_KEY="your_api_key_here"
```
## Usage 🚀
### Command Line Interface
To use TalkWave, navigate to the project directory in your terminal and
run the following command:
```bash
python talkwave -p "Your prompt here"
```
You can also specify additional options, such as the GPT model, maximum
tokens, temperature, and user ID:
```bash
python talkwave -m 1 -p "Tell me a joke" -t 50 -T 0.5 -u "test@test.com" -r 5 -s -o "json"
```
For more information on the available options, run:
```bash
python talkwave --help
```
### Web Frontend
To use the web frontend, navigate to the project directory in your
terminal and run the following command:
```bash
python talkwave/frontend.py
```
Then, open your browser and navigate to `http://127.0.0.1:5000`. This
will open the TalkWave web frontend, which you can use to generate
responses.
## File Structure 📁
```bash
.
├── talkwave
│ ├── data
│ ├── templates
│ │ ├── 404.html
│ │ └── index.html
│ ├── utils
│ │ ├── curl.py
│ │ └── dir.py
│ ├── __init__.py
│ ├── __main__.py
│ ├── core.py
│ └── frontend.py
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE-APACHE
├── LICENSE-MIT
├── MANIFEST.in
├── README.md
├── README_fr.md
├── TEMPLATE.md
├── pylintrc
├── pyproject.toml
├── requirements.txt
├── setup.cfg
└── setup.py
```
## License 📜
The project is licensed under the terms of both the MIT license and the
Apache License (Version 2.0).
- [Apache License, Version 2.0](https://opensource.org/license/apache-2-0/)
- [MIT license](https://opensource.org/licenses/MIT)
Raw data
{
"_id": null,
"home_page": "https://github.com/sebastienrousseau/talkwave",
"name": "talkwave",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "talkwave,chatbot,AI,machine learningnatural language processing OpenAI GPT-3 GPT3 GPT python",
"author": "Sebastien Rousseau",
"author_email": "sebastian.rousseau@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9e/20/4d356c75835c675f5dda07f0462391709b0b6a2b949761c45a2481f4621e/talkwave-0.0.6.tar.gz",
"platform": null,
"description": "<!-- markdownlint-disable MD033 MD041 -->\n\n<img src=\"https://kura.pro/talkwave/images/logos/talkwave.svg\" alt=\"talkwave logo\" width=\"261\" align=\"right\" />\n\n<!-- markdownlint-enable MD033 MD041 -->\n\n# Python TalkWave\n\n![talkwave banner](https://kura.pro/talkwave/images/titles/title-talkwave.svg)\n\n## Overview \ud83d\udcd6\n\nTalkWave is an AI chatbot for developers written in Python. It features\na simple HTML frontend and is designed to be accessible across various\nbrowsers and devices. TalkWave supports asynchronous operations and can\nhandle multiple requests simultaneously.\n\n## Features \u2728\n\n- [x] Accepts a range of parameters to customize the response, such as max tokens, temperature, and stopping conditions.\n- [x] Accessible design for cross-browser and device compatibility (Chrome, Firefox, Safari, Edge, and mobile).\n- [x] Accurately limits billing with limits and ID binding to prevent exceeding API limits and incurring charges.\n- [x] Implements rate limiting functionality to prevent exceeding API limits and incurring charges.\n- [x] Plain Python implementation with a limited number of dependencies for easy installation and use.\n- [x] Stores responses in log files, JSON, and Markdown formats for easy analysis and sharing.\n- [x] Supports multiple GPT models for generating responses, including `gpt-3.5-turbo`,`text-davinci-002`,`text-curie-001`,`text-babbage-001`,`text-ada-001`.\n\n## Requirements \ud83d\udccb\n\n- Python 3.6 or higher\n- The `openai`, `tabulate`, and `python-dotenv` packages\n- An OpenAI API key (get one [here](https://openai.com/))\n\n## Installation \ud83d\udee0\n\n1. Install the required packages:\n\n```bash\npip install openai tabulate python-dotenv\n```\n\n1. Clone the TalkWave repository:\n\n```bash\ngit clone https://github.com/sebastienrousseau/talkwave.git\n```\n\n1. Add your OpenAI API key to a `.env` file in the project directory:\n\n```bash\nOPENAI_API_KEY=\"your_api_key_here\"\n```\n\n## Usage \ud83d\ude80\n\n### Command Line Interface\n\nTo use TalkWave, navigate to the project directory in your terminal and\nrun the following command:\n\n```bash\npython talkwave -p \"Your prompt here\"\n```\n\nYou can also specify additional options, such as the GPT model, maximum\ntokens, temperature, and user ID:\n\n```bash\npython talkwave -m 1 -p \"Tell me a joke\" -t 50 -T 0.5 -u \"test@test.com\" -r 5 -s -o \"json\"\n\n```\n\nFor more information on the available options, run:\n\n```bash\npython talkwave --help\n```\n\n### Web Frontend\n\nTo use the web frontend, navigate to the project directory in your\nterminal and run the following command:\n\n```bash\npython talkwave/frontend.py\n```\n\nThen, open your browser and navigate to `http://127.0.0.1:5000`. This\nwill open the TalkWave web frontend, which you can use to generate\nresponses.\n\n## File Structure \ud83d\udcc1\n\n```bash\n.\n\u251c\u2500\u2500 talkwave\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 data\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 templates\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 404.html\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 index.html\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 utils\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 curl.py\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 dir.py\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __main__.py\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 core.py\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 frontend.py\n\u251c\u2500\u2500 CONTRIBUTING.md\n\u251c\u2500\u2500 Dockerfile\n\u251c\u2500\u2500 LICENSE-APACHE\n\u251c\u2500\u2500 LICENSE-MIT\n\u251c\u2500\u2500 MANIFEST.in\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 README_fr.md\n\u251c\u2500\u2500 TEMPLATE.md\n\u251c\u2500\u2500 pylintrc\n\u251c\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 requirements.txt\n\u251c\u2500\u2500 setup.cfg\n\u2514\u2500\u2500 setup.py\n```\n\n## License \ud83d\udcdc\n\nThe project is licensed under the terms of both the MIT license and the\nApache License (Version 2.0).\n\n- [Apache License, Version 2.0](https://opensource.org/license/apache-2-0/)\n- [MIT license](https://opensource.org/licenses/MIT)\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "TalkWave is an AI chatbot for developers written in Python.",
"version": "0.0.6",
"split_keywords": [
"talkwave",
"chatbot",
"ai",
"machine learningnatural language processing openai gpt-3 gpt3 gpt python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "55842fe5168bc858017a3897e62c16fbf756d733a09bf696d9cb2546ef09bfef",
"md5": "47a55ea04653b9975c1dfc7305c4e506",
"sha256": "6b62499c49835672aeee8c829e1811cbbcbe3e0d13dd0e0808568bfeea9d732d"
},
"downloads": -1,
"filename": "talkwave-0.0.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "47a55ea04653b9975c1dfc7305c4e506",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.9",
"size": 18490,
"upload_time": "2023-04-21T21:00:00",
"upload_time_iso_8601": "2023-04-21T21:00:00.967900Z",
"url": "https://files.pythonhosted.org/packages/55/84/2fe5168bc858017a3897e62c16fbf756d733a09bf696d9cb2546ef09bfef/talkwave-0.0.6-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9e204d356c75835c675f5dda07f0462391709b0b6a2b949761c45a2481f4621e",
"md5": "3d61bd236dc9f09480619fd9c6f5df8c",
"sha256": "a391ef0497e0c1f3cf4f5da82daeef5edefc4b3e2a830c1ee20de348e6a571db"
},
"downloads": -1,
"filename": "talkwave-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "3d61bd236dc9f09480619fd9c6f5df8c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 18448,
"upload_time": "2023-04-21T21:00:02",
"upload_time_iso_8601": "2023-04-21T21:00:02.452803Z",
"url": "https://files.pythonhosted.org/packages/9e/20/4d356c75835c675f5dda07f0462391709b0b6a2b949761c45a2481f4621e/talkwave-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-21 21:00:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "sebastienrousseau",
"github_project": "talkwave",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "talkwave"
}