cURL
curl --request POST \
--url https://api.openpipe.ai/api/v1/models \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"datasetId": "<string>",
"slug": "<string>",
"trainingConfig": {
"provider": "openpipe",
"baseModel": "<string>",
"enable_sft": true,
"enable_preference_tuning": false,
"sft_hyperparameters": {},
"preference_hyperparameters": {},
"hyperparameters": {
"is_sft_enabled": true,
"batch_size": "auto",
"learning_rate_multiplier": 123,
"num_epochs": 123,
"is_preference_tuning_enabled": true,
"preference_tuning_variant": "DPO",
"preference_tuning_learning_rate_multiplier": 123,
"preference_tuning_num_epochs": 123,
"preference_tuning_training_beta": 123,
"preference_tuning_adapter_weight": 123
}
},
"pruningRuleIds": [],
"defaultTemperature": 123
}
'import requests
url = "https://api.openpipe.ai/api/v1/models"
payload = {
"datasetId": "<string>",
"slug": "<string>",
"trainingConfig": {
"provider": "openpipe",
"baseModel": "<string>",
"enable_sft": True,
"enable_preference_tuning": False,
"sft_hyperparameters": {},
"preference_hyperparameters": {},
"hyperparameters": {
"is_sft_enabled": True,
"batch_size": "auto",
"learning_rate_multiplier": 123,
"num_epochs": 123,
"is_preference_tuning_enabled": True,
"preference_tuning_variant": "DPO",
"preference_tuning_learning_rate_multiplier": 123,
"preference_tuning_num_epochs": 123,
"preference_tuning_training_beta": 123,
"preference_tuning_adapter_weight": 123
}
},
"pruningRuleIds": [],
"defaultTemperature": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
datasetId: '<string>',
slug: '<string>',
trainingConfig: {
provider: 'openpipe',
baseModel: '<string>',
enable_sft: true,
enable_preference_tuning: false,
sft_hyperparameters: {},
preference_hyperparameters: {},
hyperparameters: {
is_sft_enabled: true,
batch_size: 'auto',
learning_rate_multiplier: 123,
num_epochs: 123,
is_preference_tuning_enabled: true,
preference_tuning_variant: 'DPO',
preference_tuning_learning_rate_multiplier: 123,
preference_tuning_num_epochs: 123,
preference_tuning_training_beta: 123,
preference_tuning_adapter_weight: 123
}
},
pruningRuleIds: [],
defaultTemperature: 123
})
};
fetch('https://api.openpipe.ai/api/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openpipe.ai/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'datasetId' => '<string>',
'slug' => '<string>',
'trainingConfig' => [
'provider' => 'openpipe',
'baseModel' => '<string>',
'enable_sft' => true,
'enable_preference_tuning' => false,
'sft_hyperparameters' => [
],
'preference_hyperparameters' => [
],
'hyperparameters' => [
'is_sft_enabled' => true,
'batch_size' => 'auto',
'learning_rate_multiplier' => 123,
'num_epochs' => 123,
'is_preference_tuning_enabled' => true,
'preference_tuning_variant' => 'DPO',
'preference_tuning_learning_rate_multiplier' => 123,
'preference_tuning_num_epochs' => 123,
'preference_tuning_training_beta' => 123,
'preference_tuning_adapter_weight' => 123
]
],
'pruningRuleIds' => [
],
'defaultTemperature' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openpipe.ai/api/v1/models"
payload := strings.NewReader("{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.openpipe.ai/api/v1/models")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openpipe.ai/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"object": "model",
"description": "<string>",
"created": "<string>",
"updated": "<string>",
"openpipe": {
"baseModel": "<string>",
"hyperparameters": {},
"datasetId": "<string>",
"errorMessage": "<string>"
},
"contextWindow": 123,
"maxCompletionTokens": 123,
"capabilities": [],
"pricing": {
"chatIn": 123,
"chatOut": 123
},
"owned_by": "<string>"
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}Models
Create Model
Train a new model.
POST
/
models
cURL
curl --request POST \
--url https://api.openpipe.ai/api/v1/models \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"datasetId": "<string>",
"slug": "<string>",
"trainingConfig": {
"provider": "openpipe",
"baseModel": "<string>",
"enable_sft": true,
"enable_preference_tuning": false,
"sft_hyperparameters": {},
"preference_hyperparameters": {},
"hyperparameters": {
"is_sft_enabled": true,
"batch_size": "auto",
"learning_rate_multiplier": 123,
"num_epochs": 123,
"is_preference_tuning_enabled": true,
"preference_tuning_variant": "DPO",
"preference_tuning_learning_rate_multiplier": 123,
"preference_tuning_num_epochs": 123,
"preference_tuning_training_beta": 123,
"preference_tuning_adapter_weight": 123
}
},
"pruningRuleIds": [],
"defaultTemperature": 123
}
'import requests
url = "https://api.openpipe.ai/api/v1/models"
payload = {
"datasetId": "<string>",
"slug": "<string>",
"trainingConfig": {
"provider": "openpipe",
"baseModel": "<string>",
"enable_sft": True,
"enable_preference_tuning": False,
"sft_hyperparameters": {},
"preference_hyperparameters": {},
"hyperparameters": {
"is_sft_enabled": True,
"batch_size": "auto",
"learning_rate_multiplier": 123,
"num_epochs": 123,
"is_preference_tuning_enabled": True,
"preference_tuning_variant": "DPO",
"preference_tuning_learning_rate_multiplier": 123,
"preference_tuning_num_epochs": 123,
"preference_tuning_training_beta": 123,
"preference_tuning_adapter_weight": 123
}
},
"pruningRuleIds": [],
"defaultTemperature": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
datasetId: '<string>',
slug: '<string>',
trainingConfig: {
provider: 'openpipe',
baseModel: '<string>',
enable_sft: true,
enable_preference_tuning: false,
sft_hyperparameters: {},
preference_hyperparameters: {},
hyperparameters: {
is_sft_enabled: true,
batch_size: 'auto',
learning_rate_multiplier: 123,
num_epochs: 123,
is_preference_tuning_enabled: true,
preference_tuning_variant: 'DPO',
preference_tuning_learning_rate_multiplier: 123,
preference_tuning_num_epochs: 123,
preference_tuning_training_beta: 123,
preference_tuning_adapter_weight: 123
}
},
pruningRuleIds: [],
defaultTemperature: 123
})
};
fetch('https://api.openpipe.ai/api/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openpipe.ai/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'datasetId' => '<string>',
'slug' => '<string>',
'trainingConfig' => [
'provider' => 'openpipe',
'baseModel' => '<string>',
'enable_sft' => true,
'enable_preference_tuning' => false,
'sft_hyperparameters' => [
],
'preference_hyperparameters' => [
],
'hyperparameters' => [
'is_sft_enabled' => true,
'batch_size' => 'auto',
'learning_rate_multiplier' => 123,
'num_epochs' => 123,
'is_preference_tuning_enabled' => true,
'preference_tuning_variant' => 'DPO',
'preference_tuning_learning_rate_multiplier' => 123,
'preference_tuning_num_epochs' => 123,
'preference_tuning_training_beta' => 123,
'preference_tuning_adapter_weight' => 123
]
],
'pruningRuleIds' => [
],
'defaultTemperature' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openpipe.ai/api/v1/models"
payload := strings.NewReader("{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.openpipe.ai/api/v1/models")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openpipe.ai/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"datasetId\": \"<string>\",\n \"slug\": \"<string>\",\n \"trainingConfig\": {\n \"provider\": \"openpipe\",\n \"baseModel\": \"<string>\",\n \"enable_sft\": true,\n \"enable_preference_tuning\": false,\n \"sft_hyperparameters\": {},\n \"preference_hyperparameters\": {},\n \"hyperparameters\": {\n \"is_sft_enabled\": true,\n \"batch_size\": \"auto\",\n \"learning_rate_multiplier\": 123,\n \"num_epochs\": 123,\n \"is_preference_tuning_enabled\": true,\n \"preference_tuning_variant\": \"DPO\",\n \"preference_tuning_learning_rate_multiplier\": 123,\n \"preference_tuning_num_epochs\": 123,\n \"preference_tuning_training_beta\": 123,\n \"preference_tuning_adapter_weight\": 123\n }\n },\n \"pruningRuleIds\": [],\n \"defaultTemperature\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"object": "model",
"description": "<string>",
"created": "<string>",
"updated": "<string>",
"openpipe": {
"baseModel": "<string>",
"hyperparameters": {},
"datasetId": "<string>",
"errorMessage": "<string>"
},
"contextWindow": 123,
"maxCompletionTokens": 123,
"capabilities": [],
"pricing": {
"chatIn": 123,
"chatOut": 123
},
"owned_by": "<string>"
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Successful response
Available options:
model Show child attributes
Show child attributes
Available options:
chat, tools, json Show child attributes
Show child attributes
⌘I