vellum-ai 0.3.11__py3-none-any.whl → 0.3.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vellum/__init__.py +90 -0
- vellum/client.py +3 -0
- vellum/core/client_wrapper.py +1 -1
- vellum/resources/__init__.py +2 -0
- vellum/resources/document_indexes/client.py +282 -0
- vellum/resources/test_suite_runs/__init__.py +2 -0
- vellum/resources/test_suite_runs/client.py +223 -0
- vellum/types/__init__.py +102 -0
- vellum/types/array_variable_value_item.py +11 -0
- vellum/types/fulfilled_workflow_node_result_event.py +2 -0
- vellum/types/generate_request.py +1 -1
- vellum/types/image_variable_value.py +33 -0
- vellum/types/initiated_workflow_node_result_event.py +1 -0
- vellum/types/paginated_test_suite_run_execution_list.py +32 -0
- vellum/types/rejected_workflow_node_result_event.py +1 -0
- vellum/types/streaming_workflow_node_result_event.py +1 -0
- vellum/types/test_suite_run_deployment_release_tag_exec_config.py +36 -0
- vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py +31 -0
- vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py +31 -0
- vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py +38 -0
- vellum/types/test_suite_run_deployment_release_tag_exec_config_type_enum.py +5 -0
- vellum/types/test_suite_run_exec_config.py +33 -0
- vellum/types/test_suite_run_exec_config_request.py +33 -0
- vellum/types/test_suite_run_execution.py +33 -0
- vellum/types/test_suite_run_execution_chat_history_output.py +30 -0
- vellum/types/test_suite_run_execution_error_output.py +30 -0
- vellum/types/test_suite_run_execution_json_output.py +29 -0
- vellum/types/test_suite_run_execution_metric_result.py +30 -0
- vellum/types/test_suite_run_execution_number_output.py +29 -0
- vellum/types/test_suite_run_execution_output.py +78 -0
- vellum/types/test_suite_run_execution_search_results_output.py +30 -0
- vellum/types/test_suite_run_execution_string_output.py +29 -0
- vellum/types/test_suite_run_metric_error_output.py +34 -0
- vellum/types/test_suite_run_metric_error_output_type_enum.py +5 -0
- vellum/types/test_suite_run_metric_number_output.py +33 -0
- vellum/types/test_suite_run_metric_number_output_type_enum.py +5 -0
- vellum/types/test_suite_run_metric_output.py +31 -0
- vellum/types/test_suite_run_read.py +47 -0
- vellum/types/test_suite_run_state.py +41 -0
- vellum/types/test_suite_run_test_suite.py +30 -0
- vellum/types/test_suite_run_workflow_release_tag_exec_config.py +36 -0
- vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py +33 -0
- vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py +33 -0
- vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py +38 -0
- vellum/types/test_suite_run_workflow_release_tag_exec_config_type_enum.py +5 -0
- vellum/types/workflow_execution_event_error_code.py +5 -0
- vellum/types/workflow_output_array.py +1 -1
- vellum/types/workflow_output_chat_history.py +1 -1
- vellum/types/workflow_output_error.py +1 -1
- vellum/types/workflow_output_function_call.py +1 -1
- vellum/types/workflow_output_image.py +1 -1
- vellum/types/workflow_output_json.py +1 -1
- vellum/types/workflow_output_number.py +1 -1
- vellum/types/workflow_output_search_results.py +1 -1
- vellum/types/workflow_output_string.py +1 -1
- {vellum_ai-0.3.11.dist-info → vellum_ai-0.3.13.dist-info}/METADATA +1 -1
- {vellum_ai-0.3.11.dist-info → vellum_ai-0.3.13.dist-info}/RECORD +59 -26
- {vellum_ai-0.3.11.dist-info → vellum_ai-0.3.13.dist-info}/LICENSE +0 -0
- {vellum_ai-0.3.11.dist-info → vellum_ai-0.3.13.dist-info}/WHEEL +0 -0
@@ -0,0 +1,223 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import typing
|
4
|
+
import urllib.parse
|
5
|
+
from json.decoder import JSONDecodeError
|
6
|
+
|
7
|
+
from ...core.api_error import ApiError
|
8
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
|
+
from ...core.jsonable_encoder import jsonable_encoder
|
10
|
+
from ...core.remove_none_from_dict import remove_none_from_dict
|
11
|
+
from ...types.paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
|
12
|
+
from ...types.test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
|
13
|
+
from ...types.test_suite_run_read import TestSuiteRunRead
|
14
|
+
|
15
|
+
try:
|
16
|
+
import pydantic.v1 as pydantic # type: ignore
|
17
|
+
except ImportError:
|
18
|
+
import pydantic # type: ignore
|
19
|
+
|
20
|
+
# this is used as the default value for optional parameters
|
21
|
+
OMIT = typing.cast(typing.Any, ...)
|
22
|
+
|
23
|
+
|
24
|
+
class TestSuiteRunsClient:
|
25
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
26
|
+
self._client_wrapper = client_wrapper
|
27
|
+
|
28
|
+
def create(
|
29
|
+
self, *, test_suite_id: typing.Optional[str] = OMIT, exec_config: TestSuiteRunExecConfigRequest
|
30
|
+
) -> TestSuiteRunRead:
|
31
|
+
"""
|
32
|
+
Trigger a Test Suite and create a new Test Suite Run
|
33
|
+
|
34
|
+
Parameters:
|
35
|
+
- test_suite_id: typing.Optional[str]. The ID of the Test Suite to run
|
36
|
+
|
37
|
+
- exec_config: TestSuiteRunExecConfigRequest. Configuration that defines how the Test Suite should be run
|
38
|
+
"""
|
39
|
+
_request: typing.Dict[str, typing.Any] = {"exec_config": exec_config}
|
40
|
+
if test_suite_id is not OMIT:
|
41
|
+
_request["test_suite_id"] = test_suite_id
|
42
|
+
_response = self._client_wrapper.httpx_client.request(
|
43
|
+
"POST",
|
44
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/test-suite-runs"),
|
45
|
+
json=jsonable_encoder(_request),
|
46
|
+
headers=self._client_wrapper.get_headers(),
|
47
|
+
timeout=None,
|
48
|
+
)
|
49
|
+
if 200 <= _response.status_code < 300:
|
50
|
+
return pydantic.parse_obj_as(TestSuiteRunRead, _response.json()) # type: ignore
|
51
|
+
try:
|
52
|
+
_response_json = _response.json()
|
53
|
+
except JSONDecodeError:
|
54
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
55
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
56
|
+
|
57
|
+
def retrieve(self, id: str) -> TestSuiteRunRead:
|
58
|
+
"""
|
59
|
+
Retrieve a specific Test Suite Run by ID
|
60
|
+
|
61
|
+
Parameters:
|
62
|
+
- id: str. A UUID string identifying this test suite run.
|
63
|
+
---
|
64
|
+
from vellum.client import Vellum
|
65
|
+
|
66
|
+
client = Vellum(
|
67
|
+
api_key="YOUR_API_KEY",
|
68
|
+
)
|
69
|
+
client.test_suite_runs.retrieve(
|
70
|
+
id="id",
|
71
|
+
)
|
72
|
+
"""
|
73
|
+
_response = self._client_wrapper.httpx_client.request(
|
74
|
+
"GET",
|
75
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", f"v1/test-suite-runs/{id}"),
|
76
|
+
headers=self._client_wrapper.get_headers(),
|
77
|
+
timeout=None,
|
78
|
+
)
|
79
|
+
if 200 <= _response.status_code < 300:
|
80
|
+
return pydantic.parse_obj_as(TestSuiteRunRead, _response.json()) # type: ignore
|
81
|
+
try:
|
82
|
+
_response_json = _response.json()
|
83
|
+
except JSONDecodeError:
|
84
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
85
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
86
|
+
|
87
|
+
def list_test_suite_run_executions(
|
88
|
+
self, id: str, *, limit: typing.Optional[int] = None, offset: typing.Optional[int] = None
|
89
|
+
) -> PaginatedTestSuiteRunExecutionList:
|
90
|
+
"""
|
91
|
+
Parameters:
|
92
|
+
- id: str. A UUID string identifying this test suite run.
|
93
|
+
|
94
|
+
- limit: typing.Optional[int]. Number of results to return per page.
|
95
|
+
|
96
|
+
- offset: typing.Optional[int]. The initial index from which to return the results.
|
97
|
+
---
|
98
|
+
from vellum.client import Vellum
|
99
|
+
|
100
|
+
client = Vellum(
|
101
|
+
api_key="YOUR_API_KEY",
|
102
|
+
)
|
103
|
+
client.test_suite_runs.list_test_suite_run_executions(
|
104
|
+
id="id",
|
105
|
+
)
|
106
|
+
"""
|
107
|
+
_response = self._client_wrapper.httpx_client.request(
|
108
|
+
"GET",
|
109
|
+
urllib.parse.urljoin(
|
110
|
+
f"{self._client_wrapper.get_environment().default}/", f"v1/test-suite-runs/{id}/executions"
|
111
|
+
),
|
112
|
+
params=remove_none_from_dict({"limit": limit, "offset": offset}),
|
113
|
+
headers=self._client_wrapper.get_headers(),
|
114
|
+
timeout=None,
|
115
|
+
)
|
116
|
+
if 200 <= _response.status_code < 300:
|
117
|
+
return pydantic.parse_obj_as(PaginatedTestSuiteRunExecutionList, _response.json()) # type: ignore
|
118
|
+
try:
|
119
|
+
_response_json = _response.json()
|
120
|
+
except JSONDecodeError:
|
121
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
122
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
123
|
+
|
124
|
+
|
125
|
+
class AsyncTestSuiteRunsClient:
|
126
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
127
|
+
self._client_wrapper = client_wrapper
|
128
|
+
|
129
|
+
async def create(
|
130
|
+
self, *, test_suite_id: typing.Optional[str] = OMIT, exec_config: TestSuiteRunExecConfigRequest
|
131
|
+
) -> TestSuiteRunRead:
|
132
|
+
"""
|
133
|
+
Trigger a Test Suite and create a new Test Suite Run
|
134
|
+
|
135
|
+
Parameters:
|
136
|
+
- test_suite_id: typing.Optional[str]. The ID of the Test Suite to run
|
137
|
+
|
138
|
+
- exec_config: TestSuiteRunExecConfigRequest. Configuration that defines how the Test Suite should be run
|
139
|
+
"""
|
140
|
+
_request: typing.Dict[str, typing.Any] = {"exec_config": exec_config}
|
141
|
+
if test_suite_id is not OMIT:
|
142
|
+
_request["test_suite_id"] = test_suite_id
|
143
|
+
_response = await self._client_wrapper.httpx_client.request(
|
144
|
+
"POST",
|
145
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/test-suite-runs"),
|
146
|
+
json=jsonable_encoder(_request),
|
147
|
+
headers=self._client_wrapper.get_headers(),
|
148
|
+
timeout=None,
|
149
|
+
)
|
150
|
+
if 200 <= _response.status_code < 300:
|
151
|
+
return pydantic.parse_obj_as(TestSuiteRunRead, _response.json()) # type: ignore
|
152
|
+
try:
|
153
|
+
_response_json = _response.json()
|
154
|
+
except JSONDecodeError:
|
155
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
156
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
157
|
+
|
158
|
+
async def retrieve(self, id: str) -> TestSuiteRunRead:
|
159
|
+
"""
|
160
|
+
Retrieve a specific Test Suite Run by ID
|
161
|
+
|
162
|
+
Parameters:
|
163
|
+
- id: str. A UUID string identifying this test suite run.
|
164
|
+
---
|
165
|
+
from vellum.client import AsyncVellum
|
166
|
+
|
167
|
+
client = AsyncVellum(
|
168
|
+
api_key="YOUR_API_KEY",
|
169
|
+
)
|
170
|
+
await client.test_suite_runs.retrieve(
|
171
|
+
id="id",
|
172
|
+
)
|
173
|
+
"""
|
174
|
+
_response = await self._client_wrapper.httpx_client.request(
|
175
|
+
"GET",
|
176
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", f"v1/test-suite-runs/{id}"),
|
177
|
+
headers=self._client_wrapper.get_headers(),
|
178
|
+
timeout=None,
|
179
|
+
)
|
180
|
+
if 200 <= _response.status_code < 300:
|
181
|
+
return pydantic.parse_obj_as(TestSuiteRunRead, _response.json()) # type: ignore
|
182
|
+
try:
|
183
|
+
_response_json = _response.json()
|
184
|
+
except JSONDecodeError:
|
185
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
186
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
187
|
+
|
188
|
+
async def list_test_suite_run_executions(
|
189
|
+
self, id: str, *, limit: typing.Optional[int] = None, offset: typing.Optional[int] = None
|
190
|
+
) -> PaginatedTestSuiteRunExecutionList:
|
191
|
+
"""
|
192
|
+
Parameters:
|
193
|
+
- id: str. A UUID string identifying this test suite run.
|
194
|
+
|
195
|
+
- limit: typing.Optional[int]. Number of results to return per page.
|
196
|
+
|
197
|
+
- offset: typing.Optional[int]. The initial index from which to return the results.
|
198
|
+
---
|
199
|
+
from vellum.client import AsyncVellum
|
200
|
+
|
201
|
+
client = AsyncVellum(
|
202
|
+
api_key="YOUR_API_KEY",
|
203
|
+
)
|
204
|
+
await client.test_suite_runs.list_test_suite_run_executions(
|
205
|
+
id="id",
|
206
|
+
)
|
207
|
+
"""
|
208
|
+
_response = await self._client_wrapper.httpx_client.request(
|
209
|
+
"GET",
|
210
|
+
urllib.parse.urljoin(
|
211
|
+
f"{self._client_wrapper.get_environment().default}/", f"v1/test-suite-runs/{id}/executions"
|
212
|
+
),
|
213
|
+
params=remove_none_from_dict({"limit": limit, "offset": offset}),
|
214
|
+
headers=self._client_wrapper.get_headers(),
|
215
|
+
timeout=None,
|
216
|
+
)
|
217
|
+
if 200 <= _response.status_code < 300:
|
218
|
+
return pydantic.parse_obj_as(PaginatedTestSuiteRunExecutionList, _response.json()) # type: ignore
|
219
|
+
try:
|
220
|
+
_response_json = _response.json()
|
221
|
+
except JSONDecodeError:
|
222
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
223
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
vellum/types/__init__.py
CHANGED
@@ -22,6 +22,7 @@ from .array_variable_value_item import (
|
|
22
22
|
ArrayVariableValueItem_ChatHistory,
|
23
23
|
ArrayVariableValueItem_Error,
|
24
24
|
ArrayVariableValueItem_FunctionCall,
|
25
|
+
ArrayVariableValueItem_Image,
|
25
26
|
ArrayVariableValueItem_Json,
|
26
27
|
ArrayVariableValueItem_Number,
|
27
28
|
ArrayVariableValueItem_SearchResults,
|
@@ -146,6 +147,7 @@ from .generate_stream_result_data import GenerateStreamResultData
|
|
146
147
|
from .image_chat_message_content import ImageChatMessageContent
|
147
148
|
from .image_chat_message_content_request import ImageChatMessageContentRequest
|
148
149
|
from .image_enum import ImageEnum
|
150
|
+
from .image_variable_value import ImageVariableValue
|
149
151
|
from .indexing_state_enum import IndexingStateEnum
|
150
152
|
from .initiated_enum import InitiatedEnum
|
151
153
|
from .initiated_execute_prompt_event import InitiatedExecutePromptEvent
|
@@ -224,6 +226,7 @@ from .paginated_document_index_read_list import PaginatedDocumentIndexReadList
|
|
224
226
|
from .paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
|
225
227
|
from .paginated_slim_document_list import PaginatedSlimDocumentList
|
226
228
|
from .paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
|
229
|
+
from .paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
|
227
230
|
from .processing_failure_reason_enum import ProcessingFailureReasonEnum
|
228
231
|
from .processing_state_enum import ProcessingStateEnum
|
229
232
|
from .prompt_deployment_expand_meta_request_request import PromptDeploymentExpandMetaRequestRequest
|
@@ -361,6 +364,61 @@ from .test_case_variable_value import (
|
|
361
364
|
TestCaseVariableValue_SearchResults,
|
362
365
|
TestCaseVariableValue_String,
|
363
366
|
)
|
367
|
+
from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
|
368
|
+
from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
|
369
|
+
from .test_suite_run_deployment_release_tag_exec_config_data_request import (
|
370
|
+
TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
|
371
|
+
)
|
372
|
+
from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
|
373
|
+
from .test_suite_run_deployment_release_tag_exec_config_type_enum import (
|
374
|
+
TestSuiteRunDeploymentReleaseTagExecConfigTypeEnum,
|
375
|
+
)
|
376
|
+
from .test_suite_run_exec_config import (
|
377
|
+
TestSuiteRunExecConfig,
|
378
|
+
TestSuiteRunExecConfig_DeploymentReleaseTag,
|
379
|
+
TestSuiteRunExecConfig_WorkflowReleaseTag,
|
380
|
+
)
|
381
|
+
from .test_suite_run_exec_config_request import (
|
382
|
+
TestSuiteRunExecConfigRequest,
|
383
|
+
TestSuiteRunExecConfigRequest_DeploymentReleaseTag,
|
384
|
+
TestSuiteRunExecConfigRequest_WorkflowReleaseTag,
|
385
|
+
)
|
386
|
+
from .test_suite_run_execution import TestSuiteRunExecution
|
387
|
+
from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
|
388
|
+
from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
|
389
|
+
from .test_suite_run_execution_json_output import TestSuiteRunExecutionJsonOutput
|
390
|
+
from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricResult
|
391
|
+
from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
|
392
|
+
from .test_suite_run_execution_output import (
|
393
|
+
TestSuiteRunExecutionOutput,
|
394
|
+
TestSuiteRunExecutionOutput_ChatHistory,
|
395
|
+
TestSuiteRunExecutionOutput_Error,
|
396
|
+
TestSuiteRunExecutionOutput_Json,
|
397
|
+
TestSuiteRunExecutionOutput_Number,
|
398
|
+
TestSuiteRunExecutionOutput_SearchResults,
|
399
|
+
TestSuiteRunExecutionOutput_String,
|
400
|
+
)
|
401
|
+
from .test_suite_run_execution_search_results_output import TestSuiteRunExecutionSearchResultsOutput
|
402
|
+
from .test_suite_run_execution_string_output import TestSuiteRunExecutionStringOutput
|
403
|
+
from .test_suite_run_metric_error_output import TestSuiteRunMetricErrorOutput
|
404
|
+
from .test_suite_run_metric_error_output_type_enum import TestSuiteRunMetricErrorOutputTypeEnum
|
405
|
+
from .test_suite_run_metric_number_output import TestSuiteRunMetricNumberOutput
|
406
|
+
from .test_suite_run_metric_number_output_type_enum import TestSuiteRunMetricNumberOutputTypeEnum
|
407
|
+
from .test_suite_run_metric_output import (
|
408
|
+
TestSuiteRunMetricOutput,
|
409
|
+
TestSuiteRunMetricOutput_Error,
|
410
|
+
TestSuiteRunMetricOutput_Number,
|
411
|
+
)
|
412
|
+
from .test_suite_run_read import TestSuiteRunRead
|
413
|
+
from .test_suite_run_state import TestSuiteRunState
|
414
|
+
from .test_suite_run_test_suite import TestSuiteRunTestSuite
|
415
|
+
from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
|
416
|
+
from .test_suite_run_workflow_release_tag_exec_config_data import TestSuiteRunWorkflowReleaseTagExecConfigData
|
417
|
+
from .test_suite_run_workflow_release_tag_exec_config_data_request import (
|
418
|
+
TestSuiteRunWorkflowReleaseTagExecConfigDataRequest,
|
419
|
+
)
|
420
|
+
from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
|
421
|
+
from .test_suite_run_workflow_release_tag_exec_config_type_enum import TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum
|
364
422
|
from .test_suite_test_case import TestSuiteTestCase
|
365
423
|
from .upload_document_error_response import UploadDocumentErrorResponse
|
366
424
|
from .upload_document_response import UploadDocumentResponse
|
@@ -471,6 +529,7 @@ __all__ = [
|
|
471
529
|
"ArrayVariableValueItem_ChatHistory",
|
472
530
|
"ArrayVariableValueItem_Error",
|
473
531
|
"ArrayVariableValueItem_FunctionCall",
|
532
|
+
"ArrayVariableValueItem_Image",
|
474
533
|
"ArrayVariableValueItem_Json",
|
475
534
|
"ArrayVariableValueItem_Number",
|
476
535
|
"ArrayVariableValueItem_SearchResults",
|
@@ -582,6 +641,7 @@ __all__ = [
|
|
582
641
|
"ImageChatMessageContent",
|
583
642
|
"ImageChatMessageContentRequest",
|
584
643
|
"ImageEnum",
|
644
|
+
"ImageVariableValue",
|
585
645
|
"IndexingStateEnum",
|
586
646
|
"InitiatedEnum",
|
587
647
|
"InitiatedExecutePromptEvent",
|
@@ -654,6 +714,7 @@ __all__ = [
|
|
654
714
|
"PaginatedSlimDeploymentReadList",
|
655
715
|
"PaginatedSlimDocumentList",
|
656
716
|
"PaginatedSlimWorkflowDeploymentList",
|
717
|
+
"PaginatedTestSuiteRunExecutionList",
|
657
718
|
"ProcessingFailureReasonEnum",
|
658
719
|
"ProcessingStateEnum",
|
659
720
|
"PromptDeploymentExpandMetaRequestRequest",
|
@@ -779,6 +840,47 @@ __all__ = [
|
|
779
840
|
"TestCaseVariableValue_Number",
|
780
841
|
"TestCaseVariableValue_SearchResults",
|
781
842
|
"TestCaseVariableValue_String",
|
843
|
+
"TestSuiteRunDeploymentReleaseTagExecConfig",
|
844
|
+
"TestSuiteRunDeploymentReleaseTagExecConfigData",
|
845
|
+
"TestSuiteRunDeploymentReleaseTagExecConfigDataRequest",
|
846
|
+
"TestSuiteRunDeploymentReleaseTagExecConfigRequest",
|
847
|
+
"TestSuiteRunDeploymentReleaseTagExecConfigTypeEnum",
|
848
|
+
"TestSuiteRunExecConfig",
|
849
|
+
"TestSuiteRunExecConfigRequest",
|
850
|
+
"TestSuiteRunExecConfigRequest_DeploymentReleaseTag",
|
851
|
+
"TestSuiteRunExecConfigRequest_WorkflowReleaseTag",
|
852
|
+
"TestSuiteRunExecConfig_DeploymentReleaseTag",
|
853
|
+
"TestSuiteRunExecConfig_WorkflowReleaseTag",
|
854
|
+
"TestSuiteRunExecution",
|
855
|
+
"TestSuiteRunExecutionChatHistoryOutput",
|
856
|
+
"TestSuiteRunExecutionErrorOutput",
|
857
|
+
"TestSuiteRunExecutionJsonOutput",
|
858
|
+
"TestSuiteRunExecutionMetricResult",
|
859
|
+
"TestSuiteRunExecutionNumberOutput",
|
860
|
+
"TestSuiteRunExecutionOutput",
|
861
|
+
"TestSuiteRunExecutionOutput_ChatHistory",
|
862
|
+
"TestSuiteRunExecutionOutput_Error",
|
863
|
+
"TestSuiteRunExecutionOutput_Json",
|
864
|
+
"TestSuiteRunExecutionOutput_Number",
|
865
|
+
"TestSuiteRunExecutionOutput_SearchResults",
|
866
|
+
"TestSuiteRunExecutionOutput_String",
|
867
|
+
"TestSuiteRunExecutionSearchResultsOutput",
|
868
|
+
"TestSuiteRunExecutionStringOutput",
|
869
|
+
"TestSuiteRunMetricErrorOutput",
|
870
|
+
"TestSuiteRunMetricErrorOutputTypeEnum",
|
871
|
+
"TestSuiteRunMetricNumberOutput",
|
872
|
+
"TestSuiteRunMetricNumberOutputTypeEnum",
|
873
|
+
"TestSuiteRunMetricOutput",
|
874
|
+
"TestSuiteRunMetricOutput_Error",
|
875
|
+
"TestSuiteRunMetricOutput_Number",
|
876
|
+
"TestSuiteRunRead",
|
877
|
+
"TestSuiteRunState",
|
878
|
+
"TestSuiteRunTestSuite",
|
879
|
+
"TestSuiteRunWorkflowReleaseTagExecConfig",
|
880
|
+
"TestSuiteRunWorkflowReleaseTagExecConfigData",
|
881
|
+
"TestSuiteRunWorkflowReleaseTagExecConfigDataRequest",
|
882
|
+
"TestSuiteRunWorkflowReleaseTagExecConfigRequest",
|
883
|
+
"TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum",
|
782
884
|
"TestSuiteTestCase",
|
783
885
|
"UploadDocumentErrorResponse",
|
784
886
|
"UploadDocumentResponse",
|
@@ -9,6 +9,7 @@ import typing_extensions
|
|
9
9
|
from .chat_history_variable_value import ChatHistoryVariableValue
|
10
10
|
from .error_variable_value import ErrorVariableValue
|
11
11
|
from .function_call_variable_value import FunctionCallVariableValue
|
12
|
+
from .image_variable_value import ImageVariableValue
|
12
13
|
from .json_variable_value import JsonVariableValue
|
13
14
|
from .number_variable_value import NumberVariableValue
|
14
15
|
from .search_results_variable_value import SearchResultsVariableValue
|
@@ -78,6 +79,15 @@ class ArrayVariableValueItem_FunctionCall(FunctionCallVariableValue):
|
|
78
79
|
allow_population_by_field_name = True
|
79
80
|
|
80
81
|
|
82
|
+
class ArrayVariableValueItem_Image(ImageVariableValue):
|
83
|
+
type: typing_extensions.Literal["IMAGE"]
|
84
|
+
|
85
|
+
class Config:
|
86
|
+
frozen = True
|
87
|
+
smart_union = True
|
88
|
+
allow_population_by_field_name = True
|
89
|
+
|
90
|
+
|
81
91
|
ArrayVariableValueItem = typing.Union[
|
82
92
|
ArrayVariableValueItem_String,
|
83
93
|
ArrayVariableValueItem_Number,
|
@@ -86,4 +96,5 @@ ArrayVariableValueItem = typing.Union[
|
|
86
96
|
ArrayVariableValueItem_SearchResults,
|
87
97
|
ArrayVariableValueItem_Error,
|
88
98
|
ArrayVariableValueItem_FunctionCall,
|
99
|
+
ArrayVariableValueItem_Image,
|
89
100
|
]
|
@@ -23,7 +23,9 @@ class FulfilledWorkflowNodeResultEvent(pydantic.BaseModel):
|
|
23
23
|
node_result_id: str
|
24
24
|
ts: typing.Optional[dt.datetime]
|
25
25
|
data: typing.Optional[WorkflowNodeResultData]
|
26
|
+
source_execution_id: typing.Optional[str]
|
26
27
|
output_values: typing.Optional[typing.List[NodeOutputCompiledValue]]
|
28
|
+
mocked: typing.Optional[bool]
|
27
29
|
|
28
30
|
def json(self, **kwargs: typing.Any) -> str:
|
29
31
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
vellum/types/generate_request.py
CHANGED
@@ -17,7 +17,7 @@ class GenerateRequest(pydantic.BaseModel):
|
|
17
17
|
description="Key/value pairs for each template variable defined in the deployment's prompt."
|
18
18
|
)
|
19
19
|
chat_history: typing.Optional[typing.List[ChatMessageRequest]] = pydantic.Field(
|
20
|
-
description="Optionally provide a list of chat messages that'll be used in place of the special
|
20
|
+
description="Optionally provide a list of chat messages that'll be used in place of the special chat_history variable, if included in the prompt."
|
21
21
|
)
|
22
22
|
external_ids: typing.Optional[typing.List[str]] = pydantic.Field(
|
23
23
|
description="Optionally include a unique identifier for each generation, as represented outside of Vellum. Note that this should generally be a list of length one."
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
from .vellum_image import VellumImage
|
8
|
+
|
9
|
+
try:
|
10
|
+
import pydantic.v1 as pydantic # type: ignore
|
11
|
+
except ImportError:
|
12
|
+
import pydantic # type: ignore
|
13
|
+
|
14
|
+
|
15
|
+
class ImageVariableValue(pydantic.BaseModel):
|
16
|
+
"""
|
17
|
+
A base Vellum primitive value representing an image.
|
18
|
+
"""
|
19
|
+
|
20
|
+
value: typing.Optional[VellumImage]
|
21
|
+
|
22
|
+
def json(self, **kwargs: typing.Any) -> str:
|
23
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
24
|
+
return super().json(**kwargs_with_defaults)
|
25
|
+
|
26
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
27
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
28
|
+
return super().dict(**kwargs_with_defaults)
|
29
|
+
|
30
|
+
class Config:
|
31
|
+
frozen = True
|
32
|
+
smart_union = True
|
33
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -23,6 +23,7 @@ class InitiatedWorkflowNodeResultEvent(pydantic.BaseModel):
|
|
23
23
|
node_result_id: str
|
24
24
|
ts: typing.Optional[dt.datetime]
|
25
25
|
data: typing.Optional[WorkflowNodeResultData]
|
26
|
+
source_execution_id: typing.Optional[str]
|
26
27
|
input_values: typing.Optional[typing.List[NodeInputVariableCompiledValue]]
|
27
28
|
|
28
29
|
def json(self, **kwargs: typing.Any) -> str:
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
from .test_suite_run_execution import TestSuiteRunExecution
|
8
|
+
|
9
|
+
try:
|
10
|
+
import pydantic.v1 as pydantic # type: ignore
|
11
|
+
except ImportError:
|
12
|
+
import pydantic # type: ignore
|
13
|
+
|
14
|
+
|
15
|
+
class PaginatedTestSuiteRunExecutionList(pydantic.BaseModel):
|
16
|
+
count: typing.Optional[int]
|
17
|
+
next: typing.Optional[str]
|
18
|
+
previous: typing.Optional[str]
|
19
|
+
results: typing.Optional[typing.List[TestSuiteRunExecution]]
|
20
|
+
|
21
|
+
def json(self, **kwargs: typing.Any) -> str:
|
22
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
23
|
+
return super().json(**kwargs_with_defaults)
|
24
|
+
|
25
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
26
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
27
|
+
return super().dict(**kwargs_with_defaults)
|
28
|
+
|
29
|
+
class Config:
|
30
|
+
frozen = True
|
31
|
+
smart_union = True
|
32
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -23,6 +23,7 @@ class RejectedWorkflowNodeResultEvent(pydantic.BaseModel):
|
|
23
23
|
node_result_id: str
|
24
24
|
ts: typing.Optional[dt.datetime]
|
25
25
|
data: typing.Optional[WorkflowNodeResultData]
|
26
|
+
source_execution_id: typing.Optional[str]
|
26
27
|
error: WorkflowEventError
|
27
28
|
|
28
29
|
def json(self, **kwargs: typing.Any) -> str:
|
@@ -23,6 +23,7 @@ class StreamingWorkflowNodeResultEvent(pydantic.BaseModel):
|
|
23
23
|
node_result_id: str
|
24
24
|
ts: typing.Optional[dt.datetime]
|
25
25
|
data: typing.Optional[WorkflowNodeResultData]
|
26
|
+
source_execution_id: typing.Optional[str]
|
26
27
|
output: typing.Optional[NodeOutputCompiledValue]
|
27
28
|
output_index: typing.Optional[int]
|
28
29
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
|
8
|
+
|
9
|
+
try:
|
10
|
+
import pydantic.v1 as pydantic # type: ignore
|
11
|
+
except ImportError:
|
12
|
+
import pydantic # type: ignore
|
13
|
+
|
14
|
+
|
15
|
+
class TestSuiteRunDeploymentReleaseTagExecConfig(pydantic.BaseModel):
|
16
|
+
"""
|
17
|
+
Execution configuration for running a Test Suite against a Prompt Deployment
|
18
|
+
"""
|
19
|
+
|
20
|
+
data: TestSuiteRunDeploymentReleaseTagExecConfigData
|
21
|
+
test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(
|
22
|
+
description="Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default."
|
23
|
+
)
|
24
|
+
|
25
|
+
def json(self, **kwargs: typing.Any) -> str:
|
26
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
27
|
+
return super().json(**kwargs_with_defaults)
|
28
|
+
|
29
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
30
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
31
|
+
return super().dict(**kwargs_with_defaults)
|
32
|
+
|
33
|
+
class Config:
|
34
|
+
frozen = True
|
35
|
+
smart_union = True
|
36
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
|
8
|
+
try:
|
9
|
+
import pydantic.v1 as pydantic # type: ignore
|
10
|
+
except ImportError:
|
11
|
+
import pydantic # type: ignore
|
12
|
+
|
13
|
+
|
14
|
+
class TestSuiteRunDeploymentReleaseTagExecConfigData(pydantic.BaseModel):
|
15
|
+
deployment_id: str = pydantic.Field(description="The ID of the Prompt Deployment to run the Test Suite against.")
|
16
|
+
tag: typing.Optional[str] = pydantic.Field(
|
17
|
+
description="A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment"
|
18
|
+
)
|
19
|
+
|
20
|
+
def json(self, **kwargs: typing.Any) -> str:
|
21
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
22
|
+
return super().json(**kwargs_with_defaults)
|
23
|
+
|
24
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
25
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
26
|
+
return super().dict(**kwargs_with_defaults)
|
27
|
+
|
28
|
+
class Config:
|
29
|
+
frozen = True
|
30
|
+
smart_union = True
|
31
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
|
8
|
+
try:
|
9
|
+
import pydantic.v1 as pydantic # type: ignore
|
10
|
+
except ImportError:
|
11
|
+
import pydantic # type: ignore
|
12
|
+
|
13
|
+
|
14
|
+
class TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(pydantic.BaseModel):
|
15
|
+
deployment_id: str = pydantic.Field(description="The ID of the Prompt Deployment to run the Test Suite against.")
|
16
|
+
tag: typing.Optional[str] = pydantic.Field(
|
17
|
+
description="A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment"
|
18
|
+
)
|
19
|
+
|
20
|
+
def json(self, **kwargs: typing.Any) -> str:
|
21
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
22
|
+
return super().json(**kwargs_with_defaults)
|
23
|
+
|
24
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
25
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
26
|
+
return super().dict(**kwargs_with_defaults)
|
27
|
+
|
28
|
+
class Config:
|
29
|
+
frozen = True
|
30
|
+
smart_union = True
|
31
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
from ..core.datetime_utils import serialize_datetime
|
7
|
+
from .test_suite_run_deployment_release_tag_exec_config_data_request import (
|
8
|
+
TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
|
9
|
+
)
|
10
|
+
|
11
|
+
try:
|
12
|
+
import pydantic.v1 as pydantic # type: ignore
|
13
|
+
except ImportError:
|
14
|
+
import pydantic # type: ignore
|
15
|
+
|
16
|
+
|
17
|
+
class TestSuiteRunDeploymentReleaseTagExecConfigRequest(pydantic.BaseModel):
|
18
|
+
"""
|
19
|
+
Execution configuration for running a Test Suite against a Prompt Deployment
|
20
|
+
"""
|
21
|
+
|
22
|
+
data: TestSuiteRunDeploymentReleaseTagExecConfigDataRequest
|
23
|
+
test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(
|
24
|
+
description="Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default."
|
25
|
+
)
|
26
|
+
|
27
|
+
def json(self, **kwargs: typing.Any) -> str:
|
28
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
29
|
+
return super().json(**kwargs_with_defaults)
|
30
|
+
|
31
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
32
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
33
|
+
return super().dict(**kwargs_with_defaults)
|
34
|
+
|
35
|
+
class Config:
|
36
|
+
frozen = True
|
37
|
+
smart_union = True
|
38
|
+
json_encoders = {dt.datetime: serialize_datetime}
|