dataiku-api-client 14.5.2__tar.gz → 14.6.0__tar.gz

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 (135) hide show
  1. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/HISTORY.txt +4 -0
  2. {dataiku_api_client-14.5.2/dataiku_api_client.egg-info → dataiku_api_client-14.6.0}/PKG-INFO +6 -2
  3. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0/dataiku_api_client.egg-info}/PKG-INFO +6 -2
  4. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/admin.py +1 -0
  5. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/agent.py +6 -1
  6. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/agent_review.py +54 -2
  7. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/knowledgebank.py +1 -1
  8. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/ml.py +113 -13
  9. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/project.py +23 -1
  10. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/retrieval_augmented_llm.py +86 -1
  11. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/semantic_model.py +1 -0
  12. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dssclient.py +7 -1
  13. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/instances.py +3 -0
  14. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern_client.py +6 -0
  15. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/group.py +1 -1
  16. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/user.py +53 -6
  17. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/setup.py +1 -1
  18. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/LICENSE.txt +0 -0
  19. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/MANIFEST.in +0 -0
  20. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/README +0 -0
  21. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataiku_api_client.egg-info/SOURCES.txt +0 -0
  22. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataiku_api_client.egg-info/dependency_links.txt +0 -0
  23. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataiku_api_client.egg-info/requires.txt +0 -0
  24. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataiku_api_client.egg-info/top_level.txt +0 -0
  25. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/__init__.py +0 -0
  26. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/apinode_admin/__init__.py +0 -0
  27. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/apinode_admin/auth.py +0 -0
  28. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/apinode_admin/service.py +0 -0
  29. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/apinode_admin_client.py +0 -0
  30. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/apinode_client.py +0 -0
  31. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/auth.py +0 -0
  32. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/base_client.py +0 -0
  33. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/__init__.py +0 -0
  34. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/agent_tool.py +0 -0
  35. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/analysis.py +0 -0
  36. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/apideployer.py +0 -0
  37. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/apiservice.py +0 -0
  38. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/app.py +0 -0
  39. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/businessapp.py +0 -0
  40. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/codestudio.py +0 -0
  41. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/continuousactivity.py +0 -0
  42. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/dashboard.py +0 -0
  43. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/data_collection.py +0 -0
  44. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/data_directories_footprint.py +0 -0
  45. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/data_quality.py +0 -0
  46. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/dataset.py +0 -0
  47. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/discussion.py +0 -0
  48. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/document_extractor.py +0 -0
  49. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/drift.py +0 -0
  50. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/enterprise_asset_library.py +0 -0
  51. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/evaluationcomparison.py +0 -0
  52. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/evaluationstore.py +0 -0
  53. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/feature_store.py +0 -0
  54. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/flow.py +0 -0
  55. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/future.py +0 -0
  56. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/insight.py +0 -0
  57. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/job.py +0 -0
  58. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/jupyternotebook.py +0 -0
  59. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/labeling_task.py +0 -0
  60. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/__init__.py +0 -0
  61. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/embeddings.py +0 -0
  62. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/knowledge_bank.py +0 -0
  63. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/llm.py +0 -0
  64. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/tool.py +0 -0
  65. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/langchain/utils.py +0 -0
  66. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/llm.py +0 -0
  67. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/llm_tracing/__init__.py +0 -0
  68. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/llm_utils/__init__.py +0 -0
  69. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/local_model.py +0 -0
  70. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/macro.py +0 -0
  71. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/managedfolder.py +0 -0
  72. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/meaning.py +0 -0
  73. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/messaging_channel.py +0 -0
  74. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/metrics.py +0 -0
  75. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/mlflow.py +0 -0
  76. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/modelcomparison.py +0 -0
  77. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/modelevaluationstore.py +0 -0
  78. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/notebook.py +0 -0
  79. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/plugin.py +0 -0
  80. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/project_standards.py +0 -0
  81. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/projectdeployer.py +0 -0
  82. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/projectfolder.py +0 -0
  83. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/projectlibrary.py +0 -0
  84. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/recipe.py +0 -0
  85. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/savedmodel.py +0 -0
  86. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/scenario.py +0 -0
  87. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/sqlnotebook.py +0 -0
  88. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/sqlquery.py +0 -0
  89. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/statistics.py +0 -0
  90. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/streaming_endpoint.py +0 -0
  91. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/tools/__init__.py +0 -0
  92. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/tools/codegen.py +0 -0
  93. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/tools/langchain.py +0 -0
  94. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/unifiedmonitoring.py +0 -0
  95. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/utils.py +0 -0
  96. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/webapp.py +0 -0
  97. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/wiki.py +0 -0
  98. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss/workspace.py +0 -0
  99. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss_plugin_mlflow/__init__.py +0 -0
  100. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss_plugin_mlflow/artifact_repository.py +0 -0
  101. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss_plugin_mlflow/header_provider.py +0 -0
  102. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/dss_plugin_mlflow/utils.py +0 -0
  103. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/__init__.py +0 -0
  104. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/cloudaccounts.py +0 -0
  105. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/future.py +0 -0
  106. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/instancesettingstemplates.py +0 -0
  107. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/loadbalancers.py +0 -0
  108. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/tenant.py +0 -0
  109. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fm/virtualnetworks.py +0 -0
  110. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/fmclient.py +0 -0
  111. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/__init__.py +0 -0
  112. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/admin.py +0 -0
  113. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/admin_blueprint_designer.py +0 -0
  114. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/admin_custom_pages_handler.py +0 -0
  115. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/admin_roles_permissions_handler.py +0 -0
  116. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/artifact.py +0 -0
  117. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/artifact_search.py +0 -0
  118. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/blueprint.py +0 -0
  119. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/custom_page.py +0 -0
  120. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/future.py +0 -0
  121. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/time_series.py +0 -0
  122. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/uploaded_file.py +0 -0
  123. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/govern/users_container.py +0 -0
  124. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/iam/__init__.py +0 -0
  125. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/iam/settings.py +0 -0
  126. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/__init__.py +0 -0
  127. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/exceptions.py +0 -0
  128. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/node.py +0 -0
  129. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/profile.py +0 -0
  130. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/response.py +0 -0
  131. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad/task.py +0 -0
  132. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/launchpad_client.py +0 -0
  133. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/dataikuapi/utils.py +0 -0
  134. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/requirements.txt +0 -0
  135. {dataiku_api_client-14.5.2 → dataiku_api_client-14.6.0}/setup.cfg +0 -0
@@ -2,6 +2,10 @@ Changelog
2
2
  ==========
3
3
 
4
4
 
5
+ 14.6.0 (2026-05-27)
6
+ -------------------
7
+
8
+ * Initial release for DSS 14.6.0
5
9
 
6
10
  14.5.2 (2026-05-25)
7
11
  -------------------
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataiku-api-client
3
- Version: 14.5.2
3
+ Version: 14.6.0
4
4
  Summary: Python API client for Dataiku APIs
5
5
  Home-page: https://www.dataiku.com
6
- Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/14.5.2
6
+ Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/14.6.0
7
7
  Author: Dataiku
8
8
  Author-email: support@dataiku.com
9
9
  License: Apache Software License
@@ -36,6 +36,10 @@ Changelog
36
36
  ==========
37
37
 
38
38
 
39
+ 14.6.0 (2026-05-27)
40
+ -------------------
41
+
42
+ * Initial release for DSS 14.6.0
39
43
 
40
44
  14.5.2 (2026-05-25)
41
45
  -------------------
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataiku-api-client
3
- Version: 14.5.2
3
+ Version: 14.6.0
4
4
  Summary: Python API client for Dataiku APIs
5
5
  Home-page: https://www.dataiku.com
6
- Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/14.5.2
6
+ Download-URL: https://github.com/dataiku/dataiku-api-client-python/tarball/14.6.0
7
7
  Author: Dataiku
8
8
  Author-email: support@dataiku.com
9
9
  License: Apache Software License
@@ -36,6 +36,10 @@ Changelog
36
36
  ==========
37
37
 
38
38
 
39
+ 14.6.0 (2026-05-27)
40
+ -------------------
41
+
42
+ * Initial release for DSS 14.6.0
39
43
 
40
44
  14.5.2 (2026-05-25)
41
45
  -------------------
@@ -2202,6 +2202,7 @@ class DSSCodeEnvContainerConfsBearer(object):
2202
2202
  * PYTHON36_SUPPORT
2203
2203
  * PYTHON37_SUPPORT
2204
2204
  * PYTHON38_SUPPORT
2205
+ * HUGGING_FACE_LOCAL_GPU
2205
2206
 
2206
2207
  :param dict container_runtime_addition: a dict with the container runtime addition definition
2207
2208
  """
@@ -226,6 +226,11 @@ class DSSAgentInteractionLoggingSelection(object):
226
226
  self.mode = self.MODE_NONE
227
227
 
228
228
 
229
+ # Neutral aliases for shared LLM interaction logging concepts.
230
+ DSSLLMInteractionLoggingSettings = DSSAgentInteractionLoggingSettings
231
+ DSSLLMInteractionLoggingSelection = DSSAgentInteractionLoggingSelection
232
+
233
+
229
234
  class DSSAgentListItem(DSSTaggableObjectListItem):
230
235
  """
231
236
  An item in a list of agents
@@ -521,7 +526,7 @@ class DSSAgentVersionSettings(object):
521
526
  .. code-block:: python
522
527
 
523
528
  project = client.get_project("MYPROJECT")
524
- project.create_agent_interaction_logging_dataset(
529
+ project.create_llm_interaction_logging_dataset(
525
530
  "agent_logs",
526
531
  connection_id="filesystem_managed",
527
532
  time_partitioning="DAY",
@@ -214,6 +214,32 @@ class DSSAgentReview(object):
214
214
  def nb_executions(self, value):
215
215
  self.data["nbExecutions"] = value
216
216
 
217
+ @property
218
+ def hitl_validation_policy(self):
219
+ """
220
+ Review-wide default HITL validation policy used when creating a test.
221
+ Possible values are ``ACCEPT`` or ``REJECT``.
222
+ :rtype: str
223
+ """
224
+ return self.data.get("hitlValidationPolicy")
225
+
226
+ @hitl_validation_policy.setter
227
+ def hitl_validation_policy(self, value):
228
+ self.data["hitlValidationPolicy"] = value
229
+
230
+ @property
231
+ def hitl_max_validation_turns(self):
232
+ """
233
+ Maximum number of validation turns auto-answered during a test run before stopping.
234
+ Possible values are integers greater than or equal to ``1``.
235
+ :rtype: int
236
+ """
237
+ return self.data.get("hitlMaxValidationTurns")
238
+
239
+ @hitl_max_validation_turns.setter
240
+ def hitl_max_validation_turns(self, value):
241
+ self.data["hitlMaxValidationTurns"] = value
242
+
217
243
  def get_trait(self, trait_id):
218
244
  """
219
245
  Get a specific trait by its ID.
@@ -278,13 +304,14 @@ class DSSAgentReview(object):
278
304
  )
279
305
  return DSSAgentReviewTest(self.dss_client, self.project_key, test)
280
306
 
281
- def create_test(self, query=None, reference_answer=None, expectations=None):
307
+ def create_test(self, query=None, reference_answer=None, expectations=None, hitl_validation_policy=None):
282
308
  """
283
309
  Create a new test for this agent review.
284
310
 
285
311
  :param str query: Query to test the agent. Optional.
286
312
  :param str reference_answer: Reference answer. Optional.
287
313
  :param str expectations: Expectations on the agent answer. Optional.
314
+ :param str hitl_validation_policy: Per-test HITL validation policy. Optional.
288
315
  :returns: The created test object.
289
316
  :rtype: :class:`DSSAgentReviewTest`
290
317
  """
@@ -294,13 +321,14 @@ class DSSAgentReview(object):
294
321
  "query": query,
295
322
  "referenceAnswer": reference_answer,
296
323
  "expectations": expectations,
324
+ "hitlValidationPolicy": hitl_validation_policy,
297
325
  }
298
326
  test = self.dss_client._perform_json(
299
327
  "POST", "/projects/%s/agent-reviews/tests" % self.project_key, body=body
300
328
  )
301
329
  return DSSAgentReviewTest(self.dss_client, self.project_key, test)
302
330
 
303
- def create_tests_from_dataset(self, full_dataset_name, query_column, reference_answer_column=None, expectations_column=None, top_n=None, partitions=None, latest_partitions_n=None):
331
+ def create_tests_from_dataset(self, full_dataset_name, query_column, reference_answer_column=None, expectations_column=None, top_n=None, partitions=None, latest_partitions_n=None, hitl_validation_policy_column=None):
304
332
  """
305
333
  Create new tests for this agent review by importing them from a dataset.
306
334
 
@@ -311,6 +339,7 @@ class DSSAgentReview(object):
311
339
  :param int top_n: Only take the first n rows of the dataset. Optional.
312
340
  :param list[str] partitions: For partitioned datasets, only consider the given partitions. Optional.
313
341
  :param int latest_partitions_n: For partitioned datasets and if partitions is not set, only consider the latest n partitions. Optional.
342
+ :param str hitl_validation_policy_column: Name of the column containing per-test HITL validation policy. Optional.
314
343
  :returns: A dictionary with keys:
315
344
  - "createdTestIds": list of ids of the created tests
316
345
  - "error": The error message if any occurred
@@ -324,6 +353,7 @@ class DSSAgentReview(object):
324
353
  "queryColumn": query_column,
325
354
  "referenceAnswerColumn": reference_answer_column,
326
355
  "expectationsColumn": expectations_column,
356
+ "hitlValidationPolicyColumn": hitl_validation_policy_column,
327
357
  }
328
358
  if top_n is not None:
329
359
  body["samplingMethod"] = "HEAD_SEQUENTIAL"
@@ -587,6 +617,19 @@ class DSSAgentReviewTest(object):
587
617
  def expectations(self, value):
588
618
  self.data["expectations"] = value
589
619
 
620
+ @property
621
+ def hitl_validation_policy(self):
622
+ """
623
+ Per-test HITL validation policy.
624
+ Possible values are ``ACCEPT`` or ``REJECT``.
625
+ :rtype: str
626
+ """
627
+ return self.data.get("hitlValidationPolicy")
628
+
629
+ @hitl_validation_policy.setter
630
+ def hitl_validation_policy(self, value):
631
+ self.data["hitlValidationPolicy"] = value
632
+
590
633
  @property
591
634
  def creation_timestamp(self):
592
635
  """
@@ -735,6 +778,15 @@ class DSSAgentReviewTestListItem(dict):
735
778
  """
736
779
  return self.get("expectations")
737
780
 
781
+ @property
782
+ def hitl_validation_policy(self):
783
+ """
784
+ Per-test HITL validation policy.
785
+ Possible values are ``ACCEPT`` or ``REJECT``.
786
+ :rtype: str
787
+ """
788
+ return self.get("hitlValidationPolicy")
789
+
738
790
 
739
791
  class DSSAgentReviewRun(object):
740
792
  """
@@ -245,7 +245,7 @@ class DSSKnowledgeBankSettings(DSSTaggableObjectSettings):
245
245
  @property
246
246
  def vector_store_type(self):
247
247
  """
248
- Returns the type of storage backing the vector store (could be CHROMA, PINECONE, ELASTICSEARCH, AZURE_AI_SEARCH, VERTEX_AI_GCS_BASED, FAISS, QDRANT_LOCAL)
248
+ Returns the type of storage backing the vector store (could be CHROMA, PINECONE, ELASTICSEARCH, AZURE_AI_SEARCH, SNOWFLAKE_CORTEX_SEARCH, VERTEX_AI_GCS_BASED, FAISS, QDRANT_LOCAL)
249
249
 
250
250
  :rtype: str
251
251
  """
@@ -1493,11 +1493,9 @@ class PredictionAlgorithmSettings(dict):
1493
1493
  "To update the search strategy, use <HyperparameterSearchSettings object>.strategy = ..., "
1494
1494
  "obtained with <DSSPredictionMLTaskSettings object>.get_hyperparameter_search_settings()")
1495
1495
 
1496
-
1497
- class RandomForestSettings(PredictionAlgorithmSettings):
1498
-
1496
+ class _RandomForestSettingsBase(PredictionAlgorithmSettings):
1499
1497
  def __init__(self, raw_settings, hyperparameter_search_params):
1500
- super(RandomForestSettings, self).__init__(raw_settings, hyperparameter_search_params)
1498
+ super(_RandomForestSettingsBase, self).__init__(raw_settings, hyperparameter_search_params)
1501
1499
  self.n_estimators = self._register_numerical_hyperparameter("n_estimators")
1502
1500
  self.min_samples_leaf = self._register_numerical_hyperparameter("min_samples_leaf")
1503
1501
  self.max_tree_depth = self._register_numerical_hyperparameter("max_tree_depth")
@@ -1507,10 +1505,19 @@ class RandomForestSettings(PredictionAlgorithmSettings):
1507
1505
  self.selection_mode = self._register_single_category_hyperparameter("selection_mode", accepted_values=["sqrt", "log2", "number", "prop"])
1508
1506
 
1509
1507
 
1510
- class LightGBMSettings(PredictionAlgorithmSettings):
1508
+ class TimeseriesRandomForestSettings(_RandomForestSettingsBase):
1509
+ pass
1510
+
1511
1511
 
1512
+ class RandomForestSettings(_RandomForestSettingsBase):
1512
1513
  def __init__(self, raw_settings, hyperparameter_search_params):
1513
- super(LightGBMSettings, self).__init__(raw_settings, hyperparameter_search_params)
1514
+ super(RandomForestSettings, self).__init__(raw_settings, hyperparameter_search_params)
1515
+ self.allow_sparse_matrices = self._register_single_value_hyperparameter("allow_sparse_matrices", accepted_types=[bool])
1516
+
1517
+
1518
+ class _LightGBMSettingsBase(PredictionAlgorithmSettings):
1519
+ def __init__(self, raw_settings, hyperparameter_search_params):
1520
+ super(_LightGBMSettingsBase, self).__init__(raw_settings, hyperparameter_search_params)
1514
1521
  self.boosting_type = self._register_categorical_hyperparameter("boosting_type")
1515
1522
  self.num_leaves = self._register_numerical_hyperparameter("num_leaves")
1516
1523
  self.learning_rate = self._register_numerical_hyperparameter("learning_rate")
@@ -1521,9 +1528,6 @@ class LightGBMSettings(PredictionAlgorithmSettings):
1521
1528
  self.colsample_bytree = self._register_numerical_hyperparameter("colsample_bytree")
1522
1529
  self.reg_alpha = self._register_numerical_hyperparameter("reg_alpha")
1523
1530
  self.reg_lambda = self._register_numerical_hyperparameter("reg_lambda")
1524
-
1525
- self.early_stopping = self._register_single_value_hyperparameter("early_stopping", accepted_types=[bool])
1526
- self.early_stopping_rounds = self._register_single_value_hyperparameter("early_stopping_rounds", accepted_types=[int])
1527
1531
  self.random_state = self._register_single_value_hyperparameter("random_state", accepted_types=[int])
1528
1532
  self.n_jobs = self._register_single_value_hyperparameter("n_jobs", accepted_types=[int])
1529
1533
  self.max_depth = self._register_single_value_hyperparameter("max_depth", accepted_types=[int])
@@ -1532,6 +1536,18 @@ class LightGBMSettings(PredictionAlgorithmSettings):
1532
1536
  self.use_bagging = self._register_single_value_hyperparameter("use_bagging", accepted_types=[bool])
1533
1537
 
1534
1538
 
1539
+ class TimeseriesLightGBMSettings(_LightGBMSettingsBase):
1540
+ pass
1541
+
1542
+
1543
+ class LightGBMSettings(_LightGBMSettingsBase):
1544
+ def __init__(self, raw_settings, hyperparameter_search_params):
1545
+ super(LightGBMSettings, self).__init__(raw_settings, hyperparameter_search_params)
1546
+ self.early_stopping = self._register_single_value_hyperparameter("early_stopping", accepted_types=[bool])
1547
+ self.early_stopping_rounds = self._register_single_value_hyperparameter("early_stopping_rounds", accepted_types=[int])
1548
+ self.allow_sparse_matrices = self._register_single_value_hyperparameter("allow_sparse_matrices", accepted_types=[bool])
1549
+
1550
+
1535
1551
  class TabICLSettings(PredictionAlgorithmSettings):
1536
1552
 
1537
1553
  def __init__(self, raw_settings, hyperparameter_search_params):
@@ -1551,10 +1567,10 @@ class TabICLSettings(PredictionAlgorithmSettings):
1551
1567
  self.outlier_threshold = self._register_single_value_hyperparameter("outlier_threshold")
1552
1568
 
1553
1569
 
1554
- class XGBoostSettings(PredictionAlgorithmSettings):
1570
+ class _XGBoostSettingsBase(PredictionAlgorithmSettings):
1555
1571
 
1556
1572
  def __init__(self, raw_settings, hyperparameter_search_params):
1557
- super(XGBoostSettings, self).__init__(raw_settings, hyperparameter_search_params)
1573
+ super(_XGBoostSettingsBase, self).__init__(raw_settings, hyperparameter_search_params)
1558
1574
  self.max_depth = self._register_numerical_hyperparameter("max_depth")
1559
1575
  self.learning_rate = self._register_numerical_hyperparameter("learning_rate")
1560
1576
  self.gamma = self._register_numerical_hyperparameter("gamma")
@@ -1575,8 +1591,6 @@ class XGBoostSettings(PredictionAlgorithmSettings):
1575
1591
  self.missing = self._register_single_value_hyperparameter("missing", accepted_types=[int, float])
1576
1592
  self.tree_method = self._register_single_category_hyperparameter("tree_method", accepted_values=["auto", "exact", "approx", "hist"])
1577
1593
  self.seed = self._register_single_value_hyperparameter("seed", accepted_types=[int])
1578
- self.enable_early_stopping = self._register_single_value_hyperparameter("enable_early_stopping", accepted_types=[bool])
1579
- self.early_stopping_rounds = self._register_single_value_hyperparameter("early_stopping_rounds", accepted_types=[int])
1580
1594
  self.tweedie_variance_power = self._register_single_value_hyperparameter("tweedie_variance_power", accepted_types=[int, float])
1581
1595
 
1582
1596
  @property
@@ -1614,6 +1628,18 @@ class XGBoostSettings(PredictionAlgorithmSettings):
1614
1628
  self.tree_method.set_value(value)
1615
1629
 
1616
1630
 
1631
+ class TimeseriesXGBoostSettings(_XGBoostSettingsBase):
1632
+ pass
1633
+
1634
+
1635
+ class XGBoostSettings(_XGBoostSettingsBase):
1636
+ def __init__(self, raw_settings, hyperparameter_search_params):
1637
+ super(XGBoostSettings, self).__init__(raw_settings, hyperparameter_search_params)
1638
+ self.enable_early_stopping = self._register_single_value_hyperparameter("enable_early_stopping", accepted_types=[bool])
1639
+ self.early_stopping_rounds = self._register_single_value_hyperparameter("early_stopping_rounds", accepted_types=[int])
1640
+ self.allow_sparse_matrices = self._register_single_value_hyperparameter("allow_sparse_matrices", accepted_types=[bool])
1641
+
1642
+
1617
1643
  class GradientBoostedTreesSettings(PredictionAlgorithmSettings):
1618
1644
 
1619
1645
  def __init__(self, raw_settings, hyperparameter_search_params):
@@ -1866,6 +1892,71 @@ class AutoArimaSettings(PredictionAlgorithmSettings):
1866
1892
  self.maxiter = self._register_single_value_hyperparameter("maxiter", accepted_types=[int])
1867
1893
 
1868
1894
 
1895
+ class ArimaSettings(PredictionAlgorithmSettings):
1896
+ def __init__(self, raw_settings, hyperparameter_search_params):
1897
+ super(ArimaSettings, self).__init__(raw_settings, hyperparameter_search_params)
1898
+ self.p = self._register_single_value_hyperparameter("p", accepted_types=[int])
1899
+ self.d = self._register_single_value_hyperparameter("d", accepted_types=[int])
1900
+ self.q = self._register_single_value_hyperparameter("q", accepted_types=[int])
1901
+ self.P = self._register_single_value_hyperparameter("P", accepted_types=[int])
1902
+ self.D = self._register_single_value_hyperparameter("D", accepted_types=[int])
1903
+ self.Q = self._register_single_value_hyperparameter("Q", accepted_types=[int])
1904
+ self.s = self._register_single_value_hyperparameter("s", accepted_types=[int])
1905
+ self.trend = self._register_single_category_hyperparameter("trend", accepted_values=["n", "c", "t", "ct"])
1906
+ self.trend_offset = self._register_single_value_hyperparameter("trend_offset", accepted_types=[int])
1907
+ self.enforce_stationarity = self._register_single_value_hyperparameter("enforce_stationarity", accepted_types=[bool])
1908
+ self.enforce_invertibility = self._register_single_value_hyperparameter("enforce_invertibility", accepted_types=[bool])
1909
+ self.concentrate_scale = self._register_single_value_hyperparameter("concentrate_scale", accepted_types=[bool])
1910
+
1911
+
1912
+ class CrostonSettings(PredictionAlgorithmSettings):
1913
+ def __init__(self, raw_settings, hyperparameter_search_params):
1914
+ super(CrostonSettings, self).__init__(raw_settings, hyperparameter_search_params)
1915
+ self.variant = self._register_categorical_hyperparameter("variant")
1916
+ self.alpha_d = self._register_numerical_hyperparameter("alpha_d")
1917
+ self.alpha_p = self._register_numerical_hyperparameter("alpha_p")
1918
+
1919
+
1920
+ class ETSSettings(PredictionAlgorithmSettings):
1921
+
1922
+ def __init__(self, raw_settings, hyperparameter_search_params):
1923
+ super(ETSSettings, self).__init__(raw_settings, hyperparameter_search_params)
1924
+ self.trend = self._register_categorical_hyperparameter("trend")
1925
+ self.damped_trend = self._register_categorical_hyperparameter("damped_trend")
1926
+ self.seasonal = self._register_categorical_hyperparameter("seasonal")
1927
+ self.error = self._register_categorical_hyperparameter("error")
1928
+ self.seasonal_periods = self._register_single_value_hyperparameter("seasonal_periods", accepted_types=[int])
1929
+ self.include_unstable = self._register_single_value_hyperparameter("include_unstable", accepted_types=[bool])
1930
+ self.seed = self._register_single_value_hyperparameter("seed", accepted_types=[int])
1931
+
1932
+
1933
+ class NHITSSettings(PredictionAlgorithmSettings):
1934
+ def __init__(self, raw_settings, hyperparameter_search_params):
1935
+ super(NHITSSettings, self).__init__(raw_settings, hyperparameter_search_params)
1936
+ self.context_length = self._register_numerical_hyperparameter("context_length")
1937
+ self.learning_rate = self._register_numerical_hyperparameter("learning_rate")
1938
+ self.batch_size = self._register_single_value_hyperparameter("batch_size", accepted_types=[int])
1939
+ self.max_steps = self._register_single_value_hyperparameter("max_steps", accepted_types=[int])
1940
+ self.patience = self._register_single_value_hyperparameter("patience", accepted_types=[int])
1941
+ self.random_state = self._register_single_value_hyperparameter("random_state", accepted_types=[int])
1942
+
1943
+
1944
+ class TFTSettings(PredictionAlgorithmSettings):
1945
+ def __init__(self, raw_settings, hyperparameter_search_params):
1946
+ super(TFTSettings, self).__init__(raw_settings, hyperparameter_search_params)
1947
+ self.context_length = self._register_numerical_hyperparameter("context_length")
1948
+ self.hidden_size_factor = self._register_numerical_hyperparameter("hidden_size_factor")
1949
+ self.learning_rate = self._register_numerical_hyperparameter("learning_rate")
1950
+ self.n_rnn_layers = self._register_numerical_hyperparameter("n_rnn_layers")
1951
+ self.n_head = self._register_numerical_hyperparameter("n_head")
1952
+ self.batch_size = self._register_single_value_hyperparameter("batch_size", accepted_types=[int])
1953
+ self.max_steps = self._register_single_value_hyperparameter("max_steps", accepted_types=[int])
1954
+ self.patience = self._register_single_value_hyperparameter("patience", accepted_types=[int])
1955
+ self.random_state = self._register_single_value_hyperparameter("random_state", accepted_types=[int])
1956
+ self.max_hidden_size = self._register_single_value_hyperparameter("max_hidden_size", accepted_types=[int])
1957
+ self.limit_hidden_size = self._register_single_value_hyperparameter("limit_hidden_size", accepted_types=[bool])
1958
+
1959
+
1869
1960
  class SeasonalLoessSettings(PredictionAlgorithmSettings):
1870
1961
 
1871
1962
  def __init__(self, raw_settings, hyperparameter_search_params):
@@ -2377,6 +2468,15 @@ class DSSClusteringMLTaskSettings(DSSMLTaskSettings):
2377
2468
  class DSSTimeseriesForecastingMLTaskSettings(AbstractTabularPredictionMLTaskSettings):
2378
2469
  __doc__ = []
2379
2470
  _algorithm_remap = {
2471
+ "ARIMA": PredictionAlgorithmMeta("arima_timeseries", ArimaSettings),
2472
+ "CROSTON": PredictionAlgorithmMeta("croston_timeseries", CrostonSettings),
2473
+ "ETS": PredictionAlgorithmMeta("ets_timeseries", ETSSettings),
2474
+ "NHITS": PredictionAlgorithmMeta("nhits_timeseries", NHITSSettings),
2475
+ "TFT": PredictionAlgorithmMeta("tft_timeseries", TFTSettings),
2476
+ "RANDOM_FOREST_REGRESSION": PredictionAlgorithmMeta("random_forest_regression", TimeseriesRandomForestSettings),
2477
+ "XGBOOST_REGRESSION": PredictionAlgorithmMeta("xgboost", TimeseriesXGBoostSettings),
2478
+ "RIDGE_REGRESSION": PredictionAlgorithmMeta("ridge_regression", RidgeRegressionSettings),
2479
+ "LIGHTGBM_REGRESSION": PredictionAlgorithmMeta("lightgbm_regression", TimeseriesLightGBMSettings),
2380
2480
  "TRIVIAL_IDENTITY_TIMESERIES": PredictionAlgorithmMeta("trivial_identity_timeseries"),
2381
2481
  "SEASONAL_NAIVE": PredictionAlgorithmMeta("seasonal_naive_timeseries", SeasonalNaiveSettings),
2382
2482
  "AUTO_ARIMA": PredictionAlgorithmMeta("autoarima_timeseries", AutoArimaSettings),
@@ -2744,6 +2744,7 @@ class DSSProject(object):
2744
2744
  * PINECONE
2745
2745
  * ELASTICSEARCH
2746
2746
  * AZURE_AI_SEARCH
2747
+ * SNOWFLAKE_CORTEX_SEARCH
2747
2748
  * VERTEX_AI_GCS_BASED
2748
2749
  * FAISS *(not recommended)*
2749
2750
  * QDRANT_LOCAL *(not recommended)*
@@ -2918,6 +2919,27 @@ class DSSProject(object):
2918
2919
  """
2919
2920
  Create a new agent interaction logging dataset.
2920
2921
 
2922
+ .. caution:: Deprecated. Use :meth:`create_llm_interaction_logging_dataset`
2923
+
2924
+ :param dataset_name: Identifier for the dataset to create.
2925
+ :type dataset_name: str
2926
+ :param connection_id: Identifier of the connection to use (SQL or filesystem-like).
2927
+ :type connection_id: str
2928
+ :param time_partitioning: Time period of the partitioning. Can be one of "HOUR", "DAY", "MONTH". Set to None for no partitioning.
2929
+ :type time_partitioning: str | None
2930
+ """
2931
+ return self.create_llm_interaction_logging_dataset(
2932
+ dataset_name=dataset_name,
2933
+ connection_id=connection_id,
2934
+ time_partitioning=time_partitioning,
2935
+ )
2936
+
2937
+ def create_llm_interaction_logging_dataset(self, dataset_name, connection_id, time_partitioning=None):
2938
+ """
2939
+ Create a new LLM interaction logging dataset.
2940
+
2941
+ This dataset can be used by both agents and retrieval-augmented LLMs.
2942
+
2921
2943
  :param dataset_name: Identifier for the dataset to create.
2922
2944
  :type dataset_name: str
2923
2945
  :param connection_id: Identifier of the connection to use (SQL or filesystem-like).
@@ -2931,7 +2953,7 @@ class DSSProject(object):
2931
2953
  "timePartitioning": time_partitioning
2932
2954
  }
2933
2955
  return self.client._perform_empty(
2934
- "POST", "/projects/%s/agents/interaction-logging-dataset" % self.project_key, params=params
2956
+ "POST", "/projects/%s/llm-interaction-logging-datasets" % self.project_key, params=params
2935
2957
  )
2936
2958
 
2937
2959
  ########################################################
@@ -1,3 +1,4 @@
1
+ from .agent import DSSLLMInteractionLoggingSelection
1
2
  from .utils import DSSTaggableObjectListItem, DSSTaggableObjectSettings
2
3
 
3
4
  class DSSRetrievalAugmentedLLMListItem(DSSTaggableObjectListItem):
@@ -137,6 +138,17 @@ class DSSRetrievalAugmentedLLMVersionSettings(object):
137
138
  def get_raw(self):
138
139
  return self._version_settings
139
140
 
141
+ def _get_or_create_interaction_logging_selection(self):
142
+ rag_settings = self._version_settings["ragllmSettings"]
143
+ interaction_logging_selection = rag_settings.get("interactionLoggingSelection")
144
+ if interaction_logging_selection is None:
145
+ interaction_logging_selection = {
146
+ "mode": DSSLLMInteractionLoggingSelection.MODE_INHERIT,
147
+ "explicitSettings": {},
148
+ }
149
+ rag_settings["interactionLoggingSelection"] = interaction_logging_selection
150
+ return interaction_logging_selection
151
+
140
152
  @property
141
153
  def llm_id(self):
142
154
  """
@@ -148,4 +160,77 @@ class DSSRetrievalAugmentedLLMVersionSettings(object):
148
160
 
149
161
  @llm_id.setter
150
162
  def llm_id(self, value):
151
- self._version_settings["ragllmSettings"]["llmId"] = value
163
+ self._version_settings["ragllmSettings"]["llmId"] = value
164
+
165
+ @property
166
+ def interaction_logging_selection(self):
167
+ """
168
+ Get the interaction logging selection for this version.
169
+
170
+ Before configuring interaction logging on a retrieval-augmented LLM version,
171
+ create the target dataset on the project:
172
+
173
+ .. code-block:: python
174
+
175
+ project = client.get_project("MYPROJECT")
176
+ project.create_llm_interaction_logging_dataset(
177
+ "llm_logs",
178
+ connection_id="filesystem_managed",
179
+ time_partitioning="DAY",
180
+ )
181
+
182
+ Example using inherited settings:
183
+
184
+ .. code-block:: python
185
+
186
+ rag = project.get_retrieval_augmented_llm("my_rag")
187
+ rag_settings = rag.get_settings()
188
+ version_settings = rag_settings.get_version_settings("v1")
189
+
190
+ logging_selection = version_settings.interaction_logging_selection
191
+ logging_selection.inherit()
192
+
193
+ rag_settings.save()
194
+
195
+ Example using explicit settings:
196
+
197
+ .. code-block:: python
198
+
199
+ rag = project.get_retrieval_augmented_llm("my_rag")
200
+ rag_settings = rag.get_settings()
201
+ version_settings = rag_settings.get_version_settings("v1")
202
+
203
+ logging_selection = version_settings.interaction_logging_selection
204
+ logging_selection.enable(
205
+ "llm_logs",
206
+ settings={
207
+ "flushEveryS": 60,
208
+ "flushEveryBytes": 1_000_000,
209
+ "contentMode": "FULL",
210
+ },
211
+ )
212
+
213
+ rag_settings.save()
214
+
215
+ Example disabling interaction logging:
216
+
217
+ .. code-block:: python
218
+
219
+ rag = project.get_retrieval_augmented_llm("my_rag")
220
+ rag_settings = rag.get_settings()
221
+ version_settings = rag_settings.get_version_settings("v1")
222
+
223
+ logging_selection = version_settings.interaction_logging_selection
224
+ logging_selection.disable()
225
+
226
+ rag_settings.save()
227
+
228
+ :rtype: :class:`dataikuapi.dss.agent.DSSLLMInteractionLoggingSelection`
229
+ """
230
+ return DSSLLMInteractionLoggingSelection(self._get_or_create_interaction_logging_selection())
231
+
232
+ @interaction_logging_selection.setter
233
+ def interaction_logging_selection(self, value):
234
+ if isinstance(value, DSSLLMInteractionLoggingSelection):
235
+ value = value.get_raw()
236
+ self._version_settings["ragllmSettings"]["interactionLoggingSelection"] = value
@@ -276,6 +276,7 @@ class DSSSemanticModelVersionSettings(object):
276
276
  "entities": [],
277
277
  "relationships": [],
278
278
  "goldenQueries": [],
279
+ "crossEntityMetrics": [],
279
280
  "glossaryTerms": [],
280
281
  "glossaryBindings": [],
281
282
  "indexingSettings": {
@@ -960,7 +960,7 @@ class DSSClient(object):
960
960
 
961
961
  env_handle = client.create_internal_code_env(internal_env_type="RAG_CODE_ENV", python_interpreter="PYTHON310")
962
962
 
963
- :param str internal_env_type: the internal env type, can be `DEEP_HUB_IMAGE_CLASSIFICATION_CODE_ENV`, `DEEP_HUB_IMAGE_OBJECT_DETECTION_CODE_ENV`, `PROXY_MODELS_CODE_ENV`, `DATABRICKS_UTILS_CODE_ENV`, `PII_DETECTION_CODE_ENV`, `HUGGINGFACE_LOCAL_CODE_ENV`, `RAG_CODE_ENV`, `DOCUMENT_EXTRACTION_CODE_ENV`, `DOCUMENT_TEMPLATING_CODE_ENV`.
963
+ :param str internal_env_type: the internal env type, can be `DEEP_HUB_IMAGE_CLASSIFICATION_CODE_ENV`, `DEEP_HUB_IMAGE_OBJECT_DETECTION_CODE_ENV`, `PROXY_MODELS_CODE_ENV`, `DATABRICKS_UTILS_CODE_ENV`, `PII_DETECTION_CODE_ENV`, `HUGGINGFACE_LOCAL_CODE_ENV`, `RAG_CODE_ENV`, `DOCUMENT_EXTRACTION_CODE_ENV`, `DOCUMENT_TEMPLATING_CODE_ENV`, `HUGGINGFACE_LOCAL_CPU_CODE_ENV`.
964
964
  :param str python_interpreter: Python interpreter version, can be `PYTHON39`, `PYTHON310`, `PYTHON311`, `PYTHON312` or `PYTHON313`. If None, DSS will try to select a supported & available interpreter.
965
965
  :param str code_env_version: Version of the code env. Reserved for future use.
966
966
  :param bool wait: wait for the code env to be created or return a future
@@ -1828,6 +1828,9 @@ class DSSClient(object):
1828
1828
  """
1829
1829
  Returns a dictionary with information about licensing status of this DSS instance
1830
1830
 
1831
+ Note:
1832
+ The API is not available on Cloud. Use the Launchpad or Launchpad API.
1833
+
1831
1834
  :rtype: dict
1832
1835
  """
1833
1836
  return self._perform_json("GET", "/admin/licensing/status")
@@ -1836,6 +1839,9 @@ class DSSClient(object):
1836
1839
  """
1837
1840
  Sets a new licence for DSS
1838
1841
 
1842
+ Note:
1843
+ The API is not available on Cloud. Use the Launchpad or Launchpad API.
1844
+
1839
1845
  :param license: license (content of license file)
1840
1846
  :return: None
1841
1847
  """
@@ -75,6 +75,7 @@ class FMInstanceCreator(object):
75
75
  data_volume_IOPS=None,
76
76
  data_volume_encryption=None,
77
77
  data_volume_encryption_key=None,
78
+ data_volume_throughput=None,
78
79
  ):
79
80
  """
80
81
  Set the options of the data volume to use with the DSS Instance
@@ -86,6 +87,7 @@ class FMInstanceCreator(object):
86
87
  :param data_volume_encryption: Optional, encryption mode of the data volume
87
88
  :type data_volume_encryption: :class:`dataikuapi.fm.instances.FMInstanceEncryptionMode`
88
89
  :param str data_volume_encryption_key: Optional, the encryption key to use when data_volume_encryption_key is FMInstanceEncryptionMode.CUSTOM
90
+ :param int data_volume_throughput: Optional, data volume throughput
89
91
  :rtype: :class:`dataikuapi.fm.instances.FMInstanceCreator`
90
92
  """
91
93
  if not data_volume_encryption:
@@ -99,6 +101,7 @@ class FMInstanceCreator(object):
99
101
  self.data["dataVolumeSizeGB"] = data_volume_size
100
102
  self.data["dataVolumeSizeMaxGB"] = data_volume_size_max
101
103
  self.data["dataVolumeIOPS"] = data_volume_IOPS
104
+ self.data["dataVolumeThroughput"] = data_volume_throughput
102
105
  self.data["volumesEncryption"] = data_volume_encryption.value
103
106
  self.data["volumesEncryptionKey"] = data_volume_encryption_key
104
107
  return self
@@ -673,6 +673,9 @@ class GovernClient(object):
673
673
  """
674
674
  Returns a dictionary with information about licensing status of this Dataiku Govern instance
675
675
 
676
+ Note:
677
+ The API is not available on Cloud. Use the Launchpad or Launchpad API.
678
+
676
679
  :rtype: dict
677
680
  """
678
681
  return self._perform_json("GET", "/admin/licensing/status")
@@ -681,6 +684,9 @@ class GovernClient(object):
681
684
  """
682
685
  Sets a new licence for Dataiku Govern
683
686
 
687
+ Note:
688
+ The API is not available on Cloud. Use the Launchpad or Launchpad API.
689
+
684
690
  :param license: license (content of license file)
685
691
  :return: None
686
692
  """
@@ -30,7 +30,7 @@ class LaunchpadGroup:
30
30
  group = client.build_group("Designers", "Designer group", ["user@example.com"])
31
31
  group.launchpad_permissions = {"mayTurnOnSpace": True}
32
32
  group.update_permissions({"mayCreateProjects": True}, node_type="dataiku")
33
- group.update_permissions({"mayManageGovern": True}, node_type="govern")
33
+ group.update_permissions({"isGovernArchitect": True}, node_type="govern")
34
34
  group.save()
35
35
 
36
36
  # Get a group