vellum-ai 0.1.3__py3-none-any.whl → 0.1.5__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 +88 -0
- vellum/client.py +118 -7
- vellum/core/client_wrapper.py +1 -1
- vellum/errors/forbidden_error.py +3 -2
- vellum/resources/test_suites/client.py +25 -27
- vellum/types/__init__.py +96 -0
- vellum/types/chat_history_input_request.py +30 -0
- vellum/types/error_execute_prompt_response.py +30 -0
- vellum/types/execute_prompt_api_error_response.py +28 -0
- vellum/types/execute_prompt_response.py +43 -0
- vellum/types/json_execute_prompt_response.py +29 -0
- vellum/types/json_input_request.py +29 -0
- vellum/types/prompt_deployment_input_request.py +43 -0
- vellum/types/register_prompt_model_parameters_request.py +1 -1
- vellum/types/search_result_document_request.py +34 -0
- vellum/types/search_result_request.py +34 -0
- vellum/types/string_execute_prompt_response.py +29 -0
- vellum/types/string_input_request.py +29 -0
- vellum/types/test_case_chat_history_variable_value.py +30 -0
- vellum/types/test_case_chat_history_variable_value_request.py +30 -0
- vellum/types/test_case_error_variable_value.py +30 -0
- vellum/types/test_case_error_variable_value_request.py +30 -0
- vellum/types/test_case_json_variable_value.py +29 -0
- vellum/types/test_case_json_variable_value_request.py +29 -0
- vellum/types/test_case_number_variable_value.py +29 -0
- vellum/types/test_case_number_variable_value_request.py +29 -0
- vellum/types/test_case_search_results_variable_value.py +30 -0
- vellum/types/test_case_search_results_variable_value_request.py +30 -0
- vellum/types/test_case_string_variable_value.py +29 -0
- vellum/types/test_case_string_variable_value_request.py +29 -0
- vellum/types/test_case_variable_value.py +78 -0
- vellum/types/test_case_variable_value_request.py +78 -0
- vellum/types/test_suite_test_case.py +5 -11
- vellum/types/vellum_error_request.py +30 -0
- {vellum_ai-0.1.3.dist-info → vellum_ai-0.1.5.dist-info}/METADATA +1 -1
- {vellum_ai-0.1.3.dist-info → vellum_ai-0.1.5.dist-info}/RECORD +37 -11
- {vellum_ai-0.1.3.dist-info → vellum_ai-0.1.5.dist-info}/WHEEL +0 -0
vellum/__init__.py
CHANGED
@@ -4,6 +4,7 @@ from .types import (
|
|
4
4
|
ApiNodeResult,
|
5
5
|
ApiNodeResultData,
|
6
6
|
BlockTypeEnum,
|
7
|
+
ChatHistoryInputRequest,
|
7
8
|
ChatMessage,
|
8
9
|
ChatMessageRequest,
|
9
10
|
ChatMessageRole,
|
@@ -18,8 +19,14 @@ from .types import (
|
|
18
19
|
DocumentStatus,
|
19
20
|
EnrichedNormalizedCompletion,
|
20
21
|
EnvironmentEnum,
|
22
|
+
ErrorExecutePromptResponse,
|
21
23
|
EvaluationParams,
|
22
24
|
EvaluationParamsRequest,
|
25
|
+
ExecutePromptApiErrorResponse,
|
26
|
+
ExecutePromptResponse,
|
27
|
+
ExecutePromptResponse_Error,
|
28
|
+
ExecutePromptResponse_Json,
|
29
|
+
ExecutePromptResponse_String,
|
23
30
|
ExecuteWorkflowStreamErrorResponse,
|
24
31
|
FinishReasonEnum,
|
25
32
|
GenerateErrorResponse,
|
@@ -33,6 +40,8 @@ from .types import (
|
|
33
40
|
GenerateStreamResult,
|
34
41
|
GenerateStreamResultData,
|
35
42
|
IndexingStateEnum,
|
43
|
+
JsonExecutePromptResponse,
|
44
|
+
JsonInputRequest,
|
36
45
|
LogicalOperator,
|
37
46
|
LogprobsEnum,
|
38
47
|
MetadataFilterConfigRequest,
|
@@ -62,6 +71,10 @@ from .types import (
|
|
62
71
|
PaginatedSlimDocumentList,
|
63
72
|
ProcessingFailureReasonEnum,
|
64
73
|
ProcessingStateEnum,
|
74
|
+
PromptDeploymentInputRequest,
|
75
|
+
PromptDeploymentInputRequest_ChatHistory,
|
76
|
+
PromptDeploymentInputRequest_Json,
|
77
|
+
PromptDeploymentInputRequest_String,
|
65
78
|
PromptNodeResult,
|
66
79
|
PromptNodeResultData,
|
67
80
|
PromptTemplateBlock,
|
@@ -95,9 +108,13 @@ from .types import (
|
|
95
108
|
SearchResponse,
|
96
109
|
SearchResult,
|
97
110
|
SearchResultDocument,
|
111
|
+
SearchResultDocumentRequest,
|
98
112
|
SearchResultMergingRequest,
|
113
|
+
SearchResultRequest,
|
99
114
|
SearchWeightsRequest,
|
100
115
|
SlimDocument,
|
116
|
+
StringExecutePromptResponse,
|
117
|
+
StringInputRequest,
|
101
118
|
SubmitCompletionActualRequest,
|
102
119
|
SubmitCompletionActualsErrorResponse,
|
103
120
|
SubmitWorkflowExecutionActualRequest,
|
@@ -134,11 +151,38 @@ from .types import (
|
|
134
151
|
TerminalNodeResultOutput_String,
|
135
152
|
TerminalNodeSearchResultsResult,
|
136
153
|
TerminalNodeStringResult,
|
154
|
+
TestCaseChatHistoryVariableValue,
|
155
|
+
TestCaseChatHistoryVariableValueRequest,
|
156
|
+
TestCaseErrorVariableValue,
|
157
|
+
TestCaseErrorVariableValueRequest,
|
158
|
+
TestCaseJsonVariableValue,
|
159
|
+
TestCaseJsonVariableValueRequest,
|
160
|
+
TestCaseNumberVariableValue,
|
161
|
+
TestCaseNumberVariableValueRequest,
|
162
|
+
TestCaseSearchResultsVariableValue,
|
163
|
+
TestCaseSearchResultsVariableValueRequest,
|
164
|
+
TestCaseStringVariableValue,
|
165
|
+
TestCaseStringVariableValueRequest,
|
166
|
+
TestCaseVariableValue,
|
167
|
+
TestCaseVariableValueRequest,
|
168
|
+
TestCaseVariableValueRequest_ChatHistory,
|
169
|
+
TestCaseVariableValueRequest_Error,
|
170
|
+
TestCaseVariableValueRequest_Json,
|
171
|
+
TestCaseVariableValueRequest_Number,
|
172
|
+
TestCaseVariableValueRequest_SearchResults,
|
173
|
+
TestCaseVariableValueRequest_String,
|
174
|
+
TestCaseVariableValue_ChatHistory,
|
175
|
+
TestCaseVariableValue_Error,
|
176
|
+
TestCaseVariableValue_Json,
|
177
|
+
TestCaseVariableValue_Number,
|
178
|
+
TestCaseVariableValue_SearchResults,
|
179
|
+
TestCaseVariableValue_String,
|
137
180
|
TestSuiteTestCase,
|
138
181
|
UploadDocumentErrorResponse,
|
139
182
|
UploadDocumentResponse,
|
140
183
|
VellumError,
|
141
184
|
VellumErrorCodeEnum,
|
185
|
+
VellumErrorRequest,
|
142
186
|
VellumVariable,
|
143
187
|
VellumVariableType,
|
144
188
|
WorkflowEventError,
|
@@ -200,6 +244,7 @@ __all__ = [
|
|
200
244
|
"ApiNodeResultData",
|
201
245
|
"BadRequestError",
|
202
246
|
"BlockTypeEnum",
|
247
|
+
"ChatHistoryInputRequest",
|
203
248
|
"ChatMessage",
|
204
249
|
"ChatMessageRequest",
|
205
250
|
"ChatMessageRole",
|
@@ -215,8 +260,14 @@ __all__ = [
|
|
215
260
|
"DocumentStatus",
|
216
261
|
"EnrichedNormalizedCompletion",
|
217
262
|
"EnvironmentEnum",
|
263
|
+
"ErrorExecutePromptResponse",
|
218
264
|
"EvaluationParams",
|
219
265
|
"EvaluationParamsRequest",
|
266
|
+
"ExecutePromptApiErrorResponse",
|
267
|
+
"ExecutePromptResponse",
|
268
|
+
"ExecutePromptResponse_Error",
|
269
|
+
"ExecutePromptResponse_Json",
|
270
|
+
"ExecutePromptResponse_String",
|
220
271
|
"ExecuteWorkflowStreamErrorResponse",
|
221
272
|
"FinishReasonEnum",
|
222
273
|
"ForbiddenError",
|
@@ -232,6 +283,8 @@ __all__ = [
|
|
232
283
|
"GenerateStreamResultData",
|
233
284
|
"IndexingStateEnum",
|
234
285
|
"InternalServerError",
|
286
|
+
"JsonExecutePromptResponse",
|
287
|
+
"JsonInputRequest",
|
235
288
|
"LogicalOperator",
|
236
289
|
"LogprobsEnum",
|
237
290
|
"MetadataFilterConfigRequest",
|
@@ -262,6 +315,10 @@ __all__ = [
|
|
262
315
|
"PaginatedSlimDocumentList",
|
263
316
|
"ProcessingFailureReasonEnum",
|
264
317
|
"ProcessingStateEnum",
|
318
|
+
"PromptDeploymentInputRequest",
|
319
|
+
"PromptDeploymentInputRequest_ChatHistory",
|
320
|
+
"PromptDeploymentInputRequest_Json",
|
321
|
+
"PromptDeploymentInputRequest_String",
|
265
322
|
"PromptNodeResult",
|
266
323
|
"PromptNodeResultData",
|
267
324
|
"PromptTemplateBlock",
|
@@ -295,9 +352,13 @@ __all__ = [
|
|
295
352
|
"SearchResponse",
|
296
353
|
"SearchResult",
|
297
354
|
"SearchResultDocument",
|
355
|
+
"SearchResultDocumentRequest",
|
298
356
|
"SearchResultMergingRequest",
|
357
|
+
"SearchResultRequest",
|
299
358
|
"SearchWeightsRequest",
|
300
359
|
"SlimDocument",
|
360
|
+
"StringExecutePromptResponse",
|
361
|
+
"StringInputRequest",
|
301
362
|
"SubmitCompletionActualRequest",
|
302
363
|
"SubmitCompletionActualsErrorResponse",
|
303
364
|
"SubmitWorkflowExecutionActualRequest",
|
@@ -334,12 +395,39 @@ __all__ = [
|
|
334
395
|
"TerminalNodeResultOutput_String",
|
335
396
|
"TerminalNodeSearchResultsResult",
|
336
397
|
"TerminalNodeStringResult",
|
398
|
+
"TestCaseChatHistoryVariableValue",
|
399
|
+
"TestCaseChatHistoryVariableValueRequest",
|
400
|
+
"TestCaseErrorVariableValue",
|
401
|
+
"TestCaseErrorVariableValueRequest",
|
402
|
+
"TestCaseJsonVariableValue",
|
403
|
+
"TestCaseJsonVariableValueRequest",
|
404
|
+
"TestCaseNumberVariableValue",
|
405
|
+
"TestCaseNumberVariableValueRequest",
|
406
|
+
"TestCaseSearchResultsVariableValue",
|
407
|
+
"TestCaseSearchResultsVariableValueRequest",
|
408
|
+
"TestCaseStringVariableValue",
|
409
|
+
"TestCaseStringVariableValueRequest",
|
410
|
+
"TestCaseVariableValue",
|
411
|
+
"TestCaseVariableValueRequest",
|
412
|
+
"TestCaseVariableValueRequest_ChatHistory",
|
413
|
+
"TestCaseVariableValueRequest_Error",
|
414
|
+
"TestCaseVariableValueRequest_Json",
|
415
|
+
"TestCaseVariableValueRequest_Number",
|
416
|
+
"TestCaseVariableValueRequest_SearchResults",
|
417
|
+
"TestCaseVariableValueRequest_String",
|
418
|
+
"TestCaseVariableValue_ChatHistory",
|
419
|
+
"TestCaseVariableValue_Error",
|
420
|
+
"TestCaseVariableValue_Json",
|
421
|
+
"TestCaseVariableValue_Number",
|
422
|
+
"TestCaseVariableValue_SearchResults",
|
423
|
+
"TestCaseVariableValue_String",
|
337
424
|
"TestSuiteTestCase",
|
338
425
|
"UploadDocumentErrorResponse",
|
339
426
|
"UploadDocumentResponse",
|
340
427
|
"VellumEnvironment",
|
341
428
|
"VellumError",
|
342
429
|
"VellumErrorCodeEnum",
|
430
|
+
"VellumErrorRequest",
|
343
431
|
"VellumVariable",
|
344
432
|
"VellumVariableType",
|
345
433
|
"WorkflowEventError",
|
vellum/client.py
CHANGED
@@ -22,11 +22,12 @@ from .resources.model_versions.client import AsyncModelVersionsClient, ModelVers
|
|
22
22
|
from .resources.registered_prompts.client import AsyncRegisteredPromptsClient, RegisteredPromptsClient
|
23
23
|
from .resources.sandboxes.client import AsyncSandboxesClient, SandboxesClient
|
24
24
|
from .resources.test_suites.client import AsyncTestSuitesClient, TestSuitesClient
|
25
|
-
from .types.
|
25
|
+
from .types.execute_prompt_response import ExecutePromptResponse
|
26
26
|
from .types.generate_options_request import GenerateOptionsRequest
|
27
27
|
from .types.generate_request import GenerateRequest
|
28
28
|
from .types.generate_response import GenerateResponse
|
29
29
|
from .types.generate_stream_response import GenerateStreamResponse
|
30
|
+
from .types.prompt_deployment_input_request import PromptDeploymentInputRequest
|
30
31
|
from .types.search_request_options_request import SearchRequestOptionsRequest
|
31
32
|
from .types.search_response import SearchResponse
|
32
33
|
from .types.submit_completion_actual_request import SubmitCompletionActualRequest
|
@@ -66,6 +67,61 @@ class Vellum:
|
|
66
67
|
self.sandboxes = SandboxesClient(client_wrapper=self._client_wrapper)
|
67
68
|
self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
|
68
69
|
|
70
|
+
def execute_prompt(
|
71
|
+
self,
|
72
|
+
*,
|
73
|
+
inputs: typing.List[PromptDeploymentInputRequest],
|
74
|
+
prompt_deployment_id: typing.Optional[str] = OMIT,
|
75
|
+
prompt_deployment_name: typing.Optional[str] = OMIT,
|
76
|
+
release_tag: typing.Optional[str] = OMIT,
|
77
|
+
external_id: typing.Optional[str] = OMIT,
|
78
|
+
) -> ExecutePromptResponse:
|
79
|
+
"""
|
80
|
+
Executes a deployed Prompt and returns the result.
|
81
|
+
|
82
|
+
Parameters:
|
83
|
+
- inputs: typing.List[PromptDeploymentInputRequest].
|
84
|
+
|
85
|
+
- prompt_deployment_id: typing.Optional[str]. The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
|
86
|
+
|
87
|
+
- prompt_deployment_name: typing.Optional[str]. The name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
|
88
|
+
|
89
|
+
- release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
|
90
|
+
|
91
|
+
- external_id: typing.Optional[str].
|
92
|
+
"""
|
93
|
+
_request: typing.Dict[str, typing.Any] = {"inputs": inputs}
|
94
|
+
if prompt_deployment_id is not OMIT:
|
95
|
+
_request["prompt_deployment_id"] = prompt_deployment_id
|
96
|
+
if prompt_deployment_name is not OMIT:
|
97
|
+
_request["prompt_deployment_name"] = prompt_deployment_name
|
98
|
+
if release_tag is not OMIT:
|
99
|
+
_request["release_tag"] = release_tag
|
100
|
+
if external_id is not OMIT:
|
101
|
+
_request["external_id"] = external_id
|
102
|
+
_response = self._client_wrapper.httpx_client.request(
|
103
|
+
"POST",
|
104
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/execute-prompt"),
|
105
|
+
json=jsonable_encoder(_request),
|
106
|
+
headers=self._client_wrapper.get_headers(),
|
107
|
+
timeout=None,
|
108
|
+
)
|
109
|
+
if 200 <= _response.status_code < 300:
|
110
|
+
return pydantic.parse_obj_as(ExecutePromptResponse, _response.json()) # type: ignore
|
111
|
+
if _response.status_code == 400:
|
112
|
+
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
113
|
+
if _response.status_code == 403:
|
114
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
115
|
+
if _response.status_code == 404:
|
116
|
+
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
117
|
+
if _response.status_code == 500:
|
118
|
+
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
119
|
+
try:
|
120
|
+
_response_json = _response.json()
|
121
|
+
except JSONDecodeError:
|
122
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
123
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
124
|
+
|
69
125
|
def execute_workflow_stream(
|
70
126
|
self,
|
71
127
|
*,
|
@@ -86,7 +142,7 @@ class Vellum:
|
|
86
142
|
|
87
143
|
- release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
88
144
|
|
89
|
-
- inputs: typing.List[WorkflowRequestInputRequest].
|
145
|
+
- inputs: typing.List[WorkflowRequestInputRequest]. The list of inputs defined in the Workflow's deployment with their corresponding values.
|
90
146
|
|
91
147
|
- external_id: typing.Optional[str]. Optionally include a unique identifier for tracking purposes.
|
92
148
|
|
@@ -187,7 +243,7 @@ class Vellum:
|
|
187
243
|
if _response.status_code == 400:
|
188
244
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
189
245
|
if _response.status_code == 403:
|
190
|
-
raise ForbiddenError(pydantic.parse_obj_as(
|
246
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
191
247
|
if _response.status_code == 404:
|
192
248
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
193
249
|
if _response.status_code == 500:
|
@@ -244,7 +300,7 @@ class Vellum:
|
|
244
300
|
if _response.status_code == 400:
|
245
301
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
246
302
|
if _response.status_code == 403:
|
247
|
-
raise ForbiddenError(pydantic.parse_obj_as(
|
303
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
248
304
|
if _response.status_code == 404:
|
249
305
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
250
306
|
if _response.status_code == 500:
|
@@ -432,6 +488,61 @@ class AsyncVellum:
|
|
432
488
|
self.sandboxes = AsyncSandboxesClient(client_wrapper=self._client_wrapper)
|
433
489
|
self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
|
434
490
|
|
491
|
+
async def execute_prompt(
|
492
|
+
self,
|
493
|
+
*,
|
494
|
+
inputs: typing.List[PromptDeploymentInputRequest],
|
495
|
+
prompt_deployment_id: typing.Optional[str] = OMIT,
|
496
|
+
prompt_deployment_name: typing.Optional[str] = OMIT,
|
497
|
+
release_tag: typing.Optional[str] = OMIT,
|
498
|
+
external_id: typing.Optional[str] = OMIT,
|
499
|
+
) -> ExecutePromptResponse:
|
500
|
+
"""
|
501
|
+
Executes a deployed Prompt and returns the result.
|
502
|
+
|
503
|
+
Parameters:
|
504
|
+
- inputs: typing.List[PromptDeploymentInputRequest].
|
505
|
+
|
506
|
+
- prompt_deployment_id: typing.Optional[str]. The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
|
507
|
+
|
508
|
+
- prompt_deployment_name: typing.Optional[str]. The name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
|
509
|
+
|
510
|
+
- release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
|
511
|
+
|
512
|
+
- external_id: typing.Optional[str].
|
513
|
+
"""
|
514
|
+
_request: typing.Dict[str, typing.Any] = {"inputs": inputs}
|
515
|
+
if prompt_deployment_id is not OMIT:
|
516
|
+
_request["prompt_deployment_id"] = prompt_deployment_id
|
517
|
+
if prompt_deployment_name is not OMIT:
|
518
|
+
_request["prompt_deployment_name"] = prompt_deployment_name
|
519
|
+
if release_tag is not OMIT:
|
520
|
+
_request["release_tag"] = release_tag
|
521
|
+
if external_id is not OMIT:
|
522
|
+
_request["external_id"] = external_id
|
523
|
+
_response = await self._client_wrapper.httpx_client.request(
|
524
|
+
"POST",
|
525
|
+
urllib.parse.urljoin(f"{self._client_wrapper.get_environment().default}/", "v1/execute-prompt"),
|
526
|
+
json=jsonable_encoder(_request),
|
527
|
+
headers=self._client_wrapper.get_headers(),
|
528
|
+
timeout=None,
|
529
|
+
)
|
530
|
+
if 200 <= _response.status_code < 300:
|
531
|
+
return pydantic.parse_obj_as(ExecutePromptResponse, _response.json()) # type: ignore
|
532
|
+
if _response.status_code == 400:
|
533
|
+
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
534
|
+
if _response.status_code == 403:
|
535
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
536
|
+
if _response.status_code == 404:
|
537
|
+
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
538
|
+
if _response.status_code == 500:
|
539
|
+
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
540
|
+
try:
|
541
|
+
_response_json = _response.json()
|
542
|
+
except JSONDecodeError:
|
543
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
544
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
545
|
+
|
435
546
|
async def execute_workflow_stream(
|
436
547
|
self,
|
437
548
|
*,
|
@@ -452,7 +563,7 @@ class AsyncVellum:
|
|
452
563
|
|
453
564
|
- release_tag: typing.Optional[str]. Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
454
565
|
|
455
|
-
- inputs: typing.List[WorkflowRequestInputRequest].
|
566
|
+
- inputs: typing.List[WorkflowRequestInputRequest]. The list of inputs defined in the Workflow's deployment with their corresponding values.
|
456
567
|
|
457
568
|
- external_id: typing.Optional[str]. Optionally include a unique identifier for tracking purposes.
|
458
569
|
|
@@ -553,7 +664,7 @@ class AsyncVellum:
|
|
553
664
|
if _response.status_code == 400:
|
554
665
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
555
666
|
if _response.status_code == 403:
|
556
|
-
raise ForbiddenError(pydantic.parse_obj_as(
|
667
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
557
668
|
if _response.status_code == 404:
|
558
669
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
559
670
|
if _response.status_code == 500:
|
@@ -610,7 +721,7 @@ class AsyncVellum:
|
|
610
721
|
if _response.status_code == 400:
|
611
722
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
612
723
|
if _response.status_code == 403:
|
613
|
-
raise ForbiddenError(pydantic.parse_obj_as(
|
724
|
+
raise ForbiddenError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
614
725
|
if _response.status_code == 404:
|
615
726
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
616
727
|
if _response.status_code == 500:
|
vellum/core/client_wrapper.py
CHANGED
@@ -16,7 +16,7 @@ class BaseClientWrapper:
|
|
16
16
|
headers: typing.Dict[str, str] = {
|
17
17
|
"X-Fern-Language": "Python",
|
18
18
|
"X-Fern-SDK-Name": "vellum-ai",
|
19
|
-
"X-Fern-SDK-Version": "v0.1.
|
19
|
+
"X-Fern-SDK-Version": "v0.1.5",
|
20
20
|
}
|
21
21
|
headers["X_API_KEY"] = self.api_key
|
22
22
|
return headers
|
vellum/errors/forbidden_error.py
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
|
+
import typing
|
4
|
+
|
3
5
|
from ..core.api_error import ApiError
|
4
|
-
from ..types.generate_error_response import GenerateErrorResponse
|
5
6
|
|
6
7
|
|
7
8
|
class ForbiddenError(ApiError):
|
8
|
-
def __init__(self, body:
|
9
|
+
def __init__(self, body: typing.Any):
|
9
10
|
super().__init__(status_code=403, body=body)
|
@@ -7,7 +7,7 @@ from json.decoder import JSONDecodeError
|
|
7
7
|
from ...core.api_error import ApiError
|
8
8
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
9
9
|
from ...core.jsonable_encoder import jsonable_encoder
|
10
|
-
from ...types.
|
10
|
+
from ...types.test_case_variable_value_request import TestCaseVariableValueRequest
|
11
11
|
from ...types.test_suite_test_case import TestSuiteTestCase
|
12
12
|
|
13
13
|
try:
|
@@ -27,10 +27,10 @@ class TestSuitesClient:
|
|
27
27
|
self,
|
28
28
|
id: str,
|
29
29
|
*,
|
30
|
-
|
30
|
+
test_suite_test_case_request_id: typing.Optional[str] = OMIT,
|
31
31
|
label: typing.Optional[str] = OMIT,
|
32
|
-
input_values: typing.
|
33
|
-
|
32
|
+
input_values: typing.List[TestCaseVariableValueRequest],
|
33
|
+
evaluation_values: typing.List[TestCaseVariableValueRequest],
|
34
34
|
) -> TestSuiteTestCase:
|
35
35
|
"""
|
36
36
|
Upserts a new test case for a test suite, keying off of the optionally provided test case id.
|
@@ -44,15 +44,14 @@ class TestSuitesClient:
|
|
44
44
|
Parameters:
|
45
45
|
- id: str. A UUID string identifying this test suite.
|
46
46
|
|
47
|
-
-
|
47
|
+
- test_suite_test_case_request_id: typing.Optional[str].
|
48
48
|
|
49
|
-
- label: typing.Optional[str].
|
49
|
+
- label: typing.Optional[str].
|
50
50
|
|
51
|
-
- input_values: typing.
|
51
|
+
- input_values: typing.List[TestCaseVariableValueRequest].
|
52
52
|
|
53
|
-
-
|
53
|
+
- evaluation_values: typing.List[TestCaseVariableValueRequest].
|
54
54
|
---
|
55
|
-
from vellum import EvaluationParamsRequest
|
56
55
|
from vellum.client import Vellum
|
57
56
|
|
58
57
|
client = Vellum(
|
@@ -60,13 +59,13 @@ class TestSuitesClient:
|
|
60
59
|
)
|
61
60
|
client.test_suites.upsert_test_suite_test_case(
|
62
61
|
id="id",
|
63
|
-
input_values=
|
64
|
-
|
62
|
+
input_values=[],
|
63
|
+
evaluation_values=[],
|
65
64
|
)
|
66
65
|
"""
|
67
|
-
_request: typing.Dict[str, typing.Any] = {"input_values": input_values, "
|
68
|
-
if
|
69
|
-
_request["
|
66
|
+
_request: typing.Dict[str, typing.Any] = {"input_values": input_values, "evaluation_values": evaluation_values}
|
67
|
+
if test_suite_test_case_request_id is not OMIT:
|
68
|
+
_request["id"] = test_suite_test_case_request_id
|
70
69
|
if label is not OMIT:
|
71
70
|
_request["label"] = label
|
72
71
|
_response = self._client_wrapper.httpx_client.request(
|
@@ -130,10 +129,10 @@ class AsyncTestSuitesClient:
|
|
130
129
|
self,
|
131
130
|
id: str,
|
132
131
|
*,
|
133
|
-
|
132
|
+
test_suite_test_case_request_id: typing.Optional[str] = OMIT,
|
134
133
|
label: typing.Optional[str] = OMIT,
|
135
|
-
input_values: typing.
|
136
|
-
|
134
|
+
input_values: typing.List[TestCaseVariableValueRequest],
|
135
|
+
evaluation_values: typing.List[TestCaseVariableValueRequest],
|
137
136
|
) -> TestSuiteTestCase:
|
138
137
|
"""
|
139
138
|
Upserts a new test case for a test suite, keying off of the optionally provided test case id.
|
@@ -147,15 +146,14 @@ class AsyncTestSuitesClient:
|
|
147
146
|
Parameters:
|
148
147
|
- id: str. A UUID string identifying this test suite.
|
149
148
|
|
150
|
-
-
|
149
|
+
- test_suite_test_case_request_id: typing.Optional[str].
|
151
150
|
|
152
|
-
- label: typing.Optional[str].
|
151
|
+
- label: typing.Optional[str].
|
153
152
|
|
154
|
-
- input_values: typing.
|
153
|
+
- input_values: typing.List[TestCaseVariableValueRequest].
|
155
154
|
|
156
|
-
-
|
155
|
+
- evaluation_values: typing.List[TestCaseVariableValueRequest].
|
157
156
|
---
|
158
|
-
from vellum import EvaluationParamsRequest
|
159
157
|
from vellum.client import AsyncVellum
|
160
158
|
|
161
159
|
client = AsyncVellum(
|
@@ -163,13 +161,13 @@ class AsyncTestSuitesClient:
|
|
163
161
|
)
|
164
162
|
await client.test_suites.upsert_test_suite_test_case(
|
165
163
|
id="id",
|
166
|
-
input_values=
|
167
|
-
|
164
|
+
input_values=[],
|
165
|
+
evaluation_values=[],
|
168
166
|
)
|
169
167
|
"""
|
170
|
-
_request: typing.Dict[str, typing.Any] = {"input_values": input_values, "
|
171
|
-
if
|
172
|
-
_request["
|
168
|
+
_request: typing.Dict[str, typing.Any] = {"input_values": input_values, "evaluation_values": evaluation_values}
|
169
|
+
if test_suite_test_case_request_id is not OMIT:
|
170
|
+
_request["id"] = test_suite_test_case_request_id
|
173
171
|
if label is not OMIT:
|
174
172
|
_request["label"] = label
|
175
173
|
_response = await self._client_wrapper.httpx_client.request(
|