Skip to content

Commit 4e028d0

Browse files
committed
Updated TS signature
1 parent 95f9a95 commit 4e028d0

File tree

5 files changed

+47
-42
lines changed

5 files changed

+47
-42
lines changed

apps/opik-documentation/documentation/fern/docs/evaluation/update_existing_experiment.mdx

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -79,31 +79,27 @@ import { Opik } from "opik";
7979
const opik = new Opik();
8080

8181
// Update experiment name
82-
await opik.updateExperiment(
83-
"experiment-id",
84-
"Updated Experiment Name"
85-
);
82+
await opik.updateExperiment("experiment-id", {
83+
name: "Updated Experiment Name"
84+
});
8685

8786
// Update experiment configuration
88-
await opik.updateExperiment(
89-
"experiment-id",
90-
undefined,
91-
{
87+
await opik.updateExperiment("experiment-id", {
88+
experimentConfig: {
9289
model: "gpt-4",
9390
temperature: 0.7,
9491
promptTemplate: "Answer the following question: {question}"
9592
}
96-
);
93+
});
9794

9895
// Update both name and configuration
99-
await opik.updateExperiment(
100-
"experiment-id",
101-
"Updated Experiment Name",
102-
{
96+
await opik.updateExperiment("experiment-id", {
97+
name: "Updated Experiment Name",
98+
experimentConfig: {
10399
model: "gpt-4",
104100
temperature: 0.7
105101
}
106-
);
102+
});
107103
```
108104

109105
## Update Experiment Scores

apps/opik-documentation/documentation/fern/docs/reference/typescript-sdk/evaluation/experiments.mdx

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,31 +34,27 @@ const datasetExperiments = await opik.getDatasetExperiments("my-dataset", 100);
3434

3535
```typescript
3636
// Update experiment name
37-
await opik.updateExperiment(
38-
"experiment-id",
39-
"Updated Experiment Name"
40-
);
37+
await opik.updateExperiment("experiment-id", {
38+
name: "Updated Experiment Name"
39+
});
4140

4241
// Update experiment configuration
43-
await opik.updateExperiment(
44-
"experiment-id",
45-
undefined,
46-
{
42+
await opik.updateExperiment("experiment-id", {
43+
experimentConfig: {
4744
model: "gpt-4",
4845
temperature: 0.7,
4946
promptTemplate: "Answer the following question: {question}"
5047
}
51-
);
48+
});
5249

5350
// Update both name and configuration
54-
await opik.updateExperiment(
55-
"experiment-id",
56-
"Updated Experiment Name",
57-
{
51+
await opik.updateExperiment("experiment-id", {
52+
name: "Updated Experiment Name",
53+
experimentConfig: {
5854
model: "gpt-4",
5955
temperature: 0.7
6056
}
61-
);
57+
});
6258
```
6359

6460
### Deleting an Experiment

sdks/python/tests/unit/api_objects/test_opik_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def test_opik_client__update_experiment__both_name_and_config__both_sent_to_api(
2828
opik_client_ = opik_client.Opik()
2929

3030
with patch.object(
31-
opik_client_._rest_client.experiments, "update_experiment"
31+
opik_client_._rest_client.experiments, "update_experiment"
3232
) as mock_update:
3333
new_config = {"model": "gpt-4", "temperature": 0.7}
3434
opik_client_.update_experiment(
@@ -45,7 +45,7 @@ def test_opik_client__update_experiment__name_only__only_name_sent_to_api():
4545
opik_client_ = opik_client.Opik()
4646

4747
with patch.object(
48-
opik_client_._rest_client.experiments, "update_experiment"
48+
opik_client_._rest_client.experiments, "update_experiment"
4949
) as mock_update:
5050
opik_client_.update_experiment(id="some-experiment-id", name="new-name")
5151

@@ -59,7 +59,7 @@ def test_opik_client__update_experiment__config_only__only_metadata_sent_to_api(
5959
opik_client_ = opik_client.Opik()
6060

6161
with patch.object(
62-
opik_client_._rest_client.experiments, "update_experiment"
62+
opik_client_._rest_client.experiments, "update_experiment"
6363
) as mock_update:
6464
new_config = {"model": "gpt-4", "temperature": 0.7}
6565
opik_client_.update_experiment(
@@ -80,7 +80,7 @@ def test_opik_client__update_experiment__config_only__only_metadata_sent_to_api(
8080
],
8181
)
8282
def test_opik_client__update_experiment__missing_mandatory_parameters__error_raised(
83-
experiment_id,
83+
experiment_id,
8484
):
8585
opik_client_ = opik_client.Opik()
8686

sdks/typescript/src/opik/client/Client.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,20 +346,25 @@ export class OpikClient {
346346
* Updates an experiment by ID
347347
*
348348
* @param id The ID of the experiment
349-
* @param name Optional new name for the experiment
350-
* @param experimentConfig Optional new configuration for the experiment
349+
* @param experimentUpdate Object containing the fields to update
350+
* @param experimentUpdate.name Optional new name for the experiment
351+
* @param experimentUpdate.experimentConfig Optional new configuration for the experiment
351352
* @returns Promise that resolves when the experiment is updated
352353
* @throws {Error} If id is not provided or if neither name nor experimentConfig is provided
353354
*/
354355
public updateExperiment = async (
355356
id: string,
356-
name?: string,
357-
experimentConfig?: Record<string, unknown>
357+
experimentUpdate: {
358+
name?: string;
359+
experimentConfig?: Record<string, unknown>;
360+
}
358361
): Promise<void> => {
359362
if (!id) {
360363
throw new Error("id is required to update an experiment");
361364
}
362365

366+
const { name, experimentConfig } = experimentUpdate;
367+
363368
if (!name && !experimentConfig) {
364369
throw new Error("At least one of 'name' or 'experimentConfig' must be provided to update an experiment");
365370
}

sdks/typescript/tests/experiment/client-experiment.test.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,10 @@ describe("Opik experiment operations", () => {
535535
}) => {
536536
const experimentId = "experiment-to-update-id";
537537

538-
await client.updateExperiment(experimentId, "updated-name", { k: "v" });
538+
await client.updateExperiment(experimentId, {
539+
name: "updated-name",
540+
experimentConfig: { k: "v" },
541+
});
539542

540543
expect(spies.updateExperiment).toHaveBeenCalledWith(experimentId, {
541544
name: "updated-name",
@@ -550,7 +553,7 @@ describe("Opik experiment operations", () => {
550553
}) => {
551554
const experimentId = "experiment-to-update-name-only";
552555

553-
await client.updateExperiment(experimentId, "new-name-only");
556+
await client.updateExperiment(experimentId, { name: "new-name-only" });
554557

555558
const callArgs = spies.updateExperiment.mock.calls[0];
556559
expect(callArgs[0]).toBe(experimentId);
@@ -566,7 +569,9 @@ describe("Opik experiment operations", () => {
566569
const experimentId = "experiment-to-update-config-only";
567570
const newConfig = { model: "gpt-4", temperature: 0.7 };
568571

569-
await client.updateExperiment(experimentId, undefined, newConfig);
572+
await client.updateExperiment(experimentId, {
573+
experimentConfig: newConfig,
574+
});
570575

571576
const callArgs = spies.updateExperiment.mock.calls[0];
572577
expect(callArgs[0]).toBe(experimentId);
@@ -579,7 +584,7 @@ describe("Opik experiment operations", () => {
579584
expect,
580585
}) => {
581586
await expect(
582-
client.updateExperiment("", "new-name")
587+
client.updateExperiment("", { name: "new-name" })
583588
).rejects.toThrow("id is required to update an experiment");
584589
});
585590

@@ -590,7 +595,7 @@ describe("Opik experiment operations", () => {
590595
const experimentId = "experiment-to-update-no-params";
591596

592597
await expect(
593-
client.updateExperiment(experimentId)
598+
client.updateExperiment(experimentId, {})
594599
).rejects.toThrow("At least one of 'name' or 'experimentConfig' must be provided to update an experiment");
595600
});
596601

@@ -606,7 +611,10 @@ describe("Opik experiment operations", () => {
606611
});
607612

608613
await expect(
609-
client.updateExperiment(experimentId, "bad-name", {})
614+
client.updateExperiment(experimentId, {
615+
name: "bad-name",
616+
experimentConfig: {},
617+
})
610618
).rejects.toThrow("Failed to update experiment");
611619

612620
expect(spies.updateExperiment).toHaveBeenCalledWith(experimentId, {

0 commit comments

Comments
 (0)