vellum_ai 0.3.10 → 0.3.11
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.
- checksums.yaml +4 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +9 -0
- data/lib/vellum_ai/deployments/client.rb +10 -4
- data/lib/vellum_ai/types/chat_message.rb +9 -4
- data/lib/vellum_ai/types/chat_message_request.rb +9 -4
- data/lib/vellum_ai/types/execution_array_vellum_value.rb +59 -0
- data/lib/vellum_ai/types/execution_chat_history_vellum_value.rb +59 -0
- data/lib/vellum_ai/types/execution_error_vellum_value.rb +61 -0
- data/lib/vellum_ai/types/execution_function_call_vellum_value.rb +61 -0
- data/lib/vellum_ai/types/execution_json_vellum_value.rb +55 -0
- data/lib/vellum_ai/types/execution_number_vellum_value.rb +55 -0
- data/lib/vellum_ai/types/execution_search_results_vellum_value.rb +59 -0
- data/lib/vellum_ai/types/execution_string_vellum_value.rb +55 -0
- data/lib/vellum_ai/types/execution_vellum_value.rb +168 -0
- data/lib/vellum_ai/types/prompt_template_block_properties.rb +10 -4
- data/lib/vellum_ai/types/prompt_template_block_properties_request.rb +10 -4
- data/lib/vellum_ai/types/workflow_result_event.rb +15 -4
- data/lib/vellum_ai.rb +6 -6
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a34112cfe303a361bb71b349a1b752f9af3a0aeab320d337423fff77fb2b2cac
|
4
|
+
data.tar.gz: 3de6e6dc8f28729679ae89cb99a7bd210520457564910e499c0ebdddd938a219
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f728fd9611386219ed4871bd39a5fba81166c72f04e42d4c877f1f5e4539d5178d0f4b1a195b5090cbba8091e49fb4985dab61903ec5bbd6c89f0fc2bdac0bca
|
7
|
+
data.tar.gz: 6d9034005bbdfa8a321ddd061a6aacbfa64ab2421506069726eb56ca6bf07eef593ef55903aa354fe1b4e9fc1e72578f93700ace1c547374992738115a461fdb
|
data/lib/requests.rb
CHANGED
@@ -20,7 +20,7 @@ module Vellum
|
|
20
20
|
@headers = {
|
21
21
|
"X-Fern-Language": "Ruby",
|
22
22
|
"X-Fern-SDK-Name": "Vellum",
|
23
|
-
"X-Fern-SDK-Version": "0.3.
|
23
|
+
"X-Fern-SDK-Version": "0.3.11",
|
24
24
|
"X_API_KEY": api_key.to_s
|
25
25
|
}
|
26
26
|
@conn = Faraday.new(headers: @headers) do |faraday|
|
@@ -46,7 +46,7 @@ module Vellum
|
|
46
46
|
@headers = {
|
47
47
|
"X-Fern-Language": "Ruby",
|
48
48
|
"X-Fern-SDK-Name": "Vellum",
|
49
|
-
"X-Fern-SDK-Version": "0.3.
|
49
|
+
"X-Fern-SDK-Version": "0.3.11",
|
50
50
|
"X_API_KEY": api_key.to_s
|
51
51
|
}
|
52
52
|
@conn = Faraday.new(headers: @headers) do |faraday|
|
data/lib/types_export.rb
CHANGED
@@ -49,6 +49,15 @@ require_relative "vellum_ai/types/execute_workflow_error_response"
|
|
49
49
|
require_relative "vellum_ai/types/execute_workflow_response"
|
50
50
|
require_relative "vellum_ai/types/execute_workflow_stream_error_response"
|
51
51
|
require_relative "vellum_ai/types/execute_workflow_workflow_result_event"
|
52
|
+
require_relative "vellum_ai/types/execution_array_vellum_value"
|
53
|
+
require_relative "vellum_ai/types/execution_chat_history_vellum_value"
|
54
|
+
require_relative "vellum_ai/types/execution_error_vellum_value"
|
55
|
+
require_relative "vellum_ai/types/execution_function_call_vellum_value"
|
56
|
+
require_relative "vellum_ai/types/execution_json_vellum_value"
|
57
|
+
require_relative "vellum_ai/types/execution_number_vellum_value"
|
58
|
+
require_relative "vellum_ai/types/execution_search_results_vellum_value"
|
59
|
+
require_relative "vellum_ai/types/execution_string_vellum_value"
|
60
|
+
require_relative "vellum_ai/types/execution_vellum_value"
|
52
61
|
require_relative "vellum_ai/types/finish_reason_enum"
|
53
62
|
require_relative "vellum_ai/types/fulfilled_enum"
|
54
63
|
require_relative "vellum_ai/types/fulfilled_execute_prompt_event"
|
@@ -60,9 +60,11 @@ module Vellum
|
|
60
60
|
# @param deployment_id [String] The ID of the deployment. Must provide either this or deployment_name.
|
61
61
|
# @param deployment_name [String] The name of the deployment. Must provide either this or deployment_id.
|
62
62
|
# @param inputs [Array<Hash>] The list of inputs defined in the Prompt's deployment with their corresponding values.Request of type Array<PromptDeploymentInputRequest>, as a Hash
|
63
|
+
# @param release_tag [String] Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
63
64
|
# @param request_options [RequestOptions]
|
64
65
|
# @return [DeploymentProviderPayloadResponse]
|
65
|
-
def retrieve_provider_payload(inputs:, deployment_id: nil, deployment_name: nil,
|
66
|
+
def retrieve_provider_payload(inputs:, deployment_id: nil, deployment_name: nil, release_tag: nil,
|
67
|
+
request_options: nil)
|
66
68
|
response = @request_client.conn.post do |req|
|
67
69
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
68
70
|
req.headers["X_API_KEY"] = request_options.api_key unless request_options&.api_key.nil?
|
@@ -71,7 +73,8 @@ module Vellum
|
|
71
73
|
**(request_options&.additional_body_parameters || {}),
|
72
74
|
deployment_id: deployment_id,
|
73
75
|
deployment_name: deployment_name,
|
74
|
-
inputs: inputs
|
76
|
+
inputs: inputs,
|
77
|
+
release_tag: release_tag
|
75
78
|
}.compact
|
76
79
|
req.url "#{@request_client.default_environment[:Default]}/v1/deployments/provider-payload"
|
77
80
|
end
|
@@ -134,9 +137,11 @@ module Vellum
|
|
134
137
|
# @param deployment_id [String] The ID of the deployment. Must provide either this or deployment_name.
|
135
138
|
# @param deployment_name [String] The name of the deployment. Must provide either this or deployment_id.
|
136
139
|
# @param inputs [Array<Hash>] The list of inputs defined in the Prompt's deployment with their corresponding values.Request of type Array<PromptDeploymentInputRequest>, as a Hash
|
140
|
+
# @param release_tag [String] Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
137
141
|
# @param request_options [RequestOptions]
|
138
142
|
# @return [DeploymentProviderPayloadResponse]
|
139
|
-
def retrieve_provider_payload(inputs:, deployment_id: nil, deployment_name: nil,
|
143
|
+
def retrieve_provider_payload(inputs:, deployment_id: nil, deployment_name: nil, release_tag: nil,
|
144
|
+
request_options: nil)
|
140
145
|
Async do
|
141
146
|
response = @request_client.conn.post do |req|
|
142
147
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -146,7 +151,8 @@ module Vellum
|
|
146
151
|
**(request_options&.additional_body_parameters || {}),
|
147
152
|
deployment_id: deployment_id,
|
148
153
|
deployment_name: deployment_name,
|
149
|
-
inputs: inputs
|
154
|
+
inputs: inputs,
|
155
|
+
release_tag: release_tag
|
150
156
|
}.compact
|
151
157
|
req.url "#{@request_client.default_environment[:Default]}/v1/deployments/provider-payload"
|
152
158
|
end
|
@@ -6,20 +6,23 @@ require "json"
|
|
6
6
|
|
7
7
|
module Vellum
|
8
8
|
class ChatMessage
|
9
|
-
attr_reader :text, :role, :content, :additional_properties
|
9
|
+
attr_reader :text, :role, :content, :source, :additional_properties
|
10
10
|
|
11
11
|
# @param text [String]
|
12
12
|
# @param role [CHAT_MESSAGE_ROLE]
|
13
13
|
# @param content [ChatMessageContent]
|
14
|
+
# @param source [String] An optional identifier representing who or what generated this message.
|
14
15
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
15
16
|
# @return [ChatMessage]
|
16
|
-
def initialize(role:, text: nil, content: nil, additional_properties: nil)
|
17
|
+
def initialize(role:, text: nil, content: nil, source: nil, additional_properties: nil)
|
17
18
|
# @type [String]
|
18
19
|
@text = text
|
19
20
|
# @type [CHAT_MESSAGE_ROLE]
|
20
21
|
@role = role
|
21
22
|
# @type [ChatMessageContent]
|
22
23
|
@content = content
|
24
|
+
# @type [String] An optional identifier representing who or what generated this message.
|
25
|
+
@source = source
|
23
26
|
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
24
27
|
@additional_properties = additional_properties
|
25
28
|
end
|
@@ -39,14 +42,15 @@ module Vellum
|
|
39
42
|
content = parsed_json["content"].to_json
|
40
43
|
content = ChatMessageContent.from_json(json_object: content)
|
41
44
|
end
|
42
|
-
|
45
|
+
source = struct.source
|
46
|
+
new(text: text, role: role, content: content, source: source, additional_properties: struct)
|
43
47
|
end
|
44
48
|
|
45
49
|
# Serialize an instance of ChatMessage to a JSON object
|
46
50
|
#
|
47
51
|
# @return [JSON]
|
48
52
|
def to_json(*_args)
|
49
|
-
{ "text": @text, "role": CHAT_MESSAGE_ROLE[@role] || @role, "content": @content }.to_json
|
53
|
+
{ "text": @text, "role": CHAT_MESSAGE_ROLE[@role] || @role, "content": @content, "source": @source }.to_json
|
50
54
|
end
|
51
55
|
|
52
56
|
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
@@ -57,6 +61,7 @@ module Vellum
|
|
57
61
|
obj.text&.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
|
58
62
|
obj.role.is_a?(CHAT_MESSAGE_ROLE) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
|
59
63
|
obj.content.nil? || ChatMessageContent.validate_raw(obj: obj.content)
|
64
|
+
obj.source&.is_a?(String) != false || raise("Passed value for field obj.source is not the expected type, validation failed.")
|
60
65
|
end
|
61
66
|
end
|
62
67
|
end
|
@@ -6,20 +6,23 @@ require "json"
|
|
6
6
|
|
7
7
|
module Vellum
|
8
8
|
class ChatMessageRequest
|
9
|
-
attr_reader :text, :role, :content, :additional_properties
|
9
|
+
attr_reader :text, :role, :content, :source, :additional_properties
|
10
10
|
|
11
11
|
# @param text [String]
|
12
12
|
# @param role [CHAT_MESSAGE_ROLE]
|
13
13
|
# @param content [ChatMessageContentRequest]
|
14
|
+
# @param source [String] An optional identifier representing who or what generated this message.
|
14
15
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
15
16
|
# @return [ChatMessageRequest]
|
16
|
-
def initialize(role:, text: nil, content: nil, additional_properties: nil)
|
17
|
+
def initialize(role:, text: nil, content: nil, source: nil, additional_properties: nil)
|
17
18
|
# @type [String]
|
18
19
|
@text = text
|
19
20
|
# @type [CHAT_MESSAGE_ROLE]
|
20
21
|
@role = role
|
21
22
|
# @type [ChatMessageContentRequest]
|
22
23
|
@content = content
|
24
|
+
# @type [String] An optional identifier representing who or what generated this message.
|
25
|
+
@source = source
|
23
26
|
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
24
27
|
@additional_properties = additional_properties
|
25
28
|
end
|
@@ -39,14 +42,15 @@ module Vellum
|
|
39
42
|
content = parsed_json["content"].to_json
|
40
43
|
content = ChatMessageContentRequest.from_json(json_object: content)
|
41
44
|
end
|
42
|
-
|
45
|
+
source = struct.source
|
46
|
+
new(text: text, role: role, content: content, source: source, additional_properties: struct)
|
43
47
|
end
|
44
48
|
|
45
49
|
# Serialize an instance of ChatMessageRequest to a JSON object
|
46
50
|
#
|
47
51
|
# @return [JSON]
|
48
52
|
def to_json(*_args)
|
49
|
-
{ "text": @text, "role": CHAT_MESSAGE_ROLE[@role] || @role, "content": @content }.to_json
|
53
|
+
{ "text": @text, "role": CHAT_MESSAGE_ROLE[@role] || @role, "content": @content, "source": @source }.to_json
|
50
54
|
end
|
51
55
|
|
52
56
|
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
@@ -57,6 +61,7 @@ module Vellum
|
|
57
61
|
obj.text&.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
|
58
62
|
obj.role.is_a?(CHAT_MESSAGE_ROLE) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
|
59
63
|
obj.content.nil? || ChatMessageContentRequest.validate_raw(obj: obj.content)
|
64
|
+
obj.source&.is_a?(String) != false || raise("Passed value for field obj.source is not the expected type, validation failed.")
|
60
65
|
end
|
61
66
|
end
|
62
67
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "array_variable_value_item"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vellum
|
7
|
+
class ExecutionArrayVellumValue
|
8
|
+
attr_reader :id, :name, :value, :additional_properties
|
9
|
+
|
10
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
11
|
+
# @param name [String]
|
12
|
+
# @param value [Array<ArrayVariableValueItem>]
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [ExecutionArrayVellumValue]
|
15
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
16
|
+
# @type [String] The variable's uniquely identifying internal id.
|
17
|
+
@id = id
|
18
|
+
# @type [String]
|
19
|
+
@name = name
|
20
|
+
# @type [Array<ArrayVariableValueItem>]
|
21
|
+
@value = value
|
22
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of ExecutionArrayVellumValue
|
27
|
+
#
|
28
|
+
# @param json_object [JSON]
|
29
|
+
# @return [ExecutionArrayVellumValue]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
parsed_json = JSON.parse(json_object)
|
33
|
+
id = struct.id
|
34
|
+
name = struct.name
|
35
|
+
value = parsed_json["value"].map do |v|
|
36
|
+
v = v.to_json
|
37
|
+
ArrayVariableValueItem.from_json(json_object: v)
|
38
|
+
end
|
39
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Serialize an instance of ExecutionArrayVellumValue to a JSON object
|
43
|
+
#
|
44
|
+
# @return [JSON]
|
45
|
+
def to_json(*_args)
|
46
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
47
|
+
end
|
48
|
+
|
49
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
50
|
+
#
|
51
|
+
# @param obj [Object]
|
52
|
+
# @return [Void]
|
53
|
+
def self.validate_raw(obj:)
|
54
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
55
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
56
|
+
obj.value&.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "chat_message"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vellum
|
7
|
+
class ExecutionChatHistoryVellumValue
|
8
|
+
attr_reader :id, :name, :value, :additional_properties
|
9
|
+
|
10
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
11
|
+
# @param name [String]
|
12
|
+
# @param value [Array<ChatMessage>]
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [ExecutionChatHistoryVellumValue]
|
15
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
16
|
+
# @type [String] The variable's uniquely identifying internal id.
|
17
|
+
@id = id
|
18
|
+
# @type [String]
|
19
|
+
@name = name
|
20
|
+
# @type [Array<ChatMessage>]
|
21
|
+
@value = value
|
22
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of ExecutionChatHistoryVellumValue
|
27
|
+
#
|
28
|
+
# @param json_object [JSON]
|
29
|
+
# @return [ExecutionChatHistoryVellumValue]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
parsed_json = JSON.parse(json_object)
|
33
|
+
id = struct.id
|
34
|
+
name = struct.name
|
35
|
+
value = parsed_json["value"].map do |v|
|
36
|
+
v = v.to_json
|
37
|
+
ChatMessage.from_json(json_object: v)
|
38
|
+
end
|
39
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Serialize an instance of ExecutionChatHistoryVellumValue to a JSON object
|
43
|
+
#
|
44
|
+
# @return [JSON]
|
45
|
+
def to_json(*_args)
|
46
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
47
|
+
end
|
48
|
+
|
49
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
50
|
+
#
|
51
|
+
# @param obj [Object]
|
52
|
+
# @return [Void]
|
53
|
+
def self.validate_raw(obj:)
|
54
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
55
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
56
|
+
obj.value&.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "vellum_error"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vellum
|
7
|
+
class ExecutionErrorVellumValue
|
8
|
+
attr_reader :id, :name, :value, :additional_properties
|
9
|
+
|
10
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
11
|
+
# @param name [String]
|
12
|
+
# @param value [VellumError]
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [ExecutionErrorVellumValue]
|
15
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
16
|
+
# @type [String] The variable's uniquely identifying internal id.
|
17
|
+
@id = id
|
18
|
+
# @type [String]
|
19
|
+
@name = name
|
20
|
+
# @type [VellumError]
|
21
|
+
@value = value
|
22
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of ExecutionErrorVellumValue
|
27
|
+
#
|
28
|
+
# @param json_object [JSON]
|
29
|
+
# @return [ExecutionErrorVellumValue]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
parsed_json = JSON.parse(json_object)
|
33
|
+
id = struct.id
|
34
|
+
name = struct.name
|
35
|
+
if parsed_json["value"].nil?
|
36
|
+
value = nil
|
37
|
+
else
|
38
|
+
value = parsed_json["value"].to_json
|
39
|
+
value = VellumError.from_json(json_object: value)
|
40
|
+
end
|
41
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Serialize an instance of ExecutionErrorVellumValue to a JSON object
|
45
|
+
#
|
46
|
+
# @return [JSON]
|
47
|
+
def to_json(*_args)
|
48
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
49
|
+
end
|
50
|
+
|
51
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
52
|
+
#
|
53
|
+
# @param obj [Object]
|
54
|
+
# @return [Void]
|
55
|
+
def self.validate_raw(obj:)
|
56
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
57
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
58
|
+
obj.value.nil? || VellumError.validate_raw(obj: obj.value)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "function_call"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vellum
|
7
|
+
class ExecutionFunctionCallVellumValue
|
8
|
+
attr_reader :id, :name, :value, :additional_properties
|
9
|
+
|
10
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
11
|
+
# @param name [String]
|
12
|
+
# @param value [FunctionCall]
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [ExecutionFunctionCallVellumValue]
|
15
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
16
|
+
# @type [String] The variable's uniquely identifying internal id.
|
17
|
+
@id = id
|
18
|
+
# @type [String]
|
19
|
+
@name = name
|
20
|
+
# @type [FunctionCall]
|
21
|
+
@value = value
|
22
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of ExecutionFunctionCallVellumValue
|
27
|
+
#
|
28
|
+
# @param json_object [JSON]
|
29
|
+
# @return [ExecutionFunctionCallVellumValue]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
parsed_json = JSON.parse(json_object)
|
33
|
+
id = struct.id
|
34
|
+
name = struct.name
|
35
|
+
if parsed_json["value"].nil?
|
36
|
+
value = nil
|
37
|
+
else
|
38
|
+
value = parsed_json["value"].to_json
|
39
|
+
value = FunctionCall.from_json(json_object: value)
|
40
|
+
end
|
41
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Serialize an instance of ExecutionFunctionCallVellumValue to a JSON object
|
45
|
+
#
|
46
|
+
# @return [JSON]
|
47
|
+
def to_json(*_args)
|
48
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
49
|
+
end
|
50
|
+
|
51
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
52
|
+
#
|
53
|
+
# @param obj [Object]
|
54
|
+
# @return [Void]
|
55
|
+
def self.validate_raw(obj:)
|
56
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
57
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
58
|
+
obj.value.nil? || FunctionCall.validate_raw(obj: obj.value)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Vellum
|
6
|
+
class ExecutionJsonVellumValue
|
7
|
+
attr_reader :id, :name, :value, :additional_properties
|
8
|
+
|
9
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
10
|
+
# @param name [String]
|
11
|
+
# @param value [Hash{String => String}]
|
12
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
13
|
+
# @return [ExecutionJsonVellumValue]
|
14
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
15
|
+
# @type [String] The variable's uniquely identifying internal id.
|
16
|
+
@id = id
|
17
|
+
# @type [String]
|
18
|
+
@name = name
|
19
|
+
# @type [Hash{String => String}]
|
20
|
+
@value = value
|
21
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
@additional_properties = additional_properties
|
23
|
+
end
|
24
|
+
|
25
|
+
# Deserialize a JSON object to an instance of ExecutionJsonVellumValue
|
26
|
+
#
|
27
|
+
# @param json_object [JSON]
|
28
|
+
# @return [ExecutionJsonVellumValue]
|
29
|
+
def self.from_json(json_object:)
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
31
|
+
JSON.parse(json_object)
|
32
|
+
id = struct.id
|
33
|
+
name = struct.name
|
34
|
+
value = struct.value
|
35
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Serialize an instance of ExecutionJsonVellumValue to a JSON object
|
39
|
+
#
|
40
|
+
# @return [JSON]
|
41
|
+
def to_json(*_args)
|
42
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
46
|
+
#
|
47
|
+
# @param obj [Object]
|
48
|
+
# @return [Void]
|
49
|
+
def self.validate_raw(obj:)
|
50
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
51
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
52
|
+
obj.value&.is_a?(Hash) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Vellum
|
6
|
+
class ExecutionNumberVellumValue
|
7
|
+
attr_reader :id, :name, :value, :additional_properties
|
8
|
+
|
9
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
10
|
+
# @param name [String]
|
11
|
+
# @param value [Float]
|
12
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
13
|
+
# @return [ExecutionNumberVellumValue]
|
14
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
15
|
+
# @type [String] The variable's uniquely identifying internal id.
|
16
|
+
@id = id
|
17
|
+
# @type [String]
|
18
|
+
@name = name
|
19
|
+
# @type [Float]
|
20
|
+
@value = value
|
21
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
@additional_properties = additional_properties
|
23
|
+
end
|
24
|
+
|
25
|
+
# Deserialize a JSON object to an instance of ExecutionNumberVellumValue
|
26
|
+
#
|
27
|
+
# @param json_object [JSON]
|
28
|
+
# @return [ExecutionNumberVellumValue]
|
29
|
+
def self.from_json(json_object:)
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
31
|
+
JSON.parse(json_object)
|
32
|
+
id = struct.id
|
33
|
+
name = struct.name
|
34
|
+
value = struct.value
|
35
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Serialize an instance of ExecutionNumberVellumValue to a JSON object
|
39
|
+
#
|
40
|
+
# @return [JSON]
|
41
|
+
def to_json(*_args)
|
42
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
46
|
+
#
|
47
|
+
# @param obj [Object]
|
48
|
+
# @return [Void]
|
49
|
+
def self.validate_raw(obj:)
|
50
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
51
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
52
|
+
obj.value&.is_a?(Float) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "search_result"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vellum
|
7
|
+
class ExecutionSearchResultsVellumValue
|
8
|
+
attr_reader :id, :name, :value, :additional_properties
|
9
|
+
|
10
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
11
|
+
# @param name [String]
|
12
|
+
# @param value [Array<SearchResult>]
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [ExecutionSearchResultsVellumValue]
|
15
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
16
|
+
# @type [String] The variable's uniquely identifying internal id.
|
17
|
+
@id = id
|
18
|
+
# @type [String]
|
19
|
+
@name = name
|
20
|
+
# @type [Array<SearchResult>]
|
21
|
+
@value = value
|
22
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of ExecutionSearchResultsVellumValue
|
27
|
+
#
|
28
|
+
# @param json_object [JSON]
|
29
|
+
# @return [ExecutionSearchResultsVellumValue]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
parsed_json = JSON.parse(json_object)
|
33
|
+
id = struct.id
|
34
|
+
name = struct.name
|
35
|
+
value = parsed_json["value"].map do |v|
|
36
|
+
v = v.to_json
|
37
|
+
SearchResult.from_json(json_object: v)
|
38
|
+
end
|
39
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Serialize an instance of ExecutionSearchResultsVellumValue to a JSON object
|
43
|
+
#
|
44
|
+
# @return [JSON]
|
45
|
+
def to_json(*_args)
|
46
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
47
|
+
end
|
48
|
+
|
49
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
50
|
+
#
|
51
|
+
# @param obj [Object]
|
52
|
+
# @return [Void]
|
53
|
+
def self.validate_raw(obj:)
|
54
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
55
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
56
|
+
obj.value&.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Vellum
|
6
|
+
class ExecutionStringVellumValue
|
7
|
+
attr_reader :id, :name, :value, :additional_properties
|
8
|
+
|
9
|
+
# @param id [String] The variable's uniquely identifying internal id.
|
10
|
+
# @param name [String]
|
11
|
+
# @param value [String]
|
12
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
13
|
+
# @return [ExecutionStringVellumValue]
|
14
|
+
def initialize(id:, name:, value: nil, additional_properties: nil)
|
15
|
+
# @type [String] The variable's uniquely identifying internal id.
|
16
|
+
@id = id
|
17
|
+
# @type [String]
|
18
|
+
@name = name
|
19
|
+
# @type [String]
|
20
|
+
@value = value
|
21
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
@additional_properties = additional_properties
|
23
|
+
end
|
24
|
+
|
25
|
+
# Deserialize a JSON object to an instance of ExecutionStringVellumValue
|
26
|
+
#
|
27
|
+
# @param json_object [JSON]
|
28
|
+
# @return [ExecutionStringVellumValue]
|
29
|
+
def self.from_json(json_object:)
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
31
|
+
JSON.parse(json_object)
|
32
|
+
id = struct.id
|
33
|
+
name = struct.name
|
34
|
+
value = struct.value
|
35
|
+
new(id: id, name: name, value: value, additional_properties: struct)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Serialize an instance of ExecutionStringVellumValue to a JSON object
|
39
|
+
#
|
40
|
+
# @return [JSON]
|
41
|
+
def to_json(*_args)
|
42
|
+
{ "id": @id, "name": @name, "value": @value }.to_json
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
46
|
+
#
|
47
|
+
# @param obj [Object]
|
48
|
+
# @return [Void]
|
49
|
+
def self.validate_raw(obj:)
|
50
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
51
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
52
|
+
obj.value&.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,168 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "execution_string_vellum_value"
|
5
|
+
require_relative "execution_number_vellum_value"
|
6
|
+
require_relative "execution_json_vellum_value"
|
7
|
+
require_relative "execution_chat_history_vellum_value"
|
8
|
+
require_relative "execution_search_results_vellum_value"
|
9
|
+
require_relative "execution_error_vellum_value"
|
10
|
+
require_relative "execution_array_vellum_value"
|
11
|
+
require_relative "execution_function_call_vellum_value"
|
12
|
+
|
13
|
+
module Vellum
|
14
|
+
class ExecutionVellumValue
|
15
|
+
attr_reader :member, :discriminant
|
16
|
+
|
17
|
+
private_class_method :new
|
18
|
+
alias kind_of? is_a?
|
19
|
+
# @param member [Object]
|
20
|
+
# @param discriminant [String]
|
21
|
+
# @return [ExecutionVellumValue]
|
22
|
+
def initialize(member:, discriminant:)
|
23
|
+
# @type [Object]
|
24
|
+
@member = member
|
25
|
+
# @type [String]
|
26
|
+
@discriminant = discriminant
|
27
|
+
end
|
28
|
+
|
29
|
+
# Deserialize a JSON object to an instance of ExecutionVellumValue
|
30
|
+
#
|
31
|
+
# @param json_object [JSON]
|
32
|
+
# @return [ExecutionVellumValue]
|
33
|
+
def self.from_json(json_object:)
|
34
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
35
|
+
member = case struct.type
|
36
|
+
when "STRING"
|
37
|
+
ExecutionStringVellumValue.from_json(json_object: json_object)
|
38
|
+
when "NUMBER"
|
39
|
+
ExecutionNumberVellumValue.from_json(json_object: json_object)
|
40
|
+
when "JSON"
|
41
|
+
ExecutionJsonVellumValue.from_json(json_object: json_object)
|
42
|
+
when "CHAT_HISTORY"
|
43
|
+
ExecutionChatHistoryVellumValue.from_json(json_object: json_object)
|
44
|
+
when "SEARCH_RESULTS"
|
45
|
+
ExecutionSearchResultsVellumValue.from_json(json_object: json_object)
|
46
|
+
when "ERROR"
|
47
|
+
ExecutionErrorVellumValue.from_json(json_object: json_object)
|
48
|
+
when "ARRAY"
|
49
|
+
ExecutionArrayVellumValue.from_json(json_object: json_object)
|
50
|
+
when "FUNCTION_CALL"
|
51
|
+
ExecutionFunctionCallVellumValue.from_json(json_object: json_object)
|
52
|
+
else
|
53
|
+
ExecutionStringVellumValue.from_json(json_object: json_object)
|
54
|
+
end
|
55
|
+
new(member: member, discriminant: struct.type)
|
56
|
+
end
|
57
|
+
|
58
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
59
|
+
#
|
60
|
+
# @return [JSON]
|
61
|
+
def to_json(*_args)
|
62
|
+
case @discriminant
|
63
|
+
when "STRING"
|
64
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
65
|
+
when "NUMBER"
|
66
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
67
|
+
when "JSON"
|
68
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
69
|
+
when "CHAT_HISTORY"
|
70
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
71
|
+
when "SEARCH_RESULTS"
|
72
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
73
|
+
when "ERROR"
|
74
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
75
|
+
when "ARRAY"
|
76
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
77
|
+
when "FUNCTION_CALL"
|
78
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
79
|
+
else
|
80
|
+
{ "type": @discriminant, value: @member }.to_json
|
81
|
+
end
|
82
|
+
@member.to_json
|
83
|
+
end
|
84
|
+
|
85
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
86
|
+
#
|
87
|
+
# @param obj [Object]
|
88
|
+
# @return [Void]
|
89
|
+
def self.validate_raw(obj:)
|
90
|
+
case obj.type
|
91
|
+
when "STRING"
|
92
|
+
ExecutionStringVellumValue.validate_raw(obj: obj)
|
93
|
+
when "NUMBER"
|
94
|
+
ExecutionNumberVellumValue.validate_raw(obj: obj)
|
95
|
+
when "JSON"
|
96
|
+
ExecutionJsonVellumValue.validate_raw(obj: obj)
|
97
|
+
when "CHAT_HISTORY"
|
98
|
+
ExecutionChatHistoryVellumValue.validate_raw(obj: obj)
|
99
|
+
when "SEARCH_RESULTS"
|
100
|
+
ExecutionSearchResultsVellumValue.validate_raw(obj: obj)
|
101
|
+
when "ERROR"
|
102
|
+
ExecutionErrorVellumValue.validate_raw(obj: obj)
|
103
|
+
when "ARRAY"
|
104
|
+
ExecutionArrayVellumValue.validate_raw(obj: obj)
|
105
|
+
when "FUNCTION_CALL"
|
106
|
+
ExecutionFunctionCallVellumValue.validate_raw(obj: obj)
|
107
|
+
else
|
108
|
+
raise("Passed value matched no type within the union, validation failed.")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
113
|
+
#
|
114
|
+
# @param obj [Object]
|
115
|
+
# @return [Boolean]
|
116
|
+
def is_a?(obj)
|
117
|
+
@member.is_a?(obj)
|
118
|
+
end
|
119
|
+
|
120
|
+
# @param member [ExecutionStringVellumValue]
|
121
|
+
# @return [ExecutionVellumValue]
|
122
|
+
def self.string(member:)
|
123
|
+
new(member: member, discriminant: "STRING")
|
124
|
+
end
|
125
|
+
|
126
|
+
# @param member [ExecutionNumberVellumValue]
|
127
|
+
# @return [ExecutionVellumValue]
|
128
|
+
def self.number(member:)
|
129
|
+
new(member: member, discriminant: "NUMBER")
|
130
|
+
end
|
131
|
+
|
132
|
+
# @param member [ExecutionJsonVellumValue]
|
133
|
+
# @return [ExecutionVellumValue]
|
134
|
+
def self.json(member:)
|
135
|
+
new(member: member, discriminant: "JSON")
|
136
|
+
end
|
137
|
+
|
138
|
+
# @param member [ExecutionChatHistoryVellumValue]
|
139
|
+
# @return [ExecutionVellumValue]
|
140
|
+
def self.chat_history(member:)
|
141
|
+
new(member: member, discriminant: "CHAT_HISTORY")
|
142
|
+
end
|
143
|
+
|
144
|
+
# @param member [ExecutionSearchResultsVellumValue]
|
145
|
+
# @return [ExecutionVellumValue]
|
146
|
+
def self.search_results(member:)
|
147
|
+
new(member: member, discriminant: "SEARCH_RESULTS")
|
148
|
+
end
|
149
|
+
|
150
|
+
# @param member [ExecutionErrorVellumValue]
|
151
|
+
# @return [ExecutionVellumValue]
|
152
|
+
def self.error(member:)
|
153
|
+
new(member: member, discriminant: "ERROR")
|
154
|
+
end
|
155
|
+
|
156
|
+
# @param member [ExecutionArrayVellumValue]
|
157
|
+
# @return [ExecutionVellumValue]
|
158
|
+
def self.array(member:)
|
159
|
+
new(member: member, discriminant: "ARRAY")
|
160
|
+
end
|
161
|
+
|
162
|
+
# @param member [ExecutionFunctionCallVellumValue]
|
163
|
+
# @return [ExecutionVellumValue]
|
164
|
+
def self.function_call(member:)
|
165
|
+
new(member: member, discriminant: "FUNCTION_CALL")
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
@@ -7,11 +7,12 @@ require "json"
|
|
7
7
|
|
8
8
|
module Vellum
|
9
9
|
class PromptTemplateBlockProperties
|
10
|
-
attr_reader :chat_role, :chat_message_unterminated, :template, :template_type, :function_name,
|
10
|
+
attr_reader :chat_role, :chat_message_unterminated, :chat_source, :template, :template_type, :function_name,
|
11
11
|
:function_description, :function_parameters, :function_forced, :blocks, :additional_properties
|
12
12
|
|
13
13
|
# @param chat_role [CHAT_MESSAGE_ROLE]
|
14
14
|
# @param chat_message_unterminated [Boolean]
|
15
|
+
# @param chat_source [String]
|
15
16
|
# @param template [String]
|
16
17
|
# @param template_type [VELLUM_VARIABLE_TYPE]
|
17
18
|
# @param function_name [String]
|
@@ -21,13 +22,15 @@ module Vellum
|
|
21
22
|
# @param blocks [Array<PromptTemplateBlock>]
|
22
23
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
23
24
|
# @return [PromptTemplateBlockProperties]
|
24
|
-
def initialize(chat_role: nil, chat_message_unterminated: nil, template: nil, template_type: nil,
|
25
|
+
def initialize(chat_role: nil, chat_message_unterminated: nil, chat_source: nil, template: nil, template_type: nil,
|
25
26
|
function_name: nil, function_description: nil, function_parameters: nil, function_forced: nil, blocks: nil, additional_properties: nil)
|
26
27
|
# @type [CHAT_MESSAGE_ROLE]
|
27
28
|
@chat_role = chat_role
|
28
29
|
# @type [Boolean]
|
29
30
|
@chat_message_unterminated = chat_message_unterminated
|
30
31
|
# @type [String]
|
32
|
+
@chat_source = chat_source
|
33
|
+
# @type [String]
|
31
34
|
@template = template
|
32
35
|
# @type [VELLUM_VARIABLE_TYPE]
|
33
36
|
@template_type = template_type
|
@@ -54,6 +57,7 @@ module Vellum
|
|
54
57
|
parsed_json = JSON.parse(json_object)
|
55
58
|
chat_role = CHAT_MESSAGE_ROLE.key(parsed_json["chat_role"]) || parsed_json["chat_role"]
|
56
59
|
chat_message_unterminated = struct.chat_message_unterminated
|
60
|
+
chat_source = struct.chat_source
|
57
61
|
template = struct.template
|
58
62
|
template_type = VELLUM_VARIABLE_TYPE.key(parsed_json["template_type"]) || parsed_json["template_type"]
|
59
63
|
function_name = struct.function_name
|
@@ -64,8 +68,8 @@ module Vellum
|
|
64
68
|
v = v.to_json
|
65
69
|
PromptTemplateBlock.from_json(json_object: v)
|
66
70
|
end
|
67
|
-
new(chat_role: chat_role, chat_message_unterminated: chat_message_unterminated,
|
68
|
-
template_type: template_type, function_name: function_name, function_description: function_description, function_parameters: function_parameters, function_forced: function_forced, blocks: blocks, additional_properties: struct)
|
71
|
+
new(chat_role: chat_role, chat_message_unterminated: chat_message_unterminated, chat_source: chat_source,
|
72
|
+
template: template, template_type: template_type, function_name: function_name, function_description: function_description, function_parameters: function_parameters, function_forced: function_forced, blocks: blocks, additional_properties: struct)
|
69
73
|
end
|
70
74
|
|
71
75
|
# Serialize an instance of PromptTemplateBlockProperties to a JSON object
|
@@ -75,6 +79,7 @@ module Vellum
|
|
75
79
|
{
|
76
80
|
"chat_role": CHAT_MESSAGE_ROLE[@chat_role] || @chat_role,
|
77
81
|
"chat_message_unterminated": @chat_message_unterminated,
|
82
|
+
"chat_source": @chat_source,
|
78
83
|
"template": @template,
|
79
84
|
"template_type": VELLUM_VARIABLE_TYPE[@template_type] || @template_type,
|
80
85
|
"function_name": @function_name,
|
@@ -92,6 +97,7 @@ module Vellum
|
|
92
97
|
def self.validate_raw(obj:)
|
93
98
|
obj.chat_role&.is_a?(CHAT_MESSAGE_ROLE) != false || raise("Passed value for field obj.chat_role is not the expected type, validation failed.")
|
94
99
|
obj.chat_message_unterminated&.is_a?(Boolean) != false || raise("Passed value for field obj.chat_message_unterminated is not the expected type, validation failed.")
|
100
|
+
obj.chat_source&.is_a?(String) != false || raise("Passed value for field obj.chat_source is not the expected type, validation failed.")
|
95
101
|
obj.template&.is_a?(String) != false || raise("Passed value for field obj.template is not the expected type, validation failed.")
|
96
102
|
obj.template_type&.is_a?(VELLUM_VARIABLE_TYPE) != false || raise("Passed value for field obj.template_type is not the expected type, validation failed.")
|
97
103
|
obj.function_name&.is_a?(String) != false || raise("Passed value for field obj.function_name is not the expected type, validation failed.")
|
@@ -7,11 +7,12 @@ require "json"
|
|
7
7
|
|
8
8
|
module Vellum
|
9
9
|
class PromptTemplateBlockPropertiesRequest
|
10
|
-
attr_reader :chat_role, :chat_message_unterminated, :template, :template_type, :function_name,
|
10
|
+
attr_reader :chat_role, :chat_message_unterminated, :chat_source, :template, :template_type, :function_name,
|
11
11
|
:function_description, :function_parameters, :function_forced, :blocks, :additional_properties
|
12
12
|
|
13
13
|
# @param chat_role [CHAT_MESSAGE_ROLE]
|
14
14
|
# @param chat_message_unterminated [Boolean]
|
15
|
+
# @param chat_source [String]
|
15
16
|
# @param template [String]
|
16
17
|
# @param template_type [VELLUM_VARIABLE_TYPE]
|
17
18
|
# @param function_name [String]
|
@@ -21,13 +22,15 @@ module Vellum
|
|
21
22
|
# @param blocks [Array<PromptTemplateBlockRequest>]
|
22
23
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
23
24
|
# @return [PromptTemplateBlockPropertiesRequest]
|
24
|
-
def initialize(chat_role: nil, chat_message_unterminated: nil, template: nil, template_type: nil,
|
25
|
+
def initialize(chat_role: nil, chat_message_unterminated: nil, chat_source: nil, template: nil, template_type: nil,
|
25
26
|
function_name: nil, function_description: nil, function_parameters: nil, function_forced: nil, blocks: nil, additional_properties: nil)
|
26
27
|
# @type [CHAT_MESSAGE_ROLE]
|
27
28
|
@chat_role = chat_role
|
28
29
|
# @type [Boolean]
|
29
30
|
@chat_message_unterminated = chat_message_unterminated
|
30
31
|
# @type [String]
|
32
|
+
@chat_source = chat_source
|
33
|
+
# @type [String]
|
31
34
|
@template = template
|
32
35
|
# @type [VELLUM_VARIABLE_TYPE]
|
33
36
|
@template_type = template_type
|
@@ -54,6 +57,7 @@ module Vellum
|
|
54
57
|
parsed_json = JSON.parse(json_object)
|
55
58
|
chat_role = CHAT_MESSAGE_ROLE.key(parsed_json["chat_role"]) || parsed_json["chat_role"]
|
56
59
|
chat_message_unterminated = struct.chat_message_unterminated
|
60
|
+
chat_source = struct.chat_source
|
57
61
|
template = struct.template
|
58
62
|
template_type = VELLUM_VARIABLE_TYPE.key(parsed_json["template_type"]) || parsed_json["template_type"]
|
59
63
|
function_name = struct.function_name
|
@@ -64,8 +68,8 @@ module Vellum
|
|
64
68
|
v = v.to_json
|
65
69
|
PromptTemplateBlockRequest.from_json(json_object: v)
|
66
70
|
end
|
67
|
-
new(chat_role: chat_role, chat_message_unterminated: chat_message_unterminated,
|
68
|
-
template_type: template_type, function_name: function_name, function_description: function_description, function_parameters: function_parameters, function_forced: function_forced, blocks: blocks, additional_properties: struct)
|
71
|
+
new(chat_role: chat_role, chat_message_unterminated: chat_message_unterminated, chat_source: chat_source,
|
72
|
+
template: template, template_type: template_type, function_name: function_name, function_description: function_description, function_parameters: function_parameters, function_forced: function_forced, blocks: blocks, additional_properties: struct)
|
69
73
|
end
|
70
74
|
|
71
75
|
# Serialize an instance of PromptTemplateBlockPropertiesRequest to a JSON object
|
@@ -75,6 +79,7 @@ module Vellum
|
|
75
79
|
{
|
76
80
|
"chat_role": CHAT_MESSAGE_ROLE[@chat_role] || @chat_role,
|
77
81
|
"chat_message_unterminated": @chat_message_unterminated,
|
82
|
+
"chat_source": @chat_source,
|
78
83
|
"template": @template,
|
79
84
|
"template_type": VELLUM_VARIABLE_TYPE[@template_type] || @template_type,
|
80
85
|
"function_name": @function_name,
|
@@ -92,6 +97,7 @@ module Vellum
|
|
92
97
|
def self.validate_raw(obj:)
|
93
98
|
obj.chat_role&.is_a?(CHAT_MESSAGE_ROLE) != false || raise("Passed value for field obj.chat_role is not the expected type, validation failed.")
|
94
99
|
obj.chat_message_unterminated&.is_a?(Boolean) != false || raise("Passed value for field obj.chat_message_unterminated is not the expected type, validation failed.")
|
100
|
+
obj.chat_source&.is_a?(String) != false || raise("Passed value for field obj.chat_source is not the expected type, validation failed.")
|
95
101
|
obj.template&.is_a?(String) != false || raise("Passed value for field obj.template is not the expected type, validation failed.")
|
96
102
|
obj.template_type&.is_a?(VELLUM_VARIABLE_TYPE) != false || raise("Passed value for field obj.template_type is not the expected type, validation failed.")
|
97
103
|
obj.function_name&.is_a?(String) != false || raise("Passed value for field obj.function_name is not the expected type, validation failed.")
|
@@ -5,11 +5,12 @@ require "date"
|
|
5
5
|
require_relative "workflow_result_event_output_data"
|
6
6
|
require_relative "workflow_event_error"
|
7
7
|
require_relative "workflow_output"
|
8
|
+
require_relative "execution_vellum_value"
|
8
9
|
require "json"
|
9
10
|
|
10
11
|
module Vellum
|
11
12
|
class WorkflowResultEvent
|
12
|
-
attr_reader :id, :state, :ts, :output, :error, :outputs, :additional_properties
|
13
|
+
attr_reader :id, :state, :ts, :output, :error, :outputs, :inputs, :additional_properties
|
13
14
|
|
14
15
|
# @param id [String]
|
15
16
|
# @param state [WORKFLOW_NODE_RESULT_EVENT_STATE]
|
@@ -17,9 +18,10 @@ module Vellum
|
|
17
18
|
# @param output [WorkflowResultEventOutputData]
|
18
19
|
# @param error [WorkflowEventError]
|
19
20
|
# @param outputs [Array<WorkflowOutput>]
|
21
|
+
# @param inputs [Array<ExecutionVellumValue>]
|
20
22
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
21
23
|
# @return [WorkflowResultEvent]
|
22
|
-
def initialize(id:, state:, ts:, output: nil, error: nil, outputs: nil, additional_properties: nil)
|
24
|
+
def initialize(id:, state:, ts:, output: nil, error: nil, outputs: nil, inputs: nil, additional_properties: nil)
|
23
25
|
# @type [String]
|
24
26
|
@id = id
|
25
27
|
# @type [WORKFLOW_NODE_RESULT_EVENT_STATE]
|
@@ -32,6 +34,8 @@ module Vellum
|
|
32
34
|
@error = error
|
33
35
|
# @type [Array<WorkflowOutput>]
|
34
36
|
@outputs = outputs
|
37
|
+
# @type [Array<ExecutionVellumValue>]
|
38
|
+
@inputs = inputs
|
35
39
|
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
36
40
|
@additional_properties = additional_properties
|
37
41
|
end
|
@@ -62,7 +66,12 @@ module Vellum
|
|
62
66
|
v = v.to_json
|
63
67
|
WorkflowOutput.from_json(json_object: v)
|
64
68
|
end
|
65
|
-
|
69
|
+
inputs = parsed_json["inputs"].map do |v|
|
70
|
+
v = v.to_json
|
71
|
+
ExecutionVellumValue.from_json(json_object: v)
|
72
|
+
end
|
73
|
+
new(id: id, state: state, ts: ts, output: output, error: error, outputs: outputs, inputs: inputs,
|
74
|
+
additional_properties: struct)
|
66
75
|
end
|
67
76
|
|
68
77
|
# Serialize an instance of WorkflowResultEvent to a JSON object
|
@@ -75,7 +84,8 @@ module Vellum
|
|
75
84
|
"ts": @ts,
|
76
85
|
"output": @output,
|
77
86
|
"error": @error,
|
78
|
-
"outputs": @outputs
|
87
|
+
"outputs": @outputs,
|
88
|
+
"inputs": @inputs
|
79
89
|
}.to_json
|
80
90
|
end
|
81
91
|
|
@@ -90,6 +100,7 @@ module Vellum
|
|
90
100
|
obj.output.nil? || WorkflowResultEventOutputData.validate_raw(obj: obj.output)
|
91
101
|
obj.error.nil? || WorkflowEventError.validate_raw(obj: obj.error)
|
92
102
|
obj.outputs&.is_a?(Array) != false || raise("Passed value for field obj.outputs is not the expected type, validation failed.")
|
103
|
+
obj.inputs&.is_a?(Array) != false || raise("Passed value for field obj.inputs is not the expected type, validation failed.")
|
93
104
|
end
|
94
105
|
end
|
95
106
|
end
|
data/lib/vellum_ai.rb
CHANGED
@@ -96,11 +96,11 @@ module Vellum
|
|
96
96
|
|
97
97
|
# Executes a deployed Workflow and returns its outputs.
|
98
98
|
#
|
99
|
+
# @param inputs [Array<Hash>] The list of inputs defined in the Workflow's Deployment with their corresponding values.Request of type Array<WorkflowRequestInputRequest>, as a Hash
|
99
100
|
# @param workflow_deployment_id [String] The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
|
100
101
|
# @param workflow_deployment_name [String] The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
|
101
102
|
# @param release_tag [String] Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
102
|
-
# @param
|
103
|
-
# @param external_id [String] Optionally include a unique identifier for monitoring purposes. Must be unique for a given workflow deployment.
|
103
|
+
# @param external_id [String] Optionally include a unique identifier for tracking purposes. Must be unique for a given workflow deployment.
|
104
104
|
# @param request_options [RequestOptions]
|
105
105
|
# @return [ExecuteWorkflowResponse]
|
106
106
|
def execute_workflow(inputs:, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil,
|
@@ -111,10 +111,10 @@ module Vellum
|
|
111
111
|
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
112
112
|
req.body = {
|
113
113
|
**(request_options&.additional_body_parameters || {}),
|
114
|
+
inputs: inputs,
|
114
115
|
workflow_deployment_id: workflow_deployment_id,
|
115
116
|
workflow_deployment_name: workflow_deployment_name,
|
116
117
|
release_tag: release_tag,
|
117
|
-
inputs: inputs,
|
118
118
|
external_id: external_id
|
119
119
|
}.compact
|
120
120
|
req.url "#{@request_client.default_environment[:Predict]}/v1/execute-workflow"
|
@@ -318,11 +318,11 @@ module Vellum
|
|
318
318
|
|
319
319
|
# Executes a deployed Workflow and returns its outputs.
|
320
320
|
#
|
321
|
+
# @param inputs [Array<Hash>] The list of inputs defined in the Workflow's Deployment with their corresponding values.Request of type Array<WorkflowRequestInputRequest>, as a Hash
|
321
322
|
# @param workflow_deployment_id [String] The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
|
322
323
|
# @param workflow_deployment_name [String] The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
|
323
324
|
# @param release_tag [String] Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
|
324
|
-
# @param
|
325
|
-
# @param external_id [String] Optionally include a unique identifier for monitoring purposes. Must be unique for a given workflow deployment.
|
325
|
+
# @param external_id [String] Optionally include a unique identifier for tracking purposes. Must be unique for a given workflow deployment.
|
326
326
|
# @param request_options [RequestOptions]
|
327
327
|
# @return [ExecuteWorkflowResponse]
|
328
328
|
def execute_workflow(inputs:, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil,
|
@@ -333,10 +333,10 @@ module Vellum
|
|
333
333
|
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
334
334
|
req.body = {
|
335
335
|
**(request_options&.additional_body_parameters || {}),
|
336
|
+
inputs: inputs,
|
336
337
|
workflow_deployment_id: workflow_deployment_id,
|
337
338
|
workflow_deployment_name: workflow_deployment_name,
|
338
339
|
release_tag: release_tag,
|
339
|
-
inputs: inputs,
|
340
340
|
external_id: external_id
|
341
341
|
}.compact
|
342
342
|
req.url "#{@async_request_client.default_environment[:Predict]}/v1/execute-workflow"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vellum_ai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vellum
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03-
|
11
|
+
date: 2024-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async-http-faraday
|
@@ -148,6 +148,15 @@ files:
|
|
148
148
|
- lib/vellum_ai/types/execute_workflow_response.rb
|
149
149
|
- lib/vellum_ai/types/execute_workflow_stream_error_response.rb
|
150
150
|
- lib/vellum_ai/types/execute_workflow_workflow_result_event.rb
|
151
|
+
- lib/vellum_ai/types/execution_array_vellum_value.rb
|
152
|
+
- lib/vellum_ai/types/execution_chat_history_vellum_value.rb
|
153
|
+
- lib/vellum_ai/types/execution_error_vellum_value.rb
|
154
|
+
- lib/vellum_ai/types/execution_function_call_vellum_value.rb
|
155
|
+
- lib/vellum_ai/types/execution_json_vellum_value.rb
|
156
|
+
- lib/vellum_ai/types/execution_number_vellum_value.rb
|
157
|
+
- lib/vellum_ai/types/execution_search_results_vellum_value.rb
|
158
|
+
- lib/vellum_ai/types/execution_string_vellum_value.rb
|
159
|
+
- lib/vellum_ai/types/execution_vellum_value.rb
|
151
160
|
- lib/vellum_ai/types/finish_reason_enum.rb
|
152
161
|
- lib/vellum_ai/types/fulfilled_enum.rb
|
153
162
|
- lib/vellum_ai/types/fulfilled_execute_prompt_event.rb
|