Your support is greatly appreciated and will help ensure all of the projects continued development and improvement. Thank you for being a part of the community! You can send me money on Revolut by following this link: https://revolut.me/mnestorovv
This script allows you to process and manipulate text of any size using OpenAI's GPT models without having to use the ChatGPT website. With various options and modes, you can generate output based on the input text, create summaries, process text in an interactive mode, and estimate the number of tokens and API calls for a given input. You can use this script to access the power of ChatGPT directly on your local machine or server.
The script is designed to handle input text of any size, automatically splitting it into chunks that adhere to the model's token limits. This means you no longer need to manually copy and paste text into the ChatGPT website, making it easier to work with large documents and automate text processing tasks.
- Text processing with OpenAI's GPT models without the need for the ChatGPT website
- Handle input text of any size, automatically splitting it into manageable chunks
- Summary generation
- Interactive mode for direct input and output
- Batch processing of multiple input files
- Language support with easily configurable language models
- Dry run mode to estimate tokens and API calls
- Customizable colors for print messages
- Configuration file support
- Python 3.6 or higher
- openai package
- tiktoken package (optional, for accurate token counting)
- An OpenAI API key
-
Make sure Python is installed on your system. You can download and install the latest version from the official Python website: https://www.python.org/downloads/
-
Check if Python is added to your system's PATH:
-
- Open the Start menu, search for "Environment Variables," and click on "Edit the system environment variables."
- Click on "Environment Variables" in the System Properties window.
- In the "System variables" section, look for the "Path" variable, select it, and click "Edit."
- Make sure that the Python installation path (e.g.,
C:\Python39\
orC:\Users\YourUsername\AppData\Local\Programs\Python\Python39\
) and the Scripts path (e.g.,C:\Python39\Scripts\
orC:\Users\YourUsername\AppData\Local\Programs\Python\Python39\Scripts\
) are both added to the Path variable. - If they're not, add them manually by clicking "New" and entering the paths.
- Click "OK" to save the changes and close the windows.
-
-
Open a terminal and run the following command:from tiktoken import TokenCounts
echo $PATH
-
Check if the Python installation path is present in the output.
-
If it's not, you can add the Python installation path to the PATH variable by adding the following line to your shell configuration file (e.g.,
~/.bashrc
,~/.bash_profile
, or~/.zshrc
):export PATH="/path/to/your/python/installation:$PATH"
-
Replace
/path/to/your/python/installation
with the actual path to your Python installation. -
Save the file and restart your terminal or run source ~/.bashrc, source
~/.bash_profile
, orsource ~/.zshrc
to apply the changes.
-
-
-
If Python is installed and added to your system's PATH but you still get the error, try using the python3 command instead of python:
python3 main.py
Open a terminal and run the following command:
-
Clone this repository or download the source code.
-
Install the required packages
You can install the required Python packages using this commands:
pip install openai
- Add your OpenAI API key and configure language models and colors in the
config.py
file.
The script can be run using the following command:
python3 main.py [options]
-i, --input
: Input file or directory (required)-o, --output
: Output file or directory (required)-t, --tokens
: Tokens per chunk (default: 1500)-l, --language
: Language of the input text (default: en)-n, --dry-run
: Perform a dry run without making actual API requests-m, --interactive
: Interactive mode-s, --summary
: Generate summaries-p, --temperature
: Sampling temperature (default: 0.5)
Process a single input file and save the output to a specified file:
python3 main.py -i input.txt -o output.txt
Generate summaries of the input text:
python3 main.py -i input.txt -o summary.txt -s
Use interactive mode:
python3 main.py -m
Perform a dry run to estimate tokens and API calls:
python3 main.py -i input.txt -o output.txt -n
Interactive mode:
python3 main.py -i input.txt -o output.txt -m
You can add more language models and change the colors for print messages by updating the config.py
file. Refer to the OpenAI documentation for a list of available models and their capabilities.
- Error handling: Improve error handling and provide more informative error messages to the user.
- API key management: Implement more secure methods for storing and managing the OpenAI API key.
- Performance optimization: Optimize the script for better performance and faster processing, especially for large input files.
- Pre-trained models: Allow users to download and use pre-trained models locally, reducing the reliance on the OpenAI API and potentially reducing costs.
- User interface: Create a user-friendly graphical user interface (GUI) to make the script more accessible to non-technical users.
- Additional language support: Add support for more languages by including the appropriate OpenAI models and extending the script's functionality.
- Documentation: Improve and extend the documentation, providing more examples, detailed explanations, and troubleshooting tips.
Feel free to fork this repository and create pull requests for any new features, improvements, or bug fixes. You can also open issues for any questions, suggestions, or problems you encounter while using the script.
If you find this script helpful and would like to support its development and maintenance, please consider the following options:
-
Star the repository: If you're using this script from a GitHub repository, please give the project a star on GitHub. This helps others discover the project and shows your appreciation for the work done.
-
Share your feedback: Your feedback, suggestions, and feature requests are invaluable to the project's growth. Please open issues on the GitHub repository or contact the author directly to provide your input.
-
Contribute: You can contribute to the project by submitting pull requests with bug fixes, improvements, or new features. Make sure to follow the project's coding style and guidelines when making changes.
-
Spread the word: Share the project with your friends, colleagues, and social media networks to help others benefit from the script as well.
-
Donate: Show your appreciation with a small donation. Your support will help me maintain and enhance the script. Every little bit helps, and your donation will make a big difference in my ability to keep this project alive and thriving.
Your support is greatly appreciated and will help ensure all of the projects continued development and improvement. Thank you for being a part of the community! You can send me money on Revolut by following this link: https://revolut.me/mnestorovv
This project is released under the MIT License.