Collection of utilities for use with OpenAI's GPT-3 language model
Project description
gpt-utils
Helper tools for use with OpenAI's GPT-3 API.
The API key can be provided in three ways:
- In the environment variable
OPENAI_API_KEY
- Via class attribute
GPT.api_key
of classGPT
in modulegpt_utils.core
- Via keyword argument
api_key
in any method or function which obtains a response from OpenAI's servers
Disclaimer
These don't work perfectly.
gpt_utils.utils
from gpt_utils import utils
utils
contains simple functions which transform text in a specific way. Some functions are bidirectional; these take an optional reverse keyword argument which reverses the conversion's input and output.
utils.case
>>> from gpt_utils.utils import case
Contains functions which modify the case of words in a string. These functions are meant to selectively preserve the case of proper nouns, etc. with minimal involvement. The first, title()
, takes a str
containing a word or phrase with proper capitalization for use in a heading or title:
>>> case.title('the ant: an introduction')
'The Ant: An Introduction'
The second, mid_sentence()
, adjusts the case of input words/phrases for insertion mid-sentence:
>>> case.mid_sentence('bicycles on inman street')
'bicycles on Inman Street'
>>> case.mid_sentence('An italian restaurant in somerville')
'an Italian restaurant in Somerville'
utils.location
>>> from gpt_utils.utils import location
Currently contains one function, fix_location()
, which takes an unformatted string containing a location and formats it properly for display:
>>> location.fix_location('lenox ma')
'Lenox, MA'
utils.number
>>> from gpt_utils.utils import number
Contains two functions which convert numbers to strings. The first, number_to_str()
, takes an int
or float
and writes out the same number as a str
:
>>> number.number_to_str(83)
'eighty-three'
>>> number.number_to_string(3.14)
'three point one four'
The second, number_to_ordinal()
, takes an int
and returns it in ordinal form as a str
:
>>> number.number_to_ordinal(43)
'forty-third'
utils.dechatify()
I have found that GPT tends to produce output of lower quality when it is prompted with text containing Internet/SMS vernacular. As a remedy, dechatify()
converts text to standard/written English:
>>> utils.dechatify('how r u')
'How are you?'
>>> utils.dechatify('if the implementation is easy to explain then it might b a good idea')
'If the implementation is easy to explain, then it might be a good idea.'
utils.generate_stem()
This function accepts a str
containing a word/phrase and returns a sentence stem pairing the word/phrase with the appropriate form of the verb "to be":
>>> utils.generate_stem('GitHub')
'GitHub is'
>>> utils.generate_stem("pleiades")
'The Pleiades are'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gpt_utils-1.2.0.tar.gz
.
File metadata
- Download URL: gpt_utils-1.2.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e587af3cb74d543c61ee03b5c736e812b59a41798c17528bee82cf319cc8efc9
|
|
MD5 |
07d1e0c9c0c95f2ff3139f93f6308274
|
|
BLAKE2b-256 |
15055cb68e5342b6fea730a9f10ceeb5cfe26641d47ef23b013b8ed543e9ebbb
|
File details
Details for the file gpt_utils-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: gpt_utils-1.2.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0f201c61e32645b2b2bced9776d6f0658065a4944728e5cee9b7ef187f4c1315
|
|
MD5 |
bad97608cbac5097b58da690ae0fe893
|
|
BLAKE2b-256 |
bf4e33a4540e1051775971f061b495be4ff6bfbe29bbbee8692b79cae003065b
|