dexa-ai-sdk 0.3.5
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 +7 -0
- data/.fernignore +5 -0
- data/.rubocop.yml +107 -0
- data/CONTRIBUTING.md +120 -0
- data/README.md +199 -0
- data/Rakefile +20 -0
- data/custom.gemspec.rb +23 -0
- data/lib/dexa-ai-sdk/client.rb +26 -0
- data/lib/dexa-ai-sdk/environment.rb +7 -0
- data/lib/dexa-ai-sdk/errors/api_error.rb +8 -0
- data/lib/dexa-ai-sdk/errors/client_error.rb +17 -0
- data/lib/dexa-ai-sdk/errors/connection_error.rb +11 -0
- data/lib/dexa-ai-sdk/errors/redirect_error.rb +8 -0
- data/lib/dexa-ai-sdk/errors/response_error.rb +63 -0
- data/lib/dexa-ai-sdk/errors/server_error.rb +11 -0
- data/lib/dexa-ai-sdk/errors/timeout_error.rb +8 -0
- data/lib/dexa-ai-sdk/internal/errors/constraint_error.rb +10 -0
- data/lib/dexa-ai-sdk/internal/errors/type_error.rb +10 -0
- data/lib/dexa-ai-sdk/internal/http/base_request.rb +81 -0
- data/lib/dexa-ai-sdk/internal/http/raw_client.rb +295 -0
- data/lib/dexa-ai-sdk/internal/iterators/cursor_item_iterator.rb +33 -0
- data/lib/dexa-ai-sdk/internal/iterators/cursor_page_iterator.rb +117 -0
- data/lib/dexa-ai-sdk/internal/iterators/item_iterator.rb +111 -0
- data/lib/dexa-ai-sdk/internal/iterators/offset_item_iterator.rb +35 -0
- data/lib/dexa-ai-sdk/internal/iterators/offset_page_iterator.rb +151 -0
- data/lib/dexa-ai-sdk/internal/json/request.rb +50 -0
- data/lib/dexa-ai-sdk/internal/json/serializable.rb +25 -0
- data/lib/dexa-ai-sdk/internal/multipart/multipart_encoder.rb +141 -0
- data/lib/dexa-ai-sdk/internal/multipart/multipart_form_data.rb +83 -0
- data/lib/dexa-ai-sdk/internal/multipart/multipart_form_data_part.rb +51 -0
- data/lib/dexa-ai-sdk/internal/multipart/multipart_request.rb +41 -0
- data/lib/dexa-ai-sdk/internal/types/array.rb +47 -0
- data/lib/dexa-ai-sdk/internal/types/boolean.rb +34 -0
- data/lib/dexa-ai-sdk/internal/types/enum.rb +56 -0
- data/lib/dexa-ai-sdk/internal/types/hash.rb +36 -0
- data/lib/dexa-ai-sdk/internal/types/model/field.rb +38 -0
- data/lib/dexa-ai-sdk/internal/types/model.rb +220 -0
- data/lib/dexa-ai-sdk/internal/types/type.rb +35 -0
- data/lib/dexa-ai-sdk/internal/types/union.rb +161 -0
- data/lib/dexa-ai-sdk/internal/types/unknown.rb +15 -0
- data/lib/dexa-ai-sdk/internal/types/utils.rb +123 -0
- data/lib/dexa-ai-sdk/tasks/client.rb +190 -0
- data/lib/dexa-ai-sdk/tasks/types/decide_request.rb +37 -0
- data/lib/dexa-ai-sdk/tasks/types/decide_request_output_language.rb +32 -0
- data/lib/dexa-ai-sdk/tasks/types/decide_request_response_format.rb +11 -0
- data/lib/dexa-ai-sdk/tasks/types/decide_request_response_format_type.rb +13 -0
- data/lib/dexa-ai-sdk/tasks/types/decide_request_target_language.rb +32 -0
- data/lib/dexa-ai-sdk/tasks/types/extract_request.rb +37 -0
- data/lib/dexa-ai-sdk/tasks/types/extract_request_output_language.rb +32 -0
- data/lib/dexa-ai-sdk/tasks/types/extract_request_response_format.rb +11 -0
- data/lib/dexa-ai-sdk/tasks/types/extract_request_response_format_type.rb +13 -0
- data/lib/dexa-ai-sdk/tasks/types/extract_request_target_language.rb +32 -0
- data/lib/dexa-ai-sdk/types/audio_input.rb +15 -0
- data/lib/dexa-ai-sdk/types/audio_input_type.rb +12 -0
- data/lib/dexa-ai-sdk/types/choice.rb +11 -0
- data/lib/dexa-ai-sdk/types/choice_finish_reason.rb +13 -0
- data/lib/dexa-ai-sdk/types/content_part.rb +21 -0
- data/lib/dexa-ai-sdk/types/content_part_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/content_part_type.rb +15 -0
- data/lib/dexa-ai-sdk/types/decide_response.rb +21 -0
- data/lib/dexa-ai-sdk/types/decide_result.rb +11 -0
- data/lib/dexa-ai-sdk/types/decide_task.rb +21 -0
- data/lib/dexa-ai-sdk/types/decide_task_target_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/error_response.rb +9 -0
- data/lib/dexa-ai-sdk/types/error_response_error.rb +15 -0
- data/lib/dexa-ai-sdk/types/extract_response.rb +19 -0
- data/lib/dexa-ai-sdk/types/extract_task.rb +21 -0
- data/lib/dexa-ai-sdk/types/extract_task_target_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/image_input.rb +15 -0
- data/lib/dexa-ai-sdk/types/image_input_type.rb +12 -0
- data/lib/dexa-ai-sdk/types/image_url.rb +11 -0
- data/lib/dexa-ai-sdk/types/image_url_detail.rb +13 -0
- data/lib/dexa-ai-sdk/types/message.rb +13 -0
- data/lib/dexa-ai-sdk/types/message_content.rb +13 -0
- data/lib/dexa-ai-sdk/types/message_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/message_role.rb +13 -0
- data/lib/dexa-ai-sdk/types/response_message.rb +13 -0
- data/lib/dexa-ai-sdk/types/response_message_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/response_message_role.rb +11 -0
- data/lib/dexa-ai-sdk/types/run_tasks_request.rb +29 -0
- data/lib/dexa-ai-sdk/types/run_tasks_request_output_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/run_tasks_request_response_format.rb +9 -0
- data/lib/dexa-ai-sdk/types/run_tasks_request_response_format_type.rb +11 -0
- data/lib/dexa-ai-sdk/types/run_tasks_request_target_language.rb +30 -0
- data/lib/dexa-ai-sdk/types/run_tasks_response.rb +19 -0
- data/lib/dexa-ai-sdk/types/task.rb +15 -0
- data/lib/dexa-ai-sdk/types/usage.rb +13 -0
- data/lib/dexa-ai-sdk/version.rb +5 -0
- data/lib/dexa-ai-sdk.rb +86 -0
- data/reference.md +414 -0
- metadata +139 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [DexaAiSdk::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @param request_options [Hash]
|
|
14
|
+
# @param params [DexaAiSdk::Types::RunTasksRequest]
|
|
15
|
+
# @option request_options [String] :base_url
|
|
16
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
17
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
18
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
19
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
20
|
+
#
|
|
21
|
+
# @example
|
|
22
|
+
# client.tasks.run_tasks(
|
|
23
|
+
# model: "model",
|
|
24
|
+
# tasks: []
|
|
25
|
+
# )
|
|
26
|
+
#
|
|
27
|
+
# @return [DexaAiSdk::Types::RunTasksResponse]
|
|
28
|
+
def run_tasks(request_options: {}, **params)
|
|
29
|
+
params = DexaAiSdk::Internal::Types::Utils.normalize_keys(params)
|
|
30
|
+
request = DexaAiSdk::Internal::JSON::Request.new(
|
|
31
|
+
base_url: request_options[:base_url],
|
|
32
|
+
method: "POST",
|
|
33
|
+
path: "v1/tasks",
|
|
34
|
+
body: DexaAiSdk::Types::RunTasksRequest.new(params).to_h,
|
|
35
|
+
request_options: request_options
|
|
36
|
+
)
|
|
37
|
+
begin
|
|
38
|
+
response = @client.send(request)
|
|
39
|
+
rescue Net::HTTPRequestTimeout
|
|
40
|
+
raise DexaAiSdk::Errors::TimeoutError
|
|
41
|
+
end
|
|
42
|
+
code = response.code.to_i
|
|
43
|
+
if code.between?(200, 299)
|
|
44
|
+
(response.body.to_s.empty? ? nil : DexaAiSdk::Types::RunTasksResponse.load(response.body))
|
|
45
|
+
else
|
|
46
|
+
error_class = DexaAiSdk::Errors::ResponseError.subclass_for_code(code)
|
|
47
|
+
error_types = {
|
|
48
|
+
400 => DexaAiSdk::Types::ErrorResponse,
|
|
49
|
+
422 => DexaAiSdk::Types::ErrorResponse,
|
|
50
|
+
500 => DexaAiSdk::Types::ErrorResponse
|
|
51
|
+
}
|
|
52
|
+
error_body = DexaAiSdk::Errors::ResponseError.load_error_body(code, response.body, error_types)
|
|
53
|
+
raise error_class.new(response.body, code: code, body: error_body)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# @param request_options [Hash]
|
|
58
|
+
# @param params [DexaAiSdk::Types::RunTasksRequest]
|
|
59
|
+
# @option request_options [String] :base_url
|
|
60
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
61
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
62
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
63
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
64
|
+
#
|
|
65
|
+
# @example
|
|
66
|
+
# client.tasks.decide_extract(
|
|
67
|
+
# model: "model",
|
|
68
|
+
# tasks: []
|
|
69
|
+
# )
|
|
70
|
+
#
|
|
71
|
+
# @return [DexaAiSdk::Types::RunTasksResponse]
|
|
72
|
+
def decide_extract(request_options: {}, **params)
|
|
73
|
+
params = DexaAiSdk::Internal::Types::Utils.normalize_keys(params)
|
|
74
|
+
request = DexaAiSdk::Internal::JSON::Request.new(
|
|
75
|
+
base_url: request_options[:base_url],
|
|
76
|
+
method: "POST",
|
|
77
|
+
path: "v1/decide-extract",
|
|
78
|
+
body: DexaAiSdk::Types::RunTasksRequest.new(params).to_h,
|
|
79
|
+
request_options: request_options
|
|
80
|
+
)
|
|
81
|
+
begin
|
|
82
|
+
response = @client.send(request)
|
|
83
|
+
rescue Net::HTTPRequestTimeout
|
|
84
|
+
raise DexaAiSdk::Errors::TimeoutError
|
|
85
|
+
end
|
|
86
|
+
code = response.code.to_i
|
|
87
|
+
if code.between?(200, 299)
|
|
88
|
+
(response.body.to_s.empty? ? nil : DexaAiSdk::Types::RunTasksResponse.load(response.body))
|
|
89
|
+
else
|
|
90
|
+
error_class = DexaAiSdk::Errors::ResponseError.subclass_for_code(code)
|
|
91
|
+
error_types = {
|
|
92
|
+
400 => DexaAiSdk::Types::ErrorResponse,
|
|
93
|
+
422 => DexaAiSdk::Types::ErrorResponse,
|
|
94
|
+
500 => DexaAiSdk::Types::ErrorResponse
|
|
95
|
+
}
|
|
96
|
+
error_body = DexaAiSdk::Errors::ResponseError.load_error_body(code, response.body, error_types)
|
|
97
|
+
raise error_class.new(response.body, code: code, body: error_body)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# @param request_options [Hash]
|
|
102
|
+
# @param params [DexaAiSdk::Tasks::Types::DecideRequest]
|
|
103
|
+
# @option request_options [String] :base_url
|
|
104
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
105
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
106
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
107
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
108
|
+
#
|
|
109
|
+
# @example
|
|
110
|
+
# client.tasks.decide(
|
|
111
|
+
# model: "model",
|
|
112
|
+
# question: "question"
|
|
113
|
+
# )
|
|
114
|
+
#
|
|
115
|
+
# @return [DexaAiSdk::Types::DecideResponse]
|
|
116
|
+
def decide(request_options: {}, **params)
|
|
117
|
+
params = DexaAiSdk::Internal::Types::Utils.normalize_keys(params)
|
|
118
|
+
request = DexaAiSdk::Internal::JSON::Request.new(
|
|
119
|
+
base_url: request_options[:base_url],
|
|
120
|
+
method: "POST",
|
|
121
|
+
path: "decide",
|
|
122
|
+
body: DexaAiSdk::Tasks::Types::DecideRequest.new(params).to_h,
|
|
123
|
+
request_options: request_options
|
|
124
|
+
)
|
|
125
|
+
begin
|
|
126
|
+
response = @client.send(request)
|
|
127
|
+
rescue Net::HTTPRequestTimeout
|
|
128
|
+
raise DexaAiSdk::Errors::TimeoutError
|
|
129
|
+
end
|
|
130
|
+
code = response.code.to_i
|
|
131
|
+
if code.between?(200, 299)
|
|
132
|
+
(response.body.to_s.empty? ? nil : DexaAiSdk::Types::DecideResponse.load(response.body))
|
|
133
|
+
else
|
|
134
|
+
error_class = DexaAiSdk::Errors::ResponseError.subclass_for_code(code)
|
|
135
|
+
error_types = {
|
|
136
|
+
400 => DexaAiSdk::Types::ErrorResponse,
|
|
137
|
+
422 => DexaAiSdk::Types::ErrorResponse,
|
|
138
|
+
500 => DexaAiSdk::Types::ErrorResponse
|
|
139
|
+
}
|
|
140
|
+
error_body = DexaAiSdk::Errors::ResponseError.load_error_body(code, response.body, error_types)
|
|
141
|
+
raise error_class.new(response.body, code: code, body: error_body)
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# @param request_options [Hash]
|
|
146
|
+
# @param params [DexaAiSdk::Tasks::Types::ExtractRequest]
|
|
147
|
+
# @option request_options [String] :base_url
|
|
148
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
149
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
150
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
151
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
152
|
+
#
|
|
153
|
+
# @example
|
|
154
|
+
# client.tasks.extract(
|
|
155
|
+
# model: "model",
|
|
156
|
+
# instruction: "instruction"
|
|
157
|
+
# )
|
|
158
|
+
#
|
|
159
|
+
# @return [DexaAiSdk::Types::ExtractResponse]
|
|
160
|
+
def extract(request_options: {}, **params)
|
|
161
|
+
params = DexaAiSdk::Internal::Types::Utils.normalize_keys(params)
|
|
162
|
+
request = DexaAiSdk::Internal::JSON::Request.new(
|
|
163
|
+
base_url: request_options[:base_url],
|
|
164
|
+
method: "POST",
|
|
165
|
+
path: "extract",
|
|
166
|
+
body: DexaAiSdk::Tasks::Types::ExtractRequest.new(params).to_h,
|
|
167
|
+
request_options: request_options
|
|
168
|
+
)
|
|
169
|
+
begin
|
|
170
|
+
response = @client.send(request)
|
|
171
|
+
rescue Net::HTTPRequestTimeout
|
|
172
|
+
raise DexaAiSdk::Errors::TimeoutError
|
|
173
|
+
end
|
|
174
|
+
code = response.code.to_i
|
|
175
|
+
if code.between?(200, 299)
|
|
176
|
+
(response.body.to_s.empty? ? nil : DexaAiSdk::Types::ExtractResponse.load(response.body))
|
|
177
|
+
else
|
|
178
|
+
error_class = DexaAiSdk::Errors::ResponseError.subclass_for_code(code)
|
|
179
|
+
error_types = {
|
|
180
|
+
400 => DexaAiSdk::Types::ErrorResponse,
|
|
181
|
+
422 => DexaAiSdk::Types::ErrorResponse,
|
|
182
|
+
500 => DexaAiSdk::Types::ErrorResponse
|
|
183
|
+
}
|
|
184
|
+
error_body = DexaAiSdk::Errors::ResponseError.load_error_body(code, response.body, error_types)
|
|
185
|
+
raise error_class.new(response.body, code: code, body: error_body)
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
class DecideRequest < Internal::Types::Model
|
|
7
|
+
field :model, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :context, -> { String }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :messages, -> { Internal::Types::Array[DexaAiSdk::Types::Message] }, optional: true, nullable: false
|
|
12
|
+
|
|
13
|
+
field :images, -> { Internal::Types::Array[DexaAiSdk::Types::ImageInput] }, optional: true, nullable: false
|
|
14
|
+
|
|
15
|
+
field :audio, -> { Internal::Types::Array[DexaAiSdk::Types::AudioInput] }, optional: true, nullable: false
|
|
16
|
+
|
|
17
|
+
field :question, -> { String }, optional: false, nullable: false
|
|
18
|
+
|
|
19
|
+
field :choices, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
20
|
+
|
|
21
|
+
field :options, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
22
|
+
|
|
23
|
+
field :instruction, -> { String }, optional: true, nullable: false
|
|
24
|
+
|
|
25
|
+
field :temperature, -> { Float }, optional: true, nullable: false
|
|
26
|
+
|
|
27
|
+
field :max_output_tokens, -> { Integer }, optional: true, nullable: false
|
|
28
|
+
|
|
29
|
+
field :response_format, -> { DexaAiSdk::Tasks::Types::DecideRequestResponseFormat }, optional: true, nullable: false
|
|
30
|
+
|
|
31
|
+
field :target_language, -> { DexaAiSdk::Tasks::Types::DecideRequestTargetLanguage }, optional: true, nullable: false
|
|
32
|
+
|
|
33
|
+
field :output_language, -> { DexaAiSdk::Tasks::Types::DecideRequestOutputLanguage }, optional: true, nullable: false
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
module DecideRequestOutputLanguage
|
|
7
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
EN = "en"
|
|
10
|
+
ES = "es"
|
|
11
|
+
FR = "fr"
|
|
12
|
+
DE = "de"
|
|
13
|
+
IT = "it"
|
|
14
|
+
PT = "pt"
|
|
15
|
+
NL = "nl"
|
|
16
|
+
RU = "ru"
|
|
17
|
+
JA = "ja"
|
|
18
|
+
KO = "ko"
|
|
19
|
+
ZH = "zh"
|
|
20
|
+
AR = "ar"
|
|
21
|
+
HI = "hi"
|
|
22
|
+
TR = "tr"
|
|
23
|
+
PL = "pl"
|
|
24
|
+
SV = "sv"
|
|
25
|
+
DA = "da"
|
|
26
|
+
NO = "no"
|
|
27
|
+
FI = "fi"
|
|
28
|
+
CS = "cs"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
class DecideRequestResponseFormat < Internal::Types::Model
|
|
7
|
+
field :type, -> { DexaAiSdk::Tasks::Types::DecideRequestResponseFormatType }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
module DecideRequestTargetLanguage
|
|
7
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
EN = "en"
|
|
10
|
+
ES = "es"
|
|
11
|
+
FR = "fr"
|
|
12
|
+
DE = "de"
|
|
13
|
+
IT = "it"
|
|
14
|
+
PT = "pt"
|
|
15
|
+
NL = "nl"
|
|
16
|
+
RU = "ru"
|
|
17
|
+
JA = "ja"
|
|
18
|
+
KO = "ko"
|
|
19
|
+
ZH = "zh"
|
|
20
|
+
AR = "ar"
|
|
21
|
+
HI = "hi"
|
|
22
|
+
TR = "tr"
|
|
23
|
+
PL = "pl"
|
|
24
|
+
SV = "sv"
|
|
25
|
+
DA = "da"
|
|
26
|
+
NO = "no"
|
|
27
|
+
FI = "fi"
|
|
28
|
+
CS = "cs"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
class ExtractRequest < Internal::Types::Model
|
|
7
|
+
field :model, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :context, -> { String }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :messages, -> { Internal::Types::Array[DexaAiSdk::Types::Message] }, optional: true, nullable: false
|
|
12
|
+
|
|
13
|
+
field :images, -> { Internal::Types::Array[DexaAiSdk::Types::ImageInput] }, optional: true, nullable: false
|
|
14
|
+
|
|
15
|
+
field :audio, -> { Internal::Types::Array[DexaAiSdk::Types::AudioInput] }, optional: true, nullable: false
|
|
16
|
+
|
|
17
|
+
field :instruction, -> { String }, optional: false, nullable: false
|
|
18
|
+
|
|
19
|
+
field :fields, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
20
|
+
|
|
21
|
+
field :keys, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
22
|
+
|
|
23
|
+
field :schema, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
|
|
24
|
+
|
|
25
|
+
field :temperature, -> { Float }, optional: true, nullable: false
|
|
26
|
+
|
|
27
|
+
field :max_output_tokens, -> { Integer }, optional: true, nullable: false
|
|
28
|
+
|
|
29
|
+
field :response_format, -> { DexaAiSdk::Tasks::Types::ExtractRequestResponseFormat }, optional: true, nullable: false
|
|
30
|
+
|
|
31
|
+
field :target_language, -> { DexaAiSdk::Tasks::Types::ExtractRequestTargetLanguage }, optional: true, nullable: false
|
|
32
|
+
|
|
33
|
+
field :output_language, -> { DexaAiSdk::Tasks::Types::ExtractRequestOutputLanguage }, optional: true, nullable: false
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
module ExtractRequestOutputLanguage
|
|
7
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
EN = "en"
|
|
10
|
+
ES = "es"
|
|
11
|
+
FR = "fr"
|
|
12
|
+
DE = "de"
|
|
13
|
+
IT = "it"
|
|
14
|
+
PT = "pt"
|
|
15
|
+
NL = "nl"
|
|
16
|
+
RU = "ru"
|
|
17
|
+
JA = "ja"
|
|
18
|
+
KO = "ko"
|
|
19
|
+
ZH = "zh"
|
|
20
|
+
AR = "ar"
|
|
21
|
+
HI = "hi"
|
|
22
|
+
TR = "tr"
|
|
23
|
+
PL = "pl"
|
|
24
|
+
SV = "sv"
|
|
25
|
+
DA = "da"
|
|
26
|
+
NO = "no"
|
|
27
|
+
FI = "fi"
|
|
28
|
+
CS = "cs"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
class ExtractRequestResponseFormat < Internal::Types::Model
|
|
7
|
+
field :type, -> { DexaAiSdk::Tasks::Types::ExtractRequestResponseFormatType }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Tasks
|
|
5
|
+
module Types
|
|
6
|
+
module ExtractRequestTargetLanguage
|
|
7
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
EN = "en"
|
|
10
|
+
ES = "es"
|
|
11
|
+
FR = "fr"
|
|
12
|
+
DE = "de"
|
|
13
|
+
IT = "it"
|
|
14
|
+
PT = "pt"
|
|
15
|
+
NL = "nl"
|
|
16
|
+
RU = "ru"
|
|
17
|
+
JA = "ja"
|
|
18
|
+
KO = "ko"
|
|
19
|
+
ZH = "zh"
|
|
20
|
+
AR = "ar"
|
|
21
|
+
HI = "hi"
|
|
22
|
+
TR = "tr"
|
|
23
|
+
PL = "pl"
|
|
24
|
+
SV = "sv"
|
|
25
|
+
DA = "da"
|
|
26
|
+
NO = "no"
|
|
27
|
+
FI = "fi"
|
|
28
|
+
CS = "cs"
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class AudioInput < Internal::Types::Model
|
|
6
|
+
field :type, -> { DexaAiSdk::Types::AudioInputType }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :url, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :data, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :mime_type, -> { String }, optional: true, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class Choice < Internal::Types::Model
|
|
6
|
+
field :message, -> { DexaAiSdk::Types::ResponseMessage }, optional: false, nullable: false
|
|
7
|
+
|
|
8
|
+
field :finish_reason, -> { DexaAiSdk::Types::ChoiceFinishReason }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class ContentPart < Internal::Types::Model
|
|
6
|
+
field :type, -> { DexaAiSdk::Types::ContentPartType }, optional: true, nullable: false
|
|
7
|
+
|
|
8
|
+
field :text, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :language, -> { DexaAiSdk::Types::ContentPartLanguage }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :image_url, -> { DexaAiSdk::Types::ImageURL }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :image, -> { DexaAiSdk::Types::ImageInput }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :audio, -> { DexaAiSdk::Types::AudioInput }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :input_audio, -> { DexaAiSdk::Types::AudioInput }, optional: true, nullable: false
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
module ContentPartLanguage
|
|
6
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
EN = "en"
|
|
9
|
+
ES = "es"
|
|
10
|
+
FR = "fr"
|
|
11
|
+
DE = "de"
|
|
12
|
+
IT = "it"
|
|
13
|
+
PT = "pt"
|
|
14
|
+
NL = "nl"
|
|
15
|
+
RU = "ru"
|
|
16
|
+
JA = "ja"
|
|
17
|
+
KO = "ko"
|
|
18
|
+
ZH = "zh"
|
|
19
|
+
AR = "ar"
|
|
20
|
+
HI = "hi"
|
|
21
|
+
TR = "tr"
|
|
22
|
+
PL = "pl"
|
|
23
|
+
SV = "sv"
|
|
24
|
+
DA = "da"
|
|
25
|
+
NO = "no"
|
|
26
|
+
FI = "fi"
|
|
27
|
+
CS = "cs"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
module ContentPartType
|
|
6
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
TEXT = "text"
|
|
9
|
+
IMAGE_URL = "image_url"
|
|
10
|
+
IMAGE = "image"
|
|
11
|
+
AUDIO = "audio"
|
|
12
|
+
INPUT_AUDIO = "input_audio"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class DecideResponse < Internal::Types::Model
|
|
6
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
7
|
+
|
|
8
|
+
field :model, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :choices, -> { Internal::Types::Array[DexaAiSdk::Types::Choice] }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :result, -> { DexaAiSdk::Types::DecideResult }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :decision, -> { DexaAiSdk::Types::DecideResult }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :value, -> { String }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :usage, -> { DexaAiSdk::Types::Usage }, optional: false, nullable: false
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class DecideResult < Internal::Types::Model
|
|
6
|
+
field :value, -> { String }, optional: false, nullable: false
|
|
7
|
+
|
|
8
|
+
field :reason, -> { String }, optional: true, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
class DecideTask < Internal::Types::Model
|
|
6
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
7
|
+
|
|
8
|
+
field :id, -> { String }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :question, -> { String }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :choices, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :options, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :instruction, -> { String }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :target_language, -> { DexaAiSdk::Types::DecideTaskTargetLanguage }, optional: true, nullable: false
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DexaAiSdk
|
|
4
|
+
module Types
|
|
5
|
+
module DecideTaskTargetLanguage
|
|
6
|
+
extend DexaAiSdk::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
EN = "en"
|
|
9
|
+
ES = "es"
|
|
10
|
+
FR = "fr"
|
|
11
|
+
DE = "de"
|
|
12
|
+
IT = "it"
|
|
13
|
+
PT = "pt"
|
|
14
|
+
NL = "nl"
|
|
15
|
+
RU = "ru"
|
|
16
|
+
JA = "ja"
|
|
17
|
+
KO = "ko"
|
|
18
|
+
ZH = "zh"
|
|
19
|
+
AR = "ar"
|
|
20
|
+
HI = "hi"
|
|
21
|
+
TR = "tr"
|
|
22
|
+
PL = "pl"
|
|
23
|
+
SV = "sv"
|
|
24
|
+
DA = "da"
|
|
25
|
+
NO = "no"
|
|
26
|
+
FI = "fi"
|
|
27
|
+
CS = "cs"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|