Python client for PromptFold API - optimize prompts with PromptFold
Project description
PromptFold Client Library
This package provides a simple Python client for the PromptFold API available on PyPI.
Installation
pip install promptfold
Usage
import openai
from promptfold_client import PromptFold
# Initialize PromptFold client, compress your system prompt
pf_client = PromptFold(api_key="YOUR_PROMPTFOLD_API_KEY", system_prompt="Your system prompt.")
# Compress the original user prompt and system prompt
compressed = pf_client.compress_prompt(user_prompt="Input user prompt")
# Call OpenAI's GPT-4 with the compressed prompt
openai.api_key = "YOUR_OPENAI_API_KEY"
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": compressed.compressed_system_prompt},
{"role": "user", "content": compressed.compressed_user_prompt}
]
)
# Print the response from GPT-4
print(response["choices"][0]["message"]["content"])
Publishing a New Version (for Maintainers)
Publishing the client is handled by a script that automates the entire process.
Prerequisites:
- PyPI Account: You need an account on PyPI and an API token.
- Twine Configuration: Your local machine must be configured to authenticate with PyPI. You can do this by setting the
TWINE_USERNAMEandTWINE_PASSWORDenvironment variables.
To publish a new version:
- Navigate to the client directory:
cd promptfold_client - Run the publishing script. You have two options:
- To automatically bump the patch version (e.g.,
1.0.1->1.0.2), run the script without arguments:./publish_pypi.sh
- To specify an exact version (e.g., for a major release like
2.0.0), provide it as an argument:./publish_pypi.sh 2.0.0
- To automatically bump the patch version (e.g.,
- The script will handle everything else automatically.
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
promptfold-1.0.11.tar.gz
(4.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file promptfold-1.0.11.tar.gz.
File metadata
- Download URL: promptfold-1.0.11.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
325ee79ff33da4d895fdacb575d29746d71f67dbbda6063b41584ec03683f465
|
|
| MD5 |
d3a0957de720871df520b062f5152820
|
|
| BLAKE2b-256 |
c5734f72bb35c527bdbf7437171e99f1fe6a5541507487f40d8eb99ef2b766f5
|
File details
Details for the file promptfold-1.0.11-py3-none-any.whl.
File metadata
- Download URL: promptfold-1.0.11-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa35614791f296dd78571021456463731a882b2b194f78ee0d5d936f94b29b40
|
|
| MD5 |
10a4c2fc6a908eb56bf53e9bc4af01e3
|
|
| BLAKE2b-256 |
8eb690efaa54c210d919496198f0b3e57caa50467658a9761b7d10feadb7521f
|