Prompts & Experiments
Automatically version prompts from your codebase via our proxy, without changing your workflow. Run experiments using historical datasets to test, evaluate, and improve prompts over time while preventing regressions in production systems.
Who can use this feature: Prompts is an add-on feature for our Pro plan.
Introduction
Helicone’s prompt management provides a seamless way for users to track the prompts used in their generative AI applications. With Helicone, you can effortlessly monitor versions and inputs as they evolve.
Example: A Prompt Template designed for a rap battle between two people.
Why Prompts
Requests are now matched to a helicone-prompt-id
, allowing you to:
- version and track iterations to your prompt over time, without losing any previous versions.
- maintain a dataset of inputs and outputs for each prompt version.
Quick Start
Prerequisites
To use Prompts, you must set up Helicone in proxy mode. Please ensure you use one of the methods in our Starter Guide.
Not sure if proxy is for you? We created a guide to explain the difference between Helicone Proxy vs Helicone Async integration.
How Prompt Templates Work
As you modify your prompt in code, Helicone automatically tracks the new version and maintains a record of the old prompt. Additionally, a dataset of input/output keys is preserved for each version.
Example
Let’s say we have an app that generates a short story, where users are able to input their own character
. For example, the prompt is “Write a story about a secret agent”, where the character
is “a secret agent”.
Import hpf
Add `hpf` and identify input variables
Using the backtick string formatter in JavaScript, add hpf
in front of your backtick to automatically format your text so that Helicone can determine where your variables are.
Next, nest your inputted variable so that it is within another bracket {}
, this is essentially
making it so that we can determine the input key
for Helicone.
Assign an id to your prompt
Assign a Helicone-Prompt-Id
header to your LLM request.
Assigning an id allows us to associate your prompt with future versions of your prompt, and automatically manage versions on your behalf.
Depending on the package you are using, you will need to add a header. For more information on adding headers to packages, please see Header Directory.
Here’s what your code would look like:
Using Prompts created on the UI
If you’ve created a prompt on the UI, you can easily pull this prompt into your codebase by calling the following API endpoint:
Running Experiments
Once you’ve set up prompt management, you can leverage Helicone’s experimentation features to test and improve your prompts.
To learn more about running experiments with your prompts, including step-by-step guides and best practices, visit our Experiments guide.
Local Testing
Many times in development, you may want to test your prompt locally before deploying it to production and you don’t want Helicone to track new prompt versions.
To do this, you can set the Helicone-Prompt-Mode
header to testing
in your LLM request. This will prevent Helicone from tracking new prompt versions.
Was this page helpful?