elasticsearch 9.1.3__py3-none-any.whl → 9.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. elasticsearch/_async/client/__init__.py +91 -24
  2. elasticsearch/_async/client/async_search.py +7 -0
  3. elasticsearch/_async/client/autoscaling.py +7 -0
  4. elasticsearch/_async/client/cat.py +8 -1
  5. elasticsearch/_async/client/cluster.py +7 -7
  6. elasticsearch/_async/client/eql.py +7 -0
  7. elasticsearch/_async/client/esql.py +26 -3
  8. elasticsearch/_async/client/indices.py +153 -7
  9. elasticsearch/_async/client/inference.py +315 -42
  10. elasticsearch/_async/client/ingest.py +8 -0
  11. elasticsearch/_async/client/license.py +4 -2
  12. elasticsearch/_async/client/ml.py +2 -2
  13. elasticsearch/_async/client/nodes.py +2 -4
  14. elasticsearch/_async/client/project.py +68 -0
  15. elasticsearch/_async/client/security.py +39 -0
  16. elasticsearch/_async/client/shutdown.py +6 -0
  17. elasticsearch/_async/client/simulate.py +8 -0
  18. elasticsearch/_async/client/snapshot.py +20 -10
  19. elasticsearch/_async/client/sql.py +7 -0
  20. elasticsearch/_async/client/streams.py +2 -3
  21. elasticsearch/_async/helpers.py +28 -15
  22. elasticsearch/_sync/client/__init__.py +91 -24
  23. elasticsearch/_sync/client/async_search.py +7 -0
  24. elasticsearch/_sync/client/autoscaling.py +7 -0
  25. elasticsearch/_sync/client/cat.py +8 -1
  26. elasticsearch/_sync/client/cluster.py +7 -7
  27. elasticsearch/_sync/client/eql.py +7 -0
  28. elasticsearch/_sync/client/esql.py +26 -3
  29. elasticsearch/_sync/client/indices.py +153 -7
  30. elasticsearch/_sync/client/inference.py +315 -42
  31. elasticsearch/_sync/client/ingest.py +8 -0
  32. elasticsearch/_sync/client/license.py +4 -2
  33. elasticsearch/_sync/client/ml.py +2 -2
  34. elasticsearch/_sync/client/nodes.py +2 -4
  35. elasticsearch/_sync/client/project.py +68 -0
  36. elasticsearch/_sync/client/security.py +39 -0
  37. elasticsearch/_sync/client/shutdown.py +6 -0
  38. elasticsearch/_sync/client/simulate.py +8 -0
  39. elasticsearch/_sync/client/snapshot.py +20 -10
  40. elasticsearch/_sync/client/sql.py +7 -0
  41. elasticsearch/_sync/client/streams.py +2 -3
  42. elasticsearch/_version.py +2 -2
  43. elasticsearch/client.py +2 -0
  44. elasticsearch/compat.py +2 -15
  45. elasticsearch/dsl/_async/document.py +2 -1
  46. elasticsearch/dsl/_sync/document.py +2 -1
  47. elasticsearch/dsl/document_base.py +38 -13
  48. elasticsearch/dsl/field.py +8 -0
  49. elasticsearch/dsl/pydantic.py +152 -0
  50. elasticsearch/dsl/query.py +5 -1
  51. elasticsearch/dsl/search_base.py +5 -1
  52. elasticsearch/dsl/types.py +37 -9
  53. elasticsearch/esql/esql.py +331 -41
  54. elasticsearch/esql/functions.py +88 -0
  55. elasticsearch/helpers/actions.py +1 -1
  56. {elasticsearch-9.1.3.dist-info → elasticsearch-9.2.1.dist-info}/METADATA +26 -4
  57. {elasticsearch-9.1.3.dist-info → elasticsearch-9.2.1.dist-info}/RECORD +60 -57
  58. {elasticsearch-9.1.3.dist-info → elasticsearch-9.2.1.dist-info}/WHEEL +0 -0
  59. {elasticsearch-9.1.3.dist-info → elasticsearch-9.2.1.dist-info}/licenses/LICENSE +0 -0
  60. {elasticsearch-9.1.3.dist-info → elasticsearch-9.2.1.dist-info}/licenses/NOTICE +0 -0
@@ -51,7 +51,9 @@ class InferenceClient(NamespacedClient):
51
51
 
52
52
  :param inference_id: The inference Id
53
53
  :param input: Inference input. Either a string or an array of strings.
54
- :param task_settings: Optional task settings
54
+ :param task_settings: Task settings for the individual inference request. These
55
+ settings are specific to the <task_type> you specified and override the task
56
+ settings specified when initializing the service.
55
57
  :param timeout: Specifies the amount of time to wait for the inference request
56
58
  to complete.
57
59
  """
@@ -117,14 +119,16 @@ class InferenceClient(NamespacedClient):
117
119
  .. raw:: html
118
120
 
119
121
  <p>Delete an inference endpoint.</p>
122
+ <p>This API requires the manage_inference cluster privilege (the built-in <code>inference_admin</code> role grants this privilege).</p>
120
123
 
121
124
 
122
125
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-delete>`_
123
126
 
124
127
  :param inference_id: The inference identifier.
125
128
  :param task_type: The task type
126
- :param dry_run: When true, the endpoint is not deleted and a list of ingest processors
127
- which reference this endpoint is returned.
129
+ :param dry_run: When true, checks the semantic_text fields and inference processors
130
+ that reference the endpoint and returns them in a list, but does not delete
131
+ the endpoint.
128
132
  :param force: When true, the inference endpoint is forcefully deleted even if
129
133
  it is still being used by ingest processors or semantic text fields.
130
134
  """
@@ -191,6 +195,7 @@ class InferenceClient(NamespacedClient):
191
195
  .. raw:: html
192
196
 
193
197
  <p>Get an inference endpoint.</p>
198
+ <p>This API requires the <code>monitor_inference</code> cluster privilege (the built-in <code>inference_admin</code> and <code>inference_user</code> roles grant this privilege).</p>
194
199
 
195
200
 
196
201
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-get>`_
@@ -381,11 +386,12 @@ class InferenceClient(NamespacedClient):
381
386
  However, if you do not plan to use the inference APIs to use these models or if you want to use non-NLP models, use the machine learning trained model APIs.</p>
382
387
  <p>The following integrations are available through the inference API. You can find the available task types next to the integration name:</p>
383
388
  <ul>
389
+ <li>AI21 (<code>chat_completion</code>, <code>completion</code>)</li>
384
390
  <li>AlibabaCloud AI Search (<code>completion</code>, <code>rerank</code>, <code>sparse_embedding</code>, <code>text_embedding</code>)</li>
385
391
  <li>Amazon Bedrock (<code>completion</code>, <code>text_embedding</code>)</li>
386
392
  <li>Amazon SageMaker (<code>chat_completion</code>, <code>completion</code>, <code>rerank</code>, <code>sparse_embedding</code>, <code>text_embedding</code>)</li>
387
393
  <li>Anthropic (<code>completion</code>)</li>
388
- <li>Azure AI Studio (<code>completion</code>, <code>text_embedding</code>)</li>
394
+ <li>Azure AI Studio (<code>completion</code>, 'rerank', <code>text_embedding</code>)</li>
389
395
  <li>Azure OpenAI (<code>completion</code>, <code>text_embedding</code>)</li>
390
396
  <li>Cohere (<code>completion</code>, <code>rerank</code>, <code>text_embedding</code>)</li>
391
397
  <li>DeepSeek (<code>chat_completion</code>, <code>completion</code>)</li>
@@ -455,6 +461,82 @@ class InferenceClient(NamespacedClient):
455
461
  path_parts=__path_parts,
456
462
  )
457
463
 
464
+ @_rewrite_parameters(
465
+ body_fields=("service", "service_settings"),
466
+ )
467
+ def put_ai21(
468
+ self,
469
+ *,
470
+ task_type: t.Union[str, t.Literal["chat_completion", "completion"]],
471
+ ai21_inference_id: str,
472
+ service: t.Optional[t.Union[str, t.Literal["ai21"]]] = None,
473
+ service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
474
+ error_trace: t.Optional[bool] = None,
475
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
476
+ human: t.Optional[bool] = None,
477
+ pretty: t.Optional[bool] = None,
478
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
479
+ body: t.Optional[t.Dict[str, t.Any]] = None,
480
+ ) -> ObjectApiResponse[t.Any]:
481
+ """
482
+ .. raw:: html
483
+
484
+ <p>Create a AI21 inference endpoint.</p>
485
+ <p>Create an inference endpoint to perform an inference task with the <code>ai21</code> service.</p>
486
+
487
+
488
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-ai21>`_
489
+
490
+ :param task_type: The type of the inference task that the model will perform.
491
+ :param ai21_inference_id: The unique identifier of the inference endpoint.
492
+ :param service: The type of service supported for the specified task type. In
493
+ this case, `ai21`.
494
+ :param service_settings: Settings used to install the inference model. These
495
+ settings are specific to the `ai21` service.
496
+ :param timeout: Specifies the amount of time to wait for the inference endpoint
497
+ to be created.
498
+ """
499
+ if task_type in SKIP_IN_PATH:
500
+ raise ValueError("Empty value passed for parameter 'task_type'")
501
+ if ai21_inference_id in SKIP_IN_PATH:
502
+ raise ValueError("Empty value passed for parameter 'ai21_inference_id'")
503
+ if service is None and body is None:
504
+ raise ValueError("Empty value passed for parameter 'service'")
505
+ if service_settings is None and body is None:
506
+ raise ValueError("Empty value passed for parameter 'service_settings'")
507
+ __path_parts: t.Dict[str, str] = {
508
+ "task_type": _quote(task_type),
509
+ "ai21_inference_id": _quote(ai21_inference_id),
510
+ }
511
+ __path = f'/_inference/{__path_parts["task_type"]}/{__path_parts["ai21_inference_id"]}'
512
+ __query: t.Dict[str, t.Any] = {}
513
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
514
+ if error_trace is not None:
515
+ __query["error_trace"] = error_trace
516
+ if filter_path is not None:
517
+ __query["filter_path"] = filter_path
518
+ if human is not None:
519
+ __query["human"] = human
520
+ if pretty is not None:
521
+ __query["pretty"] = pretty
522
+ if timeout is not None:
523
+ __query["timeout"] = timeout
524
+ if not __body:
525
+ if service is not None:
526
+ __body["service"] = service
527
+ if service_settings is not None:
528
+ __body["service_settings"] = service_settings
529
+ __headers = {"accept": "application/json", "content-type": "application/json"}
530
+ return self.perform_request( # type: ignore[return-value]
531
+ "PUT",
532
+ __path,
533
+ params=__query,
534
+ headers=__headers,
535
+ body=__body,
536
+ endpoint_id="inference.put_ai21",
537
+ path_parts=__path_parts,
538
+ )
539
+
458
540
  @_rewrite_parameters(
459
541
  body_fields=(
460
542
  "service",
@@ -467,7 +549,7 @@ class InferenceClient(NamespacedClient):
467
549
  self,
468
550
  *,
469
551
  task_type: t.Union[
470
- str, t.Literal["completion", "rerank", "space_embedding", "text_embedding"]
552
+ str, t.Literal["completion", "rerank", "sparse_embedding", "text_embedding"]
471
553
  ],
472
554
  alibabacloud_inference_id: str,
473
555
  service: t.Optional[t.Union[str, t.Literal["alibabacloud-ai-search"]]] = None,
@@ -496,7 +578,9 @@ class InferenceClient(NamespacedClient):
496
578
  this case, `alibabacloud-ai-search`.
497
579
  :param service_settings: Settings used to install the inference model. These
498
580
  settings are specific to the `alibabacloud-ai-search` service.
499
- :param chunking_settings: The chunking configuration object.
581
+ :param chunking_settings: The chunking configuration object. Applies only to
582
+ the `sparse_embedding` or `text_embedding` task types. Not applicable to
583
+ the `rerank` or `completion` task types.
500
584
  :param task_settings: Settings to configure the inference task. These settings
501
585
  are specific to the task type you specified.
502
586
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -592,7 +676,8 @@ class InferenceClient(NamespacedClient):
592
676
  this case, `amazonbedrock`.
593
677
  :param service_settings: Settings used to install the inference model. These
594
678
  settings are specific to the `amazonbedrock` service.
595
- :param chunking_settings: The chunking configuration object.
679
+ :param chunking_settings: The chunking configuration object. Applies only to
680
+ the `text_embedding` task type. Not applicable to the `completion` task type.
596
681
  :param task_settings: Settings to configure the inference task. These settings
597
682
  are specific to the task type you specified.
598
683
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -694,7 +779,9 @@ class InferenceClient(NamespacedClient):
694
779
  :param service_settings: Settings used to install the inference model. These
695
780
  settings are specific to the `amazon_sagemaker` service and `service_settings.api`
696
781
  you specified.
697
- :param chunking_settings: The chunking configuration object.
782
+ :param chunking_settings: The chunking configuration object. Applies only to
783
+ the `sparse_embedding` or `text_embedding` task types. Not applicable to
784
+ the `rerank`, `completion`, or `chat_completion` task types.
698
785
  :param task_settings: Settings to configure the inference task. These settings
699
786
  are specific to the task type and `service_settings.api` you specified.
700
787
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -748,12 +835,7 @@ class InferenceClient(NamespacedClient):
748
835
  )
749
836
 
750
837
  @_rewrite_parameters(
751
- body_fields=(
752
- "service",
753
- "service_settings",
754
- "chunking_settings",
755
- "task_settings",
756
- ),
838
+ body_fields=("service", "service_settings", "task_settings"),
757
839
  )
758
840
  def put_anthropic(
759
841
  self,
@@ -762,7 +844,6 @@ class InferenceClient(NamespacedClient):
762
844
  anthropic_inference_id: str,
763
845
  service: t.Optional[t.Union[str, t.Literal["anthropic"]]] = None,
764
846
  service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
765
- chunking_settings: t.Optional[t.Mapping[str, t.Any]] = None,
766
847
  error_trace: t.Optional[bool] = None,
767
848
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
768
849
  human: t.Optional[bool] = None,
@@ -786,8 +867,7 @@ class InferenceClient(NamespacedClient):
786
867
  :param service: The type of service supported for the specified task type. In
787
868
  this case, `anthropic`.
788
869
  :param service_settings: Settings used to install the inference model. These
789
- settings are specific to the `watsonxai` service.
790
- :param chunking_settings: The chunking configuration object.
870
+ settings are specific to the `anthropic` service.
791
871
  :param task_settings: Settings to configure the inference task. These settings
792
872
  are specific to the task type you specified.
793
873
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -825,8 +905,6 @@ class InferenceClient(NamespacedClient):
825
905
  __body["service"] = service
826
906
  if service_settings is not None:
827
907
  __body["service_settings"] = service_settings
828
- if chunking_settings is not None:
829
- __body["chunking_settings"] = chunking_settings
830
908
  if task_settings is not None:
831
909
  __body["task_settings"] = task_settings
832
910
  __headers = {"accept": "application/json", "content-type": "application/json"}
@@ -851,7 +929,7 @@ class InferenceClient(NamespacedClient):
851
929
  def put_azureaistudio(
852
930
  self,
853
931
  *,
854
- task_type: t.Union[str, t.Literal["completion", "text_embedding"]],
932
+ task_type: t.Union[str, t.Literal["completion", "rerank", "text_embedding"]],
855
933
  azureaistudio_inference_id: str,
856
934
  service: t.Optional[t.Union[str, t.Literal["azureaistudio"]]] = None,
857
935
  service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
@@ -878,8 +956,10 @@ class InferenceClient(NamespacedClient):
878
956
  :param service: The type of service supported for the specified task type. In
879
957
  this case, `azureaistudio`.
880
958
  :param service_settings: Settings used to install the inference model. These
881
- settings are specific to the `openai` service.
882
- :param chunking_settings: The chunking configuration object.
959
+ settings are specific to the `azureaistudio` service.
960
+ :param chunking_settings: The chunking configuration object. Applies only to
961
+ the `text_embedding` task type. Not applicable to the `rerank` or `completion`
962
+ task types.
883
963
  :param task_settings: Settings to configure the inference task. These settings
884
964
  are specific to the task type you specified.
885
965
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -979,7 +1059,8 @@ class InferenceClient(NamespacedClient):
979
1059
  this case, `azureopenai`.
980
1060
  :param service_settings: Settings used to install the inference model. These
981
1061
  settings are specific to the `azureopenai` service.
982
- :param chunking_settings: The chunking configuration object.
1062
+ :param chunking_settings: The chunking configuration object. Applies only to
1063
+ the `text_embedding` task type. Not applicable to the `completion` task type.
983
1064
  :param task_settings: Settings to configure the inference task. These settings
984
1065
  are specific to the task type you specified.
985
1066
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1071,7 +1152,9 @@ class InferenceClient(NamespacedClient):
1071
1152
  this case, `cohere`.
1072
1153
  :param service_settings: Settings used to install the inference model. These
1073
1154
  settings are specific to the `cohere` service.
1074
- :param chunking_settings: The chunking configuration object.
1155
+ :param chunking_settings: The chunking configuration object. Applies only to
1156
+ the `text_embedding` task type. Not applicable to the `rerank` or `completion`
1157
+ task type.
1075
1158
  :param task_settings: Settings to configure the inference task. These settings
1076
1159
  are specific to the task type you specified.
1077
1160
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1122,6 +1205,90 @@ class InferenceClient(NamespacedClient):
1122
1205
  path_parts=__path_parts,
1123
1206
  )
1124
1207
 
1208
+ @_rewrite_parameters(
1209
+ body_fields=("service", "service_settings", "task_settings"),
1210
+ )
1211
+ def put_contextualai(
1212
+ self,
1213
+ *,
1214
+ task_type: t.Union[str, t.Literal["rerank"]],
1215
+ contextualai_inference_id: str,
1216
+ service: t.Optional[t.Union[str, t.Literal["contextualai"]]] = None,
1217
+ service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
1218
+ error_trace: t.Optional[bool] = None,
1219
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
1220
+ human: t.Optional[bool] = None,
1221
+ pretty: t.Optional[bool] = None,
1222
+ task_settings: t.Optional[t.Mapping[str, t.Any]] = None,
1223
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
1224
+ body: t.Optional[t.Dict[str, t.Any]] = None,
1225
+ ) -> ObjectApiResponse[t.Any]:
1226
+ """
1227
+ .. raw:: html
1228
+
1229
+ <p>Create an Contextual AI inference endpoint.</p>
1230
+ <p>Create an inference endpoint to perform an inference task with the <code>contexualai</code> service.</p>
1231
+ <p>To review the available <code>rerank</code> models, refer to <a href="https://docs.contextual.ai/api-reference/rerank/rerank#body-model">https://docs.contextual.ai/api-reference/rerank/rerank#body-model</a>.</p>
1232
+
1233
+
1234
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-contextualai>`_
1235
+
1236
+ :param task_type: The type of the inference task that the model will perform.
1237
+ :param contextualai_inference_id: The unique identifier of the inference endpoint.
1238
+ :param service: The type of service supported for the specified task type. In
1239
+ this case, `contextualai`.
1240
+ :param service_settings: Settings used to install the inference model. These
1241
+ settings are specific to the `contextualai` service.
1242
+ :param task_settings: Settings to configure the inference task. These settings
1243
+ are specific to the task type you specified.
1244
+ :param timeout: Specifies the amount of time to wait for the inference endpoint
1245
+ to be created.
1246
+ """
1247
+ if task_type in SKIP_IN_PATH:
1248
+ raise ValueError("Empty value passed for parameter 'task_type'")
1249
+ if contextualai_inference_id in SKIP_IN_PATH:
1250
+ raise ValueError(
1251
+ "Empty value passed for parameter 'contextualai_inference_id'"
1252
+ )
1253
+ if service is None and body is None:
1254
+ raise ValueError("Empty value passed for parameter 'service'")
1255
+ if service_settings is None and body is None:
1256
+ raise ValueError("Empty value passed for parameter 'service_settings'")
1257
+ __path_parts: t.Dict[str, str] = {
1258
+ "task_type": _quote(task_type),
1259
+ "contextualai_inference_id": _quote(contextualai_inference_id),
1260
+ }
1261
+ __path = f'/_inference/{__path_parts["task_type"]}/{__path_parts["contextualai_inference_id"]}'
1262
+ __query: t.Dict[str, t.Any] = {}
1263
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
1264
+ if error_trace is not None:
1265
+ __query["error_trace"] = error_trace
1266
+ if filter_path is not None:
1267
+ __query["filter_path"] = filter_path
1268
+ if human is not None:
1269
+ __query["human"] = human
1270
+ if pretty is not None:
1271
+ __query["pretty"] = pretty
1272
+ if timeout is not None:
1273
+ __query["timeout"] = timeout
1274
+ if not __body:
1275
+ if service is not None:
1276
+ __body["service"] = service
1277
+ if service_settings is not None:
1278
+ __body["service_settings"] = service_settings
1279
+ if task_settings is not None:
1280
+ __body["task_settings"] = task_settings
1281
+ __headers = {"accept": "application/json", "content-type": "application/json"}
1282
+ return self.perform_request( # type: ignore[return-value]
1283
+ "PUT",
1284
+ __path,
1285
+ params=__query,
1286
+ headers=__headers,
1287
+ body=__body,
1288
+ endpoint_id="inference.put_contextualai",
1289
+ path_parts=__path_parts,
1290
+ )
1291
+
1125
1292
  @_rewrite_parameters(
1126
1293
  body_fields=(
1127
1294
  "service",
@@ -1202,7 +1369,9 @@ class InferenceClient(NamespacedClient):
1202
1369
  this case, `custom`.
1203
1370
  :param service_settings: Settings used to install the inference model. These
1204
1371
  settings are specific to the `custom` service.
1205
- :param chunking_settings: The chunking configuration object.
1372
+ :param chunking_settings: The chunking configuration object. Applies only to
1373
+ the `sparse_embedding` or `text_embedding` task types. Not applicable to
1374
+ the `rerank` or `completion` task types.
1206
1375
  :param task_settings: Settings to configure the inference task. These settings
1207
1376
  are specific to the task type you specified.
1208
1377
  """
@@ -1250,7 +1419,7 @@ class InferenceClient(NamespacedClient):
1250
1419
  )
1251
1420
 
1252
1421
  @_rewrite_parameters(
1253
- body_fields=("service", "service_settings", "chunking_settings"),
1422
+ body_fields=("service", "service_settings"),
1254
1423
  )
1255
1424
  def put_deepseek(
1256
1425
  self,
@@ -1259,7 +1428,6 @@ class InferenceClient(NamespacedClient):
1259
1428
  deepseek_inference_id: str,
1260
1429
  service: t.Optional[t.Union[str, t.Literal["deepseek"]]] = None,
1261
1430
  service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
1262
- chunking_settings: t.Optional[t.Mapping[str, t.Any]] = None,
1263
1431
  error_trace: t.Optional[bool] = None,
1264
1432
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
1265
1433
  human: t.Optional[bool] = None,
@@ -1282,7 +1450,6 @@ class InferenceClient(NamespacedClient):
1282
1450
  this case, `deepseek`.
1283
1451
  :param service_settings: Settings used to install the inference model. These
1284
1452
  settings are specific to the `deepseek` service.
1285
- :param chunking_settings: The chunking configuration object.
1286
1453
  :param timeout: Specifies the amount of time to wait for the inference endpoint
1287
1454
  to be created.
1288
1455
  """
@@ -1316,8 +1483,6 @@ class InferenceClient(NamespacedClient):
1316
1483
  __body["service"] = service
1317
1484
  if service_settings is not None:
1318
1485
  __body["service_settings"] = service_settings
1319
- if chunking_settings is not None:
1320
- __body["chunking_settings"] = chunking_settings
1321
1486
  __headers = {"accept": "application/json", "content-type": "application/json"}
1322
1487
  return self.perform_request( # type: ignore[return-value]
1323
1488
  "PUT",
@@ -1384,7 +1549,9 @@ class InferenceClient(NamespacedClient):
1384
1549
  this case, `elasticsearch`.
1385
1550
  :param service_settings: Settings used to install the inference model. These
1386
1551
  settings are specific to the `elasticsearch` service.
1387
- :param chunking_settings: The chunking configuration object.
1552
+ :param chunking_settings: The chunking configuration object. Applies only to
1553
+ the `sparse_embedding` and `text_embedding` task types. Not applicable to
1554
+ the `rerank` task type.
1388
1555
  :param task_settings: Settings to configure the inference task. These settings
1389
1556
  are specific to the task type you specified.
1390
1557
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1484,7 +1651,8 @@ class InferenceClient(NamespacedClient):
1484
1651
  this case, `elser`.
1485
1652
  :param service_settings: Settings used to install the inference model. These
1486
1653
  settings are specific to the `elser` service.
1487
- :param chunking_settings: The chunking configuration object.
1654
+ :param chunking_settings: The chunking configuration object. Note that for ELSER
1655
+ endpoints, the max_chunk_size may not exceed `300`.
1488
1656
  :param timeout: Specifies the amount of time to wait for the inference endpoint
1489
1657
  to be created.
1490
1658
  """
@@ -1564,7 +1732,8 @@ class InferenceClient(NamespacedClient):
1564
1732
  this case, `googleaistudio`.
1565
1733
  :param service_settings: Settings used to install the inference model. These
1566
1734
  settings are specific to the `googleaistudio` service.
1567
- :param chunking_settings: The chunking configuration object.
1735
+ :param chunking_settings: The chunking configuration object. Applies only to
1736
+ the `text_embedding` task type. Not applicable to the `completion` task type.
1568
1737
  :param timeout: Specifies the amount of time to wait for the inference endpoint
1569
1738
  to be created.
1570
1739
  """
@@ -1654,7 +1823,9 @@ class InferenceClient(NamespacedClient):
1654
1823
  this case, `googlevertexai`.
1655
1824
  :param service_settings: Settings used to install the inference model. These
1656
1825
  settings are specific to the `googlevertexai` service.
1657
- :param chunking_settings: The chunking configuration object.
1826
+ :param chunking_settings: The chunking configuration object. Applies only to
1827
+ the `text_embedding` task type. Not applicable to the `rerank`, `completion`,
1828
+ or `chat_completion` task types.
1658
1829
  :param task_settings: Settings to configure the inference task. These settings
1659
1830
  are specific to the task type you specified.
1660
1831
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1782,7 +1953,9 @@ class InferenceClient(NamespacedClient):
1782
1953
  this case, `hugging_face`.
1783
1954
  :param service_settings: Settings used to install the inference model. These
1784
1955
  settings are specific to the `hugging_face` service.
1785
- :param chunking_settings: The chunking configuration object.
1956
+ :param chunking_settings: The chunking configuration object. Applies only to
1957
+ the `text_embedding` task type. Not applicable to the `rerank`, `completion`,
1958
+ or `chat_completion` task types.
1786
1959
  :param task_settings: Settings to configure the inference task. These settings
1787
1960
  are specific to the task type you specified.
1788
1961
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1876,7 +2049,8 @@ class InferenceClient(NamespacedClient):
1876
2049
  this case, `jinaai`.
1877
2050
  :param service_settings: Settings used to install the inference model. These
1878
2051
  settings are specific to the `jinaai` service.
1879
- :param chunking_settings: The chunking configuration object.
2052
+ :param chunking_settings: The chunking configuration object. Applies only to
2053
+ the `text_embedding` task type. Not applicable to the `rerank` task type.
1880
2054
  :param task_settings: Settings to configure the inference task. These settings
1881
2055
  are specific to the task type you specified.
1882
2056
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -1927,6 +2101,90 @@ class InferenceClient(NamespacedClient):
1927
2101
  path_parts=__path_parts,
1928
2102
  )
1929
2103
 
2104
+ @_rewrite_parameters(
2105
+ body_fields=("service", "service_settings", "chunking_settings"),
2106
+ )
2107
+ def put_llama(
2108
+ self,
2109
+ *,
2110
+ task_type: t.Union[
2111
+ str, t.Literal["chat_completion", "completion", "text_embedding"]
2112
+ ],
2113
+ llama_inference_id: str,
2114
+ service: t.Optional[t.Union[str, t.Literal["llama"]]] = None,
2115
+ service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
2116
+ chunking_settings: t.Optional[t.Mapping[str, t.Any]] = None,
2117
+ error_trace: t.Optional[bool] = None,
2118
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2119
+ human: t.Optional[bool] = None,
2120
+ pretty: t.Optional[bool] = None,
2121
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
2122
+ body: t.Optional[t.Dict[str, t.Any]] = None,
2123
+ ) -> ObjectApiResponse[t.Any]:
2124
+ """
2125
+ .. raw:: html
2126
+
2127
+ <p>Create a Llama inference endpoint.</p>
2128
+ <p>Create an inference endpoint to perform an inference task with the <code>llama</code> service.</p>
2129
+
2130
+
2131
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-llama>`_
2132
+
2133
+ :param task_type: The type of the inference task that the model will perform.
2134
+ :param llama_inference_id: The unique identifier of the inference endpoint.
2135
+ :param service: The type of service supported for the specified task type. In
2136
+ this case, `llama`.
2137
+ :param service_settings: Settings used to install the inference model. These
2138
+ settings are specific to the `llama` service.
2139
+ :param chunking_settings: The chunking configuration object. Applies only to
2140
+ the `text_embedding` task type. Not applicable to the `completion` or `chat_completion`
2141
+ task types.
2142
+ :param timeout: Specifies the amount of time to wait for the inference endpoint
2143
+ to be created.
2144
+ """
2145
+ if task_type in SKIP_IN_PATH:
2146
+ raise ValueError("Empty value passed for parameter 'task_type'")
2147
+ if llama_inference_id in SKIP_IN_PATH:
2148
+ raise ValueError("Empty value passed for parameter 'llama_inference_id'")
2149
+ if service is None and body is None:
2150
+ raise ValueError("Empty value passed for parameter 'service'")
2151
+ if service_settings is None and body is None:
2152
+ raise ValueError("Empty value passed for parameter 'service_settings'")
2153
+ __path_parts: t.Dict[str, str] = {
2154
+ "task_type": _quote(task_type),
2155
+ "llama_inference_id": _quote(llama_inference_id),
2156
+ }
2157
+ __path = f'/_inference/{__path_parts["task_type"]}/{__path_parts["llama_inference_id"]}'
2158
+ __query: t.Dict[str, t.Any] = {}
2159
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
2160
+ if error_trace is not None:
2161
+ __query["error_trace"] = error_trace
2162
+ if filter_path is not None:
2163
+ __query["filter_path"] = filter_path
2164
+ if human is not None:
2165
+ __query["human"] = human
2166
+ if pretty is not None:
2167
+ __query["pretty"] = pretty
2168
+ if timeout is not None:
2169
+ __query["timeout"] = timeout
2170
+ if not __body:
2171
+ if service is not None:
2172
+ __body["service"] = service
2173
+ if service_settings is not None:
2174
+ __body["service_settings"] = service_settings
2175
+ if chunking_settings is not None:
2176
+ __body["chunking_settings"] = chunking_settings
2177
+ __headers = {"accept": "application/json", "content-type": "application/json"}
2178
+ return self.perform_request( # type: ignore[return-value]
2179
+ "PUT",
2180
+ __path,
2181
+ params=__query,
2182
+ headers=__headers,
2183
+ body=__body,
2184
+ endpoint_id="inference.put_llama",
2185
+ path_parts=__path_parts,
2186
+ )
2187
+
1930
2188
  @_rewrite_parameters(
1931
2189
  body_fields=("service", "service_settings", "chunking_settings"),
1932
2190
  )
@@ -1962,7 +2220,9 @@ class InferenceClient(NamespacedClient):
1962
2220
  this case, `mistral`.
1963
2221
  :param service_settings: Settings used to install the inference model. These
1964
2222
  settings are specific to the `mistral` service.
1965
- :param chunking_settings: The chunking configuration object.
2223
+ :param chunking_settings: The chunking configuration object. Applies only to
2224
+ the `text_embedding` task type. Not applicable to the `completion` or `chat_completion`
2225
+ task types.
1966
2226
  :param timeout: Specifies the amount of time to wait for the inference endpoint
1967
2227
  to be created.
1968
2228
  """
@@ -2052,7 +2312,9 @@ class InferenceClient(NamespacedClient):
2052
2312
  this case, `openai`.
2053
2313
  :param service_settings: Settings used to install the inference model. These
2054
2314
  settings are specific to the `openai` service.
2055
- :param chunking_settings: The chunking configuration object.
2315
+ :param chunking_settings: The chunking configuration object. Applies only to
2316
+ the `text_embedding` task type. Not applicable to the `completion` or `chat_completion`
2317
+ task types.
2056
2318
  :param task_settings: Settings to configure the inference task. These settings
2057
2319
  are specific to the task type you specified.
2058
2320
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -2143,7 +2405,8 @@ class InferenceClient(NamespacedClient):
2143
2405
  this case, `voyageai`.
2144
2406
  :param service_settings: Settings used to install the inference model. These
2145
2407
  settings are specific to the `voyageai` service.
2146
- :param chunking_settings: The chunking configuration object.
2408
+ :param chunking_settings: The chunking configuration object. Applies only to
2409
+ the `text_embedding` task type. Not applicable to the `rerank` task type.
2147
2410
  :param task_settings: Settings to configure the inference task. These settings
2148
2411
  are specific to the task type you specified.
2149
2412
  :param timeout: Specifies the amount of time to wait for the inference endpoint
@@ -2195,7 +2458,7 @@ class InferenceClient(NamespacedClient):
2195
2458
  )
2196
2459
 
2197
2460
  @_rewrite_parameters(
2198
- body_fields=("service", "service_settings"),
2461
+ body_fields=("service", "service_settings", "chunking_settings"),
2199
2462
  )
2200
2463
  def put_watsonx(
2201
2464
  self,
@@ -2206,6 +2469,7 @@ class InferenceClient(NamespacedClient):
2206
2469
  watsonx_inference_id: str,
2207
2470
  service: t.Optional[t.Union[str, t.Literal["watsonxai"]]] = None,
2208
2471
  service_settings: t.Optional[t.Mapping[str, t.Any]] = None,
2472
+ chunking_settings: t.Optional[t.Mapping[str, t.Any]] = None,
2209
2473
  error_trace: t.Optional[bool] = None,
2210
2474
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2211
2475
  human: t.Optional[bool] = None,
@@ -2230,6 +2494,9 @@ class InferenceClient(NamespacedClient):
2230
2494
  this case, `watsonxai`.
2231
2495
  :param service_settings: Settings used to install the inference model. These
2232
2496
  settings are specific to the `watsonxai` service.
2497
+ :param chunking_settings: The chunking configuration object. Applies only to
2498
+ the `text_embedding` task type. Not applicable to the `completion` or `chat_completion`
2499
+ task types.
2233
2500
  :param timeout: Specifies the amount of time to wait for the inference endpoint
2234
2501
  to be created.
2235
2502
  """
@@ -2263,6 +2530,8 @@ class InferenceClient(NamespacedClient):
2263
2530
  __body["service"] = service
2264
2531
  if service_settings is not None:
2265
2532
  __body["service_settings"] = service_settings
2533
+ if chunking_settings is not None:
2534
+ __body["chunking_settings"] = chunking_settings
2266
2535
  __headers = {"accept": "application/json", "content-type": "application/json"}
2267
2536
  return self.perform_request( # type: ignore[return-value]
2268
2537
  "PUT",
@@ -2373,7 +2642,9 @@ class InferenceClient(NamespacedClient):
2373
2642
 
2374
2643
  :param inference_id: The inference Id
2375
2644
  :param input: Inference input. Either a string or an array of strings.
2376
- :param task_settings: Optional task settings
2645
+ :param task_settings: Task settings for the individual inference request. These
2646
+ settings are specific to the <task_type> you specified and override the task
2647
+ settings specified when initializing the service.
2377
2648
  :param timeout: Specifies the amount of time to wait for the inference request
2378
2649
  to complete.
2379
2650
  """
@@ -2445,7 +2716,9 @@ class InferenceClient(NamespacedClient):
2445
2716
  to the relevant service-specific documentation for more info. > info > The
2446
2717
  `input_type` parameter specified on the root level of the request body will
2447
2718
  take precedence over the `input_type` parameter specified in `task_settings`.
2448
- :param task_settings: Optional task settings
2719
+ :param task_settings: Task settings for the individual inference request. These
2720
+ settings are specific to the <task_type> you specified and override the task
2721
+ settings specified when initializing the service.
2449
2722
  :param timeout: Specifies the amount of time to wait for the inference request
2450
2723
  to complete.
2451
2724
  """
@@ -580,6 +580,7 @@ class IngestClient(NamespacedClient):
580
580
  body_fields=(
581
581
  "deprecated",
582
582
  "description",
583
+ "field_access_pattern",
583
584
  "meta",
584
585
  "on_failure",
585
586
  "processors",
@@ -594,6 +595,9 @@ class IngestClient(NamespacedClient):
594
595
  deprecated: t.Optional[bool] = None,
595
596
  description: t.Optional[str] = None,
596
597
  error_trace: t.Optional[bool] = None,
598
+ field_access_pattern: t.Optional[
599
+ t.Union[str, t.Literal["classic", "flexible"]]
600
+ ] = None,
597
601
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
598
602
  human: t.Optional[bool] = None,
599
603
  if_version: t.Optional[int] = None,
@@ -621,6 +625,8 @@ class IngestClient(NamespacedClient):
621
625
  or updating a non-deprecated index template, Elasticsearch will emit a deprecation
622
626
  warning.
623
627
  :param description: Description of the ingest pipeline.
628
+ :param field_access_pattern: Controls how processors in this pipeline should
629
+ read and write data on a document's source.
624
630
  :param if_version: Required version for optimistic concurrency control for pipeline
625
631
  updates
626
632
  :param master_timeout: Period to wait for a connection to the master node. If
@@ -667,6 +673,8 @@ class IngestClient(NamespacedClient):
667
673
  __body["deprecated"] = deprecated
668
674
  if description is not None:
669
675
  __body["description"] = description
676
+ if field_access_pattern is not None:
677
+ __body["field_access_pattern"] = field_access_pattern
670
678
  if meta is not None:
671
679
  __body["_meta"] = meta
672
680
  if on_failure is not None: