elasticsearch-api 8.17.1 → 8.18.0
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/elasticsearch-api.gemspec +2 -1
- data/lib/elasticsearch/api/actions/async_search/submit.rb +1 -0
- data/lib/elasticsearch/api/actions/bulk.rb +1 -0
- data/lib/elasticsearch/api/actions/cat/help.rb +1 -3
- data/lib/elasticsearch/api/actions/cat/segments.rb +2 -0
- data/lib/elasticsearch/api/actions/cat/tasks.rb +2 -0
- data/lib/elasticsearch/api/actions/create.rb +1 -0
- data/lib/elasticsearch/api/actions/eql/search.rb +2 -0
- data/lib/elasticsearch/api/actions/esql/async_query_delete.rb +60 -0
- data/lib/elasticsearch/api/actions/esql/async_query_stop.rb +60 -0
- data/lib/elasticsearch/api/actions/index.rb +1 -0
- data/lib/elasticsearch/api/actions/indices/get_data_lifecycle_stats.rb +50 -0
- data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -0
- data/lib/elasticsearch/api/actions/indices/resolve_cluster.rb +11 -8
- data/lib/elasticsearch/api/actions/indices/rollover.rb +0 -1
- data/lib/elasticsearch/api/actions/inference/chat_completion_unified.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/completion.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/delete.rb +0 -4
- data/lib/elasticsearch/api/actions/inference/get.rb +0 -4
- data/lib/elasticsearch/api/actions/inference/inference.rb +0 -4
- data/lib/elasticsearch/api/actions/inference/put.rb +0 -4
- data/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_anthropic.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_azureopenai.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_cohere.rb +65 -0
- data/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_elser.rb +65 -0
- data/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_hugging_face.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_jinaai.rb +65 -0
- data/lib/elasticsearch/api/actions/inference/put_mistral.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_openai.rb +65 -0
- data/lib/elasticsearch/api/actions/inference/put_voyageai.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/put_watsonx.rb +69 -0
- data/lib/elasticsearch/api/actions/inference/rerank.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/sparse_embedding.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/stream_completion.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/text_embedding.rb +61 -0
- data/lib/elasticsearch/api/actions/inference/{stream_inference.rb → update.rb} +8 -12
- data/lib/elasticsearch/api/actions/license/post_start_trial.rb +0 -1
- data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +2 -1
- data/lib/elasticsearch/api/actions/security/delegate_pki.rb +53 -0
- data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +3 -1
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +3 -1
- data/lib/elasticsearch/api/actions/update.rb +1 -0
- data/lib/elasticsearch/api/actions/xpack/info.rb +1 -0
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/actions/esql/async_query_delete_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/esql/async_query_stop_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/indices/get_data_lifecycle_stats_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/indices/resolve_cluster_spec.rb +14 -9
- data/spec/elasticsearch/api/actions/inference/chat_completion_unified_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/completion_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_alibabacloud_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_amazonbedrock_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_anthropic_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_azureaistudio_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_azureopenai_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_cohere_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_elasticsearch_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_elser_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_googleaistudio_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_googlevertexai_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_huggingface_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_jinaai_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_mistral_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_openai_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_voyageai_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/put_watsonx_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/inference/rerank_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/inference/{stream_inference_spec.rb → sparse_embedding_spec.rb} +4 -4
- data/spec/elasticsearch/api/actions/inference/stream_completion_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/inference/text_embedding_spec.rb +35 -0
- data/spec/elasticsearch/api/actions/inference/update_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/security/delegate_pki_spec.rb +39 -0
- data/spec/rest_api/skipped_tests_free.yml +15 -0
- data/spec/rest_api/skipped_tests_platinum.yml +13 -0
- data/spec/unit/actions/async_search/delete_spec.rb +35 -0
- data/spec/unit/actions/async_search/get_spec.rb +35 -0
- data/spec/unit/actions/async_search/status_spec.rb +34 -0
- data/spec/unit/actions/async_search/submit_spec.rb +87 -0
- data/spec/yaml-test-runner/run.rb +4 -1
- data/utils/Gemfile +1 -1
- metadata +105 -5
@@ -0,0 +1,69 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure a HuggingFace inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :huggingface_inference_id The inference Id
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-hugging-face.html
|
33
|
+
#
|
34
|
+
def put_hugging_face(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_hugging_face' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type huggingface_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
|
44
|
+
unless arguments[:huggingface_inference_id]
|
45
|
+
raise ArgumentError,
|
46
|
+
"Required argument 'huggingface_inference_id' missing"
|
47
|
+
end
|
48
|
+
|
49
|
+
arguments = arguments.clone
|
50
|
+
headers = arguments.delete(:headers) || {}
|
51
|
+
|
52
|
+
body = arguments.delete(:body)
|
53
|
+
|
54
|
+
_task_type = arguments.delete(:task_type)
|
55
|
+
|
56
|
+
_huggingface_inference_id = arguments.delete(:huggingface_inference_id)
|
57
|
+
|
58
|
+
method = Elasticsearch::API::HTTP_PUT
|
59
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_huggingface_inference_id)}"
|
60
|
+
params = {}
|
61
|
+
|
62
|
+
Elasticsearch::API::Response.new(
|
63
|
+
perform_request(method, path, params, body, headers, request_opts)
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure a JinaAI inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :jinaai_inference_id The inference Id
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-jinaai.html
|
33
|
+
#
|
34
|
+
def put_jinaai(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_jinaai' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type jinaai_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
raise ArgumentError, "Required argument 'jinaai_inference_id' missing" unless arguments[:jinaai_inference_id]
|
44
|
+
|
45
|
+
arguments = arguments.clone
|
46
|
+
headers = arguments.delete(:headers) || {}
|
47
|
+
|
48
|
+
body = arguments.delete(:body)
|
49
|
+
|
50
|
+
_task_type = arguments.delete(:task_type)
|
51
|
+
|
52
|
+
_jinaai_inference_id = arguments.delete(:jinaai_inference_id)
|
53
|
+
|
54
|
+
method = Elasticsearch::API::HTTP_PUT
|
55
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_jinaai_inference_id)}"
|
56
|
+
params = {}
|
57
|
+
|
58
|
+
Elasticsearch::API::Response.new(
|
59
|
+
perform_request(method, path, params, body, headers, request_opts)
|
60
|
+
)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure a Mistral inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :mistral_inference_id The inference Id
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-mistral.html
|
33
|
+
#
|
34
|
+
def put_mistral(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_mistral' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type mistral_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
|
44
|
+
unless arguments[:mistral_inference_id]
|
45
|
+
raise ArgumentError,
|
46
|
+
"Required argument 'mistral_inference_id' missing"
|
47
|
+
end
|
48
|
+
|
49
|
+
arguments = arguments.clone
|
50
|
+
headers = arguments.delete(:headers) || {}
|
51
|
+
|
52
|
+
body = arguments.delete(:body)
|
53
|
+
|
54
|
+
_task_type = arguments.delete(:task_type)
|
55
|
+
|
56
|
+
_mistral_inference_id = arguments.delete(:mistral_inference_id)
|
57
|
+
|
58
|
+
method = Elasticsearch::API::HTTP_PUT
|
59
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_mistral_inference_id)}"
|
60
|
+
params = {}
|
61
|
+
|
62
|
+
Elasticsearch::API::Response.new(
|
63
|
+
perform_request(method, path, params, body, headers, request_opts)
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure an OpenAI inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :openai_inference_id The inference ID
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-openai.html
|
33
|
+
#
|
34
|
+
def put_openai(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_openai' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type openai_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
raise ArgumentError, "Required argument 'openai_inference_id' missing" unless arguments[:openai_inference_id]
|
44
|
+
|
45
|
+
arguments = arguments.clone
|
46
|
+
headers = arguments.delete(:headers) || {}
|
47
|
+
|
48
|
+
body = arguments.delete(:body)
|
49
|
+
|
50
|
+
_task_type = arguments.delete(:task_type)
|
51
|
+
|
52
|
+
_openai_inference_id = arguments.delete(:openai_inference_id)
|
53
|
+
|
54
|
+
method = Elasticsearch::API::HTTP_PUT
|
55
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_openai_inference_id)}"
|
56
|
+
params = {}
|
57
|
+
|
58
|
+
Elasticsearch::API::Response.new(
|
59
|
+
perform_request(method, path, params, body, headers, request_opts)
|
60
|
+
)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure a VoyageAI inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :voyageai_inference_id The inference ID
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/inference-apis.html
|
33
|
+
#
|
34
|
+
def put_voyageai(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_voyageai' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type voyageai_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
|
44
|
+
unless arguments[:voyageai_inference_id]
|
45
|
+
raise ArgumentError,
|
46
|
+
"Required argument 'voyageai_inference_id' missing"
|
47
|
+
end
|
48
|
+
|
49
|
+
arguments = arguments.clone
|
50
|
+
headers = arguments.delete(:headers) || {}
|
51
|
+
|
52
|
+
body = arguments.delete(:body)
|
53
|
+
|
54
|
+
_task_type = arguments.delete(:task_type)
|
55
|
+
|
56
|
+
_voyageai_inference_id = arguments.delete(:voyageai_inference_id)
|
57
|
+
|
58
|
+
method = Elasticsearch::API::HTTP_PUT
|
59
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_voyageai_inference_id)}"
|
60
|
+
params = {}
|
61
|
+
|
62
|
+
Elasticsearch::API::Response.new(
|
63
|
+
perform_request(method, path, params, body, headers, request_opts)
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Configure a Watsonx inference endpoint
|
26
|
+
#
|
27
|
+
# @option arguments [String] :task_type The task type
|
28
|
+
# @option arguments [String] :watsonx_inference_id The inference Id
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The inference endpoint's task and service settings
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-watsonx-ai.html
|
33
|
+
#
|
34
|
+
def put_watsonx(arguments = {})
|
35
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.put_watsonx' }
|
36
|
+
|
37
|
+
defined_params = %i[task_type watsonx_inference_id].each_with_object({}) do |variable, set_variables|
|
38
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
39
|
+
end
|
40
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
41
|
+
|
42
|
+
raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
|
43
|
+
|
44
|
+
unless arguments[:watsonx_inference_id]
|
45
|
+
raise ArgumentError,
|
46
|
+
"Required argument 'watsonx_inference_id' missing"
|
47
|
+
end
|
48
|
+
|
49
|
+
arguments = arguments.clone
|
50
|
+
headers = arguments.delete(:headers) || {}
|
51
|
+
|
52
|
+
body = arguments.delete(:body)
|
53
|
+
|
54
|
+
_task_type = arguments.delete(:task_type)
|
55
|
+
|
56
|
+
_watsonx_inference_id = arguments.delete(:watsonx_inference_id)
|
57
|
+
|
58
|
+
method = Elasticsearch::API::HTTP_PUT
|
59
|
+
path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_watsonx_inference_id)}"
|
60
|
+
params = {}
|
61
|
+
|
62
|
+
Elasticsearch::API::Response.new(
|
63
|
+
perform_request(method, path, params, body, headers, request_opts)
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Perform reranking inference
|
26
|
+
#
|
27
|
+
# @option arguments [String] :inference_id The inference Id
|
28
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
29
|
+
# @option arguments [Hash] :body The inference payload
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/post-inference-api.html
|
32
|
+
#
|
33
|
+
def rerank(arguments = {})
|
34
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.rerank' }
|
35
|
+
|
36
|
+
defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
|
37
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
38
|
+
end
|
39
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
40
|
+
|
41
|
+
raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
|
42
|
+
|
43
|
+
arguments = arguments.clone
|
44
|
+
headers = arguments.delete(:headers) || {}
|
45
|
+
|
46
|
+
body = arguments.delete(:body)
|
47
|
+
|
48
|
+
_inference_id = arguments.delete(:inference_id)
|
49
|
+
|
50
|
+
method = Elasticsearch::API::HTTP_POST
|
51
|
+
path = "_inference/rerank/#{Utils.__listify(_inference_id)}"
|
52
|
+
params = {}
|
53
|
+
|
54
|
+
Elasticsearch::API::Response.new(
|
55
|
+
perform_request(method, path, params, body, headers, request_opts)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Perform sparse embedding inference
|
26
|
+
#
|
27
|
+
# @option arguments [String] :inference_id The inference Id
|
28
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
29
|
+
# @option arguments [Hash] :body The inference payload
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/post-inference-api.html
|
32
|
+
#
|
33
|
+
def sparse_embedding(arguments = {})
|
34
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.sparse_embedding' }
|
35
|
+
|
36
|
+
defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
|
37
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
38
|
+
end
|
39
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
40
|
+
|
41
|
+
raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
|
42
|
+
|
43
|
+
arguments = arguments.clone
|
44
|
+
headers = arguments.delete(:headers) || {}
|
45
|
+
|
46
|
+
body = arguments.delete(:body)
|
47
|
+
|
48
|
+
_inference_id = arguments.delete(:inference_id)
|
49
|
+
|
50
|
+
method = Elasticsearch::API::HTTP_POST
|
51
|
+
path = "_inference/sparse_embedding/#{Utils.__listify(_inference_id)}"
|
52
|
+
params = {}
|
53
|
+
|
54
|
+
Elasticsearch::API::Response.new(
|
55
|
+
perform_request(method, path, params, body, headers, request_opts)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Perform streaming completion inference
|
26
|
+
#
|
27
|
+
# @option arguments [String] :inference_id The inference Id
|
28
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
29
|
+
# @option arguments [Hash] :body The inference payload
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/post-stream-inference-api.html
|
32
|
+
#
|
33
|
+
def stream_completion(arguments = {})
|
34
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.stream_completion' }
|
35
|
+
|
36
|
+
defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
|
37
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
38
|
+
end
|
39
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
40
|
+
|
41
|
+
raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
|
42
|
+
|
43
|
+
arguments = arguments.clone
|
44
|
+
headers = arguments.delete(:headers) || {}
|
45
|
+
|
46
|
+
body = arguments.delete(:body)
|
47
|
+
|
48
|
+
_inference_id = arguments.delete(:inference_id)
|
49
|
+
|
50
|
+
method = Elasticsearch::API::HTTP_POST
|
51
|
+
path = "_inference/completion/#{Utils.__listify(_inference_id)}/_stream"
|
52
|
+
params = {}
|
53
|
+
|
54
|
+
Elasticsearch::API::Response.new(
|
55
|
+
perform_request(method, path, params, body, headers, request_opts)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Inference
|
24
|
+
module Actions
|
25
|
+
# Perform text embedding inference
|
26
|
+
#
|
27
|
+
# @option arguments [String] :inference_id The inference Id
|
28
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
29
|
+
# @option arguments [Hash] :body The inference payload
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/post-inference-api.html
|
32
|
+
#
|
33
|
+
def text_embedding(arguments = {})
|
34
|
+
request_opts = { endpoint: arguments[:endpoint] || 'inference.text_embedding' }
|
35
|
+
|
36
|
+
defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
|
37
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
38
|
+
end
|
39
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
40
|
+
|
41
|
+
raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
|
42
|
+
|
43
|
+
arguments = arguments.clone
|
44
|
+
headers = arguments.delete(:headers) || {}
|
45
|
+
|
46
|
+
body = arguments.delete(:body)
|
47
|
+
|
48
|
+
_inference_id = arguments.delete(:inference_id)
|
49
|
+
|
50
|
+
method = Elasticsearch::API::HTTP_POST
|
51
|
+
path = "_inference/text_embedding/#{Utils.__listify(_inference_id)}"
|
52
|
+
params = {}
|
53
|
+
|
54
|
+
Elasticsearch::API::Response.new(
|
55
|
+
perform_request(method, path, params, body, headers, request_opts)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|