Create and parse prompts for large language models.
Project description
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']
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 AIPrompts-0.5.6.tar.gz
.
File metadata
- Download URL: AIPrompts-0.5.6.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c72b204dd99ac54802295ecc19756e945be17db5cbbfe986355bc761d038233 |
|
MD5 | ccc6528c0eda0ba233b8f2abe1b6f7ca |
|
BLAKE2b-256 | 0bf0955ff4b80a42e78d5f6fe0f5e00f7544ce7f9833c7cdac9197ec8677e36b |
File details
Details for the file AIPrompts-0.5.6-py3-none-any.whl
.
File metadata
- Download URL: AIPrompts-0.5.6-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1477bc0944bc8d3ec99f11dd7839a2cecdf7f45529e466d5600b1812a8eb7b1 |
|
MD5 | 84210751bebb71ca8ae9c1399c2d2813 |
|
BLAKE2b-256 | 7b5aa2efd5722265ae366cad828d9d0ba09b9cf0cbe7fe78d43a2ec154a9bce7 |