Python
from openlayer import Openlayer
client = Openlayer()
response = client.inference_pipelines.data.stream(
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
config={
"input_variable_names": ["user_query"],
"output_column_name": "output",
"num_of_token_column_name": "tokens",
"cost_column_name": "cost",
"timestamp_column_name": "timestamp",
},
rows=[
{
"user_query": "What is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1620000000,
}
],
)
print(response.success)import Openlayer from 'openlayer';
const client = new Openlayer();
const response = await client.inferencePipelines.data.stream('c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f', {
config: {
inputVariableNames: ['user_query'],
outputColumnName: 'output',
numOfTokenColumnName: 'tokens',
costColumnName: 'cost',
timestampColumnName: 'timestamp',
},
rows: [
{
user_query: 'What is the meaning of life?',
output: '42',
tokens: 7,
cost: 0.02,
timestamp: 1610000000,
},
],
});
console.log(response.success);
package main
import (
"context"
"fmt"
"github.com/openlayer-ai/openlayer-go"
)
client := openlayer.NewClient()
response, err := client.InferencePipelines.Data.Stream(
context.TODO(),
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
openlayer.InferencePipelineDataStreamParams{
Config: openlayer.F[openlayer.InferencePipelineDataStreamParamsConfigUnion](openlayer.InferencePipelineDataStreamParamsConfigLlmData{
InputVariableNames: openlayer.F([]string{"user_query"}),
OutputColumnName: openlayer.F("output"),
NumOfTokenColumnName: openlayer.F("tokens"),
CostColumnName: openlayer.F("cost"),
TimestampColumnName: openlayer.F("timestamp"),
}),
Rows: openlayer.F([]map[string]interface{}{{
"user_query": "What is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1710000000,
}}),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Success)
import com.openlayer.api.client.OpenlayerClient;
import com.openlayer.api.client.okhttp.OpenlayerOkHttpClient;
import com.openlayer.api.core.JsonValue;
import com.openlayer.api.models.inferencepipelines.data.DataStreamParams;
import com.openlayer.api.models.inferencepipelines.data.DataStreamResponse;
OpenlayerClient client = OpenlayerOkHttpClient.fromEnv();
DataStreamParams params = DataStreamParams.builder()
.inferencePipelineId("c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f")
.config(DataStreamParams.Config.LlmData.builder()
.addInputVariableName("user_query")
.outputColumnName("output")
.numOfTokenColumnName("tokens")
.costColumnName("cost")
.timestampColumnName("timestamp")
.build())
.addRow(DataStreamParams.Row.builder()
.putAdditionalProperty("user_query", JsonValue.from("what is the meaning of life?"))
.putAdditionalProperty("output", JsonValue.from("42"))
.putAdditionalProperty("tokens", JsonValue.from(7))
.putAdditionalProperty("cost", JsonValue.from(0.02))
.putAdditionalProperty("timestamp", JsonValue.from(1610000000))
.build())
.build();
DataStreamResponse response = client.inferencePipelines().data().stream(params);
require "openlayer"
openlayer = Openlayer::Client.new(api_key: ENV["OPENLAYER_API_KEY"])
response = openlayer.inference_pipelines.data.stream(
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
config: {
inputVariableNames: ["user_query"],
outputColumnName: "output",
numOfTokenColumnName: "tokens",
costColumnName: "cost",
timestampColumnName: "timestamp"
},
rows: [
{
user_query: "what is the meaning of life?",
output: "42",
tokens: 7,
cost: 0.02,
timestamp: 1610000000
}
]
)
puts(response.success)
curl --request POST \
--url https://api.openlayer.com/v1/inference-pipelines/{inferencePipelineId}/data-stream \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"rows": [
{
"user_query": "what is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1620000000
}
],
"config": {
"prompt": [
{
"role": "user",
"content": "{{ user_query }}"
}
],
"inputVariableNames": [
"user_query"
],
"outputColumnName": "output",
"timestampColumnName": "timestamp",
"costColumnName": "cost",
"numOfTokenColumnName": "tokens"
}
}'
{
"success": true
}{
"code": 123,
"error": "<string>"
}Monitoring
Publish records
Publish records to a data source (formerly known as “inference pipeline”).
Python
from openlayer import Openlayer
client = Openlayer()
response = client.inference_pipelines.data.stream(
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
config={
"input_variable_names": ["user_query"],
"output_column_name": "output",
"num_of_token_column_name": "tokens",
"cost_column_name": "cost",
"timestamp_column_name": "timestamp",
},
rows=[
{
"user_query": "What is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1620000000,
}
],
)
print(response.success)import Openlayer from 'openlayer';
const client = new Openlayer();
const response = await client.inferencePipelines.data.stream('c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f', {
config: {
inputVariableNames: ['user_query'],
outputColumnName: 'output',
numOfTokenColumnName: 'tokens',
costColumnName: 'cost',
timestampColumnName: 'timestamp',
},
rows: [
{
user_query: 'What is the meaning of life?',
output: '42',
tokens: 7,
cost: 0.02,
timestamp: 1610000000,
},
],
});
console.log(response.success);
package main
import (
"context"
"fmt"
"github.com/openlayer-ai/openlayer-go"
)
client := openlayer.NewClient()
response, err := client.InferencePipelines.Data.Stream(
context.TODO(),
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
openlayer.InferencePipelineDataStreamParams{
Config: openlayer.F[openlayer.InferencePipelineDataStreamParamsConfigUnion](openlayer.InferencePipelineDataStreamParamsConfigLlmData{
InputVariableNames: openlayer.F([]string{"user_query"}),
OutputColumnName: openlayer.F("output"),
NumOfTokenColumnName: openlayer.F("tokens"),
CostColumnName: openlayer.F("cost"),
TimestampColumnName: openlayer.F("timestamp"),
}),
Rows: openlayer.F([]map[string]interface{}{{
"user_query": "What is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1710000000,
}}),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Success)
import com.openlayer.api.client.OpenlayerClient;
import com.openlayer.api.client.okhttp.OpenlayerOkHttpClient;
import com.openlayer.api.core.JsonValue;
import com.openlayer.api.models.inferencepipelines.data.DataStreamParams;
import com.openlayer.api.models.inferencepipelines.data.DataStreamResponse;
OpenlayerClient client = OpenlayerOkHttpClient.fromEnv();
DataStreamParams params = DataStreamParams.builder()
.inferencePipelineId("c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f")
.config(DataStreamParams.Config.LlmData.builder()
.addInputVariableName("user_query")
.outputColumnName("output")
.numOfTokenColumnName("tokens")
.costColumnName("cost")
.timestampColumnName("timestamp")
.build())
.addRow(DataStreamParams.Row.builder()
.putAdditionalProperty("user_query", JsonValue.from("what is the meaning of life?"))
.putAdditionalProperty("output", JsonValue.from("42"))
.putAdditionalProperty("tokens", JsonValue.from(7))
.putAdditionalProperty("cost", JsonValue.from(0.02))
.putAdditionalProperty("timestamp", JsonValue.from(1610000000))
.build())
.build();
DataStreamResponse response = client.inferencePipelines().data().stream(params);
require "openlayer"
openlayer = Openlayer::Client.new(api_key: ENV["OPENLAYER_API_KEY"])
response = openlayer.inference_pipelines.data.stream(
"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
config: {
inputVariableNames: ["user_query"],
outputColumnName: "output",
numOfTokenColumnName: "tokens",
costColumnName: "cost",
timestampColumnName: "timestamp"
},
rows: [
{
user_query: "what is the meaning of life?",
output: "42",
tokens: 7,
cost: 0.02,
timestamp: 1610000000
}
]
)
puts(response.success)
curl --request POST \
--url https://api.openlayer.com/v1/inference-pipelines/{inferencePipelineId}/data-stream \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"rows": [
{
"user_query": "what is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1620000000
}
],
"config": {
"prompt": [
{
"role": "user",
"content": "{{ user_query }}"
}
],
"inputVariableNames": [
"user_query"
],
"outputColumnName": "output",
"timestampColumnName": "timestamp",
"costColumnName": "cost",
"numOfTokenColumnName": "tokens"
}
}'
{
"success": true
}{
"code": 123,
"error": "<string>"
}Use this endpoint to stream individual inference data points to Openlayer.
If you want to upload many inferences in one go, please use the batch upload method instead.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your workspace API key. See Find your API key for more information.
Path Parameters
The inference pipeline id (a UUID).
Body
application/json
A list of inference data points with inputs and outputs
Example:
[
{
"user_query": "what is the meaning of life?",
"output": "42",
"tokens": 7,
"cost": 0.02,
"timestamp": 1620000000
}
]
Configuration for the data stream. Depends on your Openlayer project task type.
- LLM
- Tabular classification
- Tabular regression
- Text classification
Show child attributes
Show child attributes
Example:
{
"prompt": [
{
"role": "user",
"content": "{{ user_query }}"
}
],
"inputVariableNames": ["user_query"],
"outputColumnName": "output",
"timestampColumnName": "timestamp",
"costColumnName": "cost",
"numOfTokenColumnName": "tokens"
}
Response
Status OK.
Available options:
true Was this page helpful?