Class: Vellum::Client
- Inherits:
-
Object
- Object
- Vellum::Client
- Defined in:
- lib/vellum_ai.rb
Instance Attribute Summary collapse
- #ad_hoc ⇒ Vellum::AdHocClient readonly
- #container_images ⇒ Vellum::ContainerImagesClient readonly
- #deployments ⇒ Vellum::DeploymentsClient readonly
- #document_indexes ⇒ Vellum::DocumentIndexesClient readonly
- #documents ⇒ Vellum::DocumentsClient readonly
- #events ⇒ Vellum::EventsClient readonly
- #folder_entities ⇒ Vellum::FolderEntitiesClient readonly
- #metric_definitions ⇒ Vellum::MetricDefinitionsClient readonly
- #ml_models ⇒ Vellum::MlModelsClient readonly
- #organizations ⇒ Vellum::OrganizationsClient readonly
- #prompts ⇒ Vellum::PromptsClient readonly
- #sandboxes ⇒ Vellum::SandboxesClient readonly
- #test_suite_runs ⇒ Vellum::TestSuiteRunsClient readonly
- #test_suites ⇒ Vellum::TestSuitesClient readonly
- #workflow_deployments ⇒ Vellum::WorkflowDeploymentsClient readonly
- #workflow_executions ⇒ Vellum::WorkflowExecutionsClient readonly
- #workflow_sandboxes ⇒ Vellum::WorkflowSandboxesClient readonly
- #workflows ⇒ Vellum::WorkflowsClient readonly
- #workspace_secrets ⇒ Vellum::WorkspaceSecretsClient readonly
- #workspaces ⇒ Vellum::WorkspacesClient readonly
Instance Method Summary collapse
-
#execute_api(url:, method: nil, body: nil, headers: nil, bearer_token: nil, request_options: nil) ⇒ Object
api.execute_api(url: “x”).
-
#execute_code(code:, runtime:, input_values:, packages:, output_type:, request_options: nil) ⇒ Object
).
-
#execute_prompt(inputs:, prompt_deployment_id: nil, prompt_deployment_name: nil, release_tag: nil, external_id: nil, expand_meta: nil, raw_overrides: nil, expand_raw: nil, metadata: nil, request_options: nil) ⇒ Object
api.execute_prompt(inputs: [{ name: “x”, type: “STRING”, value: “value” }, { name: “x”, type: “STRING”, value: “value” }]).
-
#execute_workflow(inputs:, expand_meta: nil, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil, external_id: nil, metadata: nil, request_options: nil) ⇒ Object
api.execute_workflow(inputs: [{ name: “x”, type: “STRING”, value: “value” }, { name: “x”, type: “STRING”, value: “value” }]).
-
#generate(deployment_id: nil, deployment_name: nil, requests:, options: nil, request_options: nil) ⇒ Object
api.generate(requests: [{ input_values: { “input_values”: “key”:“value” } }, { input_values: { “input_values”: “key”:“value” } }]).
- #initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil) ⇒ Vellum::Client constructor
-
#search(index_id: nil, index_name: nil, query:, options: nil, document_index: nil, request_options: nil) ⇒ Object
api.search(query: “x”).
-
#submit_completion_actuals(deployment_id: nil, deployment_name: nil, actuals:, request_options: nil) ⇒ Object
api.submit_completion_actuals(actuals: [{ }, { }]).
-
#submit_workflow_execution_actuals(actuals:, execution_id: nil, external_id: nil, request_options: nil) ⇒ Object
api.submit_workflow_execution_actuals(actuals: [{ output_type: “STRING” }, { output_type: “STRING” }]).
Constructor Details
#initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil) ⇒ Vellum::Client
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/vellum_ai.rb', line 102 def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil) @request_client = Vellum::RequestClient.new( base_url: base_url, environment: environment, max_retries: max_retries, timeout_in_seconds: timeout_in_seconds, api_key: api_key, api_version: api_version ) @events = Vellum::EventsClient.new(request_client: @request_client) @ad_hoc = Vellum::AdHocClient.new(request_client: @request_client) @container_images = Vellum::ContainerImagesClient.new(request_client: @request_client) @deployments = Vellum::DeploymentsClient.new(request_client: @request_client) @document_indexes = Vellum::DocumentIndexesClient.new(request_client: @request_client) @documents = Vellum::DocumentsClient.new(request_client: @request_client) @folder_entities = Vellum::FolderEntitiesClient.new(request_client: @request_client) @metric_definitions = Vellum::MetricDefinitionsClient.new(request_client: @request_client) @ml_models = Vellum::MlModelsClient.new(request_client: @request_client) @organizations = Vellum::OrganizationsClient.new(request_client: @request_client) @prompts = Vellum::PromptsClient.new(request_client: @request_client) @sandboxes = Vellum::SandboxesClient.new(request_client: @request_client) @test_suite_runs = Vellum::TestSuiteRunsClient.new(request_client: @request_client) @test_suites = Vellum::TestSuitesClient.new(request_client: @request_client) @workflow_deployments = Vellum::WorkflowDeploymentsClient.new(request_client: @request_client) @workflow_executions = Vellum::WorkflowExecutionsClient.new(request_client: @request_client) @workflow_sandboxes = Vellum::WorkflowSandboxesClient.new(request_client: @request_client) @workflows = Vellum::WorkflowsClient.new(request_client: @request_client) @workspace_secrets = Vellum::WorkspaceSecretsClient.new(request_client: @request_client) @workspaces = Vellum::WorkspacesClient.new(request_client: @request_client) end |
Instance Attribute Details
#ad_hoc ⇒ Vellum::AdHocClient (readonly)
56 57 58 |
# File 'lib/vellum_ai.rb', line 56 def ad_hoc @ad_hoc end |
#container_images ⇒ Vellum::ContainerImagesClient (readonly)
58 59 60 |
# File 'lib/vellum_ai.rb', line 58 def container_images @container_images end |
#deployments ⇒ Vellum::DeploymentsClient (readonly)
60 61 62 |
# File 'lib/vellum_ai.rb', line 60 def deployments @deployments end |
#document_indexes ⇒ Vellum::DocumentIndexesClient (readonly)
62 63 64 |
# File 'lib/vellum_ai.rb', line 62 def document_indexes @document_indexes end |
#documents ⇒ Vellum::DocumentsClient (readonly)
64 65 66 |
# File 'lib/vellum_ai.rb', line 64 def documents @documents end |
#events ⇒ Vellum::EventsClient (readonly)
54 55 56 |
# File 'lib/vellum_ai.rb', line 54 def events @events end |
#folder_entities ⇒ Vellum::FolderEntitiesClient (readonly)
66 67 68 |
# File 'lib/vellum_ai.rb', line 66 def folder_entities @folder_entities end |
#metric_definitions ⇒ Vellum::MetricDefinitionsClient (readonly)
68 69 70 |
# File 'lib/vellum_ai.rb', line 68 def metric_definitions @metric_definitions end |
#ml_models ⇒ Vellum::MlModelsClient (readonly)
70 71 72 |
# File 'lib/vellum_ai.rb', line 70 def ml_models @ml_models end |
#organizations ⇒ Vellum::OrganizationsClient (readonly)
72 73 74 |
# File 'lib/vellum_ai.rb', line 72 def organizations @organizations end |
#prompts ⇒ Vellum::PromptsClient (readonly)
74 75 76 |
# File 'lib/vellum_ai.rb', line 74 def prompts @prompts end |
#sandboxes ⇒ Vellum::SandboxesClient (readonly)
76 77 78 |
# File 'lib/vellum_ai.rb', line 76 def sandboxes @sandboxes end |
#test_suite_runs ⇒ Vellum::TestSuiteRunsClient (readonly)
78 79 80 |
# File 'lib/vellum_ai.rb', line 78 def test_suite_runs @test_suite_runs end |
#test_suites ⇒ Vellum::TestSuitesClient (readonly)
80 81 82 |
# File 'lib/vellum_ai.rb', line 80 def test_suites @test_suites end |
#workflow_deployments ⇒ Vellum::WorkflowDeploymentsClient (readonly)
82 83 84 |
# File 'lib/vellum_ai.rb', line 82 def workflow_deployments @workflow_deployments end |
#workflow_executions ⇒ Vellum::WorkflowExecutionsClient (readonly)
84 85 86 |
# File 'lib/vellum_ai.rb', line 84 def workflow_executions @workflow_executions end |
#workflow_sandboxes ⇒ Vellum::WorkflowSandboxesClient (readonly)
86 87 88 |
# File 'lib/vellum_ai.rb', line 86 def workflow_sandboxes @workflow_sandboxes end |
#workflows ⇒ Vellum::WorkflowsClient (readonly)
88 89 90 |
# File 'lib/vellum_ai.rb', line 88 def workflows @workflows end |
#workspace_secrets ⇒ Vellum::WorkspaceSecretsClient (readonly)
90 91 92 |
# File 'lib/vellum_ai.rb', line 90 def workspace_secrets @workspace_secrets end |
#workspaces ⇒ Vellum::WorkspacesClient (readonly)
92 93 94 |
# File 'lib/vellum_ai.rb', line 92 def workspaces @workspaces end |
Instance Method Details
#execute_api(url:, method: nil, body: nil, headers: nil, bearer_token: nil, request_options: nil) ⇒ Object
api.execute_api(url: “x”)
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/vellum_ai.rb', line 146 def execute_api(url:, method: nil, body: nil, headers: nil, bearer_token: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), url: url, method: method, body: body, headers: headers, bearer_token: bearer_token }.compact req.url "#{@request_client.get_url(environment: Default, request_options: )}/v1/execute-api" end Vellum::ExecuteApiResponse.from_json(json_object: response.body) end |
#execute_code(code:, runtime:, input_values:, packages:, output_type:, request_options: nil) ⇒ Object
)
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/vellum_ai.rb', line 191 def execute_code(code:, runtime:, input_values:, packages:, output_type:, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), code: code, runtime: runtime, input_values: input_values, packages: packages, output_type: output_type }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/execute-code" end Vellum::CodeExecutorResponse.from_json(json_object: response.body) end |
#execute_prompt(inputs:, prompt_deployment_id: nil, prompt_deployment_name: nil, release_tag: nil, external_id: nil, expand_meta: nil, raw_overrides: nil, expand_raw: nil, metadata: nil, request_options: nil) ⇒ Object
api.execute_prompt(inputs: [{ name: “x”, type: “STRING”, value: “value” }, { name: “x”, type: “STRING”, value: “value” }])
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
# File 'lib/vellum_ai.rb', line 255 def execute_prompt(inputs:, prompt_deployment_id: nil, prompt_deployment_name: nil, release_tag: nil, external_id: nil, expand_meta: nil, raw_overrides: nil, expand_raw: nil, metadata: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), inputs: inputs, prompt_deployment_id: prompt_deployment_id, prompt_deployment_name: prompt_deployment_name, release_tag: release_tag, external_id: external_id, expand_meta: , raw_overrides: raw_overrides, expand_raw: , metadata: }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/execute-prompt" end Vellum::ExecutePromptResponse.from_json(json_object: response.body) end |
#execute_workflow(inputs:, expand_meta: nil, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil, external_id: nil, metadata: nil, request_options: nil) ⇒ Object
api.execute_workflow(inputs: [{ name: “x”, type: “STRING”, value: “value” }, { name: “x”, type: “STRING”, value: “value” }])
308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 |
# File 'lib/vellum_ai.rb', line 308 def execute_workflow(inputs:, expand_meta: nil, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil, external_id: nil, metadata: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), inputs: inputs, expand_meta: , workflow_deployment_id: workflow_deployment_id, workflow_deployment_name: workflow_deployment_name, release_tag: release_tag, external_id: external_id, metadata: }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/execute-workflow" end Vellum::ExecuteWorkflowResponse.from_json(json_object: response.body) end |
#generate(deployment_id: nil, deployment_name: nil, requests:, options: nil, request_options: nil) ⇒ Object
api.generate(requests: [{ input_values: { “input_values”: “key”:“value” } }, { input_values: { “input_values”: “key”:“value” } }])
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 |
# File 'lib/vellum_ai.rb', line 353 def generate(deployment_id: nil, deployment_name: nil, requests:, options: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), deployment_id: deployment_id, deployment_name: deployment_name, requests: requests, options: }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/generate" end Vellum::GenerateResponse.from_json(json_object: response.body) end |
#search(index_id: nil, index_name: nil, query:, options: nil, document_index: nil, request_options: nil) ⇒ Object
api.search(query: “x”)
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 |
# File 'lib/vellum_ai.rb', line 403 def search(index_id: nil, index_name: nil, query:, options: nil, document_index: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), index_id: index_id, index_name: index_name, query: query, options: , document_index: document_index }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/search" end Vellum::SearchResponse.from_json(json_object: response.body) end |
#submit_completion_actuals(deployment_id: nil, deployment_name: nil, actuals:, request_options: nil) ⇒ Object
api.submit_completion_actuals(actuals: [{ }, { }])
446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 |
# File 'lib/vellum_ai.rb', line 446 def submit_completion_actuals(deployment_id: nil, deployment_name: nil, actuals:, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), deployment_id: deployment_id, deployment_name: deployment_name, actuals: actuals }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/submit-completion-actuals" end end |
#submit_workflow_execution_actuals(actuals:, execution_id: nil, external_id: nil, request_options: nil) ⇒ Object
api.submit_workflow_execution_actuals(actuals: [{ output_type: “STRING” }, { output_type: “STRING” }])
486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 |
# File 'lib/vellum_ai.rb', line 486 def submit_workflow_execution_actuals(actuals:, execution_id: nil, external_id: nil, request_options: nil) response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), actuals: actuals, execution_id: execution_id, external_id: external_id }.compact req.url "#{@request_client.get_url(environment: Predict, request_options: )}/v1/submit-workflow-execution-actuals" end end |