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.
- Accepts a range of parameters to customize the response, such as max tokens, temperature, and stopping conditions.
- Accessible design for cross-browser and device compatibility (Chrome, Firefox, Safari, Edge, and mobile).
- Accurately limits billing with limits and ID binding to prevent exceeding API limits and incurring charges.
- Implements rate limiting functionality to prevent exceeding API limits and incurring charges.
- Plain Python implementation with a limited number of dependencies for easy installation and use.
- Stores responses in log files, JSON, and Markdown formats for easy analysis and sharing.
-
Supports multiple GPT models for generating responses, including
gpt-3.5-turbo
,text-davinci-002
,text-curie-001
,text-babbage-001
,text-ada-001
.
- Python 3.6 or higher
- The
openai
,tabulate
, andpython-dotenv
packages - An OpenAI API key (get one here)
- Install the required packages:
pip install openai tabulate python-dotenv
- Clone the TalkWave repository:
git clone https://github.com/sebastienrousseau/talkwave.git
- Add your OpenAI API key to a
.env
file in the project directory:
OPENAI_API_KEY="your_api_key_here"
To use TalkWave, navigate to the project directory in your terminal and run the following command:
python talkwave -p "Your prompt here"
You can also specify additional options, such as the GPT model, maximum tokens, temperature, and user ID:
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:
python talkwave --help
To use the web frontend, navigate to the project directory in your terminal and run the following command:
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.
.
βββ 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
The project is licensed under the terms of both the MIT license and the Apache License (Version 2.0).