Module to incorporate .prompt file to your python code for GenAI
Project description
Dotprompt
Dotprompt is a simple library allowing to store your GenAI prompts as .prompt files. It is a simple way to keep your prompts organized and easily accessible alongside your python code.
How to use
Store your prompts as .prompts or .jprompt files in a prompts folder in your at the root of your code directory. Exemple :
my_project/
my_code.py
prompts/
my_prompt.system.prompt
not_specific.prompt
my_other_prompt.jprompt
If the prompts folder is not located in the project, uses the method load_folder
:
import dotprompt
dotprompt.load_folder("./my_prompt_files")
Then simply import dotprompt in your code and get your prompts as object of dotprompts
import dotprompt
...
res = gen_ai_client.complete(dotprompt.my_prompt.system)
When getting a prompt, the library return it as a string and you can use variables to enrich it.
/* A system prompt with variables {speciality} and {age} */
You are an AI specialized in {speciality}. You are {age} years old.
import dotprompt
res = genai_client.complete(
prompt = dotprompt.my_prompt.system.format(
speciality = "medicine",
age = 3
)
)
When comments have been add to the prompt files, the dotprompt store it in the info attribute of the prompt object.
import dotprompt
print(dotprompt.my_prompt.info['system'])
>>>"A system prompt with variables {speciality} and {age}"
Files format
.prompt
The .prompt file format is a simple text file containing the prompt as a string.
It uses a second extension to specify the type of prompt in the file.
Example: If you have a prompt with a system prompt and a user prompt, you'll make two files as follows:
- my_prompt.system.prompt
- my_prompt.user.prompt
And you'll be able to access them as follows:
import dotprompt
res = gen_ai_client.complete(
prompt = {
"system": dotprompt.my_prompt.system,
"user": dotprompt.my_prompt.user
})
If you don't provide a second extension in the prompt file name, the prompt will be considered as a "prompt".
import dotprompt
...
res = gen_ai_client.complete(dotprompt.not_specific.prompt)
The .prompt files can contain comments at the beginning of the file, between /* and */ characters. The comments will be stored in the info attribute of the prompt object and will not be displayed as part of the prompt.
.jprompt
The .jprompt file format is a json file containing multiple prompts with the specified type.
{
"system": "You are an AI specialized in {speciality}. You are {age} years old.",
"user": "Tells me about the studies to be come an expert in {speciality}."
}
The jprompt can be commented the same way as the .prompt files.
Project details
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
Hashes for dotprompt-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6172e227bdafa44d288ebbbec7268c1b973c3253315429a386c81b933c15f07 |
|
MD5 | 211286e9b31e82b9896d7a5cc48bb258 |
|
BLAKE2b-256 | 91f4e309aab1cb9687ee5039c8087f5c3dfa5db8629ee7ea1170c7109aa98138 |