Documentation Index
Fetch the complete documentation index at: https://docs.openpipe.ai/llms.txt
Use this file to discover all available pages before exploring further.
Use the OpenPipe SDK as a drop-in replacement for the generic OpenAI package. Calls sent through the OpenPipe SDK will be recorded by default for later training. You’ll use this same SDK to call your own fine-tuned models once they’re deployed.
Python
NodeJS (ESM)
NodeJS (CJS)
Find the SDK at https://pypi.org/project/openpipe/Installation
Simple Integration
Add OPENPIPE_API_KEY to your environment variables.export OPENPIPE_API_KEY=opk-<your-api-key>
# Or you can set it in your code, see "Complete Example" below
Replace this linefrom openai import OpenAI
with this onefrom openpipe import OpenAI
OpenPipe follows OpenAI’s concept of metadata tagging for requests. You can use metadata tags in the Request Logs view to narrow down the data your model will train on.
We recommend assigning a unique metadata tag to each of your prompts.
These tags will help you find all the input/output pairs associated with a certain prompt and fine-tune a model to replace it.Here’s how you can use the tagging feature:Complete Example
from openpipe import OpenAI
import os
client = OpenAI(
# defaults to os.environ.get("OPENAI_API_KEY")
api_key="My API Key",
openpipe={
# defaults to os.environ.get("OPENPIPE_API_KEY")
"api_key": "My OpenPipe API Key",
# optional, defaults to process.env["OPENPIPE_BASE_URL"] or https://api.openpipe.ai/api/v1 if not set
"base_url": "My URL",
}
)
completion = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "system", "content": "count to 10"}],
metadata={"prompt_id": "counting", "any_key": "any_value"},
)
Find the SDK at https://www.npmjs.com/package/openpipeInstallation
npm install --save openpipe
# or
yarn add openpipe
Simple Integration
Add OPENPIPE_API_KEY to your environment variables.export OPENPIPE_API_KEY=opk-<your-api-key>
# Or you can set it in your code, see "Complete Example" below
Replace this lineimport OpenAI from "openai";
with this oneimport OpenAI from "openpipe/openai";
OpenPipe follows OpenAI’s concept of metadata tagging for requests. You can use metadata tags in the Request Logs view to narrow down the data your model will train on.
We recommend assigning a unique metadata tag to each of your prompts.
These tags will help you find all the input/output pairs associated with a certain prompt and fine-tune a model to replace it.Here’s how you can use the tagging feature:Complete Example
import OpenAI from "openpipe/openai";
// Fully compatible with original OpenAI initialization
const openai = new OpenAI({
apiKey: "my api key", // defaults to process.env["OPENAI_API_KEY"]
// openpipe key is optional
openpipe: {
apiKey: "my api key", // defaults to process.env["OPENPIPE_API_KEY"]
baseUrl: "my url", // defaults to process.env["OPENPIPE_BASE_URL"] or https://api.openpipe.ai/api/v1 if not set
},
});
const completion = await openai.chat.completions.create({
messages: [{ role: "user", content: "Count to 10" }],
model: "gpt-4o",
// optional
metadata: {
prompt_id: "counting",
any_key: "any_value",
},
store: true, // Enable/disable data collection. Defaults to true.
});
Find the SDK at https://www.npmjs.com/package/openpipeInstallation
npm install --save openpipe
# or
yarn add openpipe
Simple Integration
Add OPENPIPE_API_KEY to your environment variables.export OPENPIPE_API_KEY=opk-<your-api-key>
# Or you can set it in your code, see "Complete Example" below
Replace this lineconst OpenAI = require("openai");
with this oneconst OpenAI = require("openpipe/openai").default;
OpenPipe follows OpenAI’s concept of metadata tagging for requests. You can use metadata tags in the Request Logs view to narrow down the data your model will train on.
We recommend assigning a unique metadata tag to each of your prompts.
These tags will help you find all the input/output pairs associated with a certain prompt and fine-tune a model to replace it.Here’s how you can use the tagging feature:Complete Example
import OpenAI from "openpipe/openai";
// Fully compatible with original OpenAI initialization
const openai = new OpenAI({
apiKey: "my api key", // defaults to process.env["OPENAI_API_KEY"]
// openpipe key is optional
openpipe: {
apiKey: "my api key", // defaults to process.env["OPENPIPE_API_KEY"]
baseUrl: "my url", // defaults to process.env["OPENPIPE_BASE_URL"] or https://api.openpipe.ai/api/v1 if not set
},
});
const completion = await openai.chat.completions.create({
messages: [{ role: "user", content: "Count to 10" }],
model: "gpt-4o",
// optional
metadata: {
prompt_id: "counting",
any_key: "any_value",
},
store: true, // Enable/disable data collection. Defaults to true.
});
Should I Wait to Enable Logging?
We recommend keeping request logging turned on from the beginning. If you change your prompt you can just set a new prompt_id metadata tag so you can select just the latest version when you’re ready to create a dataset.