vellum-ai 0.6.2__py3-none-any.whl → 0.6.4__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- vellum/__init__.py +58 -2
- vellum/client.py +11 -15
- vellum/core/client_wrapper.py +1 -1
- vellum/resources/__init__.py +2 -2
- vellum/resources/deployments/client.py +0 -167
- vellum/resources/sandboxes/client.py +167 -0
- vellum/resources/test_suites/client.py +175 -6
- vellum/resources/{prompt_versions → workflow_sandboxes}/client.py +39 -39
- vellum/types/__init__.py +60 -0
- vellum/types/bulk_create_test_suite_test_case_data_request.py +39 -0
- vellum/types/bulk_replace_test_suite_test_case_data_request.py +44 -0
- vellum/types/create_enum.py +5 -0
- vellum/types/created_enum.py +5 -0
- vellum/types/delete_enum.py +5 -0
- vellum/types/deleted_enum.py +5 -0
- vellum/types/replace_enum.py +5 -0
- vellum/types/replaced_enum.py +5 -0
- vellum/types/test_suite_test_case_bulk_operation_request.py +46 -0
- vellum/types/test_suite_test_case_bulk_result.py +58 -0
- vellum/types/test_suite_test_case_create_bulk_operation_request.py +35 -0
- vellum/types/test_suite_test_case_created_bulk_result.py +31 -0
- vellum/types/test_suite_test_case_created_bulk_result_data.py +29 -0
- vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py +25 -0
- vellum/types/test_suite_test_case_delete_bulk_operation_request.py +38 -0
- vellum/types/test_suite_test_case_deleted_bulk_result.py +35 -0
- vellum/types/test_suite_test_case_deleted_bulk_result_data.py +29 -0
- vellum/types/test_suite_test_case_rejected_bulk_result.py +37 -0
- vellum/types/test_suite_test_case_replace_bulk_operation_request.py +35 -0
- vellum/types/test_suite_test_case_replaced_bulk_result.py +35 -0
- vellum/types/test_suite_test_case_replaced_bulk_result_data.py +29 -0
- {vellum_ai-0.6.2.dist-info → vellum_ai-0.6.4.dist-info}/METADATA +1 -1
- {vellum_ai-0.6.2.dist-info → vellum_ai-0.6.4.dist-info}/RECORD +35 -14
- /vellum/resources/{prompt_versions → workflow_sandboxes}/__init__.py +0 -0
- {vellum_ai-0.6.2.dist-info → vellum_ai-0.6.4.dist-info}/LICENSE +0 -0
- {vellum_ai-0.6.2.dist-info → vellum_ai-0.6.4.dist-info}/WHEEL +0 -0
vellum/__init__.py
CHANGED
@@ -35,6 +35,8 @@ from .types import (
|
|
35
35
|
BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
|
36
36
|
BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
|
37
37
|
BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
|
38
|
+
BulkCreateTestSuiteTestCaseDataRequest,
|
39
|
+
BulkReplaceTestSuiteTestCaseDataRequest,
|
38
40
|
ChatHistoryEnum,
|
39
41
|
ChatHistoryInputRequest,
|
40
42
|
ChatMessage,
|
@@ -71,6 +73,10 @@ from .types import (
|
|
71
73
|
CodeExecutionNodeStringResult,
|
72
74
|
ConditionalNodeResult,
|
73
75
|
ConditionalNodeResultData,
|
76
|
+
CreateEnum,
|
77
|
+
CreatedEnum,
|
78
|
+
DeleteEnum,
|
79
|
+
DeletedEnum,
|
74
80
|
DeploymentProviderPayloadResponse,
|
75
81
|
DeploymentRead,
|
76
82
|
DeploymentReleaseTagDeploymentHistoryItem,
|
@@ -317,6 +323,8 @@ from .types import (
|
|
317
323
|
RejectedPromptExecutionMeta,
|
318
324
|
RejectedWorkflowNodeResultEvent,
|
319
325
|
ReleaseTagSource,
|
326
|
+
ReplaceEnum,
|
327
|
+
ReplacedEnum,
|
320
328
|
SandboxScenario,
|
321
329
|
ScenarioInput,
|
322
330
|
ScenarioInputChatHistoryVariableValue,
|
@@ -473,6 +481,26 @@ from .types import (
|
|
473
481
|
TestSuiteRunWorkflowReleaseTagExecConfigRequest,
|
474
482
|
TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum,
|
475
483
|
TestSuiteTestCase,
|
484
|
+
TestSuiteTestCaseBulkOperationRequest,
|
485
|
+
TestSuiteTestCaseBulkOperationRequest_Create,
|
486
|
+
TestSuiteTestCaseBulkOperationRequest_Delete,
|
487
|
+
TestSuiteTestCaseBulkOperationRequest_Replace,
|
488
|
+
TestSuiteTestCaseBulkResult,
|
489
|
+
TestSuiteTestCaseBulkResult_Created,
|
490
|
+
TestSuiteTestCaseBulkResult_Deleted,
|
491
|
+
TestSuiteTestCaseBulkResult_Rejected,
|
492
|
+
TestSuiteTestCaseBulkResult_Replaced,
|
493
|
+
TestSuiteTestCaseCreateBulkOperationRequest,
|
494
|
+
TestSuiteTestCaseCreatedBulkResult,
|
495
|
+
TestSuiteTestCaseCreatedBulkResultData,
|
496
|
+
TestSuiteTestCaseDeleteBulkOperationDataRequest,
|
497
|
+
TestSuiteTestCaseDeleteBulkOperationRequest,
|
498
|
+
TestSuiteTestCaseDeletedBulkResult,
|
499
|
+
TestSuiteTestCaseDeletedBulkResultData,
|
500
|
+
TestSuiteTestCaseRejectedBulkResult,
|
501
|
+
TestSuiteTestCaseReplaceBulkOperationRequest,
|
502
|
+
TestSuiteTestCaseReplacedBulkResult,
|
503
|
+
TestSuiteTestCaseReplacedBulkResultData,
|
476
504
|
TextEmbedding3LargeEnum,
|
477
505
|
TextEmbedding3SmallEnum,
|
478
506
|
TextEmbeddingAda002Enum,
|
@@ -577,11 +605,11 @@ from .resources import (
|
|
577
605
|
document_indexes,
|
578
606
|
documents,
|
579
607
|
folder_entities,
|
580
|
-
prompt_versions,
|
581
608
|
sandboxes,
|
582
609
|
test_suite_runs,
|
583
610
|
test_suites,
|
584
611
|
workflow_deployments,
|
612
|
+
workflow_sandboxes,
|
585
613
|
)
|
586
614
|
from .environment import VellumEnvironment
|
587
615
|
from .version import __version__
|
@@ -622,6 +650,8 @@ __all__ = [
|
|
622
650
|
"BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
|
623
651
|
"BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
|
624
652
|
"BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
|
653
|
+
"BulkCreateTestSuiteTestCaseDataRequest",
|
654
|
+
"BulkReplaceTestSuiteTestCaseDataRequest",
|
625
655
|
"ChatHistoryEnum",
|
626
656
|
"ChatHistoryInputRequest",
|
627
657
|
"ChatMessage",
|
@@ -658,6 +688,10 @@ __all__ = [
|
|
658
688
|
"CodeExecutionNodeStringResult",
|
659
689
|
"ConditionalNodeResult",
|
660
690
|
"ConditionalNodeResultData",
|
691
|
+
"CreateEnum",
|
692
|
+
"CreatedEnum",
|
693
|
+
"DeleteEnum",
|
694
|
+
"DeletedEnum",
|
661
695
|
"DeploymentProviderPayloadResponse",
|
662
696
|
"DeploymentRead",
|
663
697
|
"DeploymentReleaseTagDeploymentHistoryItem",
|
@@ -909,6 +943,8 @@ __all__ = [
|
|
909
943
|
"RejectedPromptExecutionMeta",
|
910
944
|
"RejectedWorkflowNodeResultEvent",
|
911
945
|
"ReleaseTagSource",
|
946
|
+
"ReplaceEnum",
|
947
|
+
"ReplacedEnum",
|
912
948
|
"SandboxScenario",
|
913
949
|
"ScenarioInput",
|
914
950
|
"ScenarioInputChatHistoryVariableValue",
|
@@ -1065,6 +1101,26 @@ __all__ = [
|
|
1065
1101
|
"TestSuiteRunWorkflowReleaseTagExecConfigRequest",
|
1066
1102
|
"TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum",
|
1067
1103
|
"TestSuiteTestCase",
|
1104
|
+
"TestSuiteTestCaseBulkOperationRequest",
|
1105
|
+
"TestSuiteTestCaseBulkOperationRequest_Create",
|
1106
|
+
"TestSuiteTestCaseBulkOperationRequest_Delete",
|
1107
|
+
"TestSuiteTestCaseBulkOperationRequest_Replace",
|
1108
|
+
"TestSuiteTestCaseBulkResult",
|
1109
|
+
"TestSuiteTestCaseBulkResult_Created",
|
1110
|
+
"TestSuiteTestCaseBulkResult_Deleted",
|
1111
|
+
"TestSuiteTestCaseBulkResult_Rejected",
|
1112
|
+
"TestSuiteTestCaseBulkResult_Replaced",
|
1113
|
+
"TestSuiteTestCaseCreateBulkOperationRequest",
|
1114
|
+
"TestSuiteTestCaseCreatedBulkResult",
|
1115
|
+
"TestSuiteTestCaseCreatedBulkResultData",
|
1116
|
+
"TestSuiteTestCaseDeleteBulkOperationDataRequest",
|
1117
|
+
"TestSuiteTestCaseDeleteBulkOperationRequest",
|
1118
|
+
"TestSuiteTestCaseDeletedBulkResult",
|
1119
|
+
"TestSuiteTestCaseDeletedBulkResultData",
|
1120
|
+
"TestSuiteTestCaseRejectedBulkResult",
|
1121
|
+
"TestSuiteTestCaseReplaceBulkOperationRequest",
|
1122
|
+
"TestSuiteTestCaseReplacedBulkResult",
|
1123
|
+
"TestSuiteTestCaseReplacedBulkResultData",
|
1068
1124
|
"TextEmbedding3LargeEnum",
|
1069
1125
|
"TextEmbedding3SmallEnum",
|
1070
1126
|
"TextEmbeddingAda002Enum",
|
@@ -1166,9 +1222,9 @@ __all__ = [
|
|
1166
1222
|
"document_indexes",
|
1167
1223
|
"documents",
|
1168
1224
|
"folder_entities",
|
1169
|
-
"prompt_versions",
|
1170
1225
|
"sandboxes",
|
1171
1226
|
"test_suite_runs",
|
1172
1227
|
"test_suites",
|
1173
1228
|
"workflow_deployments",
|
1229
|
+
"workflow_sandboxes",
|
1174
1230
|
]
|
vellum/client.py
CHANGED
@@ -22,11 +22,11 @@ from .resources.deployments.client import AsyncDeploymentsClient, DeploymentsCli
|
|
22
22
|
from .resources.document_indexes.client import AsyncDocumentIndexesClient, DocumentIndexesClient
|
23
23
|
from .resources.documents.client import AsyncDocumentsClient, DocumentsClient
|
24
24
|
from .resources.folder_entities.client import AsyncFolderEntitiesClient, FolderEntitiesClient
|
25
|
-
from .resources.prompt_versions.client import AsyncPromptVersionsClient, PromptVersionsClient
|
26
25
|
from .resources.sandboxes.client import AsyncSandboxesClient, SandboxesClient
|
27
26
|
from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient, TestSuiteRunsClient
|
28
27
|
from .resources.test_suites.client import AsyncTestSuitesClient, TestSuitesClient
|
29
28
|
from .resources.workflow_deployments.client import AsyncWorkflowDeploymentsClient, WorkflowDeploymentsClient
|
29
|
+
from .resources.workflow_sandboxes.client import AsyncWorkflowSandboxesClient, WorkflowSandboxesClient
|
30
30
|
from .types.execute_prompt_event import ExecutePromptEvent
|
31
31
|
from .types.execute_prompt_response import ExecutePromptResponse
|
32
32
|
from .types.execute_workflow_response import ExecuteWorkflowResponse
|
@@ -97,11 +97,11 @@ class Vellum:
|
|
97
97
|
self.document_indexes = DocumentIndexesClient(client_wrapper=self._client_wrapper)
|
98
98
|
self.documents = DocumentsClient(client_wrapper=self._client_wrapper)
|
99
99
|
self.folder_entities = FolderEntitiesClient(client_wrapper=self._client_wrapper)
|
100
|
-
self.prompt_versions = PromptVersionsClient(client_wrapper=self._client_wrapper)
|
101
100
|
self.sandboxes = SandboxesClient(client_wrapper=self._client_wrapper)
|
102
101
|
self.test_suite_runs = TestSuiteRunsClient(client_wrapper=self._client_wrapper)
|
103
102
|
self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
|
104
103
|
self.workflow_deployments = WorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
|
104
|
+
self.workflow_sandboxes = WorkflowSandboxesClient(client_wrapper=self._client_wrapper)
|
105
105
|
|
106
106
|
def execute_prompt(
|
107
107
|
self,
|
@@ -591,7 +591,8 @@ class Vellum:
|
|
591
591
|
"""
|
592
592
|
Generate a completion using a previously defined deployment.
|
593
593
|
|
594
|
-
|
594
|
+
Important: This endpoint is DEPRECATED and has been superseded by
|
595
|
+
[execute-prompt](/api-reference/api-reference/execute-prompt).
|
595
596
|
|
596
597
|
Parameters:
|
597
598
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
@@ -679,7 +680,8 @@ class Vellum:
|
|
679
680
|
"""
|
680
681
|
Generate a stream of completions using a previously defined deployment.
|
681
682
|
|
682
|
-
|
683
|
+
Important: This endpoint is DEPRECATED and has been superseded by
|
684
|
+
[execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
|
683
685
|
|
684
686
|
Parameters:
|
685
687
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
@@ -791,8 +793,6 @@ class Vellum:
|
|
791
793
|
"""
|
792
794
|
Perform a search against a document index.
|
793
795
|
|
794
|
-
**Note:** Uses a base url of `https://predict.vellum.ai`.
|
795
|
-
|
796
796
|
Parameters:
|
797
797
|
- index_id: typing.Optional[str]. The ID of the index to search against. Must provide either this or index_name.
|
798
798
|
|
@@ -871,8 +871,6 @@ class Vellum:
|
|
871
871
|
"""
|
872
872
|
Used to submit feedback regarding the quality of previously generated completions.
|
873
873
|
|
874
|
-
**Note:** Uses a base url of `https://predict.vellum.ai`.
|
875
|
-
|
876
874
|
Parameters:
|
877
875
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
878
876
|
|
@@ -1060,11 +1058,11 @@ class AsyncVellum:
|
|
1060
1058
|
self.document_indexes = AsyncDocumentIndexesClient(client_wrapper=self._client_wrapper)
|
1061
1059
|
self.documents = AsyncDocumentsClient(client_wrapper=self._client_wrapper)
|
1062
1060
|
self.folder_entities = AsyncFolderEntitiesClient(client_wrapper=self._client_wrapper)
|
1063
|
-
self.prompt_versions = AsyncPromptVersionsClient(client_wrapper=self._client_wrapper)
|
1064
1061
|
self.sandboxes = AsyncSandboxesClient(client_wrapper=self._client_wrapper)
|
1065
1062
|
self.test_suite_runs = AsyncTestSuiteRunsClient(client_wrapper=self._client_wrapper)
|
1066
1063
|
self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
|
1067
1064
|
self.workflow_deployments = AsyncWorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
|
1065
|
+
self.workflow_sandboxes = AsyncWorkflowSandboxesClient(client_wrapper=self._client_wrapper)
|
1068
1066
|
|
1069
1067
|
async def execute_prompt(
|
1070
1068
|
self,
|
@@ -1554,7 +1552,8 @@ class AsyncVellum:
|
|
1554
1552
|
"""
|
1555
1553
|
Generate a completion using a previously defined deployment.
|
1556
1554
|
|
1557
|
-
|
1555
|
+
Important: This endpoint is DEPRECATED and has been superseded by
|
1556
|
+
[execute-prompt](/api-reference/api-reference/execute-prompt).
|
1558
1557
|
|
1559
1558
|
Parameters:
|
1560
1559
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
@@ -1642,7 +1641,8 @@ class AsyncVellum:
|
|
1642
1641
|
"""
|
1643
1642
|
Generate a stream of completions using a previously defined deployment.
|
1644
1643
|
|
1645
|
-
|
1644
|
+
Important: This endpoint is DEPRECATED and has been superseded by
|
1645
|
+
[execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
|
1646
1646
|
|
1647
1647
|
Parameters:
|
1648
1648
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
@@ -1754,8 +1754,6 @@ class AsyncVellum:
|
|
1754
1754
|
"""
|
1755
1755
|
Perform a search against a document index.
|
1756
1756
|
|
1757
|
-
**Note:** Uses a base url of `https://predict.vellum.ai`.
|
1758
|
-
|
1759
1757
|
Parameters:
|
1760
1758
|
- index_id: typing.Optional[str]. The ID of the index to search against. Must provide either this or index_name.
|
1761
1759
|
|
@@ -1834,8 +1832,6 @@ class AsyncVellum:
|
|
1834
1832
|
"""
|
1835
1833
|
Used to submit feedback regarding the quality of previously generated completions.
|
1836
1834
|
|
1837
|
-
**Note:** Uses a base url of `https://predict.vellum.ai`.
|
1838
|
-
|
1839
1835
|
Parameters:
|
1840
1836
|
- deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
|
1841
1837
|
|
vellum/core/client_wrapper.py
CHANGED
vellum/resources/__init__.py
CHANGED
@@ -5,11 +5,11 @@ from . import (
|
|
5
5
|
document_indexes,
|
6
6
|
documents,
|
7
7
|
folder_entities,
|
8
|
-
prompt_versions,
|
9
8
|
sandboxes,
|
10
9
|
test_suite_runs,
|
11
10
|
test_suites,
|
12
11
|
workflow_deployments,
|
12
|
+
workflow_sandboxes,
|
13
13
|
)
|
14
14
|
from .deployments import DeploymentsListRequestStatus
|
15
15
|
from .document_indexes import DocumentIndexesListRequestStatus
|
@@ -23,9 +23,9 @@ __all__ = [
|
|
23
23
|
"document_indexes",
|
24
24
|
"documents",
|
25
25
|
"folder_entities",
|
26
|
-
"prompt_versions",
|
27
26
|
"sandboxes",
|
28
27
|
"test_suite_runs",
|
29
28
|
"test_suites",
|
30
29
|
"workflow_deployments",
|
30
|
+
"workflow_sandboxes",
|
31
31
|
]
|
@@ -19,7 +19,6 @@ from ...types.deployment_read import DeploymentRead
|
|
19
19
|
from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
|
20
20
|
from ...types.paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
|
21
21
|
from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
|
22
|
-
from ...types.workflow_deployment_read import WorkflowDeploymentRead
|
23
22
|
from .types.deployments_list_request_status import DeploymentsListRequestStatus
|
24
23
|
|
25
24
|
# this is used as the default value for optional parameters
|
@@ -351,89 +350,6 @@ class DeploymentsClient:
|
|
351
350
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
352
351
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
353
352
|
|
354
|
-
def deploy_workflow(
|
355
|
-
self,
|
356
|
-
id: str,
|
357
|
-
workflow_id: str,
|
358
|
-
*,
|
359
|
-
workflow_deployment_id: typing.Optional[str] = OMIT,
|
360
|
-
workflow_deployment_name: typing.Optional[str] = OMIT,
|
361
|
-
label: typing.Optional[str] = OMIT,
|
362
|
-
release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
|
363
|
-
request_options: typing.Optional[RequestOptions] = None,
|
364
|
-
) -> WorkflowDeploymentRead:
|
365
|
-
"""
|
366
|
-
Parameters:
|
367
|
-
- id: str. A UUID string identifying this workflow sandbox.
|
368
|
-
|
369
|
-
- workflow_id: str. An ID identifying the Workflow you'd like to deploy.
|
370
|
-
|
371
|
-
- workflow_deployment_id: typing.Optional[str]. The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
|
372
|
-
|
373
|
-
- workflow_deployment_name: typing.Optional[str]. The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
|
374
|
-
|
375
|
-
- label: typing.Optional[str]. In the event that a new Workflow Deployment is created, this will be the label it's given.
|
376
|
-
|
377
|
-
- release_tags: typing.Optional[typing.Sequence[str]]. Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
|
378
|
-
|
379
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
380
|
-
---
|
381
|
-
from vellum.client import Vellum
|
382
|
-
|
383
|
-
client = Vellum(
|
384
|
-
api_key="YOUR_API_KEY",
|
385
|
-
)
|
386
|
-
client.deployments.deploy_workflow(
|
387
|
-
id="id",
|
388
|
-
workflow_id="workflow_id",
|
389
|
-
)
|
390
|
-
"""
|
391
|
-
_request: typing.Dict[str, typing.Any] = {}
|
392
|
-
if workflow_deployment_id is not OMIT:
|
393
|
-
_request["workflow_deployment_id"] = workflow_deployment_id
|
394
|
-
if workflow_deployment_name is not OMIT:
|
395
|
-
_request["workflow_deployment_name"] = workflow_deployment_name
|
396
|
-
if label is not OMIT:
|
397
|
-
_request["label"] = label
|
398
|
-
if release_tags is not OMIT:
|
399
|
-
_request["release_tags"] = release_tags
|
400
|
-
_response = self._client_wrapper.httpx_client.request(
|
401
|
-
method="POST",
|
402
|
-
url=urllib.parse.urljoin(
|
403
|
-
f"{self._client_wrapper.get_environment().default}/",
|
404
|
-
f"v1/workflow-sandboxes/{jsonable_encoder(id)}/workflows/{jsonable_encoder(workflow_id)}/deploy",
|
405
|
-
),
|
406
|
-
params=jsonable_encoder(
|
407
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
408
|
-
),
|
409
|
-
json=jsonable_encoder(_request)
|
410
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
411
|
-
else {
|
412
|
-
**jsonable_encoder(_request),
|
413
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
414
|
-
},
|
415
|
-
headers=jsonable_encoder(
|
416
|
-
remove_none_from_dict(
|
417
|
-
{
|
418
|
-
**self._client_wrapper.get_headers(),
|
419
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
420
|
-
}
|
421
|
-
)
|
422
|
-
),
|
423
|
-
timeout=request_options.get("timeout_in_seconds")
|
424
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
425
|
-
else self._client_wrapper.get_timeout(),
|
426
|
-
retries=0,
|
427
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
428
|
-
)
|
429
|
-
if 200 <= _response.status_code < 300:
|
430
|
-
return pydantic_v1.parse_obj_as(WorkflowDeploymentRead, _response.json()) # type: ignore
|
431
|
-
try:
|
432
|
-
_response_json = _response.json()
|
433
|
-
except JSONDecodeError:
|
434
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
435
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
436
|
-
|
437
353
|
|
438
354
|
class AsyncDeploymentsClient:
|
439
355
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
@@ -759,86 +675,3 @@ class AsyncDeploymentsClient:
|
|
759
675
|
except JSONDecodeError:
|
760
676
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
761
677
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
762
|
-
|
763
|
-
async def deploy_workflow(
|
764
|
-
self,
|
765
|
-
id: str,
|
766
|
-
workflow_id: str,
|
767
|
-
*,
|
768
|
-
workflow_deployment_id: typing.Optional[str] = OMIT,
|
769
|
-
workflow_deployment_name: typing.Optional[str] = OMIT,
|
770
|
-
label: typing.Optional[str] = OMIT,
|
771
|
-
release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
|
772
|
-
request_options: typing.Optional[RequestOptions] = None,
|
773
|
-
) -> WorkflowDeploymentRead:
|
774
|
-
"""
|
775
|
-
Parameters:
|
776
|
-
- id: str. A UUID string identifying this workflow sandbox.
|
777
|
-
|
778
|
-
- workflow_id: str. An ID identifying the Workflow you'd like to deploy.
|
779
|
-
|
780
|
-
- workflow_deployment_id: typing.Optional[str]. The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
|
781
|
-
|
782
|
-
- workflow_deployment_name: typing.Optional[str]. The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
|
783
|
-
|
784
|
-
- label: typing.Optional[str]. In the event that a new Workflow Deployment is created, this will be the label it's given.
|
785
|
-
|
786
|
-
- release_tags: typing.Optional[typing.Sequence[str]]. Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
|
787
|
-
|
788
|
-
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
789
|
-
---
|
790
|
-
from vellum.client import AsyncVellum
|
791
|
-
|
792
|
-
client = AsyncVellum(
|
793
|
-
api_key="YOUR_API_KEY",
|
794
|
-
)
|
795
|
-
await client.deployments.deploy_workflow(
|
796
|
-
id="id",
|
797
|
-
workflow_id="workflow_id",
|
798
|
-
)
|
799
|
-
"""
|
800
|
-
_request: typing.Dict[str, typing.Any] = {}
|
801
|
-
if workflow_deployment_id is not OMIT:
|
802
|
-
_request["workflow_deployment_id"] = workflow_deployment_id
|
803
|
-
if workflow_deployment_name is not OMIT:
|
804
|
-
_request["workflow_deployment_name"] = workflow_deployment_name
|
805
|
-
if label is not OMIT:
|
806
|
-
_request["label"] = label
|
807
|
-
if release_tags is not OMIT:
|
808
|
-
_request["release_tags"] = release_tags
|
809
|
-
_response = await self._client_wrapper.httpx_client.request(
|
810
|
-
method="POST",
|
811
|
-
url=urllib.parse.urljoin(
|
812
|
-
f"{self._client_wrapper.get_environment().default}/",
|
813
|
-
f"v1/workflow-sandboxes/{jsonable_encoder(id)}/workflows/{jsonable_encoder(workflow_id)}/deploy",
|
814
|
-
),
|
815
|
-
params=jsonable_encoder(
|
816
|
-
request_options.get("additional_query_parameters") if request_options is not None else None
|
817
|
-
),
|
818
|
-
json=jsonable_encoder(_request)
|
819
|
-
if request_options is None or request_options.get("additional_body_parameters") is None
|
820
|
-
else {
|
821
|
-
**jsonable_encoder(_request),
|
822
|
-
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
823
|
-
},
|
824
|
-
headers=jsonable_encoder(
|
825
|
-
remove_none_from_dict(
|
826
|
-
{
|
827
|
-
**self._client_wrapper.get_headers(),
|
828
|
-
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
829
|
-
}
|
830
|
-
)
|
831
|
-
),
|
832
|
-
timeout=request_options.get("timeout_in_seconds")
|
833
|
-
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
834
|
-
else self._client_wrapper.get_timeout(),
|
835
|
-
retries=0,
|
836
|
-
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
837
|
-
)
|
838
|
-
if 200 <= _response.status_code < 300:
|
839
|
-
return pydantic_v1.parse_obj_as(WorkflowDeploymentRead, _response.json()) # type: ignore
|
840
|
-
try:
|
841
|
-
_response_json = _response.json()
|
842
|
-
except JSONDecodeError:
|
843
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
844
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
@@ -10,6 +10,7 @@ from ...core.jsonable_encoder import jsonable_encoder
|
|
10
10
|
from ...core.pydantic_utilities import pydantic_v1
|
11
11
|
from ...core.remove_none_from_dict import remove_none_from_dict
|
12
12
|
from ...core.request_options import RequestOptions
|
13
|
+
from ...types.deployment_read import DeploymentRead
|
13
14
|
from ...types.named_scenario_input_request import NamedScenarioInputRequest
|
14
15
|
from ...types.sandbox_scenario import SandboxScenario
|
15
16
|
|
@@ -21,6 +22,89 @@ class SandboxesClient:
|
|
21
22
|
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
22
23
|
self._client_wrapper = client_wrapper
|
23
24
|
|
25
|
+
def deploy_prompt(
|
26
|
+
self,
|
27
|
+
id: str,
|
28
|
+
prompt_id: str,
|
29
|
+
*,
|
30
|
+
prompt_deployment_id: typing.Optional[str] = OMIT,
|
31
|
+
prompt_deployment_name: typing.Optional[str] = OMIT,
|
32
|
+
label: typing.Optional[str] = OMIT,
|
33
|
+
release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
|
34
|
+
request_options: typing.Optional[RequestOptions] = None,
|
35
|
+
) -> DeploymentRead:
|
36
|
+
"""
|
37
|
+
Parameters:
|
38
|
+
- id: str. A UUID string identifying this sandbox.
|
39
|
+
|
40
|
+
- prompt_id: str. An ID identifying the Prompt you'd like to deploy.
|
41
|
+
|
42
|
+
- prompt_deployment_id: typing.Optional[str]. The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
|
43
|
+
|
44
|
+
- prompt_deployment_name: typing.Optional[str]. The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
|
45
|
+
|
46
|
+
- label: typing.Optional[str]. In the event that a new Prompt Deployment is created, this will be the label it's given.
|
47
|
+
|
48
|
+
- release_tags: typing.Optional[typing.Sequence[str]]. Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
|
49
|
+
|
50
|
+
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
51
|
+
---
|
52
|
+
from vellum.client import Vellum
|
53
|
+
|
54
|
+
client = Vellum(
|
55
|
+
api_key="YOUR_API_KEY",
|
56
|
+
)
|
57
|
+
client.sandboxes.deploy_prompt(
|
58
|
+
id="id",
|
59
|
+
prompt_id="prompt_id",
|
60
|
+
)
|
61
|
+
"""
|
62
|
+
_request: typing.Dict[str, typing.Any] = {}
|
63
|
+
if prompt_deployment_id is not OMIT:
|
64
|
+
_request["prompt_deployment_id"] = prompt_deployment_id
|
65
|
+
if prompt_deployment_name is not OMIT:
|
66
|
+
_request["prompt_deployment_name"] = prompt_deployment_name
|
67
|
+
if label is not OMIT:
|
68
|
+
_request["label"] = label
|
69
|
+
if release_tags is not OMIT:
|
70
|
+
_request["release_tags"] = release_tags
|
71
|
+
_response = self._client_wrapper.httpx_client.request(
|
72
|
+
method="POST",
|
73
|
+
url=urllib.parse.urljoin(
|
74
|
+
f"{self._client_wrapper.get_environment().default}/",
|
75
|
+
f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_id)}/deploy",
|
76
|
+
),
|
77
|
+
params=jsonable_encoder(
|
78
|
+
request_options.get("additional_query_parameters") if request_options is not None else None
|
79
|
+
),
|
80
|
+
json=jsonable_encoder(_request)
|
81
|
+
if request_options is None or request_options.get("additional_body_parameters") is None
|
82
|
+
else {
|
83
|
+
**jsonable_encoder(_request),
|
84
|
+
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
85
|
+
},
|
86
|
+
headers=jsonable_encoder(
|
87
|
+
remove_none_from_dict(
|
88
|
+
{
|
89
|
+
**self._client_wrapper.get_headers(),
|
90
|
+
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
91
|
+
}
|
92
|
+
)
|
93
|
+
),
|
94
|
+
timeout=request_options.get("timeout_in_seconds")
|
95
|
+
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
96
|
+
else self._client_wrapper.get_timeout(),
|
97
|
+
retries=0,
|
98
|
+
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
99
|
+
)
|
100
|
+
if 200 <= _response.status_code < 300:
|
101
|
+
return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
|
102
|
+
try:
|
103
|
+
_response_json = _response.json()
|
104
|
+
except JSONDecodeError:
|
105
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
106
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
107
|
+
|
24
108
|
def upsert_sandbox_scenario(
|
25
109
|
self,
|
26
110
|
id: str,
|
@@ -161,6 +245,89 @@ class AsyncSandboxesClient:
|
|
161
245
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
162
246
|
self._client_wrapper = client_wrapper
|
163
247
|
|
248
|
+
async def deploy_prompt(
|
249
|
+
self,
|
250
|
+
id: str,
|
251
|
+
prompt_id: str,
|
252
|
+
*,
|
253
|
+
prompt_deployment_id: typing.Optional[str] = OMIT,
|
254
|
+
prompt_deployment_name: typing.Optional[str] = OMIT,
|
255
|
+
label: typing.Optional[str] = OMIT,
|
256
|
+
release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
|
257
|
+
request_options: typing.Optional[RequestOptions] = None,
|
258
|
+
) -> DeploymentRead:
|
259
|
+
"""
|
260
|
+
Parameters:
|
261
|
+
- id: str. A UUID string identifying this sandbox.
|
262
|
+
|
263
|
+
- prompt_id: str. An ID identifying the Prompt you'd like to deploy.
|
264
|
+
|
265
|
+
- prompt_deployment_id: typing.Optional[str]. The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
|
266
|
+
|
267
|
+
- prompt_deployment_name: typing.Optional[str]. The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
|
268
|
+
|
269
|
+
- label: typing.Optional[str]. In the event that a new Prompt Deployment is created, this will be the label it's given.
|
270
|
+
|
271
|
+
- release_tags: typing.Optional[typing.Sequence[str]]. Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
|
272
|
+
|
273
|
+
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
|
274
|
+
---
|
275
|
+
from vellum.client import AsyncVellum
|
276
|
+
|
277
|
+
client = AsyncVellum(
|
278
|
+
api_key="YOUR_API_KEY",
|
279
|
+
)
|
280
|
+
await client.sandboxes.deploy_prompt(
|
281
|
+
id="id",
|
282
|
+
prompt_id="prompt_id",
|
283
|
+
)
|
284
|
+
"""
|
285
|
+
_request: typing.Dict[str, typing.Any] = {}
|
286
|
+
if prompt_deployment_id is not OMIT:
|
287
|
+
_request["prompt_deployment_id"] = prompt_deployment_id
|
288
|
+
if prompt_deployment_name is not OMIT:
|
289
|
+
_request["prompt_deployment_name"] = prompt_deployment_name
|
290
|
+
if label is not OMIT:
|
291
|
+
_request["label"] = label
|
292
|
+
if release_tags is not OMIT:
|
293
|
+
_request["release_tags"] = release_tags
|
294
|
+
_response = await self._client_wrapper.httpx_client.request(
|
295
|
+
method="POST",
|
296
|
+
url=urllib.parse.urljoin(
|
297
|
+
f"{self._client_wrapper.get_environment().default}/",
|
298
|
+
f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_id)}/deploy",
|
299
|
+
),
|
300
|
+
params=jsonable_encoder(
|
301
|
+
request_options.get("additional_query_parameters") if request_options is not None else None
|
302
|
+
),
|
303
|
+
json=jsonable_encoder(_request)
|
304
|
+
if request_options is None or request_options.get("additional_body_parameters") is None
|
305
|
+
else {
|
306
|
+
**jsonable_encoder(_request),
|
307
|
+
**(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
|
308
|
+
},
|
309
|
+
headers=jsonable_encoder(
|
310
|
+
remove_none_from_dict(
|
311
|
+
{
|
312
|
+
**self._client_wrapper.get_headers(),
|
313
|
+
**(request_options.get("additional_headers", {}) if request_options is not None else {}),
|
314
|
+
}
|
315
|
+
)
|
316
|
+
),
|
317
|
+
timeout=request_options.get("timeout_in_seconds")
|
318
|
+
if request_options is not None and request_options.get("timeout_in_seconds") is not None
|
319
|
+
else self._client_wrapper.get_timeout(),
|
320
|
+
retries=0,
|
321
|
+
max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
|
322
|
+
)
|
323
|
+
if 200 <= _response.status_code < 300:
|
324
|
+
return pydantic_v1.parse_obj_as(DeploymentRead, _response.json()) # type: ignore
|
325
|
+
try:
|
326
|
+
_response_json = _response.json()
|
327
|
+
except JSONDecodeError:
|
328
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
329
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
330
|
+
|
164
331
|
async def upsert_sandbox_scenario(
|
165
332
|
self,
|
166
333
|
id: str,
|