AIPrompts
This is a simple prompt builder for OpenAI models. Easy to use and to modify.
Install
pip install AIPrompts
pip install AIPrompts@git+https://github.com/TeiaLabs/prompts.git@master
Dynamic prompts
template = 'a photo of a <img_label>'
prompt = DynamicPrompt(template)
filled_prompt = prompt.build(img_label='dog')
print(filled_prompt)
# out: "a photo of a dog"
Dynamic prompts from file templates
Build your own prompt by creating a file following a sample.prompt file (yaml format), and use the DynamicPrompt class to parse it:
prompt = DynamicPrompt.from_file('samples/sample.prompt')
str_prompt = prompt.build(
input_sentence="lets go",
)
You can also access recommended model settings (engine, temperature) that can be fed to the model input (e.g., openai.Completion.create()):
prompt.get_model_settings()
Improve Autocomplete with custom prompts
Alternatively, to get more control and better autocomplete suggestions, you can inherit from the BasePrompt class and override the build method with explicit arguments:
class MyPrompt(BasePrompt):
def build(self, input_sentence):
return self.set_prompt_values(
input_sentence=input_sentence,
)
Ensembling prompts
To ensemble multiple prompts, you can use the PromptEnsemble class:
templates = [
'<label>',
'a photo of <label>',
'picture of <label>',
]
exp_vars = ['label']
prompt = PromptEnsemble(templates, exp_vars)
prompt.build(label='dog')
# out: ['dog', 'a photo of dog', 'picture of dog']
prompt.build(label='cat')
# out: ['cat', 'a photo of cat', 'picture of cat']
The output is a flattened list with all filled in templates. Note: all templates must be filled with the same expected variables, and all variables must be provided.
You can also build multiple promtps at the same time (useful for classification):
templates = [
'<label>',
'a photo of <label>'
]
template_vars = [
'label'
]
labels = ['dog', 'cat', 't-shirt']
prompt = PromptEnsemble(templates, template_vars)
prompt.build_many(
label=labels
)
# out: ['dog', 'a photo of dog', 'cat', 'a photo of cat', 't-shirt', 'a photo of t-shirt']
Metadata
Release files for AIPrompts 0.5.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| AIPrompts-0.5.6.tar.gz | 9.2 kB | Without provenance | Details for AIPrompts-0.5.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| AIPrompts-0.5.6-py3-none-any.whl | Python 3 | none | any | Details for AIPrompts-0.5.6-py3-none-any.whl |
Total release size: 17.3 kB
Release files / AIPrompts-0.5.6.tar.gz
| Download URL | AIPrompts-0.5.6.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c72b204dd99ac54802295ecc19756e945be17db5cbbfe986355bc761d038233
|
|
BLAKE2b-256 checksum How to use checksums |
0bf0955ff4b80a42e78d5f6fe0f5e00f7544ce7f9833c7cdac9197ec8677e36b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|
Release files / AIPrompts-0.5.6-py3-none-any.whl
| Download URL | AIPrompts-0.5.6-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1477bc0944bc8d3ec99f11dd7839a2cecdf7f45529e466d5600b1812a8eb7b1
|
|
BLAKE2b-256 checksum How to use checksums |
7b5aa2efd5722265ae366cad828d9d0ba09b9cf0cbe7fe78d43a2ec154a9bce7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|
Security for AIPrompts 0.5.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.