antfly-sdk 0.0.2.dev2__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 (640) hide show
  1. antfly/.gitignore +23 -0
  2. antfly/README.md +124 -0
  3. antfly/__init__.py +20 -0
  4. antfly/client.py +260 -0
  5. antfly/client_generated/__init__.py +8 -0
  6. antfly/client_generated/api/__init__.py +1 -0
  7. antfly/client_generated/api/api_key/__init__.py +1 -0
  8. antfly/client_generated/api/api_key/create_api_key.py +209 -0
  9. antfly/client_generated/api/api_key/delete_api_key.py +182 -0
  10. antfly/client_generated/api/api_key/list_api_keys.py +182 -0
  11. antfly/client_generated/api/cluster_management/__init__.py +1 -0
  12. antfly/client_generated/api/cluster_management/backup.py +259 -0
  13. antfly/client_generated/api/cluster_management/delete_secret.py +177 -0
  14. antfly/client_generated/api/cluster_management/get_cluster.py +147 -0
  15. antfly/client_generated/api/cluster_management/get_status.py +145 -0
  16. antfly/client_generated/api/cluster_management/list_backups.py +187 -0
  17. antfly/client_generated/api/cluster_management/list_secrets.py +147 -0
  18. antfly/client_generated/api/cluster_management/put_secret.py +200 -0
  19. antfly/client_generated/api/cluster_management/restore.py +215 -0
  20. antfly/client_generated/api/data_operations/__init__.py +1 -0
  21. antfly/client_generated/api/data_operations/abort_transaction_session.py +176 -0
  22. antfly/client_generated/api/data_operations/backup_table.py +192 -0
  23. antfly/client_generated/api/data_operations/batch_write.py +318 -0
  24. antfly/client_generated/api/data_operations/begin_transaction.py +172 -0
  25. antfly/client_generated/api/data_operations/cleanup_transaction_sessions.py +171 -0
  26. antfly/client_generated/api/data_operations/commit_transaction.py +289 -0
  27. antfly/client_generated/api/data_operations/commit_transaction_session.py +234 -0
  28. antfly/client_generated/api/data_operations/create_transaction_savepoint.py +176 -0
  29. antfly/client_generated/api/data_operations/get_transaction_session.py +176 -0
  30. antfly/client_generated/api/data_operations/linear_merge.py +338 -0
  31. antfly/client_generated/api/data_operations/list_transaction_sessions.py +134 -0
  32. antfly/client_generated/api/data_operations/lookup_key.py +206 -0
  33. antfly/client_generated/api/data_operations/multi_batch_write.py +248 -0
  34. antfly/client_generated/api/data_operations/restore_table.py +187 -0
  35. antfly/client_generated/api/data_operations/rollback_transaction_savepoint.py +190 -0
  36. antfly/client_generated/api/data_operations/stage_transaction_delete.py +197 -0
  37. antfly/client_generated/api/data_operations/stage_transaction_read.py +198 -0
  38. antfly/client_generated/api/data_operations/stage_transaction_session.py +233 -0
  39. antfly/client_generated/api/data_operations/stage_transaction_write.py +197 -0
  40. antfly/client_generated/api/default/__init__.py +1 -0
  41. antfly/client_generated/api/default/chat_completions.py +193 -0
  42. antfly/client_generated/api/default/chunk_text.py +243 -0
  43. antfly/client_generated/api/default/create_embedding.py +204 -0
  44. antfly/client_generated/api/default/extract.py +201 -0
  45. antfly/client_generated/api/default/generate_content.py +257 -0
  46. antfly/client_generated/api/default/generate_embeddings.py +204 -0
  47. antfly/client_generated/api/default/list_models.py +327 -0
  48. antfly/client_generated/api/default/read_images.py +281 -0
  49. antfly/client_generated/api/default/rerank_multimodal_prompts.py +204 -0
  50. antfly/client_generated/api/default/rerank_prompts.py +289 -0
  51. antfly/client_generated/api/default/rewrite_text.py +241 -0
  52. antfly/client_generated/api/default/transcribe_audio.py +329 -0
  53. antfly/client_generated/api/index_management/__init__.py +1 -0
  54. antfly/client_generated/api/index_management/create_index.py +209 -0
  55. antfly/client_generated/api/index_management/drop_index.py +174 -0
  56. antfly/client_generated/api/index_management/get_index.py +176 -0
  57. antfly/client_generated/api/index_management/list_indexes.py +171 -0
  58. antfly/client_generated/api/permission/__init__.py +1 -0
  59. antfly/client_generated/api/permission/add_permission_to_user.py +198 -0
  60. antfly/client_generated/api/permission/get_user_permissions.py +184 -0
  61. antfly/client_generated/api/permission/remove_permission_from_user.py +215 -0
  62. antfly/client_generated/api/query_operations/__init__.py +1 -0
  63. antfly/client_generated/api/query_operations/evaluate.py +211 -0
  64. antfly/client_generated/api/query_operations/query_builder_agent.py +202 -0
  65. antfly/client_generated/api/role/__init__.py +1 -0
  66. antfly/client_generated/api/role/add_role_to_user.py +198 -0
  67. antfly/client_generated/api/role/list_auth_subjects.py +147 -0
  68. antfly/client_generated/api/role/list_user_roles.py +169 -0
  69. antfly/client_generated/api/role/remove_role_from_user.py +194 -0
  70. antfly/client_generated/api/row_filter/__init__.py +1 -0
  71. antfly/client_generated/api/row_filter/get_row_filter.py +186 -0
  72. antfly/client_generated/api/row_filter/get_subject_row_filter.py +186 -0
  73. antfly/client_generated/api/row_filter/list_row_filters.py +179 -0
  74. antfly/client_generated/api/row_filter/list_subject_row_filters.py +174 -0
  75. antfly/client_generated/api/row_filter/remove_row_filter.py +182 -0
  76. antfly/client_generated/api/row_filter/remove_subject_row_filter.py +182 -0
  77. antfly/client_generated/api/row_filter/set_row_filter.py +216 -0
  78. antfly/client_generated/api/row_filter/set_subject_row_filter.py +207 -0
  79. antfly/client_generated/api/table_management/__init__.py +1 -0
  80. antfly/client_generated/api/table_management/drop_table.py +160 -0
  81. antfly/client_generated/api/table_management/get_table.py +151 -0
  82. antfly/client_generated/api/table_management/list_tables.py +176 -0
  83. antfly/client_generated/api/table_management/update_schema.py +182 -0
  84. antfly/client_generated/api/user/__init__.py +1 -0
  85. antfly/client_generated/api/user/create_user.py +196 -0
  86. antfly/client_generated/api/user/delete_user.py +173 -0
  87. antfly/client_generated/api/user/get_current_user.py +147 -0
  88. antfly/client_generated/api/user/get_user_by_name.py +175 -0
  89. antfly/client_generated/api/user/list_users.py +157 -0
  90. antfly/client_generated/api/user/update_user_password.py +198 -0
  91. antfly/client_generated/client.py +268 -0
  92. antfly/client_generated/errors.py +16 -0
  93. antfly/client_generated/models/__init__.py +1087 -0
  94. antfly/client_generated/models/agent_decision.py +81 -0
  95. antfly/client_generated/models/agent_question.py +120 -0
  96. antfly/client_generated/models/agent_question_kind.py +12 -0
  97. antfly/client_generated/models/agent_status.py +12 -0
  98. antfly/client_generated/models/agent_step.py +155 -0
  99. antfly/client_generated/models/agent_step_details.py +47 -0
  100. antfly/client_generated/models/agent_step_kind.py +13 -0
  101. antfly/client_generated/models/agent_step_status.py +10 -0
  102. antfly/client_generated/models/aggregation_bucket.py +156 -0
  103. antfly/client_generated/models/aggregation_bucket_sub_aggregations.py +60 -0
  104. antfly/client_generated/models/aggregation_date_range.py +81 -0
  105. antfly/client_generated/models/aggregation_range.py +81 -0
  106. antfly/client_generated/models/aggregation_result.py +160 -0
  107. antfly/client_generated/models/aggregation_type.py +23 -0
  108. antfly/client_generated/models/algebraic_aggregation_join.py +96 -0
  109. antfly/client_generated/models/algebraic_aggregation_join_kind.py +11 -0
  110. antfly/client_generated/models/algebraic_index_config.py +64 -0
  111. antfly/client_generated/models/algebraic_index_stats.py +329 -0
  112. antfly/client_generated/models/algebraic_index_stats_index_type.py +8 -0
  113. antfly/client_generated/models/algebraic_index_stats_planner_last_decision.py +9 -0
  114. antfly/client_generated/models/analyses.py +70 -0
  115. antfly/client_generated/models/analyses_result.py +74 -0
  116. antfly/client_generated/models/answer_agent_result.py +159 -0
  117. antfly/client_generated/models/answer_agent_steps.py +136 -0
  118. antfly/client_generated/models/antfly_chunker_config.py +149 -0
  119. antfly/client_generated/models/antfly_embedder_config.py +90 -0
  120. antfly/client_generated/models/antfly_generator_config.py +119 -0
  121. antfly/client_generated/models/antfly_reranker_config.py +77 -0
  122. antfly/client_generated/models/antfly_type.py +19 -0
  123. antfly/client_generated/models/antfly_type_2.py +19 -0
  124. antfly/client_generated/models/anthropic_generator_config.py +119 -0
  125. antfly/client_generated/models/api_key.py +202 -0
  126. antfly/client_generated/models/api_key_row_filter_type_0.py +50 -0
  127. antfly/client_generated/models/api_key_with_secret.py +220 -0
  128. antfly/client_generated/models/audio_chunk_options.py +72 -0
  129. antfly/client_generated/models/auth_subject.py +72 -0
  130. antfly/client_generated/models/auth_subject_kind.py +11 -0
  131. antfly/client_generated/models/backup_info.py +115 -0
  132. antfly/client_generated/models/backup_info_format.py +9 -0
  133. antfly/client_generated/models/backup_list_response.py +75 -0
  134. antfly/client_generated/models/backup_request.py +101 -0
  135. antfly/client_generated/models/backup_request_format.py +9 -0
  136. antfly/client_generated/models/backup_table_response_201.py +61 -0
  137. antfly/client_generated/models/batch_request.py +195 -0
  138. antfly/client_generated/models/batch_request_inserts.py +71 -0
  139. antfly/client_generated/models/batch_request_inserts_additional_property.py +47 -0
  140. antfly/client_generated/models/batch_response.py +79 -0
  141. antfly/client_generated/models/bedrock_embedder_config.py +139 -0
  142. antfly/client_generated/models/bedrock_generator_config.py +109 -0
  143. antfly/client_generated/models/bing_search_config.py +159 -0
  144. antfly/client_generated/models/bing_search_config_freshness.py +10 -0
  145. antfly/client_generated/models/bool_field_query.py +93 -0
  146. antfly/client_generated/models/boolean_query.py +534 -0
  147. antfly/client_generated/models/brave_search_config.py +169 -0
  148. antfly/client_generated/models/brave_search_config_freshness.py +11 -0
  149. antfly/client_generated/models/calendar_interval.py +14 -0
  150. antfly/client_generated/models/chain_condition.py +11 -0
  151. antfly/client_generated/models/chain_link.py +110 -0
  152. antfly/client_generated/models/chat_message.py +208 -0
  153. antfly/client_generated/models/chat_message_role.py +11 -0
  154. antfly/client_generated/models/chat_tool_name.py +16 -0
  155. antfly/client_generated/models/chat_tools_config.py +157 -0
  156. antfly/client_generated/models/chunk_options.py +111 -0
  157. antfly/client_generated/models/chunker_config.py +103 -0
  158. antfly/client_generated/models/chunker_config_full_text_index.py +51 -0
  159. antfly/client_generated/models/chunker_provider.py +9 -0
  160. antfly/client_generated/models/classification_step_config.py +169 -0
  161. antfly/client_generated/models/classification_transformation_result.py +158 -0
  162. antfly/client_generated/models/cluster_backup_request.py +113 -0
  163. antfly/client_generated/models/cluster_backup_request_format.py +9 -0
  164. antfly/client_generated/models/cluster_backup_response.py +93 -0
  165. antfly/client_generated/models/cluster_backup_response_status.py +10 -0
  166. antfly/client_generated/models/cluster_data_group_status.py +209 -0
  167. antfly/client_generated/models/cluster_data_node_status.py +197 -0
  168. antfly/client_generated/models/cluster_data_range_status.py +200 -0
  169. antfly/client_generated/models/cluster_data_replica_status.py +98 -0
  170. antfly/client_generated/models/cluster_data_status.py +149 -0
  171. antfly/client_generated/models/cluster_health.py +12 -0
  172. antfly/client_generated/models/cluster_restore_request.py +107 -0
  173. antfly/client_generated/models/cluster_restore_request_restore_mode.py +10 -0
  174. antfly/client_generated/models/cluster_restore_response.py +85 -0
  175. antfly/client_generated/models/cluster_restore_response_status.py +10 -0
  176. antfly/client_generated/models/cluster_status.py +114 -0
  177. antfly/client_generated/models/cluster_topology.py +124 -0
  178. antfly/client_generated/models/cohere_embedder_config.py +119 -0
  179. antfly/client_generated/models/cohere_embedder_config_input_type.py +11 -0
  180. antfly/client_generated/models/cohere_embedder_config_truncate.py +10 -0
  181. antfly/client_generated/models/cohere_generator_config.py +127 -0
  182. antfly/client_generated/models/cohere_reranker_config.py +102 -0
  183. antfly/client_generated/models/confidence_step_config.py +119 -0
  184. antfly/client_generated/models/conjunction_query.py +492 -0
  185. antfly/client_generated/models/create_api_key_request.py +156 -0
  186. antfly/client_generated/models/create_api_key_request_row_filter_type_0.py +50 -0
  187. antfly/client_generated/models/create_user_request.py +153 -0
  188. antfly/client_generated/models/create_user_request_metadata_type_0.py +52 -0
  189. antfly/client_generated/models/credentials.py +102 -0
  190. antfly/client_generated/models/date_range_string_query.py +165 -0
  191. antfly/client_generated/models/disjunction_query.py +501 -0
  192. antfly/client_generated/models/distance_metric.py +10 -0
  193. antfly/client_generated/models/distance_range.py +81 -0
  194. antfly/client_generated/models/distance_unit.py +12 -0
  195. antfly/client_generated/models/doc_id_query.py +84 -0
  196. antfly/client_generated/models/document_schema.py +85 -0
  197. antfly/client_generated/models/document_schema_schema.py +50 -0
  198. antfly/client_generated/models/duck_duck_go_search_config.py +143 -0
  199. antfly/client_generated/models/dynamic_template.py +141 -0
  200. antfly/client_generated/models/dynamic_template_match_mapping_type.py +12 -0
  201. antfly/client_generated/models/edge.py +144 -0
  202. antfly/client_generated/models/edge_direction.py +10 -0
  203. antfly/client_generated/models/edge_metadata.py +47 -0
  204. antfly/client_generated/models/edge_type_config.py +133 -0
  205. antfly/client_generated/models/edge_type_config_topology.py +9 -0
  206. antfly/client_generated/models/edges_response.py +88 -0
  207. antfly/client_generated/models/embedder_config.py +267 -0
  208. antfly/client_generated/models/embedder_provider.py +16 -0
  209. antfly/client_generated/models/embedding_type_1.py +70 -0
  210. antfly/client_generated/models/embedding_type_3.py +71 -0
  211. antfly/client_generated/models/embeddings_index_config.py +393 -0
  212. antfly/client_generated/models/embeddings_index_stats.py +146 -0
  213. antfly/client_generated/models/embeddings_index_stats_index_type.py +8 -0
  214. antfly/client_generated/models/error.py +61 -0
  215. antfly/client_generated/models/eval_config.py +135 -0
  216. antfly/client_generated/models/eval_options.py +80 -0
  217. antfly/client_generated/models/eval_request.py +185 -0
  218. antfly/client_generated/models/eval_request_context_item.py +47 -0
  219. antfly/client_generated/models/eval_result.py +102 -0
  220. antfly/client_generated/models/eval_scores.py +93 -0
  221. antfly/client_generated/models/eval_scores_generation.py +60 -0
  222. antfly/client_generated/models/eval_scores_retrieval.py +60 -0
  223. antfly/client_generated/models/eval_summary.py +89 -0
  224. antfly/client_generated/models/evaluator_name.py +20 -0
  225. antfly/client_generated/models/evaluator_score.py +102 -0
  226. antfly/client_generated/models/evaluator_score_metadata.py +47 -0
  227. antfly/client_generated/models/extraction_classification.py +80 -0
  228. antfly/client_generated/models/extraction_classification_schema.py +80 -0
  229. antfly/client_generated/models/extraction_entity.py +98 -0
  230. antfly/client_generated/models/extraction_input.py +201 -0
  231. antfly/client_generated/models/extraction_input_metadata.py +47 -0
  232. antfly/client_generated/models/extraction_object.py +152 -0
  233. antfly/client_generated/models/extraction_object_structures.py +47 -0
  234. antfly/client_generated/models/extraction_options.py +110 -0
  235. antfly/client_generated/models/extraction_reader_options.py +88 -0
  236. antfly/client_generated/models/extraction_relation.py +110 -0
  237. antfly/client_generated/models/extraction_relation_endpoint.py +70 -0
  238. antfly/client_generated/models/extraction_relation_schema.py +81 -0
  239. antfly/client_generated/models/extraction_request.py +113 -0
  240. antfly/client_generated/models/extraction_response.py +112 -0
  241. antfly/client_generated/models/extraction_response_object.py +8 -0
  242. antfly/client_generated/models/extraction_response_usage.py +47 -0
  243. antfly/client_generated/models/extraction_schema.py +131 -0
  244. antfly/client_generated/models/extraction_schema_structures.py +60 -0
  245. antfly/client_generated/models/extraction_structure_field_type_1.py +47 -0
  246. antfly/client_generated/models/extraction_structure_schema.py +74 -0
  247. antfly/client_generated/models/extraction_structure_schema_fields.py +76 -0
  248. antfly/client_generated/models/extraction_token.py +74 -0
  249. antfly/client_generated/models/failed_operation.py +87 -0
  250. antfly/client_generated/models/failed_operation_operation.py +9 -0
  251. antfly/client_generated/models/fetch_config.py +140 -0
  252. antfly/client_generated/models/field_statistics.py +98 -0
  253. antfly/client_generated/models/filter_spec.py +88 -0
  254. antfly/client_generated/models/filter_spec_operator.py +17 -0
  255. antfly/client_generated/models/followup_step_config.py +128 -0
  256. antfly/client_generated/models/foreign_column.py +82 -0
  257. antfly/client_generated/models/foreign_source.py +114 -0
  258. antfly/client_generated/models/foreign_source_type.py +8 -0
  259. antfly/client_generated/models/full_text_index_config.py +61 -0
  260. antfly/client_generated/models/full_text_index_stats.py +118 -0
  261. antfly/client_generated/models/full_text_index_stats_index_type.py +8 -0
  262. antfly/client_generated/models/fuzziness_type_1.py +8 -0
  263. antfly/client_generated/models/fuzzy_query.py +131 -0
  264. antfly/client_generated/models/generation_step_config.py +128 -0
  265. antfly/client_generated/models/generator_config.py +67 -0
  266. antfly/client_generated/models/generator_provider.py +17 -0
  267. antfly/client_generated/models/geo_bounding_box_query.py +101 -0
  268. antfly/client_generated/models/geo_bounding_polygon_query.py +107 -0
  269. antfly/client_generated/models/geo_distance_query.py +101 -0
  270. antfly/client_generated/models/geo_point.py +70 -0
  271. antfly/client_generated/models/geo_shape_geometry_relation.py +10 -0
  272. antfly/client_generated/models/get_current_user_response_200.py +122 -0
  273. antfly/client_generated/models/get_current_user_response_200_metadata_type_0.py +47 -0
  274. antfly/client_generated/models/google_embedder_config.py +120 -0
  275. antfly/client_generated/models/google_generator_config.py +136 -0
  276. antfly/client_generated/models/google_search_config.py +173 -0
  277. antfly/client_generated/models/google_search_config_search_type.py +9 -0
  278. antfly/client_generated/models/graph_index_config.py +121 -0
  279. antfly/client_generated/models/graph_index_stats.py +151 -0
  280. antfly/client_generated/models/graph_index_stats_algebraic_graph.py +75 -0
  281. antfly/client_generated/models/graph_index_stats_algebraic_graph_traversal.py +97 -0
  282. antfly/client_generated/models/graph_index_stats_edge_types.py +47 -0
  283. antfly/client_generated/models/graph_index_stats_index_type.py +8 -0
  284. antfly/client_generated/models/graph_node_selector.py +106 -0
  285. antfly/client_generated/models/graph_query.py +192 -0
  286. antfly/client_generated/models/graph_query_params.py +216 -0
  287. antfly/client_generated/models/graph_query_params_algorithm_params.py +47 -0
  288. antfly/client_generated/models/graph_query_result.py +155 -0
  289. antfly/client_generated/models/graph_query_type.py +12 -0
  290. antfly/client_generated/models/graph_result_node.py +173 -0
  291. antfly/client_generated/models/graph_result_node_document.py +47 -0
  292. antfly/client_generated/models/ground_truth.py +74 -0
  293. antfly/client_generated/models/image_url.py +62 -0
  294. antfly/client_generated/models/image_url_content_part.py +78 -0
  295. antfly/client_generated/models/image_url_content_part_type.py +8 -0
  296. antfly/client_generated/models/incomplete_details.py +68 -0
  297. antfly/client_generated/models/incomplete_details_reason.py +11 -0
  298. antfly/client_generated/models/index_status.py +190 -0
  299. antfly/client_generated/models/index_status_shard_status.py +116 -0
  300. antfly/client_generated/models/index_type.py +11 -0
  301. antfly/client_generated/models/inference_audio_chunk_config.py +95 -0
  302. antfly/client_generated/models/inference_backend_runtimes.py +116 -0
  303. antfly/client_generated/models/inference_binary_content.py +98 -0
  304. antfly/client_generated/models/inference_chat_message.py +198 -0
  305. antfly/client_generated/models/inference_chunk.py +70 -0
  306. antfly/client_generated/models/inference_chunk_config.py +123 -0
  307. antfly/client_generated/models/inference_chunk_object.py +88 -0
  308. antfly/client_generated/models/inference_chunk_object_object.py +8 -0
  309. antfly/client_generated/models/inference_chunk_request.py +148 -0
  310. antfly/client_generated/models/inference_chunk_response.py +117 -0
  311. antfly/client_generated/models/inference_chunk_response_object.py +8 -0
  312. antfly/client_generated/models/inference_classify_object.py +93 -0
  313. antfly/client_generated/models/inference_classify_object_object.py +8 -0
  314. antfly/client_generated/models/inference_classify_request.py +105 -0
  315. antfly/client_generated/models/inference_classify_response.py +103 -0
  316. antfly/client_generated/models/inference_classify_response_object.py +8 -0
  317. antfly/client_generated/models/inference_classify_result.py +69 -0
  318. antfly/client_generated/models/inference_config.py +327 -0
  319. antfly/client_generated/models/inference_config_model_strategies.py +74 -0
  320. antfly/client_generated/models/inference_config_model_strategies_additional_property.py +10 -0
  321. antfly/client_generated/models/inference_content_security_config.py +128 -0
  322. antfly/client_generated/models/inference_credentials.py +102 -0
  323. antfly/client_generated/models/inference_document_classification_features.py +141 -0
  324. antfly/client_generated/models/inference_document_classification_object.py +162 -0
  325. antfly/client_generated/models/inference_document_classification_object_input.py +69 -0
  326. antfly/client_generated/models/inference_document_classification_object_object.py +8 -0
  327. antfly/client_generated/models/inference_document_classification_request.py +99 -0
  328. antfly/client_generated/models/inference_document_classification_response.py +103 -0
  329. antfly/client_generated/models/inference_document_classification_response_object.py +8 -0
  330. antfly/client_generated/models/inference_document_classification_result.py +69 -0
  331. antfly/client_generated/models/inference_document_token_box.py +70 -0
  332. antfly/client_generated/models/inference_document_token_classification_features.py +101 -0
  333. antfly/client_generated/models/inference_document_token_classification_object.py +124 -0
  334. antfly/client_generated/models/inference_document_token_classification_object_object.py +8 -0
  335. antfly/client_generated/models/inference_document_token_classification_prediction.py +145 -0
  336. antfly/client_generated/models/inference_document_token_classification_request.py +105 -0
  337. antfly/client_generated/models/inference_document_token_classification_response.py +105 -0
  338. antfly/client_generated/models/inference_document_token_classification_response_object.py +8 -0
  339. antfly/client_generated/models/inference_document_token_classification_result.py +69 -0
  340. antfly/client_generated/models/inference_embed_request.py +226 -0
  341. antfly/client_generated/models/inference_embed_request_encoding_format.py +8 -0
  342. antfly/client_generated/models/inference_embed_request_input_type.py +13 -0
  343. antfly/client_generated/models/inference_embed_request_task_type.py +15 -0
  344. antfly/client_generated/models/inference_embed_response.py +104 -0
  345. antfly/client_generated/models/inference_embed_response_object.py +8 -0
  346. antfly/client_generated/models/inference_embedding_object.py +113 -0
  347. antfly/client_generated/models/inference_embedding_object_object.py +8 -0
  348. antfly/client_generated/models/inference_embedding_usage.py +70 -0
  349. antfly/client_generated/models/inference_error.py +61 -0
  350. antfly/client_generated/models/inference_extract_field_value.py +90 -0
  351. antfly/client_generated/models/inference_extract_object.py +88 -0
  352. antfly/client_generated/models/inference_extract_object_object.py +8 -0
  353. antfly/client_generated/models/inference_extract_object_results.py +80 -0
  354. antfly/client_generated/models/inference_extract_object_results_additional_property_item.py +47 -0
  355. antfly/client_generated/models/inference_extract_request.py +179 -0
  356. antfly/client_generated/models/inference_extract_request_schema.py +62 -0
  357. antfly/client_generated/models/inference_extract_response.py +103 -0
  358. antfly/client_generated/models/inference_extract_response_object.py +8 -0
  359. antfly/client_generated/models/inference_finish_reason.py +12 -0
  360. antfly/client_generated/models/inference_function_definition.py +107 -0
  361. antfly/client_generated/models/inference_function_definition_parameters.py +53 -0
  362. antfly/client_generated/models/inference_generate_choice.py +121 -0
  363. antfly/client_generated/models/inference_generate_choice_logprobs_type_0.py +47 -0
  364. antfly/client_generated/models/inference_generate_chunk.py +110 -0
  365. antfly/client_generated/models/inference_generate_chunk_choice.py +94 -0
  366. antfly/client_generated/models/inference_generate_chunk_object.py +8 -0
  367. antfly/client_generated/models/inference_generate_delta.py +117 -0
  368. antfly/client_generated/models/inference_generate_json_schema_config.py +92 -0
  369. antfly/client_generated/models/inference_generate_json_schema_config_schema.py +47 -0
  370. antfly/client_generated/models/inference_generate_message.py +112 -0
  371. antfly/client_generated/models/inference_generate_request.py +380 -0
  372. antfly/client_generated/models/inference_generate_request_backend.py +14 -0
  373. antfly/client_generated/models/inference_generate_request_cache_dtype.py +12 -0
  374. antfly/client_generated/models/inference_generate_request_compiled_target.py +9 -0
  375. antfly/client_generated/models/inference_generate_request_mode.py +9 -0
  376. antfly/client_generated/models/inference_generate_response.py +120 -0
  377. antfly/client_generated/models/inference_generate_response_format.py +86 -0
  378. antfly/client_generated/models/inference_generate_response_format_type.py +10 -0
  379. antfly/client_generated/models/inference_generate_response_object.py +8 -0
  380. antfly/client_generated/models/inference_generate_usage.py +77 -0
  381. antfly/client_generated/models/inference_image_url.py +62 -0
  382. antfly/client_generated/models/inference_image_url_content_part.py +78 -0
  383. antfly/client_generated/models/inference_image_url_content_part_type.py +8 -0
  384. antfly/client_generated/models/inference_level.py +11 -0
  385. antfly/client_generated/models/inference_media_content_part.py +80 -0
  386. antfly/client_generated/models/inference_media_content_part_type.py +8 -0
  387. antfly/client_generated/models/inference_model_info.py +76 -0
  388. antfly/client_generated/models/inference_models_response.py +204 -0
  389. antfly/client_generated/models/inference_models_response_chunkers.py +60 -0
  390. antfly/client_generated/models/inference_models_response_classifiers.py +60 -0
  391. antfly/client_generated/models/inference_models_response_data_item.py +47 -0
  392. antfly/client_generated/models/inference_models_response_embedders.py +60 -0
  393. antfly/client_generated/models/inference_models_response_extractors.py +60 -0
  394. antfly/client_generated/models/inference_models_response_generators.py +60 -0
  395. antfly/client_generated/models/inference_models_response_object.py +8 -0
  396. antfly/client_generated/models/inference_models_response_readers.py +60 -0
  397. antfly/client_generated/models/inference_models_response_recognizers.py +60 -0
  398. antfly/client_generated/models/inference_models_response_rerankers.py +60 -0
  399. antfly/client_generated/models/inference_models_response_rewriters.py +60 -0
  400. antfly/client_generated/models/inference_models_response_transcribers.py +60 -0
  401. antfly/client_generated/models/inference_read_object.py +130 -0
  402. antfly/client_generated/models/inference_read_object_object.py +8 -0
  403. antfly/client_generated/models/inference_read_request.py +113 -0
  404. antfly/client_generated/models/inference_read_response.py +103 -0
  405. antfly/client_generated/models/inference_read_response_object.py +8 -0
  406. antfly/client_generated/models/inference_read_result.py +113 -0
  407. antfly/client_generated/models/inference_read_result_fields.py +54 -0
  408. antfly/client_generated/models/inference_recognize_entity.py +93 -0
  409. antfly/client_generated/models/inference_recognize_object.py +118 -0
  410. antfly/client_generated/models/inference_recognize_object_object.py +8 -0
  411. antfly/client_generated/models/inference_recognize_request.py +129 -0
  412. antfly/client_generated/models/inference_recognize_response.py +103 -0
  413. antfly/client_generated/models/inference_recognize_response_object.py +8 -0
  414. antfly/client_generated/models/inference_relation.py +91 -0
  415. antfly/client_generated/models/inference_rerank_multimodal_document.py +160 -0
  416. antfly/client_generated/models/inference_rerank_multimodal_request.py +91 -0
  417. antfly/client_generated/models/inference_rerank_object.py +79 -0
  418. antfly/client_generated/models/inference_rerank_object_object.py +8 -0
  419. antfly/client_generated/models/inference_rerank_request.py +79 -0
  420. antfly/client_generated/models/inference_rerank_response.py +103 -0
  421. antfly/client_generated/models/inference_rerank_response_object.py +8 -0
  422. antfly/client_generated/models/inference_resolver_config.py +110 -0
  423. antfly/client_generated/models/inference_rewrite_object.py +79 -0
  424. antfly/client_generated/models/inference_rewrite_object_object.py +8 -0
  425. antfly/client_generated/models/inference_rewrite_request.py +69 -0
  426. antfly/client_generated/models/inference_rewrite_response.py +103 -0
  427. antfly/client_generated/models/inference_rewrite_response_object.py +8 -0
  428. antfly/client_generated/models/inference_role.py +11 -0
  429. antfly/client_generated/models/inference_sparse_vector.py +70 -0
  430. antfly/client_generated/models/inference_style.py +11 -0
  431. antfly/client_generated/models/inference_text_chunk_options.py +82 -0
  432. antfly/client_generated/models/inference_text_content.py +78 -0
  433. antfly/client_generated/models/inference_text_content_part.py +72 -0
  434. antfly/client_generated/models/inference_text_content_part_type.py +8 -0
  435. antfly/client_generated/models/inference_text_region.py +89 -0
  436. antfly/client_generated/models/inference_tool.py +78 -0
  437. antfly/client_generated/models/inference_tool_call_delta.py +110 -0
  438. antfly/client_generated/models/inference_tool_call_delta_type.py +8 -0
  439. antfly/client_generated/models/inference_tool_call_function_delta.py +71 -0
  440. antfly/client_generated/models/inference_tool_choice_type_0.py +10 -0
  441. antfly/client_generated/models/inference_tool_choice_type_1_function.py +61 -0
  442. antfly/client_generated/models/inference_tool_choice_type_1_type.py +8 -0
  443. antfly/client_generated/models/inference_tool_type.py +8 -0
  444. antfly/client_generated/models/inference_transcribe_object.py +89 -0
  445. antfly/client_generated/models/inference_transcribe_object_object.py +8 -0
  446. antfly/client_generated/models/inference_transcribe_request.py +81 -0
  447. antfly/client_generated/models/inference_transcribe_response.py +103 -0
  448. antfly/client_generated/models/inference_transcribe_response_object.py +8 -0
  449. antfly/client_generated/models/inference_vad_options.py +92 -0
  450. antfly/client_generated/models/inferenceschemas_config.py +88 -0
  451. antfly/client_generated/models/ip_range_query.py +93 -0
  452. antfly/client_generated/models/join_condition.py +95 -0
  453. antfly/client_generated/models/join_operator.py +13 -0
  454. antfly/client_generated/models/join_profile.py +130 -0
  455. antfly/client_generated/models/join_strategy.py +10 -0
  456. antfly/client_generated/models/join_type.py +10 -0
  457. antfly/client_generated/models/key_range.py +71 -0
  458. antfly/client_generated/models/linear_merge_page_status.py +10 -0
  459. antfly/client_generated/models/linear_merge_request.py +150 -0
  460. antfly/client_generated/models/linear_merge_request_records.py +59 -0
  461. antfly/client_generated/models/linear_merge_result.py +183 -0
  462. antfly/client_generated/models/list_users_response_200_item.py +61 -0
  463. antfly/client_generated/models/lookup_key_response_200.py +47 -0
  464. antfly/client_generated/models/lsm_storage_status.py +116 -0
  465. antfly/client_generated/models/match_all_query.py +90 -0
  466. antfly/client_generated/models/match_all_query_match_all.py +47 -0
  467. antfly/client_generated/models/match_none_query.py +90 -0
  468. antfly/client_generated/models/match_none_query_match_none.py +47 -0
  469. antfly/client_generated/models/match_phrase_query.py +131 -0
  470. antfly/client_generated/models/match_query.py +157 -0
  471. antfly/client_generated/models/match_query_operator.py +9 -0
  472. antfly/client_generated/models/media_content_part.py +80 -0
  473. antfly/client_generated/models/media_content_part_type.py +8 -0
  474. antfly/client_generated/models/merge_config.py +118 -0
  475. antfly/client_generated/models/merge_config_weights.py +54 -0
  476. antfly/client_generated/models/merge_profile.py +101 -0
  477. antfly/client_generated/models/merge_strategy.py +10 -0
  478. antfly/client_generated/models/multi_batch_request.py +104 -0
  479. antfly/client_generated/models/multi_batch_request_tables.py +67 -0
  480. antfly/client_generated/models/multi_batch_response.py +75 -0
  481. antfly/client_generated/models/multi_batch_response_tables.py +60 -0
  482. antfly/client_generated/models/multi_match_body.py +101 -0
  483. antfly/client_generated/models/multi_match_body_type.py +8 -0
  484. antfly/client_generated/models/multi_match_query.py +67 -0
  485. antfly/client_generated/models/multi_phrase_query.py +131 -0
  486. antfly/client_generated/models/node_filter.py +84 -0
  487. antfly/client_generated/models/node_filter_filter_query.py +47 -0
  488. antfly/client_generated/models/numeric_range_query.py +163 -0
  489. antfly/client_generated/models/ollama_embedder_config.py +84 -0
  490. antfly/client_generated/models/ollama_generator_config.py +118 -0
  491. antfly/client_generated/models/ollama_reranker_config.py +73 -0
  492. antfly/client_generated/models/open_ai_embedder_config.py +104 -0
  493. antfly/client_generated/models/open_ai_generator_config.py +127 -0
  494. antfly/client_generated/models/open_router_embedder_config.py +94 -0
  495. antfly/client_generated/models/open_router_generator_config.py +128 -0
  496. antfly/client_generated/models/path.py +108 -0
  497. antfly/client_generated/models/path_edge.py +110 -0
  498. antfly/client_generated/models/path_edge_metadata.py +47 -0
  499. antfly/client_generated/models/path_find_request.py +158 -0
  500. antfly/client_generated/models/path_find_result.py +135 -0
  501. antfly/client_generated/models/path_find_weight_mode.py +10 -0
  502. antfly/client_generated/models/path_weight_mode.py +10 -0
  503. antfly/client_generated/models/pattern_edge_step.py +120 -0
  504. antfly/client_generated/models/pattern_match.py +98 -0
  505. antfly/client_generated/models/pattern_match_bindings.py +60 -0
  506. antfly/client_generated/models/pattern_step.py +102 -0
  507. antfly/client_generated/models/permission.py +80 -0
  508. antfly/client_generated/models/permission_type.py +10 -0
  509. antfly/client_generated/models/phrase_query.py +122 -0
  510. antfly/client_generated/models/prefix_query.py +93 -0
  511. antfly/client_generated/models/prune_stats.py +89 -0
  512. antfly/client_generated/models/pruner.py +115 -0
  513. antfly/client_generated/models/query_builder_request.py +250 -0
  514. antfly/client_generated/models/query_builder_request_constraints.py +53 -0
  515. antfly/client_generated/models/query_builder_request_example_documents_item.py +47 -0
  516. antfly/client_generated/models/query_hit.py +124 -0
  517. antfly/client_generated/models/query_hit_index_scores.py +47 -0
  518. antfly/client_generated/models/query_hit_source.py +47 -0
  519. antfly/client_generated/models/query_hits.py +98 -0
  520. antfly/client_generated/models/query_profile.py +130 -0
  521. antfly/client_generated/models/query_responses.py +80 -0
  522. antfly/client_generated/models/query_result.py +187 -0
  523. antfly/client_generated/models/query_result_aggregations.py +63 -0
  524. antfly/client_generated/models/query_result_analyses.py +60 -0
  525. antfly/client_generated/models/query_result_graph_results.py +60 -0
  526. antfly/client_generated/models/query_strategy.py +11 -0
  527. antfly/client_generated/models/query_string_query.py +84 -0
  528. antfly/client_generated/models/regexp_query.py +93 -0
  529. antfly/client_generated/models/replication_source_action_hint.py +81 -0
  530. antfly/client_generated/models/replication_source_status.py +225 -0
  531. antfly/client_generated/models/replication_transform_op.py +87 -0
  532. antfly/client_generated/models/reranker_config.py +86 -0
  533. antfly/client_generated/models/reranker_profile.py +80 -0
  534. antfly/client_generated/models/reranker_provider.py +11 -0
  535. antfly/client_generated/models/resource_type.py +10 -0
  536. antfly/client_generated/models/restore_table_response_202.py +61 -0
  537. antfly/client_generated/models/retrieval_agent_result.py +397 -0
  538. antfly/client_generated/models/retrieval_agent_steps.py +179 -0
  539. antfly/client_generated/models/retrieval_agent_usage.py +129 -0
  540. antfly/client_generated/models/retrieval_strategy.py +13 -0
  541. antfly/client_generated/models/retry_config.py +89 -0
  542. antfly/client_generated/models/role_assignment.py +61 -0
  543. antfly/client_generated/models/route_type.py +9 -0
  544. antfly/client_generated/models/row_filter_entry.py +77 -0
  545. antfly/client_generated/models/row_filter_entry_filter.py +52 -0
  546. antfly/client_generated/models/secret_entry.py +115 -0
  547. antfly/client_generated/models/secret_list.py +75 -0
  548. antfly/client_generated/models/secret_status.py +10 -0
  549. antfly/client_generated/models/secret_store_status.py +62 -0
  550. antfly/client_generated/models/secret_write_request.py +61 -0
  551. antfly/client_generated/models/semantic_query_mode.py +9 -0
  552. antfly/client_generated/models/serper_search_config.py +170 -0
  553. antfly/client_generated/models/serper_search_config_search_type.py +12 -0
  554. antfly/client_generated/models/serper_search_config_time_period.py +11 -0
  555. antfly/client_generated/models/set_row_filter_body.py +47 -0
  556. antfly/client_generated/models/set_subject_row_filter_body.py +47 -0
  557. antfly/client_generated/models/shard_config.py +61 -0
  558. antfly/client_generated/models/shards_profile.py +80 -0
  559. antfly/client_generated/models/significance_algorithm.py +11 -0
  560. antfly/client_generated/models/sort_field.py +73 -0
  561. antfly/client_generated/models/sse_error.py +62 -0
  562. antfly/client_generated/models/sse_event.py +19 -0
  563. antfly/client_generated/models/sse_step_completed.py +155 -0
  564. antfly/client_generated/models/sse_step_completed_details.py +47 -0
  565. antfly/client_generated/models/sse_step_progress.py +64 -0
  566. antfly/client_generated/models/sse_step_started.py +98 -0
  567. antfly/client_generated/models/sse_tool_mode.py +74 -0
  568. antfly/client_generated/models/sse_tool_mode_mode.py +9 -0
  569. antfly/client_generated/models/storage_status.py +93 -0
  570. antfly/client_generated/models/success_message.py +61 -0
  571. antfly/client_generated/models/sync_level.py +13 -0
  572. antfly/client_generated/models/table_backup_status.py +81 -0
  573. antfly/client_generated/models/table_backup_status_status.py +10 -0
  574. antfly/client_generated/models/table_migration.py +79 -0
  575. antfly/client_generated/models/table_migration_state.py +8 -0
  576. antfly/client_generated/models/table_restore_status.py +81 -0
  577. antfly/client_generated/models/table_restore_status_status.py +10 -0
  578. antfly/client_generated/models/table_schema.py +150 -0
  579. antfly/client_generated/models/table_schema_document_schemas.py +60 -0
  580. antfly/client_generated/models/table_statistics.py +111 -0
  581. antfly/client_generated/models/table_statistics_field_stats.py +60 -0
  582. antfly/client_generated/models/tavily_search_config.py +195 -0
  583. antfly/client_generated/models/tavily_search_config_search_depth.py +9 -0
  584. antfly/client_generated/models/template_field_mapping.py +116 -0
  585. antfly/client_generated/models/term_query.py +93 -0
  586. antfly/client_generated/models/term_range_query.py +163 -0
  587. antfly/client_generated/models/text_chunk_options.py +82 -0
  588. antfly/client_generated/models/text_content_part.py +72 -0
  589. antfly/client_generated/models/text_content_part_type.py +8 -0
  590. antfly/client_generated/models/tool_call.py +86 -0
  591. antfly/client_generated/models/tool_call_function.py +70 -0
  592. antfly/client_generated/models/tool_call_type.py +8 -0
  593. antfly/client_generated/models/transaction_begin_request.py +76 -0
  594. antfly/client_generated/models/transaction_begin_response.py +77 -0
  595. antfly/client_generated/models/transaction_commit_request.py +123 -0
  596. antfly/client_generated/models/transaction_commit_request_tables.py +60 -0
  597. antfly/client_generated/models/transaction_commit_response.py +107 -0
  598. antfly/client_generated/models/transaction_commit_response_conflict.py +80 -0
  599. antfly/client_generated/models/transaction_commit_response_status.py +9 -0
  600. antfly/client_generated/models/transaction_commit_response_tables.py +60 -0
  601. antfly/client_generated/models/transaction_read_item.py +80 -0
  602. antfly/client_generated/models/transaction_savepoint_response.py +77 -0
  603. antfly/client_generated/models/transaction_session_cleanup_response.py +70 -0
  604. antfly/client_generated/models/transaction_session_commit_response.py +114 -0
  605. antfly/client_generated/models/transaction_session_details_response.py +268 -0
  606. antfly/client_generated/models/transaction_session_list_response.py +106 -0
  607. antfly/client_generated/models/transaction_session_read_snapshot.py +88 -0
  608. antfly/client_generated/models/transaction_session_status.py +207 -0
  609. antfly/client_generated/models/transaction_session_table_detail.py +97 -0
  610. antfly/client_generated/models/transaction_stage_delete_request.py +69 -0
  611. antfly/client_generated/models/transaction_stage_read_request.py +77 -0
  612. antfly/client_generated/models/transaction_stage_read_response.py +83 -0
  613. antfly/client_generated/models/transaction_stage_read_snapshot.py +85 -0
  614. antfly/client_generated/models/transaction_stage_write_request.py +83 -0
  615. antfly/client_generated/models/transaction_stage_write_request_document.py +47 -0
  616. antfly/client_generated/models/transaction_status_response.py +69 -0
  617. antfly/client_generated/models/transform.py +104 -0
  618. antfly/client_generated/models/transform_op.py +82 -0
  619. antfly/client_generated/models/transform_op_type.py +19 -0
  620. antfly/client_generated/models/traversal_result.py +137 -0
  621. antfly/client_generated/models/traversal_result_document.py +47 -0
  622. antfly/client_generated/models/traversal_rules.py +138 -0
  623. antfly/client_generated/models/traverse_response.py +88 -0
  624. antfly/client_generated/models/tree_search_config.py +97 -0
  625. antfly/client_generated/models/update_password_request.py +61 -0
  626. antfly/client_generated/models/user.py +110 -0
  627. antfly/client_generated/models/user_metadata_type_0.py +52 -0
  628. antfly/client_generated/models/vertex_embedder_config.py +115 -0
  629. antfly/client_generated/models/vertex_generator_config.py +127 -0
  630. antfly/client_generated/models/vertex_reranker_config.py +108 -0
  631. antfly/client_generated/models/web_search_config.py +127 -0
  632. antfly/client_generated/models/web_search_provider.py +13 -0
  633. antfly/client_generated/models/wildcard_query.py +93 -0
  634. antfly/client_generated/py.typed +1 -0
  635. antfly/client_generated/types.py +54 -0
  636. antfly/exceptions.py +19 -0
  637. antfly/pyproject.toml +26 -0
  638. antfly_sdk-0.0.2.dev2.dist-info/METADATA +153 -0
  639. antfly_sdk-0.0.2.dev2.dist-info/RECORD +640 -0
  640. antfly_sdk-0.0.2.dev2.dist-info/WHEEL +4 -0
@@ -0,0 +1,327 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.inference_config_model_strategies import InferenceConfigModelStrategies
13
+ from ..models.inference_content_security_config import InferenceContentSecurityConfig
14
+ from ..models.inference_credentials import InferenceCredentials
15
+ from ..models.inferenceschemas_config import InferenceschemasConfig
16
+
17
+
18
+ T = TypeVar("T", bound="InferenceConfig")
19
+
20
+
21
+ @_attrs_define
22
+ class InferenceConfig:
23
+ """
24
+ Attributes:
25
+ api_url (str): URL of the inference embedding/chunking service Example: http://localhost:8080.
26
+ api_key (str | Unset): API key used when calling an authenticated shared Antfly inference API.
27
+ models_dir (str | Unset): Base directory containing model subdirectories. Antfly inference auto-discovers models
28
+ from:
29
+ - `{models_dir}/embedders/` - Embedding models (ONNX)
30
+ - `{models_dir}/chunkers/` - Chunking models (ONNX)
31
+ - `{models_dir}/rerankers/` - Reranking models (ONNX)
32
+ - `{models_dir}/recognizers/` - Recognition models (ONNX)
33
+ - `{models_dir}/rewriters/` - Seq2Seq rewriter models (ONNX)
34
+
35
+ Defaults to ~/.antfly/inference/models (set via viper). If not set, only built-in fixed chunking is available.
36
+ Example: ~/.antfly/inference/models.
37
+ content_security (InferenceContentSecurityConfig | Unset):
38
+ s3_credentials (InferenceCredentials | Unset):
39
+ keep_alive (str | Unset): How long to keep models loaded in memory after last use (Ollama-compatible).
40
+ Models are automatically unloaded after this duration of inactivity.
41
+ Use Go duration format: "5m" (5 minutes), "1h" (1 hour), "0" (eager loading).
42
+ Defaults to "5m" (lazy loading) like Ollama. Set to "0" to explicitly enable eager loading
43
+ where all models are loaded at startup and never unloaded.
44
+ Default: '5m'. Example: 5m.
45
+ max_loaded_models (int | Unset): Maximum total models loaded across all registry types (embedders, rerankers,
46
+ generators, chunkers, etc.). When the limit is reached, the least-recently-used
47
+ idle model from any registry is evicted to make room. Set to 0 for unlimited (default).
48
+ Default: 0. Example: 3.
49
+ pool_size (int | Unset): Number of concurrent inference pipelines per model. Each pipeline loads
50
+ a copy of the model, so higher values use more memory but allow more
51
+ concurrent requests. Note: pool_size multiplies per-model memory
52
+ independently of max_loaded_models.
53
+ Default: 1. Example: 1.
54
+ backend_priority (list[str] | Unset): Backend priority order for model loading with optional device specifiers.
55
+ Format: `backend` or `backend:device` where device defaults to `auto`.
56
+
57
+ Antfly inference tries entries in order and uses the first available backend+device
58
+ combination that supports the model.
59
+
60
+ **Backends** (depend on build flags):
61
+ - `native` - Native CPU backend
62
+ - `onnx` - ONNX Runtime backend
63
+ - `metal` - Apple Metal backend
64
+ - `mlx` - MLX backend
65
+ - `cuda` - NVIDIA CUDA backend
66
+ - `xla` - PJRT/XLA compiled backend
67
+
68
+ **Devices**:
69
+ - `auto` - Auto-detect best available (default)
70
+ - `cuda` - NVIDIA CUDA GPU
71
+ - `tpu` - Google TPU (used by XLA)
72
+ - `cpu` - Force CPU only
73
+
74
+ **Examples**:
75
+ - `["native", "onnx", "xla"]` - Try backends with auto device detection
76
+ - `["cuda", "onnx:cuda", "xla:tpu", "native"]` - Prefer GPU, fall back to CPU
77
+ Example: ['cuda', 'onnx:cuda', 'xla:tpu', 'native'].
78
+ max_concurrent_requests (int | Unset): Maximum number of concurrent inference requests allowed.
79
+ Additional requests will be queued up to max_queue_size.
80
+ Set to 0 for unlimited (default).
81
+ Default: 0. Example: 4.
82
+ max_queue_size (int | Unset): Maximum number of requests to queue when max_concurrent_requests is reached.
83
+ When the queue is full, new requests receive 503 Service Unavailable with Retry-After header.
84
+ Set to 0 for unlimited queue (default). Only effective when max_concurrent_requests > 0.
85
+ Default: 0. Example: 100.
86
+ request_timeout (str | Unset): Maximum time to wait for a request to complete, including queue wait time.
87
+ Use Go duration format: "30s", "1m", "0" (no timeout, default).
88
+ Requests exceeding this timeout receive 504 Gateway Timeout.
89
+ Default: '0'. Example: 30s.
90
+ preload (list[str] | Unset): List of model names to preload at startup (Ollama-compatible).
91
+ These models are loaded immediately when inference starts, avoiding first-request latency.
92
+ Model names should match those in models_dir/embedders/ (e.g., "BAAI/bge-small-en-v1.5").
93
+ Only effective when keep_alive is non-zero (lazy loading mode).
94
+ Example: ['BAAI/bge-small-en-v1.5', 'openai/clip-vit-base-patch32'].
95
+ max_memory_mb (int | Unset): Maximum memory (in MB) to use for loaded models.
96
+ When this limit is approached, least recently used models are unloaded.
97
+ Set to 0 for unlimited (default). This is an advisory limit - actual memory
98
+ usage depends on model sizes and may temporarily exceed this value.
99
+ Works alongside max_loaded_models for fine-grained control.
100
+ Default: 0. Example: 4096.
101
+ model_strategies (InferenceConfigModelStrategies | Unset): Per-model loading strategy overrides. Maps model
102
+ names to their loading strategy.
103
+ Models not in this map use the default strategy based on keep_alive:
104
+ - If keep_alive>0 (default "5m"): lazy loading (load on demand, unload after idle)
105
+ - If keep_alive="0": eager loading (load at startup, never unload)
106
+
107
+ When a model has strategy "eager" in this map:
108
+ - It is loaded at startup (as part of preload)
109
+ - It is never unloaded, even when keep_alive>0 (pinned in memory)
110
+
111
+ This allows mixing eager and lazy models in the same pool.
112
+ Example: {'BAAI/bge-small-en-v1.5': 'eager', 'mirth/chonky-mmbert-small-multilingual-1': 'lazy'}.
113
+ allow_downloads (bool | Unset): Whether the dashboard should show model download commands.
114
+ Defaults to true for standalone/swarm mode. Set to false in managed
115
+ deployments (e.g., Kubernetes operator) where models are managed externally.
116
+ Default: True.
117
+ log (InferenceschemasConfig | Unset): Logging configuration for inference services
118
+ """
119
+
120
+ api_url: str
121
+ api_key: str | Unset = UNSET
122
+ models_dir: str | Unset = UNSET
123
+ content_security: InferenceContentSecurityConfig | Unset = UNSET
124
+ s3_credentials: InferenceCredentials | Unset = UNSET
125
+ keep_alive: str | Unset = "5m"
126
+ max_loaded_models: int | Unset = 0
127
+ pool_size: int | Unset = 1
128
+ backend_priority: list[str] | Unset = UNSET
129
+ max_concurrent_requests: int | Unset = 0
130
+ max_queue_size: int | Unset = 0
131
+ request_timeout: str | Unset = "0"
132
+ preload: list[str] | Unset = UNSET
133
+ max_memory_mb: int | Unset = 0
134
+ model_strategies: InferenceConfigModelStrategies | Unset = UNSET
135
+ allow_downloads: bool | Unset = True
136
+ log: InferenceschemasConfig | Unset = UNSET
137
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
138
+
139
+ def to_dict(self) -> dict[str, Any]:
140
+ api_url = self.api_url
141
+
142
+ api_key = self.api_key
143
+
144
+ models_dir = self.models_dir
145
+
146
+ content_security: dict[str, Any] | Unset = UNSET
147
+ if not isinstance(self.content_security, Unset):
148
+ content_security = self.content_security.to_dict()
149
+
150
+ s3_credentials: dict[str, Any] | Unset = UNSET
151
+ if not isinstance(self.s3_credentials, Unset):
152
+ s3_credentials = self.s3_credentials.to_dict()
153
+
154
+ keep_alive = self.keep_alive
155
+
156
+ max_loaded_models = self.max_loaded_models
157
+
158
+ pool_size = self.pool_size
159
+
160
+ backend_priority: list[str] | Unset = UNSET
161
+ if not isinstance(self.backend_priority, Unset):
162
+ backend_priority = self.backend_priority
163
+
164
+ max_concurrent_requests = self.max_concurrent_requests
165
+
166
+ max_queue_size = self.max_queue_size
167
+
168
+ request_timeout = self.request_timeout
169
+
170
+ preload: list[str] | Unset = UNSET
171
+ if not isinstance(self.preload, Unset):
172
+ preload = self.preload
173
+
174
+ max_memory_mb = self.max_memory_mb
175
+
176
+ model_strategies: dict[str, Any] | Unset = UNSET
177
+ if not isinstance(self.model_strategies, Unset):
178
+ model_strategies = self.model_strategies.to_dict()
179
+
180
+ allow_downloads = self.allow_downloads
181
+
182
+ log: dict[str, Any] | Unset = UNSET
183
+ if not isinstance(self.log, Unset):
184
+ log = self.log.to_dict()
185
+
186
+ field_dict: dict[str, Any] = {}
187
+ field_dict.update(self.additional_properties)
188
+ field_dict.update(
189
+ {
190
+ "api_url": api_url,
191
+ }
192
+ )
193
+ if api_key is not UNSET:
194
+ field_dict["api_key"] = api_key
195
+ if models_dir is not UNSET:
196
+ field_dict["models_dir"] = models_dir
197
+ if content_security is not UNSET:
198
+ field_dict["content_security"] = content_security
199
+ if s3_credentials is not UNSET:
200
+ field_dict["s3_credentials"] = s3_credentials
201
+ if keep_alive is not UNSET:
202
+ field_dict["keep_alive"] = keep_alive
203
+ if max_loaded_models is not UNSET:
204
+ field_dict["max_loaded_models"] = max_loaded_models
205
+ if pool_size is not UNSET:
206
+ field_dict["pool_size"] = pool_size
207
+ if backend_priority is not UNSET:
208
+ field_dict["backend_priority"] = backend_priority
209
+ if max_concurrent_requests is not UNSET:
210
+ field_dict["max_concurrent_requests"] = max_concurrent_requests
211
+ if max_queue_size is not UNSET:
212
+ field_dict["max_queue_size"] = max_queue_size
213
+ if request_timeout is not UNSET:
214
+ field_dict["request_timeout"] = request_timeout
215
+ if preload is not UNSET:
216
+ field_dict["preload"] = preload
217
+ if max_memory_mb is not UNSET:
218
+ field_dict["max_memory_mb"] = max_memory_mb
219
+ if model_strategies is not UNSET:
220
+ field_dict["model_strategies"] = model_strategies
221
+ if allow_downloads is not UNSET:
222
+ field_dict["allow_downloads"] = allow_downloads
223
+ if log is not UNSET:
224
+ field_dict["log"] = log
225
+
226
+ return field_dict
227
+
228
+ @classmethod
229
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
230
+ from ..models.inference_config_model_strategies import InferenceConfigModelStrategies
231
+ from ..models.inference_content_security_config import InferenceContentSecurityConfig
232
+ from ..models.inference_credentials import InferenceCredentials
233
+ from ..models.inferenceschemas_config import InferenceschemasConfig
234
+
235
+ d = dict(src_dict)
236
+ api_url = d.pop("api_url")
237
+
238
+ api_key = d.pop("api_key", UNSET)
239
+
240
+ models_dir = d.pop("models_dir", UNSET)
241
+
242
+ _content_security = d.pop("content_security", UNSET)
243
+ content_security: InferenceContentSecurityConfig | Unset
244
+ if isinstance(_content_security, Unset):
245
+ content_security = UNSET
246
+ else:
247
+ content_security = InferenceContentSecurityConfig.from_dict(_content_security)
248
+
249
+ _s3_credentials = d.pop("s3_credentials", UNSET)
250
+ s3_credentials: InferenceCredentials | Unset
251
+ if isinstance(_s3_credentials, Unset):
252
+ s3_credentials = UNSET
253
+ else:
254
+ s3_credentials = InferenceCredentials.from_dict(_s3_credentials)
255
+
256
+ keep_alive = d.pop("keep_alive", UNSET)
257
+
258
+ max_loaded_models = d.pop("max_loaded_models", UNSET)
259
+
260
+ pool_size = d.pop("pool_size", UNSET)
261
+
262
+ backend_priority = cast(list[str], d.pop("backend_priority", UNSET))
263
+
264
+ max_concurrent_requests = d.pop("max_concurrent_requests", UNSET)
265
+
266
+ max_queue_size = d.pop("max_queue_size", UNSET)
267
+
268
+ request_timeout = d.pop("request_timeout", UNSET)
269
+
270
+ preload = cast(list[str], d.pop("preload", UNSET))
271
+
272
+ max_memory_mb = d.pop("max_memory_mb", UNSET)
273
+
274
+ _model_strategies = d.pop("model_strategies", UNSET)
275
+ model_strategies: InferenceConfigModelStrategies | Unset
276
+ if isinstance(_model_strategies, Unset):
277
+ model_strategies = UNSET
278
+ else:
279
+ model_strategies = InferenceConfigModelStrategies.from_dict(_model_strategies)
280
+
281
+ allow_downloads = d.pop("allow_downloads", UNSET)
282
+
283
+ _log = d.pop("log", UNSET)
284
+ log: InferenceschemasConfig | Unset
285
+ if isinstance(_log, Unset):
286
+ log = UNSET
287
+ else:
288
+ log = InferenceschemasConfig.from_dict(_log)
289
+
290
+ inference_config = cls(
291
+ api_url=api_url,
292
+ api_key=api_key,
293
+ models_dir=models_dir,
294
+ content_security=content_security,
295
+ s3_credentials=s3_credentials,
296
+ keep_alive=keep_alive,
297
+ max_loaded_models=max_loaded_models,
298
+ pool_size=pool_size,
299
+ backend_priority=backend_priority,
300
+ max_concurrent_requests=max_concurrent_requests,
301
+ max_queue_size=max_queue_size,
302
+ request_timeout=request_timeout,
303
+ preload=preload,
304
+ max_memory_mb=max_memory_mb,
305
+ model_strategies=model_strategies,
306
+ allow_downloads=allow_downloads,
307
+ log=log,
308
+ )
309
+
310
+ inference_config.additional_properties = d
311
+ return inference_config
312
+
313
+ @property
314
+ def additional_keys(self) -> list[str]:
315
+ return list(self.additional_properties.keys())
316
+
317
+ def __getitem__(self, key: str) -> Any:
318
+ return self.additional_properties[key]
319
+
320
+ def __setitem__(self, key: str, value: Any) -> None:
321
+ self.additional_properties[key] = value
322
+
323
+ def __delitem__(self, key: str) -> None:
324
+ del self.additional_properties[key]
325
+
326
+ def __contains__(self, key: str) -> bool:
327
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.inference_config_model_strategies_additional_property import (
10
+ InferenceConfigModelStrategiesAdditionalProperty,
11
+ )
12
+
13
+ T = TypeVar("T", bound="InferenceConfigModelStrategies")
14
+
15
+
16
+ @_attrs_define
17
+ class InferenceConfigModelStrategies:
18
+ """Per-model loading strategy overrides. Maps model names to their loading strategy.
19
+ Models not in this map use the default strategy based on keep_alive:
20
+ - If keep_alive>0 (default "5m"): lazy loading (load on demand, unload after idle)
21
+ - If keep_alive="0": eager loading (load at startup, never unload)
22
+
23
+ When a model has strategy "eager" in this map:
24
+ - It is loaded at startup (as part of preload)
25
+ - It is never unloaded, even when keep_alive>0 (pinned in memory)
26
+
27
+ This allows mixing eager and lazy models in the same pool.
28
+
29
+ Example:
30
+ {'BAAI/bge-small-en-v1.5': 'eager', 'mirth/chonky-mmbert-small-multilingual-1': 'lazy'}
31
+
32
+ """
33
+
34
+ additional_properties: dict[str, InferenceConfigModelStrategiesAdditionalProperty] = _attrs_field(
35
+ init=False, factory=dict
36
+ )
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ for prop_name, prop in self.additional_properties.items():
42
+ field_dict[prop_name] = prop.value
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ inference_config_model_strategies = cls()
50
+
51
+ additional_properties = {}
52
+ for prop_name, prop_dict in d.items():
53
+ additional_property = InferenceConfigModelStrategiesAdditionalProperty(prop_dict)
54
+
55
+ additional_properties[prop_name] = additional_property
56
+
57
+ inference_config_model_strategies.additional_properties = additional_properties
58
+ return inference_config_model_strategies
59
+
60
+ @property
61
+ def additional_keys(self) -> list[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> InferenceConfigModelStrategiesAdditionalProperty:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: InferenceConfigModelStrategiesAdditionalProperty) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class InferenceConfigModelStrategiesAdditionalProperty(str, Enum):
5
+ BOUNDED = "bounded"
6
+ EAGER = "eager"
7
+ LAZY = "lazy"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,128 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="InferenceContentSecurityConfig")
12
+
13
+
14
+ @_attrs_define
15
+ class InferenceContentSecurityConfig:
16
+ """
17
+ Attributes:
18
+ allowed_hosts (list[str] | Unset): Whitelist of allowed hostnames/IPs for link downloads. If empty, all hosts
19
+ are allowed (except private IPs if block_private_ips is true). Example: ['example.com', 'cdn.example.com',
20
+ '192.0.2.1'].
21
+ block_private_ips (bool | Unset): Block requests to private IP ranges (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12,
22
+ 192.168.0.0/16, 169.254.0.0/16) Default: True.
23
+ max_download_size_bytes (int | Unset): Maximum size of downloaded content in bytes Default: 104857600. Example:
24
+ 104857600.
25
+ download_timeout_seconds (int | Unset): Timeout for individual download operations in seconds Default: 30.
26
+ Example: 30.
27
+ max_image_dimension (int | Unset): Maximum image width/height in pixels (images will be resized) Default: 2048.
28
+ Example: 2048.
29
+ allowed_paths (list[str] | Unset): Whitelist of allowed path prefixes for file:// and s3:// URLs. If empty, all
30
+ paths are allowed. For file:// use absolute paths (e.g., /Users/data/). For s3:// use bucket/prefix (e.g., my-
31
+ bucket/uploads/). Example: ['/Users/data/', 'my-bucket/uploads/'].
32
+ user_agent (str | Unset): User-Agent header for HTTP downloads. Defaults to 'AntflyDB/1.0' if not set. Some
33
+ servers (e.g., Wikipedia) reject requests without a User-Agent. Example: AntflyDB/1.0.
34
+ """
35
+
36
+ allowed_hosts: list[str] | Unset = UNSET
37
+ block_private_ips: bool | Unset = True
38
+ max_download_size_bytes: int | Unset = 104857600
39
+ download_timeout_seconds: int | Unset = 30
40
+ max_image_dimension: int | Unset = 2048
41
+ allowed_paths: list[str] | Unset = UNSET
42
+ user_agent: str | Unset = UNSET
43
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+ def to_dict(self) -> dict[str, Any]:
46
+ allowed_hosts: list[str] | Unset = UNSET
47
+ if not isinstance(self.allowed_hosts, Unset):
48
+ allowed_hosts = self.allowed_hosts
49
+
50
+ block_private_ips = self.block_private_ips
51
+
52
+ max_download_size_bytes = self.max_download_size_bytes
53
+
54
+ download_timeout_seconds = self.download_timeout_seconds
55
+
56
+ max_image_dimension = self.max_image_dimension
57
+
58
+ allowed_paths: list[str] | Unset = UNSET
59
+ if not isinstance(self.allowed_paths, Unset):
60
+ allowed_paths = self.allowed_paths
61
+
62
+ user_agent = self.user_agent
63
+
64
+ field_dict: dict[str, Any] = {}
65
+ field_dict.update(self.additional_properties)
66
+ field_dict.update({})
67
+ if allowed_hosts is not UNSET:
68
+ field_dict["allowed_hosts"] = allowed_hosts
69
+ if block_private_ips is not UNSET:
70
+ field_dict["block_private_ips"] = block_private_ips
71
+ if max_download_size_bytes is not UNSET:
72
+ field_dict["max_download_size_bytes"] = max_download_size_bytes
73
+ if download_timeout_seconds is not UNSET:
74
+ field_dict["download_timeout_seconds"] = download_timeout_seconds
75
+ if max_image_dimension is not UNSET:
76
+ field_dict["max_image_dimension"] = max_image_dimension
77
+ if allowed_paths is not UNSET:
78
+ field_dict["allowed_paths"] = allowed_paths
79
+ if user_agent is not UNSET:
80
+ field_dict["user_agent"] = user_agent
81
+
82
+ return field_dict
83
+
84
+ @classmethod
85
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
86
+ d = dict(src_dict)
87
+ allowed_hosts = cast(list[str], d.pop("allowed_hosts", UNSET))
88
+
89
+ block_private_ips = d.pop("block_private_ips", UNSET)
90
+
91
+ max_download_size_bytes = d.pop("max_download_size_bytes", UNSET)
92
+
93
+ download_timeout_seconds = d.pop("download_timeout_seconds", UNSET)
94
+
95
+ max_image_dimension = d.pop("max_image_dimension", UNSET)
96
+
97
+ allowed_paths = cast(list[str], d.pop("allowed_paths", UNSET))
98
+
99
+ user_agent = d.pop("user_agent", UNSET)
100
+
101
+ inference_content_security_config = cls(
102
+ allowed_hosts=allowed_hosts,
103
+ block_private_ips=block_private_ips,
104
+ max_download_size_bytes=max_download_size_bytes,
105
+ download_timeout_seconds=download_timeout_seconds,
106
+ max_image_dimension=max_image_dimension,
107
+ allowed_paths=allowed_paths,
108
+ user_agent=user_agent,
109
+ )
110
+
111
+ inference_content_security_config.additional_properties = d
112
+ return inference_content_security_config
113
+
114
+ @property
115
+ def additional_keys(self) -> list[str]:
116
+ return list(self.additional_properties.keys())
117
+
118
+ def __getitem__(self, key: str) -> Any:
119
+ return self.additional_properties[key]
120
+
121
+ def __setitem__(self, key: str, value: Any) -> None:
122
+ self.additional_properties[key] = value
123
+
124
+ def __delitem__(self, key: str) -> None:
125
+ del self.additional_properties[key]
126
+
127
+ def __contains__(self, key: str) -> bool:
128
+ return key in self.additional_properties
@@ -0,0 +1,102 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="InferenceCredentials")
12
+
13
+
14
+ @_attrs_define
15
+ class InferenceCredentials:
16
+ """
17
+ Attributes:
18
+ endpoint (str | Unset): S3-compatible endpoint (e.g., 's3.amazonaws.com' or 'localhost:9000' for MinIO) Example:
19
+ s3.amazonaws.com.
20
+ use_ssl (bool | Unset): Enable SSL/TLS for S3 connections (default: true for AWS, false for local MinIO)
21
+ Default: True.
22
+ access_key_id (str | Unset): AWS access key ID. Supports keystore syntax for secret lookup. Falls back to
23
+ AWS_ACCESS_KEY_ID environment variable if not set. Example: your-access-key-id.
24
+ secret_access_key (str | Unset): AWS secret access key. Supports keystore syntax for secret lookup. Falls back
25
+ to AWS_SECRET_ACCESS_KEY environment variable if not set. Example: your-secret-access-key.
26
+ session_token (str | Unset): Optional AWS session token for temporary credentials. Supports keystore syntax for
27
+ secret lookup. Example: your-session-token.
28
+ """
29
+
30
+ endpoint: str | Unset = UNSET
31
+ use_ssl: bool | Unset = True
32
+ access_key_id: str | Unset = UNSET
33
+ secret_access_key: str | Unset = UNSET
34
+ session_token: str | Unset = UNSET
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> dict[str, Any]:
38
+ endpoint = self.endpoint
39
+
40
+ use_ssl = self.use_ssl
41
+
42
+ access_key_id = self.access_key_id
43
+
44
+ secret_access_key = self.secret_access_key
45
+
46
+ session_token = self.session_token
47
+
48
+ field_dict: dict[str, Any] = {}
49
+ field_dict.update(self.additional_properties)
50
+ field_dict.update({})
51
+ if endpoint is not UNSET:
52
+ field_dict["endpoint"] = endpoint
53
+ if use_ssl is not UNSET:
54
+ field_dict["use_ssl"] = use_ssl
55
+ if access_key_id is not UNSET:
56
+ field_dict["access_key_id"] = access_key_id
57
+ if secret_access_key is not UNSET:
58
+ field_dict["secret_access_key"] = secret_access_key
59
+ if session_token is not UNSET:
60
+ field_dict["session_token"] = session_token
61
+
62
+ return field_dict
63
+
64
+ @classmethod
65
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
66
+ d = dict(src_dict)
67
+ endpoint = d.pop("endpoint", UNSET)
68
+
69
+ use_ssl = d.pop("use_ssl", UNSET)
70
+
71
+ access_key_id = d.pop("access_key_id", UNSET)
72
+
73
+ secret_access_key = d.pop("secret_access_key", UNSET)
74
+
75
+ session_token = d.pop("session_token", UNSET)
76
+
77
+ inference_credentials = cls(
78
+ endpoint=endpoint,
79
+ use_ssl=use_ssl,
80
+ access_key_id=access_key_id,
81
+ secret_access_key=secret_access_key,
82
+ session_token=session_token,
83
+ )
84
+
85
+ inference_credentials.additional_properties = d
86
+ return inference_credentials
87
+
88
+ @property
89
+ def additional_keys(self) -> list[str]:
90
+ return list(self.additional_properties.keys())
91
+
92
+ def __getitem__(self, key: str) -> Any:
93
+ return self.additional_properties[key]
94
+
95
+ def __setitem__(self, key: str, value: Any) -> None:
96
+ self.additional_properties[key] = value
97
+
98
+ def __delitem__(self, key: str) -> None:
99
+ del self.additional_properties[key]
100
+
101
+ def __contains__(self, key: str) -> bool:
102
+ return key in self.additional_properties