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,111 @@
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, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from qanswer_sdk.models.cost_summary_dto import CostSummaryDto
23
+ from qanswer_sdk.models.llm_cost_entry import LlmCostEntry
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class LlmCostList(BaseModel):
28
+ """
29
+ LlmCostList
30
+ """ # noqa: E501
31
+ cost_summaries: Optional[List[CostSummaryDto]] = Field(default=None, alias="costSummaries")
32
+ costs: Optional[List[LlmCostEntry]] = None
33
+ page: Optional[StrictInt] = None
34
+ page_size: Optional[StrictInt] = Field(default=None, alias="pageSize")
35
+ total: Optional[StrictInt] = None
36
+ __properties: ClassVar[List[str]] = ["costSummaries", "costs", "page", "pageSize", "total"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of LlmCostList from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ # override the default output from pydantic by calling `to_dict()` of each item in cost_summaries (list)
78
+ _items = []
79
+ if self.cost_summaries:
80
+ for _item_cost_summaries in self.cost_summaries:
81
+ if _item_cost_summaries:
82
+ _items.append(_item_cost_summaries.to_dict())
83
+ _dict['costSummaries'] = _items
84
+ # override the default output from pydantic by calling `to_dict()` of each item in costs (list)
85
+ _items = []
86
+ if self.costs:
87
+ for _item_costs in self.costs:
88
+ if _item_costs:
89
+ _items.append(_item_costs.to_dict())
90
+ _dict['costs'] = _items
91
+ return _dict
92
+
93
+ @classmethod
94
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
95
+ """Create an instance of LlmCostList from a dict"""
96
+ if obj is None:
97
+ return None
98
+
99
+ if not isinstance(obj, dict):
100
+ return cls.model_validate(obj)
101
+
102
+ _obj = cls.model_validate({
103
+ "costSummaries": [CostSummaryDto.from_dict(_item) for _item in obj["costSummaries"]] if obj.get("costSummaries") is not None else None,
104
+ "costs": [LlmCostEntry.from_dict(_item) for _item in obj["costs"]] if obj.get("costs") is not None else None,
105
+ "page": obj.get("page"),
106
+ "pageSize": obj.get("pageSize"),
107
+ "total": obj.get("total")
108
+ })
109
+ return _obj
110
+
111
+
@@ -0,0 +1,208 @@
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, StrictFloat, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
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 LlmCreateDto(BaseModel):
32
+ """
33
+ Extends Python LLMEndpointCreate with Java-side cost fields.
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: StrictStr
63
+ engine: StrictStr
64
+ api_key: StrictStr
65
+ endpoint_url: StrictStr
66
+ rag_params: Optional[RAGParams] = None
67
+ generation_params: GenerationParams
68
+ name: StrictStr
69
+ cost_input_per_million_token: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costInputPerMillionToken")
70
+ cost_output_per_million_token: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costOutputPerMillionToken")
71
+ __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", "costInputPerMillionToken", "costOutputPerMillionToken"]
72
+
73
+ @field_validator('modality')
74
+ def modality_validate_enum(cls, value):
75
+ """Validates the enum"""
76
+ if value is None:
77
+ return value
78
+
79
+ if value not in set(['text', 'text-image']):
80
+ raise ValueError("must be one of enum values ('text', 'text-image')")
81
+ return value
82
+
83
+ @field_validator('provider')
84
+ def provider_validate_enum(cls, value):
85
+ """Validates the enum"""
86
+ if value is None:
87
+ return value
88
+
89
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
90
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
91
+ return value
92
+
93
+ @field_validator('reasoning_effort')
94
+ def reasoning_effort_validate_enum(cls, value):
95
+ """Validates the enum"""
96
+ if value is None:
97
+ return value
98
+
99
+ if value not in set(['none', 'low', 'medium', 'high']):
100
+ raise ValueError("must be one of enum values ('none', 'low', 'medium', 'high')")
101
+ return value
102
+
103
+ model_config = ConfigDict(
104
+ populate_by_name=True,
105
+ validate_assignment=True,
106
+ protected_namespaces=(),
107
+ )
108
+
109
+
110
+ def to_str(self) -> str:
111
+ """Returns the string representation of the model using alias"""
112
+ return pprint.pformat(self.model_dump(by_alias=True))
113
+
114
+ def to_json(self) -> str:
115
+ """Returns the JSON representation of the model using alias"""
116
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
117
+ return json.dumps(self.to_dict())
118
+
119
+ @classmethod
120
+ def from_json(cls, json_str: str) -> Optional[Self]:
121
+ """Create an instance of LlmCreateDto from a JSON string"""
122
+ return cls.from_dict(json.loads(json_str))
123
+
124
+ def to_dict(self) -> Dict[str, Any]:
125
+ """Return the dictionary representation of the model using alias.
126
+
127
+ This has the following differences from calling pydantic's
128
+ `self.model_dump(by_alias=True)`:
129
+
130
+ * `None` is only added to the output dict for nullable fields that
131
+ were set at model initialization. Other fields with value `None`
132
+ are ignored.
133
+ """
134
+ excluded_fields: Set[str] = set([
135
+ ])
136
+
137
+ _dict = self.model_dump(
138
+ by_alias=True,
139
+ exclude=excluded_fields,
140
+ exclude_none=True,
141
+ )
142
+ # override the default output from pydantic by calling `to_dict()` of guardrail
143
+ if self.guardrail:
144
+ _dict['guardrail'] = self.guardrail.to_dict()
145
+ # override the default output from pydantic by calling `to_dict()` of retry_params
146
+ if self.retry_params:
147
+ _dict['retry_params'] = self.retry_params.to_dict()
148
+ # override the default output from pydantic by calling `to_dict()` of extra_body
149
+ if self.extra_body:
150
+ _dict['extra_body'] = self.extra_body.to_dict()
151
+ # override the default output from pydantic by calling `to_dict()` of rag_params
152
+ if self.rag_params:
153
+ _dict['rag_params'] = self.rag_params.to_dict()
154
+ # override the default output from pydantic by calling `to_dict()` of generation_params
155
+ if self.generation_params:
156
+ _dict['generation_params'] = self.generation_params.to_dict()
157
+ return _dict
158
+
159
+ @classmethod
160
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
161
+ """Create an instance of LlmCreateDto from a dict"""
162
+ if obj is None:
163
+ return None
164
+
165
+ if not isinstance(obj, dict):
166
+ return cls.model_validate(obj)
167
+
168
+ _obj = cls.model_validate({
169
+ "modality": obj.get("modality") if obj.get("modality") is not None else 'text',
170
+ "provider": obj.get("provider") if obj.get("provider") is not None else 'openai',
171
+ "api_version": obj.get("api_version"),
172
+ "aws_access_key_id": obj.get("aws_access_key_id"),
173
+ "aws_secret_access_key": obj.get("aws_secret_access_key"),
174
+ "aws_region_name": obj.get("aws_region_name"),
175
+ "aws_inference_profile": obj.get("aws_inference_profile"),
176
+ "description": obj.get("description"),
177
+ "onpremise": obj.get("onpremise") if obj.get("onpremise") is not None else False,
178
+ "sensitivity_label": obj.get("sensitivity_label"),
179
+ "knowledge_cutoff": obj.get("knowledge_cutoff"),
180
+ "energy_consumption": obj.get("energy_consumption"),
181
+ "guardrail": GuardrailEndpoint.from_dict(obj["guardrail"]) if obj.get("guardrail") is not None else None,
182
+ "retry_params": RetryParams.from_dict(obj["retry_params"]) if obj.get("retry_params") is not None else None,
183
+ "extra_body": ExtraBody.from_dict(obj["extra_body"]) if obj.get("extra_body") is not None else None,
184
+ "vertex_location": obj.get("vertex_location"),
185
+ "vertex_credentials": obj.get("vertex_credentials"),
186
+ "tags": obj.get("tags"),
187
+ "tool_call_support": obj.get("tool_call_support") if obj.get("tool_call_support") is not None else False,
188
+ "temperature_support": obj.get("temperature_support") if obj.get("temperature_support") is not None else True,
189
+ "stream_options_support": obj.get("stream_options_support") if obj.get("stream_options_support") is not None else True,
190
+ "content_items_support": obj.get("content_items_support") if obj.get("content_items_support") is not None else True,
191
+ "max_images_per_request": obj.get("max_images_per_request") if obj.get("max_images_per_request") is not None else 1,
192
+ "reasoning_effort": obj.get("reasoning_effort") if obj.get("reasoning_effort") is not None else 'none',
193
+ "websearch_support": obj.get("websearch_support") if obj.get("websearch_support") is not None else False,
194
+ "skip_ssl_verification": obj.get("skip_ssl_verification") if obj.get("skip_ssl_verification") is not None else False,
195
+ "onpremise_chat_template_support": obj.get("onpremise_chat_template_support") if obj.get("onpremise_chat_template_support") is not None else False,
196
+ "display_name": obj.get("display_name"),
197
+ "engine": obj.get("engine"),
198
+ "api_key": obj.get("api_key"),
199
+ "endpoint_url": obj.get("endpoint_url"),
200
+ "rag_params": RAGParams.from_dict(obj["rag_params"]) if obj.get("rag_params") is not None else None,
201
+ "generation_params": GenerationParams.from_dict(obj["generation_params"]) if obj.get("generation_params") is not None else None,
202
+ "name": obj.get("name"),
203
+ "costInputPerMillionToken": obj.get("costInputPerMillionToken"),
204
+ "costOutputPerMillionToken": obj.get("costOutputPerMillionToken")
205
+ })
206
+ return _obj
207
+
208
+
@@ -0,0 +1,231 @@
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, StrictFloat, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from qanswer_sdk.models.extra_body import ExtraBody
23
+ from qanswer_sdk.models.generation_params import GenerationParams
24
+ from qanswer_sdk.models.guardrail_endpoint import GuardrailEndpoint
25
+ from qanswer_sdk.models.llm_context_ranges import LLMContextRanges
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 LlmDetailedDto(BaseModel):
32
+ """
33
+ LlmDetailedDto
34
+ """ # noqa: E501
35
+ id: StrictInt
36
+ python_id: Optional[StrictInt] = Field(default=None, alias="pythonId")
37
+ name: Optional[StrictStr] = ''
38
+ display_name: Optional[StrictStr] = ''
39
+ cost_input_per_million_token: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costInputPerMillionToken")
40
+ cost_output_per_million_token: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costOutputPerMillionToken")
41
+ sensitivity_level: Optional[StrictStr] = Field(default=None, alias="sensitivityLevel")
42
+ is_active: Optional[StrictBool] = Field(default=None, alias="isActive")
43
+ is_shared: Optional[StrictBool] = Field(default=None, alias="isShared")
44
+ active: Optional[StrictBool] = None
45
+ is_system_default: Optional[StrictBool] = Field(default=None, alias="isSystemDefault")
46
+ is_organization_default: Optional[StrictBool] = Field(default=None, alias="isOrganizationDefault")
47
+ is_organization_only: Optional[StrictBool] = Field(default=None, alias="isOrganizationOnly")
48
+ engine: Optional[StrictStr] = ''
49
+ description: Optional[StrictStr] = None
50
+ sensitivity_label: Optional[StrictStr] = None
51
+ provider: Optional[StrictStr] = None
52
+ api_key: Optional[StrictStr] = None
53
+ endpoint_url: Optional[StrictStr] = None
54
+ onpremise: Optional[StrictBool] = None
55
+ modality: Optional[StrictStr] = None
56
+ tool_call_support: Optional[StrictBool] = None
57
+ websearch_support: Optional[StrictBool] = None
58
+ reasoning_effort: Optional[StrictStr] = None
59
+ context_ranges: Optional[LLMContextRanges] = None
60
+ max_images_per_request: Optional[StrictInt] = None
61
+ knowledge_cutoff: Optional[StrictStr] = None
62
+ energy_consumption: Optional[StrictStr] = None
63
+ guardrail: Optional[GuardrailEndpoint] = None
64
+ temperature_support: Optional[StrictBool] = None
65
+ stream_options_support: Optional[StrictBool] = None
66
+ content_items_support: Optional[StrictBool] = None
67
+ skip_ssl_verification: Optional[StrictBool] = None
68
+ onpremise_chat_template_support: Optional[StrictBool] = None
69
+ tags: Optional[List[StrictStr]] = None
70
+ rag_params: Optional[RAGParams] = None
71
+ generation_params: Optional[GenerationParams] = None
72
+ retry_params: Optional[RetryParams] = None
73
+ extra_body: Optional[ExtraBody] = None
74
+ api_version: Optional[StrictStr] = None
75
+ aws_access_key_id: Optional[StrictStr] = None
76
+ aws_secret_access_key: Optional[StrictStr] = None
77
+ aws_region_name: Optional[StrictStr] = None
78
+ aws_inference_profile: Optional[StrictStr] = None
79
+ vertex_location: Optional[StrictStr] = None
80
+ vertex_credentials: Optional[StrictStr] = None
81
+ __properties: ClassVar[List[str]] = ["id", "pythonId", "name", "display_name", "costInputPerMillionToken", "costOutputPerMillionToken", "sensitivityLevel", "isActive", "isShared", "active", "isSystemDefault", "isOrganizationDefault", "isOrganizationOnly", "engine", "description", "sensitivity_label", "provider", "api_key", "endpoint_url", "onpremise", "modality", "tool_call_support", "websearch_support", "reasoning_effort", "context_ranges", "max_images_per_request", "knowledge_cutoff", "energy_consumption", "guardrail", "temperature_support", "stream_options_support", "content_items_support", "skip_ssl_verification", "onpremise_chat_template_support", "tags", "rag_params", "generation_params", "retry_params", "extra_body", "api_version", "aws_access_key_id", "aws_secret_access_key", "aws_region_name", "aws_inference_profile", "vertex_location", "vertex_credentials"]
82
+
83
+ @field_validator('provider')
84
+ def provider_validate_enum(cls, value):
85
+ """Validates the enum"""
86
+ if value is None:
87
+ return value
88
+
89
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
90
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
91
+ return value
92
+
93
+ @field_validator('modality')
94
+ def modality_validate_enum(cls, value):
95
+ """Validates the enum"""
96
+ if value is None:
97
+ return value
98
+
99
+ if value not in set(['text', 'text-image']):
100
+ raise ValueError("must be one of enum values ('text', 'text-image')")
101
+ return value
102
+
103
+ @field_validator('reasoning_effort')
104
+ def reasoning_effort_validate_enum(cls, value):
105
+ """Validates the enum"""
106
+ if value is None:
107
+ return value
108
+
109
+ if value not in set(['none', 'low', 'medium', 'high']):
110
+ raise ValueError("must be one of enum values ('none', 'low', 'medium', 'high')")
111
+ return value
112
+
113
+ model_config = ConfigDict(
114
+ populate_by_name=True,
115
+ validate_assignment=True,
116
+ protected_namespaces=(),
117
+ )
118
+
119
+
120
+ def to_str(self) -> str:
121
+ """Returns the string representation of the model using alias"""
122
+ return pprint.pformat(self.model_dump(by_alias=True))
123
+
124
+ def to_json(self) -> str:
125
+ """Returns the JSON representation of the model using alias"""
126
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
127
+ return json.dumps(self.to_dict())
128
+
129
+ @classmethod
130
+ def from_json(cls, json_str: str) -> Optional[Self]:
131
+ """Create an instance of LlmDetailedDto from a JSON string"""
132
+ return cls.from_dict(json.loads(json_str))
133
+
134
+ def to_dict(self) -> Dict[str, Any]:
135
+ """Return the dictionary representation of the model using alias.
136
+
137
+ This has the following differences from calling pydantic's
138
+ `self.model_dump(by_alias=True)`:
139
+
140
+ * `None` is only added to the output dict for nullable fields that
141
+ were set at model initialization. Other fields with value `None`
142
+ are ignored.
143
+ """
144
+ excluded_fields: Set[str] = set([
145
+ ])
146
+
147
+ _dict = self.model_dump(
148
+ by_alias=True,
149
+ exclude=excluded_fields,
150
+ exclude_none=True,
151
+ )
152
+ # override the default output from pydantic by calling `to_dict()` of context_ranges
153
+ if self.context_ranges:
154
+ _dict['context_ranges'] = self.context_ranges.to_dict()
155
+ # override the default output from pydantic by calling `to_dict()` of guardrail
156
+ if self.guardrail:
157
+ _dict['guardrail'] = self.guardrail.to_dict()
158
+ # override the default output from pydantic by calling `to_dict()` of rag_params
159
+ if self.rag_params:
160
+ _dict['rag_params'] = self.rag_params.to_dict()
161
+ # override the default output from pydantic by calling `to_dict()` of generation_params
162
+ if self.generation_params:
163
+ _dict['generation_params'] = self.generation_params.to_dict()
164
+ # override the default output from pydantic by calling `to_dict()` of retry_params
165
+ if self.retry_params:
166
+ _dict['retry_params'] = self.retry_params.to_dict()
167
+ # override the default output from pydantic by calling `to_dict()` of extra_body
168
+ if self.extra_body:
169
+ _dict['extra_body'] = self.extra_body.to_dict()
170
+ return _dict
171
+
172
+ @classmethod
173
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
174
+ """Create an instance of LlmDetailedDto from a dict"""
175
+ if obj is None:
176
+ return None
177
+
178
+ if not isinstance(obj, dict):
179
+ return cls.model_validate(obj)
180
+
181
+ _obj = cls.model_validate({
182
+ "id": obj.get("id"),
183
+ "pythonId": obj.get("pythonId"),
184
+ "name": obj.get("name") if obj.get("name") is not None else '',
185
+ "display_name": obj.get("display_name") if obj.get("display_name") is not None else '',
186
+ "costInputPerMillionToken": obj.get("costInputPerMillionToken"),
187
+ "costOutputPerMillionToken": obj.get("costOutputPerMillionToken"),
188
+ "sensitivityLevel": obj.get("sensitivityLevel"),
189
+ "isActive": obj.get("isActive"),
190
+ "isShared": obj.get("isShared"),
191
+ "active": obj.get("active"),
192
+ "isSystemDefault": obj.get("isSystemDefault"),
193
+ "isOrganizationDefault": obj.get("isOrganizationDefault"),
194
+ "isOrganizationOnly": obj.get("isOrganizationOnly"),
195
+ "engine": obj.get("engine") if obj.get("engine") is not None else '',
196
+ "description": obj.get("description"),
197
+ "sensitivity_label": obj.get("sensitivity_label"),
198
+ "provider": obj.get("provider"),
199
+ "api_key": obj.get("api_key"),
200
+ "endpoint_url": obj.get("endpoint_url"),
201
+ "onpremise": obj.get("onpremise"),
202
+ "modality": obj.get("modality"),
203
+ "tool_call_support": obj.get("tool_call_support"),
204
+ "websearch_support": obj.get("websearch_support"),
205
+ "reasoning_effort": obj.get("reasoning_effort"),
206
+ "context_ranges": LLMContextRanges.from_dict(obj["context_ranges"]) if obj.get("context_ranges") is not None else None,
207
+ "max_images_per_request": obj.get("max_images_per_request"),
208
+ "knowledge_cutoff": obj.get("knowledge_cutoff"),
209
+ "energy_consumption": obj.get("energy_consumption"),
210
+ "guardrail": GuardrailEndpoint.from_dict(obj["guardrail"]) if obj.get("guardrail") is not None else None,
211
+ "temperature_support": obj.get("temperature_support"),
212
+ "stream_options_support": obj.get("stream_options_support"),
213
+ "content_items_support": obj.get("content_items_support"),
214
+ "skip_ssl_verification": obj.get("skip_ssl_verification"),
215
+ "onpremise_chat_template_support": obj.get("onpremise_chat_template_support"),
216
+ "tags": obj.get("tags"),
217
+ "rag_params": RAGParams.from_dict(obj["rag_params"]) if obj.get("rag_params") is not None else None,
218
+ "generation_params": GenerationParams.from_dict(obj["generation_params"]) if obj.get("generation_params") is not None else None,
219
+ "retry_params": RetryParams.from_dict(obj["retry_params"]) if obj.get("retry_params") is not None else None,
220
+ "extra_body": ExtraBody.from_dict(obj["extra_body"]) if obj.get("extra_body") is not None else None,
221
+ "api_version": obj.get("api_version"),
222
+ "aws_access_key_id": obj.get("aws_access_key_id"),
223
+ "aws_secret_access_key": obj.get("aws_secret_access_key"),
224
+ "aws_region_name": obj.get("aws_region_name"),
225
+ "aws_inference_profile": obj.get("aws_inference_profile"),
226
+ "vertex_location": obj.get("vertex_location"),
227
+ "vertex_credentials": obj.get("vertex_credentials")
228
+ })
229
+ return _obj
230
+
231
+
@@ -0,0 +1,123 @@
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, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class LLMDetails(BaseModel):
26
+ """
27
+ LLMDetails
28
+ """ # noqa: E501
29
+ onpremise: Optional[StrictBool] = None
30
+ description: Optional[StrictStr] = None
31
+ display_name: Optional[StrictStr] = None
32
+ name: Optional[StrictStr] = None
33
+ sensitivity_label: Optional[StrictStr] = None
34
+ provider: Optional[StrictStr] = None
35
+ min_context_window: Optional[StrictInt] = None
36
+ max_context_window: Optional[StrictInt] = None
37
+ modality: Optional[StrictStr] = None
38
+ __properties: ClassVar[List[str]] = ["onpremise", "description", "display_name", "name", "sensitivity_label", "provider", "min_context_window", "max_context_window", "modality"]
39
+
40
+ @field_validator('provider')
41
+ def provider_validate_enum(cls, value):
42
+ """Validates the enum"""
43
+ if value is None:
44
+ return value
45
+
46
+ if value not in set(['openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai']):
47
+ raise ValueError("must be one of enum values ('openai', 'azure', 'bedrock', 'mistral', 'anthropic', 'openrouter', 'gemini', 'ollama', 'vertex_ai')")
48
+ return value
49
+
50
+ @field_validator('modality')
51
+ def modality_validate_enum(cls, value):
52
+ """Validates the enum"""
53
+ if value is None:
54
+ return value
55
+
56
+ if value not in set(['text', 'text-image']):
57
+ raise ValueError("must be one of enum values ('text', 'text-image')")
58
+ return value
59
+
60
+ model_config = ConfigDict(
61
+ populate_by_name=True,
62
+ validate_assignment=True,
63
+ protected_namespaces=(),
64
+ )
65
+
66
+
67
+ def to_str(self) -> str:
68
+ """Returns the string representation of the model using alias"""
69
+ return pprint.pformat(self.model_dump(by_alias=True))
70
+
71
+ def to_json(self) -> str:
72
+ """Returns the JSON representation of the model using alias"""
73
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
74
+ return json.dumps(self.to_dict())
75
+
76
+ @classmethod
77
+ def from_json(cls, json_str: str) -> Optional[Self]:
78
+ """Create an instance of LLMDetails from a JSON string"""
79
+ return cls.from_dict(json.loads(json_str))
80
+
81
+ def to_dict(self) -> Dict[str, Any]:
82
+ """Return the dictionary representation of the model using alias.
83
+
84
+ This has the following differences from calling pydantic's
85
+ `self.model_dump(by_alias=True)`:
86
+
87
+ * `None` is only added to the output dict for nullable fields that
88
+ were set at model initialization. Other fields with value `None`
89
+ are ignored.
90
+ """
91
+ excluded_fields: Set[str] = set([
92
+ ])
93
+
94
+ _dict = self.model_dump(
95
+ by_alias=True,
96
+ exclude=excluded_fields,
97
+ exclude_none=True,
98
+ )
99
+ return _dict
100
+
101
+ @classmethod
102
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
103
+ """Create an instance of LLMDetails from a dict"""
104
+ if obj is None:
105
+ return None
106
+
107
+ if not isinstance(obj, dict):
108
+ return cls.model_validate(obj)
109
+
110
+ _obj = cls.model_validate({
111
+ "onpremise": obj.get("onpremise"),
112
+ "description": obj.get("description"),
113
+ "display_name": obj.get("display_name"),
114
+ "name": obj.get("name"),
115
+ "sensitivity_label": obj.get("sensitivity_label"),
116
+ "provider": obj.get("provider"),
117
+ "min_context_window": obj.get("min_context_window"),
118
+ "max_context_window": obj.get("max_context_window"),
119
+ "modality": obj.get("modality")
120
+ })
121
+ return _obj
122
+
123
+