qanswer-sdk 0.46.0.dev0__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 (624) hide show
  1. qanswer_sdk/__init__.py +1268 -0
  2. qanswer_sdk/api/__init__.py +64 -0
  3. qanswer_sdk/api/admin_api.py +7383 -0
  4. qanswer_sdk/api/ai_assistant_access_rights_api.py +5879 -0
  5. qanswer_sdk/api/ai_assistant_api.py +8960 -0
  6. qanswer_sdk/api/auto_complete_api.py +612 -0
  7. qanswer_sdk/api/bot_slack_api.py +1069 -0
  8. qanswer_sdk/api/branding_api.py +5723 -0
  9. qanswer_sdk/api/chatbot_api.py +1102 -0
  10. qanswer_sdk/api/connector_audio_api.py +3264 -0
  11. qanswer_sdk/api/connector_document_api.py +1990 -0
  12. qanswer_sdk/api/connector_e_consilium_api.py +313 -0
  13. qanswer_sdk/api/connector_e_consilium_search_index_api_api.py +1164 -0
  14. qanswer_sdk/api/connector_google_drive_api.py +1896 -0
  15. qanswer_sdk/api/connector_imapapi_api.py +1775 -0
  16. qanswer_sdk/api/connector_one_drive_api.py +1579 -0
  17. qanswer_sdk/api/connector_onenote_api.py +1596 -0
  18. qanswer_sdk/api/connector_pinecone_api.py +893 -0
  19. qanswer_sdk/api/connector_publication_office_api_api.py +1230 -0
  20. qanswer_sdk/api/connector_qn_a_api.py +1521 -0
  21. qanswer_sdk/api/connector_rdf_answer_api.py +1393 -0
  22. qanswer_sdk/api/connector_rdf_api.py +5093 -0
  23. qanswer_sdk/api/connector_sharepoint_api.py +3445 -0
  24. qanswer_sdk/api/connector_websearch_api.py +332 -0
  25. qanswer_sdk/api/connector_website_api.py +2829 -0
  26. qanswer_sdk/api/connectors_api.py +6824 -0
  27. qanswer_sdk/api/connectors_data_api.py +5415 -0
  28. qanswer_sdk/api/conversation_logs_api.py +13159 -0
  29. qanswer_sdk/api/dataset_api.py +6487 -0
  30. qanswer_sdk/api/dataset_config_api.py +4643 -0
  31. qanswer_sdk/api/debug_api.py +278 -0
  32. qanswer_sdk/api/default_api.py +763 -0
  33. qanswer_sdk/api/embedder_endpoint_api.py +3330 -0
  34. qanswer_sdk/api/frontend_config_api.py +270 -0
  35. qanswer_sdk/api/health_check_api_api.py +278 -0
  36. qanswer_sdk/api/llm_endpoint_api.py +4660 -0
  37. qanswer_sdk/api/mcp_api.py +11201 -0
  38. qanswer_sdk/api/metadata_api.py +2070 -0
  39. qanswer_sdk/api/notifications_api.py +1841 -0
  40. qanswer_sdk/api/o_auth2_api.py +648 -0
  41. qanswer_sdk/api/payment_api.py +1852 -0
  42. qanswer_sdk/api/socket_api.py +4220 -0
  43. qanswer_sdk/api/speech_to_text_api.py +919 -0
  44. qanswer_sdk/api/task_ai_excel_api.py +7541 -0
  45. qanswer_sdk/api/task_chat_api.py +2598 -0
  46. qanswer_sdk/api/task_document_parsing_api.py +619 -0
  47. qanswer_sdk/api/task_entity_linking_api.py +315 -0
  48. qanswer_sdk/api/task_rdf_linker_api.py +4408 -0
  49. qanswer_sdk/api/task_rdf_sparql_endpoint_api.py +3189 -0
  50. qanswer_sdk/api/task_rdf_text_linker_api.py +1452 -0
  51. qanswer_sdk/api/task_report_copilot_api.py +7010 -0
  52. qanswer_sdk/api/task_search_api.py +2012 -0
  53. qanswer_sdk/api/task_text2sparql_api.py +902 -0
  54. qanswer_sdk/api/task_text_classification_api.py +592 -0
  55. qanswer_sdk/api/tasks_api.py +318 -0
  56. qanswer_sdk/api/tool_embedder_api.py +5208 -0
  57. qanswer_sdk/api/tool_llm_api.py +6518 -0
  58. qanswer_sdk/api/unit_organizations_api.py +7086 -0
  59. qanswer_sdk/api/unit_teams_api.py +4255 -0
  60. qanswer_sdk/api/unit_user_api.py +11948 -0
  61. qanswer_sdk/api/v1_chat_completion_api.py +330 -0
  62. qanswer_sdk/api/v1_embeddings_api.py +297 -0
  63. qanswer_sdk/api_client.py +804 -0
  64. qanswer_sdk/api_response.py +21 -0
  65. qanswer_sdk/configuration.py +614 -0
  66. qanswer_sdk/exceptions.py +216 -0
  67. qanswer_sdk/models/__init__.py +567 -0
  68. qanswer_sdk/models/access_audio_spans_response_model.py +91 -0
  69. qanswer_sdk/models/access_pdf_payload_model.py +111 -0
  70. qanswer_sdk/models/access_type.py +42 -0
  71. qanswer_sdk/models/access_type_shared.py +38 -0
  72. qanswer_sdk/models/add_qn_a_request.py +103 -0
  73. qanswer_sdk/models/add_synonyms.py +93 -0
  74. qanswer_sdk/models/add_synonyms_resp.py +89 -0
  75. qanswer_sdk/models/admin_overall_stats_response.py +105 -0
  76. qanswer_sdk/models/admin_user_overall_stats.py +99 -0
  77. qanswer_sdk/models/advanced_o_auth2_mcp_authentication_config.py +95 -0
  78. qanswer_sdk/models/aggregate.py +93 -0
  79. qanswer_sdk/models/aggregation.py +116 -0
  80. qanswer_sdk/models/aggregation_type.py +41 -0
  81. qanswer_sdk/models/aggregations_group.py +102 -0
  82. qanswer_sdk/models/ai_assistant_clone_response.py +91 -0
  83. qanswer_sdk/models/ai_assistant_dto.py +122 -0
  84. qanswer_sdk/models/ai_assistant_filter_dto.py +113 -0
  85. qanswer_sdk/models/ai_assistant_list.py +101 -0
  86. qanswer_sdk/models/ai_assistant_share_response.py +93 -0
  87. qanswer_sdk/models/ai_assistant_shared_access.py +113 -0
  88. qanswer_sdk/models/ai_excel_task_settings.py +125 -0
  89. qanswer_sdk/models/ai_excel_task_update.py +125 -0
  90. qanswer_sdk/models/ai_task_settings_update_payload.py +95 -0
  91. qanswer_sdk/models/ai_template_base_with_id.py +95 -0
  92. qanswer_sdk/models/ai_template_cell.py +113 -0
  93. qanswer_sdk/models/ai_template_cell_base.py +87 -0
  94. qanswer_sdk/models/ai_template_cell_update_payload.py +95 -0
  95. qanswer_sdk/models/ai_template_column.py +99 -0
  96. qanswer_sdk/models/ai_template_column_base.py +93 -0
  97. qanswer_sdk/models/ai_template_column_update_payload.py +109 -0
  98. qanswer_sdk/models/ai_template_column_with_cells.py +109 -0
  99. qanswer_sdk/models/ai_template_create_payload.py +128 -0
  100. qanswer_sdk/models/ai_template_row.py +93 -0
  101. qanswer_sdk/models/ai_template_row_base.py +87 -0
  102. qanswer_sdk/models/ai_template_row_update_payload.py +103 -0
  103. qanswer_sdk/models/ai_template_row_with_cells.py +103 -0
  104. qanswer_sdk/models/ai_template_with_cells.py +134 -0
  105. qanswer_sdk/models/ai_template_with_cells_new_column_id.py +136 -0
  106. qanswer_sdk/models/allowed_extension.py +53 -0
  107. qanswer_sdk/models/allowed_file_extensions.py +98 -0
  108. qanswer_sdk/models/api_key_header_type.py +38 -0
  109. qanswer_sdk/models/api_key_mcp_authentication_config.py +94 -0
  110. qanswer_sdk/models/applied_filter_type.py +37 -0
  111. qanswer_sdk/models/applied_metadata_filter.py +103 -0
  112. qanswer_sdk/models/apply_template_task_settings_to_slots_response.py +89 -0
  113. qanswer_sdk/models/assistant_category_color_definition.py +89 -0
  114. qanswer_sdk/models/assistant_category_color_item.py +89 -0
  115. qanswer_sdk/models/assistant_category_colors_update_payload.py +95 -0
  116. qanswer_sdk/models/assistant_category_count.py +91 -0
  117. qanswer_sdk/models/assistant_message_stop.py +93 -0
  118. qanswer_sdk/models/assistant_task.py +43 -0
  119. qanswer_sdk/models/assistant_template.py +111 -0
  120. qanswer_sdk/models/assistant_template_filter_dto.py +120 -0
  121. qanswer_sdk/models/assistant_template_with_tools_selection_dto.py +121 -0
  122. qanswer_sdk/models/audio_allowed_file_extensions.py +87 -0
  123. qanswer_sdk/models/audio_file_upload_payload.py +107 -0
  124. qanswer_sdk/models/audio_format.py +37 -0
  125. qanswer_sdk/models/audio_segment.py +95 -0
  126. qanswer_sdk/models/audio_segment_update_payload.py +97 -0
  127. qanswer_sdk/models/audio_segment_update_response.py +91 -0
  128. qanswer_sdk/models/audio_speaker_update_payload.py +99 -0
  129. qanswer_sdk/models/audio_speaker_update_response.py +91 -0
  130. qanswer_sdk/models/audio_transcription_list_response.py +101 -0
  131. qanswer_sdk/models/audio_transcription_mode.py +37 -0
  132. qanswer_sdk/models/audio_transcription_record.py +101 -0
  133. qanswer_sdk/models/audio_upload_response.py +99 -0
  134. qanswer_sdk/models/audio_upload_transcription.py +99 -0
  135. qanswer_sdk/models/audio_word_segment.py +93 -0
  136. qanswer_sdk/models/audio_word_span_change.py +94 -0
  137. qanswer_sdk/models/audio_word_span_update_payload.py +104 -0
  138. qanswer_sdk/models/audio_word_span_update_response.py +91 -0
  139. qanswer_sdk/models/audio_word_update_payload.py +100 -0
  140. qanswer_sdk/models/audio_word_update_response.py +91 -0
  141. qanswer_sdk/models/auth_link_response.py +91 -0
  142. qanswer_sdk/models/auto_bot_description_request.py +89 -0
  143. qanswer_sdk/models/auto_bot_description_response.py +87 -0
  144. qanswer_sdk/models/available_aggregation.py +98 -0
  145. qanswer_sdk/models/available_connectors_response.py +99 -0
  146. qanswer_sdk/models/available_embedding_models_response.py +95 -0
  147. qanswer_sdk/models/available_endpoints_response.py +95 -0
  148. qanswer_sdk/models/available_logs_visibility_policy.py +103 -0
  149. qanswer_sdk/models/available_space_quota_for_dataset.py +95 -0
  150. qanswer_sdk/models/available_storage_preference.py +103 -0
  151. qanswer_sdk/models/base_connectors_response.py +89 -0
  152. qanswer_sdk/models/base_conversation_response.py +89 -0
  153. qanswer_sdk/models/base_feedback_response.py +89 -0
  154. qanswer_sdk/models/bot_answer_length.py +38 -0
  155. qanswer_sdk/models/branding_app_title.py +87 -0
  156. qanswer_sdk/models/branding_system_message.py +87 -0
  157. qanswer_sdk/models/bulk_update_tool_selections_request.py +87 -0
  158. qanswer_sdk/models/capability_type.py +37 -0
  159. qanswer_sdk/models/cell.py +89 -0
  160. qanswer_sdk/models/change_password.py +89 -0
  161. qanswer_sdk/models/change_password_admin.py +89 -0
  162. qanswer_sdk/models/change_role.py +96 -0
  163. qanswer_sdk/models/chat_task_settings.py +141 -0
  164. qanswer_sdk/models/chat_task_settings_update_payload.py +95 -0
  165. qanswer_sdk/models/chat_task_update.py +139 -0
  166. qanswer_sdk/models/chatbot_chat_payload.py +148 -0
  167. qanswer_sdk/models/chatbot_default_settings_response.py +95 -0
  168. qanswer_sdk/models/chatbot_llm_dto.py +147 -0
  169. qanswer_sdk/models/chatbot_response.py +151 -0
  170. qanswer_sdk/models/chatbot_setting_dto.py +99 -0
  171. qanswer_sdk/models/chatbot_setting_request.py +91 -0
  172. qanswer_sdk/models/class_info.py +89 -0
  173. qanswer_sdk/models/clone_dataset_request.py +104 -0
  174. qanswer_sdk/models/clone_dataset_response.py +91 -0
  175. qanswer_sdk/models/config.py +228 -0
  176. qanswer_sdk/models/config1.py +138 -0
  177. qanswer_sdk/models/connector_config_list_response.py +99 -0
  178. qanswer_sdk/models/connector_config_model.py +102 -0
  179. qanswer_sdk/models/connector_config_patch_payload.py +93 -0
  180. qanswer_sdk/models/connector_config_response.py +95 -0
  181. qanswer_sdk/models/connector_config_sync_response.py +93 -0
  182. qanswer_sdk/models/connector_config_type.py +37 -0
  183. qanswer_sdk/models/connector_model.py +118 -0
  184. qanswer_sdk/models/connector_type.py +50 -0
  185. qanswer_sdk/models/connector_type_dto.py +98 -0
  186. qanswer_sdk/models/connector_type_list_dto.py +95 -0
  187. qanswer_sdk/models/content_item.py +130 -0
  188. qanswer_sdk/models/content_item_type.py +39 -0
  189. qanswer_sdk/models/conversation_message.py +259 -0
  190. qanswer_sdk/models/conversation_message_error_key.py +52 -0
  191. qanswer_sdk/models/conversation_message_search_result.py +121 -0
  192. qanswer_sdk/models/conversation_model.py +169 -0
  193. qanswer_sdk/models/conversation_overall_stats.py +97 -0
  194. qanswer_sdk/models/conversation_overall_stats_response.py +95 -0
  195. qanswer_sdk/models/conversation_retention_response.py +91 -0
  196. qanswer_sdk/models/conversation_statistics.py +95 -0
  197. qanswer_sdk/models/conversation_update.py +93 -0
  198. qanswer_sdk/models/conversation_users_stats.py +99 -0
  199. qanswer_sdk/models/conversation_users_stats_response.py +99 -0
  200. qanswer_sdk/models/coordinates.py +89 -0
  201. qanswer_sdk/models/cost_summary_dto.py +99 -0
  202. qanswer_sdk/models/create_connector_request.py +95 -0
  203. qanswer_sdk/models/create_connector_response.py +95 -0
  204. qanswer_sdk/models/create_dataset_request.py +145 -0
  205. qanswer_sdk/models/create_imap_connector_request.py +105 -0
  206. qanswer_sdk/models/create_pinecone_connector_request.py +97 -0
  207. qanswer_sdk/models/create_sharepoint_connector_from_certificate_request.py +105 -0
  208. qanswer_sdk/models/create_sharepoint_connector_request.py +103 -0
  209. qanswer_sdk/models/credits_info_global_dto.py +97 -0
  210. qanswer_sdk/models/credits_info_organization_dto.py +95 -0
  211. qanswer_sdk/models/currency.py +38 -0
  212. qanswer_sdk/models/data_filling_mode.py +39 -0
  213. qanswer_sdk/models/data_storage_preference.py +38 -0
  214. qanswer_sdk/models/dataset_config_request.py +138 -0
  215. qanswer_sdk/models/dataset_default_values_model.py +138 -0
  216. qanswer_sdk/models/dataset_detail.py +137 -0
  217. qanswer_sdk/models/dataset_detail_kg.py +97 -0
  218. qanswer_sdk/models/dataset_schema.py +242 -0
  219. qanswer_sdk/models/dataset_size_response.py +91 -0
  220. qanswer_sdk/models/dataset_type.py +38 -0
  221. qanswer_sdk/models/dataset_update_object.py +216 -0
  222. qanswer_sdk/models/dataset_users_response.py +87 -0
  223. qanswer_sdk/models/default_prompt.py +106 -0
  224. qanswer_sdk/models/delete_connector_model.py +96 -0
  225. qanswer_sdk/models/delete_connector_request.py +99 -0
  226. qanswer_sdk/models/delete_connectors_response.py +89 -0
  227. qanswer_sdk/models/delete_files_status_response.py +91 -0
  228. qanswer_sdk/models/delete_index.py +91 -0
  229. qanswer_sdk/models/delete_index_resp.py +89 -0
  230. qanswer_sdk/models/delete_qn_a_pair_request.py +95 -0
  231. qanswer_sdk/models/delete_qn_a_pair_response.py +89 -0
  232. qanswer_sdk/models/delete_synonym.py +93 -0
  233. qanswer_sdk/models/delete_synonym_resp.py +89 -0
  234. qanswer_sdk/models/delete_synonyms.py +91 -0
  235. qanswer_sdk/models/delete_user_response.py +89 -0
  236. qanswer_sdk/models/diarization_queue_status.py +99 -0
  237. qanswer_sdk/models/document_content_response.py +91 -0
  238. qanswer_sdk/models/document_content_update_model.py +99 -0
  239. qanswer_sdk/models/document_file_delete_by_connector_model.py +101 -0
  240. qanswer_sdk/models/document_file_delete_by_id_model.py +91 -0
  241. qanswer_sdk/models/document_metadata.py +173 -0
  242. qanswer_sdk/models/document_metadata_list_wrapper.py +100 -0
  243. qanswer_sdk/models/document_parsing_task_settings.py +130 -0
  244. qanswer_sdk/models/document_parsing_task_settings_update_payload.py +95 -0
  245. qanswer_sdk/models/document_parsing_task_update.py +127 -0
  246. qanswer_sdk/models/document_status_response.py +89 -0
  247. qanswer_sdk/models/dummy_error.py +89 -0
  248. qanswer_sdk/models/duplicate_report_template_payload.py +97 -0
  249. qanswer_sdk/models/duplicate_report_template_response.py +87 -0
  250. qanswer_sdk/models/e_consilium_connector_config.py +108 -0
  251. qanswer_sdk/models/e_consilium_search_index_search_response.py +113 -0
  252. qanswer_sdk/models/econsilium_file_metadata.py +105 -0
  253. qanswer_sdk/models/econsilium_search_index_add_payload.py +107 -0
  254. qanswer_sdk/models/econsilium_search_index_additional_fields.py +103 -0
  255. qanswer_sdk/models/email_folder.py +91 -0
  256. qanswer_sdk/models/email_request.py +87 -0
  257. qanswer_sdk/models/embedder_cost_entry.py +91 -0
  258. qanswer_sdk/models/embedder_cost_filter.py +112 -0
  259. qanswer_sdk/models/embedder_cost_list.py +111 -0
  260. qanswer_sdk/models/embedder_create_dto.py +149 -0
  261. qanswer_sdk/models/embedder_detailed_dto.py +171 -0
  262. qanswer_sdk/models/embedder_dto.py +101 -0
  263. qanswer_sdk/models/embedder_list_dto.py +101 -0
  264. qanswer_sdk/models/embedder_update_dto.py +143 -0
  265. qanswer_sdk/models/embedding_endpoint.py +149 -0
  266. qanswer_sdk/models/embedding_endpoint_create.py +147 -0
  267. qanswer_sdk/models/embedding_endpoint_export_payload.py +87 -0
  268. qanswer_sdk/models/embedding_endpoint_import_failure.py +89 -0
  269. qanswer_sdk/models/embedding_endpoint_import_response.py +99 -0
  270. qanswer_sdk/models/embedding_endpoint_modality.py +37 -0
  271. qanswer_sdk/models/embedding_endpoint_names_validation_payload.py +87 -0
  272. qanswer_sdk/models/embedding_endpoint_update.py +141 -0
  273. qanswer_sdk/models/embedding_endpoint_validation_response.py +96 -0
  274. qanswer_sdk/models/embedding_model.py +96 -0
  275. qanswer_sdk/models/embedding_provider.py +44 -0
  276. qanswer_sdk/models/enable_enhanced_context_payload.py +91 -0
  277. qanswer_sdk/models/enable_enhanced_context_response.py +87 -0
  278. qanswer_sdk/models/endpoint_status.py +38 -0
  279. qanswer_sdk/models/entity_description.py +93 -0
  280. qanswer_sdk/models/entity_description_dto.py +93 -0
  281. qanswer_sdk/models/entity_linking_payload.py +97 -0
  282. qanswer_sdk/models/entity_linking_response.py +97 -0
  283. qanswer_sdk/models/entity_model_in_linking.py +95 -0
  284. qanswer_sdk/models/es_meta_data.py +98 -0
  285. qanswer_sdk/models/es_meta_data_value.py +87 -0
  286. qanswer_sdk/models/evaluate_feedback_response.py +109 -0
  287. qanswer_sdk/models/evaluate_single_feedback_response.py +97 -0
  288. qanswer_sdk/models/external_sources_quota_request.py +91 -0
  289. qanswer_sdk/models/external_sources_quota_response.py +89 -0
  290. qanswer_sdk/models/extra_body.py +91 -0
  291. qanswer_sdk/models/extract_hyper_links_payload.py +100 -0
  292. qanswer_sdk/models/extract_robot_links_payload.py +88 -0
  293. qanswer_sdk/models/extract_robot_links_response.py +88 -0
  294. qanswer_sdk/models/fact.py +96 -0
  295. qanswer_sdk/models/feedback_evaluation_history_entries_response.py +101 -0
  296. qanswer_sdk/models/feedback_evaluation_history_entry_model.py +105 -0
  297. qanswer_sdk/models/feedback_model.py +141 -0
  298. qanswer_sdk/models/feedback_response.py +95 -0
  299. qanswer_sdk/models/feedback_update.py +105 -0
  300. qanswer_sdk/models/file_es_meta_data.py +116 -0
  301. qanswer_sdk/models/file_failure_reason.py +48 -0
  302. qanswer_sdk/models/file_folder_model.py +115 -0
  303. qanswer_sdk/models/file_model.py +130 -0
  304. qanswer_sdk/models/file_status.py +43 -0
  305. qanswer_sdk/models/file_type.py +37 -0
  306. qanswer_sdk/models/file_upload_payload.py +107 -0
  307. qanswer_sdk/models/files_by_connector_model.py +89 -0
  308. qanswer_sdk/models/g_drive_connector_info.py +96 -0
  309. qanswer_sdk/models/g_drive_download_by_ids.py +89 -0
  310. qanswer_sdk/models/g_drive_download_request.py +103 -0
  311. qanswer_sdk/models/generate_ai_cells_by_dimension_payload.py +91 -0
  312. qanswer_sdk/models/generate_ai_cells_payload.py +95 -0
  313. qanswer_sdk/models/generation_params.py +89 -0
  314. qanswer_sdk/models/get_aggregations_payload.py +104 -0
  315. qanswer_sdk/models/get_connector_by_id_response.py +91 -0
  316. qanswer_sdk/models/get_conversation_response.py +95 -0
  317. qanswer_sdk/models/global_config_dto.py +135 -0
  318. qanswer_sdk/models/google_drive_connector_config.py +110 -0
  319. qanswer_sdk/models/guardrail_endpoint.py +121 -0
  320. qanswer_sdk/models/guardrail_mode.py +38 -0
  321. qanswer_sdk/models/highlight_audio_payload_model.py +109 -0
  322. qanswer_sdk/models/http_validation_error.py +95 -0
  323. qanswer_sdk/models/iframe_strategy.py +38 -0
  324. qanswer_sdk/models/image_url_detail.py +38 -0
  325. qanswer_sdk/models/imap_add_payload.py +105 -0
  326. qanswer_sdk/models/imap_additional_fields.py +101 -0
  327. qanswer_sdk/models/imap_file_metadata.py +114 -0
  328. qanswer_sdk/models/imap_search_response.py +113 -0
  329. qanswer_sdk/models/index_config.py +89 -0
  330. qanswer_sdk/models/install_response.py +89 -0
  331. qanswer_sdk/models/interface_origin.py +48 -0
  332. qanswer_sdk/models/ip2_geo_response.py +91 -0
  333. qanswer_sdk/models/is_enabled_response.py +87 -0
  334. qanswer_sdk/models/jwt_authentication_response.py +93 -0
  335. qanswer_sdk/models/label.py +89 -0
  336. qanswer_sdk/models/labeled_node.py +89 -0
  337. qanswer_sdk/models/language.py +42 -0
  338. qanswer_sdk/models/last_updated_template_conversation_id_response.py +87 -0
  339. qanswer_sdk/models/link.py +99 -0
  340. qanswer_sdk/models/link_extraction_response.py +97 -0
  341. qanswer_sdk/models/link_result_paginated.py +97 -0
  342. qanswer_sdk/models/linked_entity_model_in_linking.py +99 -0
  343. qanswer_sdk/models/linker.py +103 -0
  344. qanswer_sdk/models/linking_result_input.py +95 -0
  345. qanswer_sdk/models/linking_result_output.py +95 -0
  346. qanswer_sdk/models/links.py +99 -0
  347. qanswer_sdk/models/list_ai_templates_response.py +101 -0
  348. qanswer_sdk/models/list_connectors_response.py +95 -0
  349. qanswer_sdk/models/list_conversation_response.py +105 -0
  350. qanswer_sdk/models/list_feedback_response.py +105 -0
  351. qanswer_sdk/models/list_files_connector_response.py +107 -0
  352. qanswer_sdk/models/list_published_assistants_payload.py +115 -0
  353. qanswer_sdk/models/list_socket_events.py +95 -0
  354. qanswer_sdk/models/list_synonyms_model.py +95 -0
  355. qanswer_sdk/models/llm_context_ranges.py +93 -0
  356. qanswer_sdk/models/llm_context_ranges_response.py +93 -0
  357. qanswer_sdk/models/llm_cost_entry.py +97 -0
  358. qanswer_sdk/models/llm_cost_filter.py +112 -0
  359. qanswer_sdk/models/llm_cost_list.py +111 -0
  360. qanswer_sdk/models/llm_create_dto.py +208 -0
  361. qanswer_sdk/models/llm_detailed_dto.py +231 -0
  362. qanswer_sdk/models/llm_details.py +123 -0
  363. qanswer_sdk/models/llm_dto.py +147 -0
  364. qanswer_sdk/models/llm_endpoint.py +212 -0
  365. qanswer_sdk/models/llm_endpoint_create.py +204 -0
  366. qanswer_sdk/models/llm_endpoint_default_prompts.py +93 -0
  367. qanswer_sdk/models/llm_endpoint_export_payload.py +87 -0
  368. qanswer_sdk/models/llm_endpoint_import_failure.py +89 -0
  369. qanswer_sdk/models/llm_endpoint_import_response.py +99 -0
  370. qanswer_sdk/models/llm_endpoint_input.py +212 -0
  371. qanswer_sdk/models/llm_endpoint_modality.py +37 -0
  372. qanswer_sdk/models/llm_endpoint_names_validation_payload.py +87 -0
  373. qanswer_sdk/models/llm_endpoint_provider.py +44 -0
  374. qanswer_sdk/models/llm_endpoint_read_input.py +212 -0
  375. qanswer_sdk/models/llm_endpoint_read_output.py +212 -0
  376. qanswer_sdk/models/llm_endpoint_update.py +204 -0
  377. qanswer_sdk/models/llm_endpoint_usage_migration_response.py +93 -0
  378. qanswer_sdk/models/llm_endpoint_validation_response.py +96 -0
  379. qanswer_sdk/models/llm_filter_dto.py +111 -0
  380. qanswer_sdk/models/llm_health_response.py +89 -0
  381. qanswer_sdk/models/llm_list_detailed_dto.py +101 -0
  382. qanswer_sdk/models/llm_list_dto.py +101 -0
  383. qanswer_sdk/models/llm_update_dto.py +208 -0
  384. qanswer_sdk/models/llm_usage_origin.py +63 -0
  385. qanswer_sdk/models/location_details.py +97 -0
  386. qanswer_sdk/models/log_request.py +125 -0
  387. qanswer_sdk/models/login_request.py +89 -0
  388. qanswer_sdk/models/logs_visibility_policy.py +38 -0
  389. qanswer_sdk/models/logs_visibility_policy_payload.py +98 -0
  390. qanswer_sdk/models/logs_visibility_policy_response.py +98 -0
  391. qanswer_sdk/models/mcp_authentication_type.py +39 -0
  392. qanswer_sdk/models/mcp_connection.py +105 -0
  393. qanswer_sdk/models/mcp_connection_create.py +98 -0
  394. qanswer_sdk/models/mcp_server.py +167 -0
  395. qanswer_sdk/models/mcp_server0.py +167 -0
  396. qanswer_sdk/models/mcp_server_create.py +133 -0
  397. qanswer_sdk/models/mcp_server_dto.py +167 -0
  398. qanswer_sdk/models/mcp_server_type.py +37 -0
  399. qanswer_sdk/models/mcp_server_update.py +131 -0
  400. qanswer_sdk/models/mcp_tool_dto.py +141 -0
  401. qanswer_sdk/models/mcp_tool_info.py +95 -0
  402. qanswer_sdk/models/mcp_tool_selection_source.py +37 -0
  403. qanswer_sdk/models/mcp_tool_update.py +91 -0
  404. qanswer_sdk/models/mcp_transport.py +37 -0
  405. qanswer_sdk/models/mcp_visibility.py +38 -0
  406. qanswer_sdk/models/mcpo_auth2_initiating_origin.py +42 -0
  407. qanswer_sdk/models/message_role.py +38 -0
  408. qanswer_sdk/models/messages_stats_per_day_response.py +99 -0
  409. qanswer_sdk/models/microsoft_connector_config.py +110 -0
  410. qanswer_sdk/models/modify_connector_request.py +107 -0
  411. qanswer_sdk/models/modify_file_display_name_request.py +97 -0
  412. qanswer_sdk/models/notification_dto.py +137 -0
  413. qanswer_sdk/models/notification_filter.py +116 -0
  414. qanswer_sdk/models/notification_list_dto.py +101 -0
  415. qanswer_sdk/models/notification_payload_add_to_org_dto.py +87 -0
  416. qanswer_sdk/models/notification_payload_add_to_team_dto.py +89 -0
  417. qanswer_sdk/models/notification_payload_ai_assistant_shared_dto.py +109 -0
  418. qanswer_sdk/models/notification_payload_conversation_shared_dto.py +105 -0
  419. qanswer_sdk/models/notification_payload_dto.py +193 -0
  420. qanswer_sdk/models/notification_payload_human_takeover_requested_dto.py +89 -0
  421. qanswer_sdk/models/notification_payload_quota_reaching_dto.py +91 -0
  422. qanswer_sdk/models/notification_read_dto.py +89 -0
  423. qanswer_sdk/models/notification_type.py +44 -0
  424. qanswer_sdk/models/o_auth_redirect_response.py +89 -0
  425. qanswer_sdk/models/o_auth_service_dto.py +89 -0
  426. qanswer_sdk/models/one_drive_download_by_ids.py +89 -0
  427. qanswer_sdk/models/one_drive_download_request.py +103 -0
  428. qanswer_sdk/models/one_note_download_by_ids.py +91 -0
  429. qanswer_sdk/models/one_note_download_request.py +103 -0
  430. qanswer_sdk/models/org_llm_detailed_dto.py +105 -0
  431. qanswer_sdk/models/organization.py +93 -0
  432. qanswer_sdk/models/organization_creation.py +91 -0
  433. qanswer_sdk/models/organization_dto.py +93 -0
  434. qanswer_sdk/models/organization_filter_dto.py +134 -0
  435. qanswer_sdk/models/organization_list_dto.py +101 -0
  436. qanswer_sdk/models/paginated_report_templates.py +101 -0
  437. qanswer_sdk/models/password.py +89 -0
  438. qanswer_sdk/models/pinecone_index_model.py +91 -0
  439. qanswer_sdk/models/plan_dto.py +132 -0
  440. qanswer_sdk/models/predicted_class.py +89 -0
  441. qanswer_sdk/models/prepare_synonyms_upload_resp.py +99 -0
  442. qanswer_sdk/models/prepared_synonym_group.py +87 -0
  443. qanswer_sdk/models/pricing_plan.py +51 -0
  444. qanswer_sdk/models/pricing_type.py +38 -0
  445. qanswer_sdk/models/prompt_type.py +51 -0
  446. qanswer_sdk/models/provider.py +87 -0
  447. qanswer_sdk/models/publication_add_payload.py +105 -0
  448. qanswer_sdk/models/publication_file_metadata.py +105 -0
  449. qanswer_sdk/models/publication_office_additional_fields.py +111 -0
  450. qanswer_sdk/models/publication_office_connector_config.py +110 -0
  451. qanswer_sdk/models/publication_search_index_search_response.py +113 -0
  452. qanswer_sdk/models/published_assistant_from_java.py +94 -0
  453. qanswer_sdk/models/put_cell_payload.py +89 -0
  454. qanswer_sdk/models/qa_context.py +129 -0
  455. qanswer_sdk/models/qa_context_display_type.py +44 -0
  456. qanswer_sdk/models/qa_contexts.py +116 -0
  457. qanswer_sdk/models/qa_table.py +100 -0
  458. qanswer_sdk/models/qn_a_pair_model.py +103 -0
  459. qanswer_sdk/models/qn_a_pair_response.py +95 -0
  460. qanswer_sdk/models/question_suggestion_response.py +87 -0
  461. qanswer_sdk/models/rag_params.py +89 -0
  462. qanswer_sdk/models/rag_payload.py +186 -0
  463. qanswer_sdk/models/rag_response.py +155 -0
  464. qanswer_sdk/models/rdf_entity_linker_response.py +99 -0
  465. qanswer_sdk/models/rdf_linked_entity.py +97 -0
  466. qanswer_sdk/models/reasoning_effort.py +39 -0
  467. qanswer_sdk/models/reference_model.py +99 -0
  468. qanswer_sdk/models/refresh_frequency.py +39 -0
  469. qanswer_sdk/models/refresh_token_request.py +87 -0
  470. qanswer_sdk/models/refresh_website_connector_payload.py +94 -0
  471. qanswer_sdk/models/register_pinecone_connector_request.py +95 -0
  472. qanswer_sdk/models/report_copilot_generation_from_slots_ack.py +91 -0
  473. qanswer_sdk/models/report_copilot_generation_from_slots_payload.py +95 -0
  474. qanswer_sdk/models/report_copilot_refinement_payload.py +106 -0
  475. qanswer_sdk/models/report_copilot_refinement_response.py +87 -0
  476. qanswer_sdk/models/report_copilot_slot_feedback_update.py +95 -0
  477. qanswer_sdk/models/report_copilot_slot_feedback_update_response.py +95 -0
  478. qanswer_sdk/models/report_copilot_slot_task_settings.py +127 -0
  479. qanswer_sdk/models/report_copilot_slot_task_settings_update.py +127 -0
  480. qanswer_sdk/models/report_copilot_task_settings.py +125 -0
  481. qanswer_sdk/models/report_copilot_task_settings_update_payload.py +95 -0
  482. qanswer_sdk/models/report_copilot_task_update.py +125 -0
  483. qanswer_sdk/models/report_template.py +139 -0
  484. qanswer_sdk/models/report_template_create_payload.py +117 -0
  485. qanswer_sdk/models/report_template_image_upload_response.py +87 -0
  486. qanswer_sdk/models/report_template_simplified.py +115 -0
  487. qanswer_sdk/models/report_template_simplified_payload.py +91 -0
  488. qanswer_sdk/models/report_template_task_settings_update_payload.py +91 -0
  489. qanswer_sdk/models/report_template_update_payload.py +121 -0
  490. qanswer_sdk/models/report_templates_search_payload.py +106 -0
  491. qanswer_sdk/models/reset_password.py +87 -0
  492. qanswer_sdk/models/response_audit_model.py +99 -0
  493. qanswer_sdk/models/response_audit_stats_response.py +101 -0
  494. qanswer_sdk/models/response_get_dummy_union_connector_config_model_backend_api_connectors_config_dummy_models_union_get.py +228 -0
  495. qanswer_sdk/models/retreive_all_synonyms_resp.py +99 -0
  496. qanswer_sdk/models/retry_params.py +89 -0
  497. qanswer_sdk/models/return_type.py +38 -0
  498. qanswer_sdk/models/role.py +99 -0
  499. qanswer_sdk/models/role_name.py +37 -0
  500. qanswer_sdk/models/scrolling_strategy.py +37 -0
  501. qanswer_sdk/models/search_conversation_messages_response.py +105 -0
  502. qanswer_sdk/models/search_document_response.py +105 -0
  503. qanswer_sdk/models/search_index_payload.py +114 -0
  504. qanswer_sdk/models/search_metadata_filter.py +94 -0
  505. qanswer_sdk/models/search_payload.py +146 -0
  506. qanswer_sdk/models/search_response.py +125 -0
  507. qanswer_sdk/models/search_synonyms_resp.py +91 -0
  508. qanswer_sdk/models/search_task_settings.py +139 -0
  509. qanswer_sdk/models/search_task_settings_update_payload.py +95 -0
  510. qanswer_sdk/models/search_task_update.py +137 -0
  511. qanswer_sdk/models/sender_type.py +38 -0
  512. qanswer_sdk/models/share_point_connector_settings.py +94 -0
  513. qanswer_sdk/models/share_point_download_by_ids.py +99 -0
  514. qanswer_sdk/models/share_point_download_request.py +103 -0
  515. qanswer_sdk/models/shared_by.py +38 -0
  516. qanswer_sdk/models/shared_entity_type.py +38 -0
  517. qanswer_sdk/models/shared_organization_access.py +125 -0
  518. qanswer_sdk/models/shared_organization_access_dto.py +125 -0
  519. qanswer_sdk/models/shared_team_access.py +125 -0
  520. qanswer_sdk/models/shared_team_access_dto.py +125 -0
  521. qanswer_sdk/models/shared_user.py +99 -0
  522. qanswer_sdk/models/sign_up_request.py +108 -0
  523. qanswer_sdk/models/signout_request.py +87 -0
  524. qanswer_sdk/models/slot.py +162 -0
  525. qanswer_sdk/models/slot_history_entry.py +127 -0
  526. qanswer_sdk/models/slot_in_prompt.py +91 -0
  527. qanswer_sdk/models/slot_info_with_latest_version.py +95 -0
  528. qanswer_sdk/models/slot_update.py +142 -0
  529. qanswer_sdk/models/socker_join_user.py +91 -0
  530. qanswer_sdk/models/socket_ai_cell_generation.py +99 -0
  531. qanswer_sdk/models/socket_conversation_message.py +280 -0
  532. qanswer_sdk/models/socket_events_q_answer.py +51 -0
  533. qanswer_sdk/models/socket_feedback_evaluation_progress.py +114 -0
  534. qanswer_sdk/models/socket_file_metadata.py +207 -0
  535. qanswer_sdk/models/socket_join_conversation.py +97 -0
  536. qanswer_sdk/models/socket_join_dataset.py +93 -0
  537. qanswer_sdk/models/socket_message_status.py +40 -0
  538. qanswer_sdk/models/socket_notification.py +127 -0
  539. qanswer_sdk/models/socket_report_continuation_response.py +106 -0
  540. qanswer_sdk/models/socket_report_copilot_generation_from_slots_response.py +122 -0
  541. qanswer_sdk/models/socket_report_copilot_generation_from_template_response.py +122 -0
  542. qanswer_sdk/models/socket_report_copilot_refinement_response.py +108 -0
  543. qanswer_sdk/models/socket_speech2_text_response.py +131 -0
  544. qanswer_sdk/models/socket_stop_conversation.py +97 -0
  545. qanswer_sdk/models/source.py +125 -0
  546. qanswer_sdk/models/source_metadata.py +109 -0
  547. qanswer_sdk/models/speech2_text_response.py +119 -0
  548. qanswer_sdk/models/stat_per_date.py +89 -0
  549. qanswer_sdk/models/status_response.py +89 -0
  550. qanswer_sdk/models/stop_template_generation_payload.py +91 -0
  551. qanswer_sdk/models/storage_active_status.py +37 -0
  552. qanswer_sdk/models/subscription_response.py +101 -0
  553. qanswer_sdk/models/subscription_status.py +39 -0
  554. qanswer_sdk/models/suggestion_list_response.py +87 -0
  555. qanswer_sdk/models/summa_server.py +101 -0
  556. qanswer_sdk/models/task_category.py +58 -0
  557. qanswer_sdk/models/task_name.py +43 -0
  558. qanswer_sdk/models/team.py +93 -0
  559. qanswer_sdk/models/team_creation.py +89 -0
  560. qanswer_sdk/models/team_creation_dto.py +89 -0
  561. qanswer_sdk/models/team_dto.py +93 -0
  562. qanswer_sdk/models/team_filter_dto.py +141 -0
  563. qanswer_sdk/models/team_list_dto.py +101 -0
  564. qanswer_sdk/models/template_clip_structure.py +114 -0
  565. qanswer_sdk/models/template_toggle_request.py +93 -0
  566. qanswer_sdk/models/terms_bucket.py +94 -0
  567. qanswer_sdk/models/test_imap_connection_payload.py +95 -0
  568. qanswer_sdk/models/text2_sparql_payload.py +188 -0
  569. qanswer_sdk/models/text2_sparql_task_settings.py +125 -0
  570. qanswer_sdk/models/text2_sparql_task_settings_update_payload.py +95 -0
  571. qanswer_sdk/models/text2_sparql_task_update.py +125 -0
  572. qanswer_sdk/models/text_classification_payload.py +99 -0
  573. qanswer_sdk/models/text_classification_response.py +87 -0
  574. qanswer_sdk/models/text_classification_v2_payload.py +99 -0
  575. qanswer_sdk/models/text_classification_v2_response.py +95 -0
  576. qanswer_sdk/models/thinking_block.py +91 -0
  577. qanswer_sdk/models/tool_selection.py +89 -0
  578. qanswer_sdk/models/total_stat.py +96 -0
  579. qanswer_sdk/models/ui_mappings.py +141 -0
  580. qanswer_sdk/models/update_cells_payload.py +93 -0
  581. qanswer_sdk/models/update_file_es_meta_data.py +116 -0
  582. qanswer_sdk/models/update_metadata_model_input.py +97 -0
  583. qanswer_sdk/models/update_metadata_model_output.py +97 -0
  584. qanswer_sdk/models/update_qn_a_pair_request.py +101 -0
  585. qanswer_sdk/models/update_qn_a_pair_response.py +89 -0
  586. qanswer_sdk/models/update_synonyms.py +95 -0
  587. qanswer_sdk/models/update_synonyms_resp.py +89 -0
  588. qanswer_sdk/models/update_template_cells_payload.py +101 -0
  589. qanswer_sdk/models/upload_metadata.py +115 -0
  590. qanswer_sdk/models/user.py +91 -0
  591. qanswer_sdk/models/user_credits_config_dto.py +99 -0
  592. qanswer_sdk/models/user_credits_dto.py +106 -0
  593. qanswer_sdk/models/user_dataset_api_key.py +120 -0
  594. qanswer_sdk/models/user_dataset_api_key_dto.py +120 -0
  595. qanswer_sdk/models/user_dataset_mcp_tool_selection_dto.py +102 -0
  596. qanswer_sdk/models/user_dto.py +91 -0
  597. qanswer_sdk/models/user_filter_dto.py +155 -0
  598. qanswer_sdk/models/user_identity_availability.py +87 -0
  599. qanswer_sdk/models/user_info_dto.py +95 -0
  600. qanswer_sdk/models/user_list_dto.py +101 -0
  601. qanswer_sdk/models/user_log.py +102 -0
  602. qanswer_sdk/models/user_log_dto.py +102 -0
  603. qanswer_sdk/models/user_logs_list_dto.py +97 -0
  604. qanswer_sdk/models/user_mcp_tool_selection_dto.py +118 -0
  605. qanswer_sdk/models/user_oauth_token.py +96 -0
  606. qanswer_sdk/models/user_oauth_token_dto.py +96 -0
  607. qanswer_sdk/models/user_profile_dto.py +200 -0
  608. qanswer_sdk/models/user_profile_list_dto.py +101 -0
  609. qanswer_sdk/models/user_stat_per_date.py +90 -0
  610. qanswer_sdk/models/validation_error.py +108 -0
  611. qanswer_sdk/models/validation_error_loc_inner.py +138 -0
  612. qanswer_sdk/models/warn_visibility.py +40 -0
  613. qanswer_sdk/models/websearch_connector_config.py +102 -0
  614. qanswer_sdk/models/websearch_scraping_site.py +91 -0
  615. qanswer_sdk/models/website_add_payload.py +102 -0
  616. qanswer_sdk/models/website_connector_config.py +102 -0
  617. qanswer_sdk/models/website_connector_settings.py +160 -0
  618. qanswer_sdk/models/widget_configs.py +109 -0
  619. qanswer_sdk/py.typed +0 -0
  620. qanswer_sdk/rest.py +258 -0
  621. qanswer_sdk-0.46.0.dev0.dist-info/METADATA +252 -0
  622. qanswer_sdk-0.46.0.dev0.dist-info/RECORD +624 -0
  623. qanswer_sdk-0.46.0.dev0.dist-info/WHEEL +5 -0
  624. qanswer_sdk-0.46.0.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,212 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing_extensions import Annotated
23
+ from qanswer_sdk.models.extra_body import ExtraBody
24
+ from qanswer_sdk.models.generation_params import GenerationParams
25
+ from qanswer_sdk.models.guardrail_endpoint import GuardrailEndpoint
26
+ from qanswer_sdk.models.llm_context_ranges import LLMContextRanges
27
+ from qanswer_sdk.models.rag_params import RAGParams
28
+ from qanswer_sdk.models.retry_params import RetryParams
29
+ from typing import Optional, Set
30
+ from typing_extensions import Self
31
+
32
+ class LLMEndpointReadInput(BaseModel):
33
+ """
34
+ LLMEndpointReadInput
35
+ """ # noqa: E501
36
+ modality: Optional[StrictStr] = 'text'
37
+ provider: Optional[StrictStr] = 'openai'
38
+ api_version: Optional[StrictStr] = None
39
+ aws_access_key_id: Optional[StrictStr] = None
40
+ aws_secret_access_key: Optional[StrictStr] = None
41
+ aws_region_name: Optional[StrictStr] = None
42
+ aws_inference_profile: Optional[StrictStr] = None
43
+ description: Optional[StrictStr] = None
44
+ onpremise: Optional[StrictBool] = False
45
+ sensitivity_label: Optional[StrictStr] = None
46
+ knowledge_cutoff: Optional[StrictStr] = None
47
+ energy_consumption: Optional[StrictStr] = None
48
+ guardrail: Optional[GuardrailEndpoint] = None
49
+ retry_params: Optional[RetryParams] = None
50
+ extra_body: Optional[ExtraBody] = None
51
+ vertex_location: Optional[StrictStr] = None
52
+ vertex_credentials: Optional[StrictStr] = None
53
+ tags: Optional[List[StrictStr]] = None
54
+ tool_call_support: Optional[StrictBool] = False
55
+ temperature_support: Optional[StrictBool] = True
56
+ stream_options_support: Optional[StrictBool] = True
57
+ content_items_support: Optional[StrictBool] = True
58
+ max_images_per_request: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1
59
+ reasoning_effort: Optional[StrictStr] = 'none'
60
+ websearch_support: Optional[StrictBool] = False
61
+ skip_ssl_verification: Optional[StrictBool] = False
62
+ onpremise_chat_template_support: Optional[StrictBool] = False
63
+ display_name: StrictStr
64
+ engine: StrictStr
65
+ api_key: StrictStr
66
+ endpoint_url: StrictStr
67
+ rag_params: Optional[RAGParams] = None
68
+ generation_params: GenerationParams
69
+ name: StrictStr
70
+ id: StrictInt
71
+ context_ranges: Optional[LLMContextRanges] = None
72
+ __properties: ClassVar[List[str]] = ["modality", "provider", "api_version", "aws_access_key_id", "aws_secret_access_key", "aws_region_name", "aws_inference_profile", "description", "onpremise", "sensitivity_label", "knowledge_cutoff", "energy_consumption", "guardrail", "retry_params", "extra_body", "vertex_location", "vertex_credentials", "tags", "tool_call_support", "temperature_support", "stream_options_support", "content_items_support", "max_images_per_request", "reasoning_effort", "websearch_support", "skip_ssl_verification", "onpremise_chat_template_support", "display_name", "engine", "api_key", "endpoint_url", "rag_params", "generation_params", "name", "id", "context_ranges"]
73
+
74
+ @field_validator('modality')
75
+ def modality_validate_enum(cls, value):
76
+ """Validates the enum"""
77
+ if value is None:
78
+ return value
79
+
80
+ if value not in set(['text', 'text-image']):
81
+ raise ValueError("must be one of enum values ('text', 'text-image')")
82
+ return value
83
+
84
+ @field_validator('provider')
85
+ def provider_validate_enum(cls, value):
86
+ """Validates the enum"""
87
+ if value is None:
88
+ return value
89
+
90
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
91
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
92
+ return value
93
+
94
+ @field_validator('reasoning_effort')
95
+ def reasoning_effort_validate_enum(cls, value):
96
+ """Validates the enum"""
97
+ if value is None:
98
+ return value
99
+
100
+ if value not in set(['none', 'low', 'medium', 'high']):
101
+ raise ValueError("must be one of enum values ('none', 'low', 'medium', 'high')")
102
+ return value
103
+
104
+ model_config = ConfigDict(
105
+ populate_by_name=True,
106
+ validate_assignment=True,
107
+ protected_namespaces=(),
108
+ )
109
+
110
+
111
+ def to_str(self) -> str:
112
+ """Returns the string representation of the model using alias"""
113
+ return pprint.pformat(self.model_dump(by_alias=True))
114
+
115
+ def to_json(self) -> str:
116
+ """Returns the JSON representation of the model using alias"""
117
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
118
+ return json.dumps(self.to_dict())
119
+
120
+ @classmethod
121
+ def from_json(cls, json_str: str) -> Optional[Self]:
122
+ """Create an instance of LLMEndpointReadInput from a JSON string"""
123
+ return cls.from_dict(json.loads(json_str))
124
+
125
+ def to_dict(self) -> Dict[str, Any]:
126
+ """Return the dictionary representation of the model using alias.
127
+
128
+ This has the following differences from calling pydantic's
129
+ `self.model_dump(by_alias=True)`:
130
+
131
+ * `None` is only added to the output dict for nullable fields that
132
+ were set at model initialization. Other fields with value `None`
133
+ are ignored.
134
+ """
135
+ excluded_fields: Set[str] = set([
136
+ ])
137
+
138
+ _dict = self.model_dump(
139
+ by_alias=True,
140
+ exclude=excluded_fields,
141
+ exclude_none=True,
142
+ )
143
+ # override the default output from pydantic by calling `to_dict()` of guardrail
144
+ if self.guardrail:
145
+ _dict['guardrail'] = self.guardrail.to_dict()
146
+ # override the default output from pydantic by calling `to_dict()` of retry_params
147
+ if self.retry_params:
148
+ _dict['retry_params'] = self.retry_params.to_dict()
149
+ # override the default output from pydantic by calling `to_dict()` of extra_body
150
+ if self.extra_body:
151
+ _dict['extra_body'] = self.extra_body.to_dict()
152
+ # override the default output from pydantic by calling `to_dict()` of rag_params
153
+ if self.rag_params:
154
+ _dict['rag_params'] = self.rag_params.to_dict()
155
+ # override the default output from pydantic by calling `to_dict()` of generation_params
156
+ if self.generation_params:
157
+ _dict['generation_params'] = self.generation_params.to_dict()
158
+ # override the default output from pydantic by calling `to_dict()` of context_ranges
159
+ if self.context_ranges:
160
+ _dict['context_ranges'] = self.context_ranges.to_dict()
161
+ return _dict
162
+
163
+ @classmethod
164
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
165
+ """Create an instance of LLMEndpointReadInput from a dict"""
166
+ if obj is None:
167
+ return None
168
+
169
+ if not isinstance(obj, dict):
170
+ return cls.model_validate(obj)
171
+
172
+ _obj = cls.model_validate({
173
+ "modality": obj.get("modality") if obj.get("modality") is not None else 'text',
174
+ "provider": obj.get("provider") if obj.get("provider") is not None else 'openai',
175
+ "api_version": obj.get("api_version"),
176
+ "aws_access_key_id": obj.get("aws_access_key_id"),
177
+ "aws_secret_access_key": obj.get("aws_secret_access_key"),
178
+ "aws_region_name": obj.get("aws_region_name"),
179
+ "aws_inference_profile": obj.get("aws_inference_profile"),
180
+ "description": obj.get("description"),
181
+ "onpremise": obj.get("onpremise") if obj.get("onpremise") is not None else False,
182
+ "sensitivity_label": obj.get("sensitivity_label"),
183
+ "knowledge_cutoff": obj.get("knowledge_cutoff"),
184
+ "energy_consumption": obj.get("energy_consumption"),
185
+ "guardrail": GuardrailEndpoint.from_dict(obj["guardrail"]) if obj.get("guardrail") is not None else None,
186
+ "retry_params": RetryParams.from_dict(obj["retry_params"]) if obj.get("retry_params") is not None else None,
187
+ "extra_body": ExtraBody.from_dict(obj["extra_body"]) if obj.get("extra_body") is not None else None,
188
+ "vertex_location": obj.get("vertex_location"),
189
+ "vertex_credentials": obj.get("vertex_credentials"),
190
+ "tags": obj.get("tags"),
191
+ "tool_call_support": obj.get("tool_call_support") if obj.get("tool_call_support") is not None else False,
192
+ "temperature_support": obj.get("temperature_support") if obj.get("temperature_support") is not None else True,
193
+ "stream_options_support": obj.get("stream_options_support") if obj.get("stream_options_support") is not None else True,
194
+ "content_items_support": obj.get("content_items_support") if obj.get("content_items_support") is not None else True,
195
+ "max_images_per_request": obj.get("max_images_per_request") if obj.get("max_images_per_request") is not None else 1,
196
+ "reasoning_effort": obj.get("reasoning_effort") if obj.get("reasoning_effort") is not None else 'none',
197
+ "websearch_support": obj.get("websearch_support") if obj.get("websearch_support") is not None else False,
198
+ "skip_ssl_verification": obj.get("skip_ssl_verification") if obj.get("skip_ssl_verification") is not None else False,
199
+ "onpremise_chat_template_support": obj.get("onpremise_chat_template_support") if obj.get("onpremise_chat_template_support") is not None else False,
200
+ "display_name": obj.get("display_name"),
201
+ "engine": obj.get("engine"),
202
+ "api_key": obj.get("api_key"),
203
+ "endpoint_url": obj.get("endpoint_url"),
204
+ "rag_params": RAGParams.from_dict(obj["rag_params"]) if obj.get("rag_params") is not None else None,
205
+ "generation_params": GenerationParams.from_dict(obj["generation_params"]) if obj.get("generation_params") is not None else None,
206
+ "name": obj.get("name"),
207
+ "id": obj.get("id"),
208
+ "context_ranges": LLMContextRanges.from_dict(obj["context_ranges"]) if obj.get("context_ranges") is not None else None
209
+ })
210
+ return _obj
211
+
212
+
@@ -0,0 +1,212 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing_extensions import Annotated
23
+ from qanswer_sdk.models.extra_body import ExtraBody
24
+ from qanswer_sdk.models.generation_params import GenerationParams
25
+ from qanswer_sdk.models.guardrail_endpoint import GuardrailEndpoint
26
+ from qanswer_sdk.models.llm_context_ranges import LLMContextRanges
27
+ from qanswer_sdk.models.rag_params import RAGParams
28
+ from qanswer_sdk.models.retry_params import RetryParams
29
+ from typing import Optional, Set
30
+ from typing_extensions import Self
31
+
32
+ class LLMEndpointReadOutput(BaseModel):
33
+ """
34
+ LLMEndpointReadOutput
35
+ """ # noqa: E501
36
+ modality: Optional[StrictStr] = 'text'
37
+ provider: Optional[StrictStr] = 'openai'
38
+ api_version: Optional[StrictStr] = None
39
+ aws_access_key_id: Optional[StrictStr] = None
40
+ aws_secret_access_key: Optional[StrictStr] = None
41
+ aws_region_name: Optional[StrictStr] = None
42
+ aws_inference_profile: Optional[StrictStr] = None
43
+ description: Optional[StrictStr] = None
44
+ onpremise: Optional[StrictBool] = False
45
+ sensitivity_label: Optional[StrictStr] = None
46
+ knowledge_cutoff: Optional[StrictStr] = None
47
+ energy_consumption: Optional[StrictStr] = None
48
+ guardrail: Optional[GuardrailEndpoint] = None
49
+ retry_params: Optional[RetryParams] = None
50
+ extra_body: Optional[ExtraBody] = None
51
+ vertex_location: Optional[StrictStr] = None
52
+ vertex_credentials: Optional[StrictStr] = None
53
+ tags: Optional[List[StrictStr]] = None
54
+ tool_call_support: Optional[StrictBool] = False
55
+ temperature_support: Optional[StrictBool] = True
56
+ stream_options_support: Optional[StrictBool] = True
57
+ content_items_support: Optional[StrictBool] = True
58
+ max_images_per_request: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1
59
+ reasoning_effort: Optional[StrictStr] = 'none'
60
+ websearch_support: Optional[StrictBool] = False
61
+ skip_ssl_verification: Optional[StrictBool] = False
62
+ onpremise_chat_template_support: Optional[StrictBool] = False
63
+ display_name: StrictStr
64
+ engine: StrictStr
65
+ api_key: StrictStr
66
+ endpoint_url: StrictStr
67
+ rag_params: Optional[RAGParams] = None
68
+ generation_params: GenerationParams
69
+ name: StrictStr
70
+ id: StrictInt
71
+ context_ranges: Optional[LLMContextRanges] = None
72
+ __properties: ClassVar[List[str]] = ["modality", "provider", "api_version", "aws_access_key_id", "aws_secret_access_key", "aws_region_name", "aws_inference_profile", "description", "onpremise", "sensitivity_label", "knowledge_cutoff", "energy_consumption", "guardrail", "retry_params", "extra_body", "vertex_location", "vertex_credentials", "tags", "tool_call_support", "temperature_support", "stream_options_support", "content_items_support", "max_images_per_request", "reasoning_effort", "websearch_support", "skip_ssl_verification", "onpremise_chat_template_support", "display_name", "engine", "api_key", "endpoint_url", "rag_params", "generation_params", "name", "id", "context_ranges"]
73
+
74
+ @field_validator('modality')
75
+ def modality_validate_enum(cls, value):
76
+ """Validates the enum"""
77
+ if value is None:
78
+ return value
79
+
80
+ if value not in set(['text', 'text-image']):
81
+ raise ValueError("must be one of enum values ('text', 'text-image')")
82
+ return value
83
+
84
+ @field_validator('provider')
85
+ def provider_validate_enum(cls, value):
86
+ """Validates the enum"""
87
+ if value is None:
88
+ return value
89
+
90
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
91
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
92
+ return value
93
+
94
+ @field_validator('reasoning_effort')
95
+ def reasoning_effort_validate_enum(cls, value):
96
+ """Validates the enum"""
97
+ if value is None:
98
+ return value
99
+
100
+ if value not in set(['none', 'low', 'medium', 'high']):
101
+ raise ValueError("must be one of enum values ('none', 'low', 'medium', 'high')")
102
+ return value
103
+
104
+ model_config = ConfigDict(
105
+ populate_by_name=True,
106
+ validate_assignment=True,
107
+ protected_namespaces=(),
108
+ )
109
+
110
+
111
+ def to_str(self) -> str:
112
+ """Returns the string representation of the model using alias"""
113
+ return pprint.pformat(self.model_dump(by_alias=True))
114
+
115
+ def to_json(self) -> str:
116
+ """Returns the JSON representation of the model using alias"""
117
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
118
+ return json.dumps(self.to_dict())
119
+
120
+ @classmethod
121
+ def from_json(cls, json_str: str) -> Optional[Self]:
122
+ """Create an instance of LLMEndpointReadOutput from a JSON string"""
123
+ return cls.from_dict(json.loads(json_str))
124
+
125
+ def to_dict(self) -> Dict[str, Any]:
126
+ """Return the dictionary representation of the model using alias.
127
+
128
+ This has the following differences from calling pydantic's
129
+ `self.model_dump(by_alias=True)`:
130
+
131
+ * `None` is only added to the output dict for nullable fields that
132
+ were set at model initialization. Other fields with value `None`
133
+ are ignored.
134
+ """
135
+ excluded_fields: Set[str] = set([
136
+ ])
137
+
138
+ _dict = self.model_dump(
139
+ by_alias=True,
140
+ exclude=excluded_fields,
141
+ exclude_none=True,
142
+ )
143
+ # override the default output from pydantic by calling `to_dict()` of guardrail
144
+ if self.guardrail:
145
+ _dict['guardrail'] = self.guardrail.to_dict()
146
+ # override the default output from pydantic by calling `to_dict()` of retry_params
147
+ if self.retry_params:
148
+ _dict['retry_params'] = self.retry_params.to_dict()
149
+ # override the default output from pydantic by calling `to_dict()` of extra_body
150
+ if self.extra_body:
151
+ _dict['extra_body'] = self.extra_body.to_dict()
152
+ # override the default output from pydantic by calling `to_dict()` of rag_params
153
+ if self.rag_params:
154
+ _dict['rag_params'] = self.rag_params.to_dict()
155
+ # override the default output from pydantic by calling `to_dict()` of generation_params
156
+ if self.generation_params:
157
+ _dict['generation_params'] = self.generation_params.to_dict()
158
+ # override the default output from pydantic by calling `to_dict()` of context_ranges
159
+ if self.context_ranges:
160
+ _dict['context_ranges'] = self.context_ranges.to_dict()
161
+ return _dict
162
+
163
+ @classmethod
164
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
165
+ """Create an instance of LLMEndpointReadOutput from a dict"""
166
+ if obj is None:
167
+ return None
168
+
169
+ if not isinstance(obj, dict):
170
+ return cls.model_validate(obj)
171
+
172
+ _obj = cls.model_validate({
173
+ "modality": obj.get("modality") if obj.get("modality") is not None else 'text',
174
+ "provider": obj.get("provider") if obj.get("provider") is not None else 'openai',
175
+ "api_version": obj.get("api_version"),
176
+ "aws_access_key_id": obj.get("aws_access_key_id"),
177
+ "aws_secret_access_key": obj.get("aws_secret_access_key"),
178
+ "aws_region_name": obj.get("aws_region_name"),
179
+ "aws_inference_profile": obj.get("aws_inference_profile"),
180
+ "description": obj.get("description"),
181
+ "onpremise": obj.get("onpremise") if obj.get("onpremise") is not None else False,
182
+ "sensitivity_label": obj.get("sensitivity_label"),
183
+ "knowledge_cutoff": obj.get("knowledge_cutoff"),
184
+ "energy_consumption": obj.get("energy_consumption"),
185
+ "guardrail": GuardrailEndpoint.from_dict(obj["guardrail"]) if obj.get("guardrail") is not None else None,
186
+ "retry_params": RetryParams.from_dict(obj["retry_params"]) if obj.get("retry_params") is not None else None,
187
+ "extra_body": ExtraBody.from_dict(obj["extra_body"]) if obj.get("extra_body") is not None else None,
188
+ "vertex_location": obj.get("vertex_location"),
189
+ "vertex_credentials": obj.get("vertex_credentials"),
190
+ "tags": obj.get("tags"),
191
+ "tool_call_support": obj.get("tool_call_support") if obj.get("tool_call_support") is not None else False,
192
+ "temperature_support": obj.get("temperature_support") if obj.get("temperature_support") is not None else True,
193
+ "stream_options_support": obj.get("stream_options_support") if obj.get("stream_options_support") is not None else True,
194
+ "content_items_support": obj.get("content_items_support") if obj.get("content_items_support") is not None else True,
195
+ "max_images_per_request": obj.get("max_images_per_request") if obj.get("max_images_per_request") is not None else 1,
196
+ "reasoning_effort": obj.get("reasoning_effort") if obj.get("reasoning_effort") is not None else 'none',
197
+ "websearch_support": obj.get("websearch_support") if obj.get("websearch_support") is not None else False,
198
+ "skip_ssl_verification": obj.get("skip_ssl_verification") if obj.get("skip_ssl_verification") is not None else False,
199
+ "onpremise_chat_template_support": obj.get("onpremise_chat_template_support") if obj.get("onpremise_chat_template_support") is not None else False,
200
+ "display_name": obj.get("display_name"),
201
+ "engine": obj.get("engine"),
202
+ "api_key": obj.get("api_key"),
203
+ "endpoint_url": obj.get("endpoint_url"),
204
+ "rag_params": RAGParams.from_dict(obj["rag_params"]) if obj.get("rag_params") is not None else None,
205
+ "generation_params": GenerationParams.from_dict(obj["generation_params"]) if obj.get("generation_params") is not None else None,
206
+ "name": obj.get("name"),
207
+ "id": obj.get("id"),
208
+ "context_ranges": LLMContextRanges.from_dict(obj["context_ranges"]) if obj.get("context_ranges") is not None else None
209
+ })
210
+ return _obj
211
+
212
+
@@ -0,0 +1,204 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing_extensions import Annotated
23
+ from qanswer_sdk.models.extra_body import ExtraBody
24
+ from qanswer_sdk.models.generation_params import GenerationParams
25
+ from qanswer_sdk.models.guardrail_endpoint import GuardrailEndpoint
26
+ from qanswer_sdk.models.rag_params import RAGParams
27
+ from qanswer_sdk.models.retry_params import RetryParams
28
+ from typing import Optional, Set
29
+ from typing_extensions import Self
30
+
31
+ class LLMEndpointUpdate(BaseModel):
32
+ """
33
+ LLMEndpointUpdate
34
+ """ # noqa: E501
35
+ modality: Optional[StrictStr] = 'text'
36
+ provider: Optional[StrictStr] = 'openai'
37
+ api_version: Optional[StrictStr] = None
38
+ aws_access_key_id: Optional[StrictStr] = None
39
+ aws_secret_access_key: Optional[StrictStr] = None
40
+ aws_region_name: Optional[StrictStr] = None
41
+ aws_inference_profile: Optional[StrictStr] = None
42
+ description: Optional[StrictStr] = None
43
+ onpremise: Optional[StrictBool] = False
44
+ sensitivity_label: Optional[StrictStr] = None
45
+ knowledge_cutoff: Optional[StrictStr] = None
46
+ energy_consumption: Optional[StrictStr] = None
47
+ guardrail: Optional[GuardrailEndpoint] = None
48
+ retry_params: Optional[RetryParams] = None
49
+ extra_body: Optional[ExtraBody] = None
50
+ vertex_location: Optional[StrictStr] = None
51
+ vertex_credentials: Optional[StrictStr] = None
52
+ tags: Optional[List[StrictStr]] = None
53
+ tool_call_support: Optional[StrictBool] = False
54
+ temperature_support: Optional[StrictBool] = True
55
+ stream_options_support: Optional[StrictBool] = True
56
+ content_items_support: Optional[StrictBool] = True
57
+ max_images_per_request: Optional[Annotated[int, Field(strict=True, ge=1)]] = 1
58
+ reasoning_effort: Optional[StrictStr] = 'none'
59
+ websearch_support: Optional[StrictBool] = False
60
+ skip_ssl_verification: Optional[StrictBool] = False
61
+ onpremise_chat_template_support: Optional[StrictBool] = False
62
+ display_name: Optional[StrictStr] = None
63
+ engine: Optional[StrictStr] = None
64
+ api_key: Optional[StrictStr] = None
65
+ endpoint_url: Optional[StrictStr] = None
66
+ rag_params: Optional[RAGParams] = None
67
+ generation_params: Optional[GenerationParams] = None
68
+ replacement_llm_id: Optional[StrictInt] = None
69
+ __properties: ClassVar[List[str]] = ["modality", "provider", "api_version", "aws_access_key_id", "aws_secret_access_key", "aws_region_name", "aws_inference_profile", "description", "onpremise", "sensitivity_label", "knowledge_cutoff", "energy_consumption", "guardrail", "retry_params", "extra_body", "vertex_location", "vertex_credentials", "tags", "tool_call_support", "temperature_support", "stream_options_support", "content_items_support", "max_images_per_request", "reasoning_effort", "websearch_support", "skip_ssl_verification", "onpremise_chat_template_support", "display_name", "engine", "api_key", "endpoint_url", "rag_params", "generation_params", "replacement_llm_id"]
70
+
71
+ @field_validator('modality')
72
+ def modality_validate_enum(cls, value):
73
+ """Validates the enum"""
74
+ if value is None:
75
+ return value
76
+
77
+ if value not in set(['text', 'text-image']):
78
+ raise ValueError("must be one of enum values ('text', 'text-image')")
79
+ return value
80
+
81
+ @field_validator('provider')
82
+ def provider_validate_enum(cls, value):
83
+ """Validates the enum"""
84
+ if value is None:
85
+ return value
86
+
87
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
88
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
89
+ return value
90
+
91
+ @field_validator('reasoning_effort')
92
+ def reasoning_effort_validate_enum(cls, value):
93
+ """Validates the enum"""
94
+ if value is None:
95
+ return value
96
+
97
+ if value not in set(['none', 'low', 'medium', 'high']):
98
+ raise ValueError("must be one of enum values ('none', 'low', 'medium', 'high')")
99
+ return value
100
+
101
+ model_config = ConfigDict(
102
+ populate_by_name=True,
103
+ validate_assignment=True,
104
+ protected_namespaces=(),
105
+ )
106
+
107
+
108
+ def to_str(self) -> str:
109
+ """Returns the string representation of the model using alias"""
110
+ return pprint.pformat(self.model_dump(by_alias=True))
111
+
112
+ def to_json(self) -> str:
113
+ """Returns the JSON representation of the model using alias"""
114
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
115
+ return json.dumps(self.to_dict())
116
+
117
+ @classmethod
118
+ def from_json(cls, json_str: str) -> Optional[Self]:
119
+ """Create an instance of LLMEndpointUpdate from a JSON string"""
120
+ return cls.from_dict(json.loads(json_str))
121
+
122
+ def to_dict(self) -> Dict[str, Any]:
123
+ """Return the dictionary representation of the model using alias.
124
+
125
+ This has the following differences from calling pydantic's
126
+ `self.model_dump(by_alias=True)`:
127
+
128
+ * `None` is only added to the output dict for nullable fields that
129
+ were set at model initialization. Other fields with value `None`
130
+ are ignored.
131
+ """
132
+ excluded_fields: Set[str] = set([
133
+ ])
134
+
135
+ _dict = self.model_dump(
136
+ by_alias=True,
137
+ exclude=excluded_fields,
138
+ exclude_none=True,
139
+ )
140
+ # override the default output from pydantic by calling `to_dict()` of guardrail
141
+ if self.guardrail:
142
+ _dict['guardrail'] = self.guardrail.to_dict()
143
+ # override the default output from pydantic by calling `to_dict()` of retry_params
144
+ if self.retry_params:
145
+ _dict['retry_params'] = self.retry_params.to_dict()
146
+ # override the default output from pydantic by calling `to_dict()` of extra_body
147
+ if self.extra_body:
148
+ _dict['extra_body'] = self.extra_body.to_dict()
149
+ # override the default output from pydantic by calling `to_dict()` of rag_params
150
+ if self.rag_params:
151
+ _dict['rag_params'] = self.rag_params.to_dict()
152
+ # override the default output from pydantic by calling `to_dict()` of generation_params
153
+ if self.generation_params:
154
+ _dict['generation_params'] = self.generation_params.to_dict()
155
+ return _dict
156
+
157
+ @classmethod
158
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
159
+ """Create an instance of LLMEndpointUpdate from a dict"""
160
+ if obj is None:
161
+ return None
162
+
163
+ if not isinstance(obj, dict):
164
+ return cls.model_validate(obj)
165
+
166
+ _obj = cls.model_validate({
167
+ "modality": obj.get("modality") if obj.get("modality") is not None else 'text',
168
+ "provider": obj.get("provider") if obj.get("provider") is not None else 'openai',
169
+ "api_version": obj.get("api_version"),
170
+ "aws_access_key_id": obj.get("aws_access_key_id"),
171
+ "aws_secret_access_key": obj.get("aws_secret_access_key"),
172
+ "aws_region_name": obj.get("aws_region_name"),
173
+ "aws_inference_profile": obj.get("aws_inference_profile"),
174
+ "description": obj.get("description"),
175
+ "onpremise": obj.get("onpremise") if obj.get("onpremise") is not None else False,
176
+ "sensitivity_label": obj.get("sensitivity_label"),
177
+ "knowledge_cutoff": obj.get("knowledge_cutoff"),
178
+ "energy_consumption": obj.get("energy_consumption"),
179
+ "guardrail": GuardrailEndpoint.from_dict(obj["guardrail"]) if obj.get("guardrail") is not None else None,
180
+ "retry_params": RetryParams.from_dict(obj["retry_params"]) if obj.get("retry_params") is not None else None,
181
+ "extra_body": ExtraBody.from_dict(obj["extra_body"]) if obj.get("extra_body") is not None else None,
182
+ "vertex_location": obj.get("vertex_location"),
183
+ "vertex_credentials": obj.get("vertex_credentials"),
184
+ "tags": obj.get("tags"),
185
+ "tool_call_support": obj.get("tool_call_support") if obj.get("tool_call_support") is not None else False,
186
+ "temperature_support": obj.get("temperature_support") if obj.get("temperature_support") is not None else True,
187
+ "stream_options_support": obj.get("stream_options_support") if obj.get("stream_options_support") is not None else True,
188
+ "content_items_support": obj.get("content_items_support") if obj.get("content_items_support") is not None else True,
189
+ "max_images_per_request": obj.get("max_images_per_request") if obj.get("max_images_per_request") is not None else 1,
190
+ "reasoning_effort": obj.get("reasoning_effort") if obj.get("reasoning_effort") is not None else 'none',
191
+ "websearch_support": obj.get("websearch_support") if obj.get("websearch_support") is not None else False,
192
+ "skip_ssl_verification": obj.get("skip_ssl_verification") if obj.get("skip_ssl_verification") is not None else False,
193
+ "onpremise_chat_template_support": obj.get("onpremise_chat_template_support") if obj.get("onpremise_chat_template_support") is not None else False,
194
+ "display_name": obj.get("display_name"),
195
+ "engine": obj.get("engine"),
196
+ "api_key": obj.get("api_key"),
197
+ "endpoint_url": obj.get("endpoint_url"),
198
+ "rag_params": RAGParams.from_dict(obj["rag_params"]) if obj.get("rag_params") is not None else None,
199
+ "generation_params": GenerationParams.from_dict(obj["generation_params"]) if obj.get("generation_params") is not None else None,
200
+ "replacement_llm_id": obj.get("replacement_llm_id")
201
+ })
202
+ return _obj
203
+
204
+