🍰 PromptLayer
The first platform built for prompt engineers
PromptLayer is the first platform that allows you to track, manage, and share your GPT prompt engineering. PromptLayer acts a middleware between your code and OpenAI’s python library.
PromptLayer records all your OpenAI API requests, allowing you to search and explore request history in the PromptLayer dashboard.
This repo contains the Python wrapper library for PromptLayer.
Quickstart ⚡
Install PromptLayer
pip install promptlayer
Installing PromptLayer Locally
Use pip install . to install locally.
Using PromptLayer
To get started, create an account by clicking “Log in” on PromptLayer. Once logged in, click the button to create an API key and save this in a secure location (Guide to Using Env Vars).
Once you have that all set up, install PromptLayer using pip.
In the Python file where you use OpenAI APIs, add the following. This allows us to keep track of your requests without needing any other code changes.
import promptlayer
promptlayer.api_key = "<YOUR PromptLayer API KEY pl_xxxxxx>"
openai = promptlayer.openai
You can then use openai as you would if you had imported it directly.
Adding PromptLayer tags: pl_tags
PromptLayer allows you to add tags through the pl_tags argument. This allows you to track and group requests in the dashboard.
Tags are not required but we recommend them!
openai.Completion.create(
engine="text-ada-001",
prompt="My name is",
pl_tags=["name-guessing", "pipeline-2"]
)
After making your first few requests, you should be able to see them in the PromptLayer dashboard!
Using the REST API
This Python library is a wrapper over PromptLayer's REST API. If you use another language, like Javascript, just interact directly with the API.
Here is an example request below:
import requests
request_response = requests.post(
"https://api.promptlayer.com/track-request",
json={
"function_name": "openai.Completion.create",
"args": [],
"kwargs": {"engine": "text-ada-001", "prompt": "My name is"},
"tags": ["hello", "world"],
"request_response": {"id": "cmpl-6TEeJCRVlqQSQqhD8CYKd1HdCcFxM", "object": "text_completion", "created": 1672425843, "model": "text-ada-001", "choices": [{"text": " advocacy\"\n\nMy name is advocacy.", "index": 0, "logprobs": None, "finish_reason": "stop"}]},
"request_start_time": 1673987077.463504,
"request_end_time": 1673987077.463504,
"api_key": "pl_<YOUR API KEY>",
},
)
Contributing
We welcome contributions to our open source project, including new features, infrastructure improvements, and better documentation. For more information or any questions, contact us at hello@magniv.io.
Metadata
Release files for tester-sc-pr2 0.1.64
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tester_sc_pr2-0.1.64-py3-none-any.whl | Python 3 | none | any | Details |
Release files / tester_sc_pr2-0.1.64-py3-none-any.whl
| Download URL | tester_sc_pr2-0.1.64-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e791492b4daf9ff9728f991a274a7301e07e774bdb3870ce877f186bacee0184
|
|
BLAKE2b-256 checksum How to use checksums |
59d164b5725a26603d673cafce34394c2c432bf498bd4cea42072ffcf306a091
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.28.2 requests-toolbelt/0.10.1 urllib3/1.26.14 tqdm/4.64.1 importlib-metadata/6.0.0 keyring/23.13.1 rfc3986/1.5.0 colorama/0.4.6 CPython/3.11.1
|