@helicone/generate
v1.0.2
Published
A light and modern interface for Helicone's generateRouter API
Readme
@helicone/generate
A light and modern interface for calling LLMs through Helicone.
Edit, version and manage your prompts using the Helicone Prompts Editor.
Installation
npm install @helicone/generateUsage
Simple usage with just a prompt ID
import { generate } from '@helicone/generate';
// model, temperature, messages inferred from id
const response = await generate("prompt-id");
console.log(response);With variables
const response = await generate({
promptId: "prompt-id",
inputs: {
location: "Portugal",
time: "2:43"
}
});
console.log(response);With Helicone properties
const response = await generate({
promptId: "prompt-id",
userId: "ajwt2kcoe",
sessionId: "21",
cache: true
});
console.log(response);In a chat
const promptId = "homework-helper";
const chat = [];
// User
chat.push("can you help me with my homework?");
// Assistant
chat.push(await generate({promptId, chat}));
console.log(chat[chat.length - 1]);
// User
chat.push("thanks, the first question is what is 2+2?");
// Assistant
chat.push(await generate({promptId, chat}));
console.log(chat[chat.length - 1]);Supported Providers and Required Environment Variables
Always required: HELICONE_API_KEY
| Provider | Required Environment Variables |
|----------|-------------------------------|
| OpenAI | OPENAI_API_KEY |
| Azure OpenAI | AZURE_API_KEY, AZURE_ENDPOINT, AZURE_DEPLOYMENT |
| Anthropic | ANTHROPIC_API_KEY |
| AWS Bedrock | BEDROCK_API_KEY, BEDROCK_REGION |
| Google Gemini | GOOGLE_GEMINI_API_KEY |
| Google Vertex AI | GOOGLE_VERTEXAI_API_KEY, GOOGLE_VERTEXAI_REGION, GOOGLE_VERTEXAI_PROJECT, GOOGLE_VERTEXAI_LOCATION |
| OpenRouter | OPENROUTER_API_KEY |
API Reference
generate(input)
Generates a response using a Helicone prompt.
Parameters
input(string | object): Either a prompt ID string or a parameters object:promptId(string): The ID of the prompt to use, created in the Prompt Editorversion(number | "production", optional): The version of the prompt to use. Defaults to "production"inputs(object, optional): Variable inputs to use in the prompt, if anychat(string[], optional): Chat history for chat-based promptsuserId(string, optional): User ID for tracking in HeliconesessionId(string, optional): Session ID for tracking in Helicone Sessionscache(boolean, optional): Whether to use Helicone's LLM Caching
Returns
Promise<object>: The raw response from the LLM provider
License
MIT
