h2ogpte 1.6.41rc5__py3-none-any.whl → 1.6.43__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 (107) hide show
  1. h2ogpte/__init__.py +1 -1
  2. h2ogpte/cli/__init__.py +0 -0
  3. h2ogpte/cli/commands/__init__.py +0 -0
  4. h2ogpte/cli/commands/command_handlers/__init__.py +0 -0
  5. h2ogpte/cli/commands/command_handlers/agent.py +41 -0
  6. h2ogpte/cli/commands/command_handlers/chat.py +37 -0
  7. h2ogpte/cli/commands/command_handlers/clear.py +8 -0
  8. h2ogpte/cli/commands/command_handlers/collection.py +67 -0
  9. h2ogpte/cli/commands/command_handlers/config.py +113 -0
  10. h2ogpte/cli/commands/command_handlers/disconnect.py +36 -0
  11. h2ogpte/cli/commands/command_handlers/exit.py +37 -0
  12. h2ogpte/cli/commands/command_handlers/help.py +8 -0
  13. h2ogpte/cli/commands/command_handlers/history.py +29 -0
  14. h2ogpte/cli/commands/command_handlers/rag.py +146 -0
  15. h2ogpte/cli/commands/command_handlers/research_agent.py +45 -0
  16. h2ogpte/cli/commands/command_handlers/session.py +77 -0
  17. h2ogpte/cli/commands/command_handlers/status.py +33 -0
  18. h2ogpte/cli/commands/dispatcher.py +79 -0
  19. h2ogpte/cli/core/__init__.py +0 -0
  20. h2ogpte/cli/core/app.py +105 -0
  21. h2ogpte/cli/core/config.py +199 -0
  22. h2ogpte/cli/core/encryption.py +104 -0
  23. h2ogpte/cli/core/session.py +171 -0
  24. h2ogpte/cli/integrations/__init__.py +0 -0
  25. h2ogpte/cli/integrations/agent.py +338 -0
  26. h2ogpte/cli/integrations/rag.py +442 -0
  27. h2ogpte/cli/main.py +90 -0
  28. h2ogpte/cli/ui/__init__.py +0 -0
  29. h2ogpte/cli/ui/hbot_prompt.py +435 -0
  30. h2ogpte/cli/ui/prompts.py +129 -0
  31. h2ogpte/cli/ui/status_bar.py +133 -0
  32. h2ogpte/cli/utils/__init__.py +0 -0
  33. h2ogpte/cli/utils/file_manager.py +411 -0
  34. h2ogpte/connectors.py +11 -0
  35. h2ogpte/h2ogpte.py +619 -69
  36. h2ogpte/h2ogpte_async.py +631 -70
  37. h2ogpte/h2ogpte_sync_base.py +8 -1
  38. h2ogpte/rest_async/__init__.py +8 -3
  39. h2ogpte/rest_async/api/chat_api.py +29 -0
  40. h2ogpte/rest_async/api/collections_api.py +293 -0
  41. h2ogpte/rest_async/api/document_ingestion_api.py +1365 -436
  42. h2ogpte/rest_async/api/extractors_api.py +2874 -70
  43. h2ogpte/rest_async/api/prompt_templates_api.py +32 -32
  44. h2ogpte/rest_async/api_client.py +1 -1
  45. h2ogpte/rest_async/configuration.py +1 -1
  46. h2ogpte/rest_async/models/__init__.py +7 -2
  47. h2ogpte/rest_async/models/chat_completion.py +4 -2
  48. h2ogpte/rest_async/models/chat_completion_delta.py +5 -3
  49. h2ogpte/rest_async/models/chat_completion_request.py +1 -1
  50. h2ogpte/rest_async/models/chat_session.py +4 -2
  51. h2ogpte/rest_async/models/chat_settings.py +1 -1
  52. h2ogpte/rest_async/models/collection.py +4 -2
  53. h2ogpte/rest_async/models/collection_create_request.py +4 -2
  54. h2ogpte/rest_async/models/confluence_credentials.py +89 -0
  55. h2ogpte/rest_async/models/create_chat_session_request.py +87 -0
  56. h2ogpte/rest_async/models/extraction_request.py +1 -1
  57. h2ogpte/rest_async/models/extractor.py +4 -2
  58. h2ogpte/rest_async/models/guardrails_settings.py +8 -4
  59. h2ogpte/rest_async/models/guardrails_settings_create_request.py +1 -1
  60. h2ogpte/rest_async/models/ingest_from_confluence_body.py +97 -0
  61. h2ogpte/rest_async/models/process_document_job_request.py +1 -1
  62. h2ogpte/rest_async/models/question_request.py +1 -1
  63. h2ogpte/rest_async/models/{reset_and_share_prompt_template_request.py → reset_and_share_request.py} +6 -6
  64. h2ogpte/{rest_sync/models/reset_and_share_prompt_template_with_groups_request.py → rest_async/models/reset_and_share_with_groups_request.py} +6 -6
  65. h2ogpte/rest_async/models/summarize_request.py +1 -1
  66. h2ogpte/rest_async/models/update_collection_privacy_request.py +6 -4
  67. h2ogpte/rest_async/models/update_collection_workspace_request.py +87 -0
  68. h2ogpte/rest_async/models/update_extractor_privacy_request.py +87 -0
  69. h2ogpte/rest_sync/__init__.py +8 -3
  70. h2ogpte/rest_sync/api/chat_api.py +29 -0
  71. h2ogpte/rest_sync/api/collections_api.py +293 -0
  72. h2ogpte/rest_sync/api/document_ingestion_api.py +1365 -436
  73. h2ogpte/rest_sync/api/extractors_api.py +2874 -70
  74. h2ogpte/rest_sync/api/prompt_templates_api.py +32 -32
  75. h2ogpte/rest_sync/api_client.py +1 -1
  76. h2ogpte/rest_sync/configuration.py +1 -1
  77. h2ogpte/rest_sync/models/__init__.py +7 -2
  78. h2ogpte/rest_sync/models/chat_completion.py +4 -2
  79. h2ogpte/rest_sync/models/chat_completion_delta.py +5 -3
  80. h2ogpte/rest_sync/models/chat_completion_request.py +1 -1
  81. h2ogpte/rest_sync/models/chat_session.py +4 -2
  82. h2ogpte/rest_sync/models/chat_settings.py +1 -1
  83. h2ogpte/rest_sync/models/collection.py +4 -2
  84. h2ogpte/rest_sync/models/collection_create_request.py +4 -2
  85. h2ogpte/rest_sync/models/confluence_credentials.py +89 -0
  86. h2ogpte/rest_sync/models/create_chat_session_request.py +87 -0
  87. h2ogpte/rest_sync/models/extraction_request.py +1 -1
  88. h2ogpte/rest_sync/models/extractor.py +4 -2
  89. h2ogpte/rest_sync/models/guardrails_settings.py +8 -4
  90. h2ogpte/rest_sync/models/guardrails_settings_create_request.py +1 -1
  91. h2ogpte/rest_sync/models/ingest_from_confluence_body.py +97 -0
  92. h2ogpte/rest_sync/models/process_document_job_request.py +1 -1
  93. h2ogpte/rest_sync/models/question_request.py +1 -1
  94. h2ogpte/rest_sync/models/{reset_and_share_prompt_template_request.py → reset_and_share_request.py} +6 -6
  95. h2ogpte/{rest_async/models/reset_and_share_prompt_template_with_groups_request.py → rest_sync/models/reset_and_share_with_groups_request.py} +6 -6
  96. h2ogpte/rest_sync/models/summarize_request.py +1 -1
  97. h2ogpte/rest_sync/models/update_collection_privacy_request.py +6 -4
  98. h2ogpte/rest_sync/models/update_collection_workspace_request.py +87 -0
  99. h2ogpte/rest_sync/models/update_extractor_privacy_request.py +87 -0
  100. h2ogpte/session.py +14 -2
  101. h2ogpte/session_async.py +33 -6
  102. h2ogpte/types.py +9 -1
  103. {h2ogpte-1.6.41rc5.dist-info → h2ogpte-1.6.43.dist-info}/METADATA +5 -1
  104. {h2ogpte-1.6.41rc5.dist-info → h2ogpte-1.6.43.dist-info}/RECORD +107 -64
  105. h2ogpte-1.6.43.dist-info/entry_points.txt +2 -0
  106. {h2ogpte-1.6.41rc5.dist-info → h2ogpte-1.6.43.dist-info}/WHEEL +0 -0
  107. {h2ogpte-1.6.41rc5.dist-info → h2ogpte-1.6.43.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ h2oGPTe REST API
5
+
6
+ # Overview Users can easily interact with the h2oGPTe API through its REST API, allowing HTTP requests from any programming language. ## Authorization: Getting an API key Sign up/in at Enterprise h2oGPTe and generate one of the following two types of API keys: - **Global API key**: If a Collection is not specified when creating a new API Key, that key is considered to be a global API Key. Use global API Keys to grant full user impersonation and system-wide access to all of your work. Anyone with access to one of your global API Keys can create, delete, or interact with any of your past, current, and future Collections, Documents, Chats, and settings. - **Collection-specific API key**: Use Collection-specific API Keys to grant external access to only Chat with a specified Collection and make related API calls to it. Collection-specific API keys do not allow other API calls, such as creation, deletion, or access to other Collections or Chats. Access Enterprise h2oGPTe through your [H2O Generative AI](https://genai.h2o.ai/appstore) app store account, available with a freemium tier. ## Authorization: Using an API key All h2oGPTe REST API requests must include an API Key in the \"Authorization\" HTTP header, formatted as follows: ``` Authorization: Bearer sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ``` ```sh curl -X 'POST' \\ 'https://h2ogpte.genai.h2o.ai/api/v1/collections' \\ -H 'accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \\ -d '{ \"name\": \"The name of my Collection\", \"description\": \"The description of my Collection\", \"embedding_model\": \"BAAI/bge-large-en-v1.5\" }' ``` ## Interactive h2oGPTe API testing This page only showcases the h2oGPTe REST API; you can test it directly in the [Swagger UI](https://h2ogpte.genai.h2o.ai/swagger-ui/). Ensure that you are logged into your Enterprise h2oGPTe account.
7
+
8
+ The version of the OpenAPI document: v1.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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class UpdateCollectionWorkspaceRequest(BaseModel):
26
+ """
27
+ UpdateCollectionWorkspaceRequest
28
+ """ # noqa: E501
29
+ workspace: StrictStr = Field(description="The name of the workspace to be associated with the collection.")
30
+ __properties: ClassVar[List[str]] = ["workspace"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of UpdateCollectionWorkspaceRequest from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of UpdateCollectionWorkspaceRequest from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "workspace": obj.get("workspace")
84
+ })
85
+ return _obj
86
+
87
+
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ h2oGPTe REST API
5
+
6
+ # Overview Users can easily interact with the h2oGPTe API through its REST API, allowing HTTP requests from any programming language. ## Authorization: Getting an API key Sign up/in at Enterprise h2oGPTe and generate one of the following two types of API keys: - **Global API key**: If a Collection is not specified when creating a new API Key, that key is considered to be a global API Key. Use global API Keys to grant full user impersonation and system-wide access to all of your work. Anyone with access to one of your global API Keys can create, delete, or interact with any of your past, current, and future Collections, Documents, Chats, and settings. - **Collection-specific API key**: Use Collection-specific API Keys to grant external access to only Chat with a specified Collection and make related API calls to it. Collection-specific API keys do not allow other API calls, such as creation, deletion, or access to other Collections or Chats. Access Enterprise h2oGPTe through your [H2O Generative AI](https://genai.h2o.ai/appstore) app store account, available with a freemium tier. ## Authorization: Using an API key All h2oGPTe REST API requests must include an API Key in the \"Authorization\" HTTP header, formatted as follows: ``` Authorization: Bearer sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ``` ```sh curl -X 'POST' \\ 'https://h2ogpte.genai.h2o.ai/api/v1/collections' \\ -H 'accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \\ -d '{ \"name\": \"The name of my Collection\", \"description\": \"The description of my Collection\", \"embedding_model\": \"BAAI/bge-large-en-v1.5\" }' ``` ## Interactive h2oGPTe API testing This page only showcases the h2oGPTe REST API; you can test it directly in the [Swagger UI](https://h2ogpte.genai.h2o.ai/swagger-ui/). Ensure that you are logged into your Enterprise h2oGPTe account.
7
+
8
+ The version of the OpenAPI document: v1.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
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class UpdateExtractorPrivacyRequest(BaseModel):
26
+ """
27
+ UpdateExtractorPrivacyRequest
28
+ """ # noqa: E501
29
+ is_public: StrictBool = Field(description="A flag specifying whether a extractor is private or public.")
30
+ __properties: ClassVar[List[str]] = ["is_public"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of UpdateExtractorPrivacyRequest from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of UpdateExtractorPrivacyRequest from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "is_public": obj.get("is_public")
84
+ })
85
+ return _obj
86
+
87
+
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.6.41-dev5"
17
+ __version__ = "1.6.43"
18
18
 
19
19
  # import apis into sdk package
20
20
  from h2ogpte.rest_sync.api.api_keys_api import APIKeysApi
@@ -77,11 +77,13 @@ from h2ogpte.rest_sync.models.collection_create_request import CollectionCreateR
77
77
  from h2ogpte.rest_sync.models.collection_settings import CollectionSettings
78
78
  from h2ogpte.rest_sync.models.collection_update_request import CollectionUpdateRequest
79
79
  from h2ogpte.rest_sync.models.confirm_user_deletion_request import ConfirmUserDeletionRequest
80
+ from h2ogpte.rest_sync.models.confluence_credentials import ConfluenceCredentials
80
81
  from h2ogpte.rest_sync.models.count import Count
81
82
  from h2ogpte.rest_sync.models.count_with_queue_details import CountWithQueueDetails
82
83
  from h2ogpte.rest_sync.models.create_agent_key_request import CreateAgentKeyRequest
83
84
  from h2ogpte.rest_sync.models.create_agent_tool_key_associations_request import CreateAgentToolKeyAssociationsRequest
84
85
  from h2ogpte.rest_sync.models.create_agent_tool_request import CreateAgentToolRequest
86
+ from h2ogpte.rest_sync.models.create_chat_session_request import CreateChatSessionRequest
85
87
  from h2ogpte.rest_sync.models.create_import_collection_to_collection_job_request import CreateImportCollectionToCollectionJobRequest
86
88
  from h2ogpte.rest_sync.models.create_insert_document_to_collection_job_request import CreateInsertDocumentToCollectionJobRequest
87
89
  from h2ogpte.rest_sync.models.create_secret201_response import CreateSecret201Response
@@ -110,6 +112,7 @@ from h2ogpte.rest_sync.models.guardrails_settings_create_request import Guardrai
110
112
  from h2ogpte.rest_sync.models.h2_ogptgpu_info import H2OGPTGPUInfo
111
113
  from h2ogpte.rest_sync.models.h2_ogpt_system_info import H2OGPTSystemInfo
112
114
  from h2ogpte.rest_sync.models.ingest_from_azure_blob_storage_body import IngestFromAzureBlobStorageBody
115
+ from h2ogpte.rest_sync.models.ingest_from_confluence_body import IngestFromConfluenceBody
113
116
  from h2ogpte.rest_sync.models.ingest_from_file_system_body import IngestFromFileSystemBody
114
117
  from h2ogpte.rest_sync.models.ingest_from_gcs_body import IngestFromGcsBody
115
118
  from h2ogpte.rest_sync.models.ingest_from_s3_body import IngestFromS3Body
@@ -137,8 +140,8 @@ from h2ogpte.rest_sync.models.prompt_template_create_request import PromptTempla
137
140
  from h2ogpte.rest_sync.models.qa_feedback import QAFeedback
138
141
  from h2ogpte.rest_sync.models.question_request import QuestionRequest
139
142
  from h2ogpte.rest_sync.models.queue_details import QueueDetails
140
- from h2ogpte.rest_sync.models.reset_and_share_prompt_template_request import ResetAndSharePromptTemplateRequest
141
- from h2ogpte.rest_sync.models.reset_and_share_prompt_template_with_groups_request import ResetAndSharePromptTemplateWithGroupsRequest
143
+ from h2ogpte.rest_sync.models.reset_and_share_request import ResetAndShareRequest
144
+ from h2ogpte.rest_sync.models.reset_and_share_with_groups_request import ResetAndShareWithGroupsRequest
142
145
  from h2ogpte.rest_sync.models.role_create_request import RoleCreateRequest
143
146
  from h2ogpte.rest_sync.models.role_info import RoleInfo
144
147
  from h2ogpte.rest_sync.models.roles_reset_request import RolesResetRequest
@@ -161,9 +164,11 @@ from h2ogpte.rest_sync.models.update_agent_tool_preference_request import Update
161
164
  from h2ogpte.rest_sync.models.update_collection_expiry_date_request import UpdateCollectionExpiryDateRequest
162
165
  from h2ogpte.rest_sync.models.update_collection_inactivity_interval_request import UpdateCollectionInactivityIntervalRequest
163
166
  from h2ogpte.rest_sync.models.update_collection_privacy_request import UpdateCollectionPrivacyRequest
167
+ from h2ogpte.rest_sync.models.update_collection_workspace_request import UpdateCollectionWorkspaceRequest
164
168
  from h2ogpte.rest_sync.models.update_custom_agent_tool200_response import UpdateCustomAgentTool200Response
165
169
  from h2ogpte.rest_sync.models.update_custom_agent_tool_request import UpdateCustomAgentToolRequest
166
170
  from h2ogpte.rest_sync.models.update_default_prompt_template_visibility_request import UpdateDefaultPromptTemplateVisibilityRequest
171
+ from h2ogpte.rest_sync.models.update_extractor_privacy_request import UpdateExtractorPrivacyRequest
167
172
  from h2ogpte.rest_sync.models.update_prompt_template_privacy_request import UpdatePromptTemplatePrivacyRequest
168
173
  from h2ogpte.rest_sync.models.update_qa_feedback_request import UpdateQAFeedbackRequest
169
174
  from h2ogpte.rest_sync.models.update_secret_request import UpdateSecretRequest
@@ -30,6 +30,7 @@ from h2ogpte.rest_sync.models.chat_session import ChatSession
30
30
  from h2ogpte.rest_sync.models.chat_session_update_request import ChatSessionUpdateRequest
31
31
  from h2ogpte.rest_sync.models.collection_change_request import CollectionChangeRequest
32
32
  from h2ogpte.rest_sync.models.count import Count
33
+ from h2ogpte.rest_sync.models.create_chat_session_request import CreateChatSessionRequest
33
34
  from h2ogpte.rest_sync.models.delete_chat_sessions_job_request import DeleteChatSessionsJobRequest
34
35
  from h2ogpte.rest_sync.models.job_details import JobDetails
35
36
  from h2ogpte.rest_sync.models.message_vote_update_request import MessageVoteUpdateRequest
@@ -60,6 +61,7 @@ class ChatApi:
60
61
  def create_chat_session(
61
62
  self,
62
63
  collection_id: Annotated[Optional[StrictStr], Field(description="Id of collection")] = None,
64
+ create_chat_session_request: Optional[CreateChatSessionRequest] = None,
63
65
  _request_timeout: Union[
64
66
  None,
65
67
  Annotated[StrictFloat, Field(gt=0)],
@@ -79,6 +81,8 @@ class ChatApi:
79
81
 
80
82
  :param collection_id: Id of collection
81
83
  :type collection_id: str
84
+ :param create_chat_session_request:
85
+ :type create_chat_session_request: CreateChatSessionRequest
82
86
  :param _request_timeout: timeout setting for this request. If one
83
87
  number provided, it will be total request
84
88
  timeout. It can also be a pair (tuple) of
@@ -103,6 +107,7 @@ class ChatApi:
103
107
 
104
108
  _param = self._create_chat_session_serialize(
105
109
  collection_id=collection_id,
110
+ create_chat_session_request=create_chat_session_request,
106
111
  _request_auth=_request_auth,
107
112
  _content_type=_content_type,
108
113
  _headers=_headers,
@@ -128,6 +133,7 @@ class ChatApi:
128
133
  def create_chat_session_with_http_info(
129
134
  self,
130
135
  collection_id: Annotated[Optional[StrictStr], Field(description="Id of collection")] = None,
136
+ create_chat_session_request: Optional[CreateChatSessionRequest] = None,
131
137
  _request_timeout: Union[
132
138
  None,
133
139
  Annotated[StrictFloat, Field(gt=0)],
@@ -147,6 +153,8 @@ class ChatApi:
147
153
 
148
154
  :param collection_id: Id of collection
149
155
  :type collection_id: str
156
+ :param create_chat_session_request:
157
+ :type create_chat_session_request: CreateChatSessionRequest
150
158
  :param _request_timeout: timeout setting for this request. If one
151
159
  number provided, it will be total request
152
160
  timeout. It can also be a pair (tuple) of
@@ -171,6 +179,7 @@ class ChatApi:
171
179
 
172
180
  _param = self._create_chat_session_serialize(
173
181
  collection_id=collection_id,
182
+ create_chat_session_request=create_chat_session_request,
174
183
  _request_auth=_request_auth,
175
184
  _content_type=_content_type,
176
185
  _headers=_headers,
@@ -196,6 +205,7 @@ class ChatApi:
196
205
  def create_chat_session_without_preload_content(
197
206
  self,
198
207
  collection_id: Annotated[Optional[StrictStr], Field(description="Id of collection")] = None,
208
+ create_chat_session_request: Optional[CreateChatSessionRequest] = None,
199
209
  _request_timeout: Union[
200
210
  None,
201
211
  Annotated[StrictFloat, Field(gt=0)],
@@ -215,6 +225,8 @@ class ChatApi:
215
225
 
216
226
  :param collection_id: Id of collection
217
227
  :type collection_id: str
228
+ :param create_chat_session_request:
229
+ :type create_chat_session_request: CreateChatSessionRequest
218
230
  :param _request_timeout: timeout setting for this request. If one
219
231
  number provided, it will be total request
220
232
  timeout. It can also be a pair (tuple) of
@@ -239,6 +251,7 @@ class ChatApi:
239
251
 
240
252
  _param = self._create_chat_session_serialize(
241
253
  collection_id=collection_id,
254
+ create_chat_session_request=create_chat_session_request,
242
255
  _request_auth=_request_auth,
243
256
  _content_type=_content_type,
244
257
  _headers=_headers,
@@ -259,6 +272,7 @@ class ChatApi:
259
272
  def _create_chat_session_serialize(
260
273
  self,
261
274
  collection_id,
275
+ create_chat_session_request,
262
276
  _request_auth,
263
277
  _content_type,
264
278
  _headers,
@@ -288,6 +302,8 @@ class ChatApi:
288
302
  # process the header parameters
289
303
  # process the form parameters
290
304
  # process the body parameter
305
+ if create_chat_session_request is not None:
306
+ _body_params = create_chat_session_request
291
307
 
292
308
 
293
309
  # set the HTTP header `Accept`
@@ -298,6 +314,19 @@ class ChatApi:
298
314
  ]
299
315
  )
300
316
 
317
+ # set the HTTP header `Content-Type`
318
+ if _content_type:
319
+ _header_params['Content-Type'] = _content_type
320
+ else:
321
+ _default_content_type = (
322
+ self.api_client.select_header_content_type(
323
+ [
324
+ 'application/json'
325
+ ]
326
+ )
327
+ )
328
+ if _default_content_type is not None:
329
+ _header_params['Content-Type'] = _default_content_type
301
330
 
302
331
  # authentication setting
303
332
  _auth_settings: List[str] = [
@@ -45,6 +45,7 @@ from h2ogpte.rest_sync.models.suggested_question import SuggestedQuestion
45
45
  from h2ogpte.rest_sync.models.update_collection_expiry_date_request import UpdateCollectionExpiryDateRequest
46
46
  from h2ogpte.rest_sync.models.update_collection_inactivity_interval_request import UpdateCollectionInactivityIntervalRequest
47
47
  from h2ogpte.rest_sync.models.update_collection_privacy_request import UpdateCollectionPrivacyRequest
48
+ from h2ogpte.rest_sync.models.update_collection_workspace_request import UpdateCollectionWorkspaceRequest
48
49
 
49
50
  from h2ogpte.rest_sync.api_client import ApiClient, RequestSerialized
50
51
  from h2ogpte.rest_sync.api_response import ApiResponse
@@ -14773,3 +14774,295 @@ class CollectionsApi:
14773
14774
  )
14774
14775
 
14775
14776
 
14777
+
14778
+
14779
+ @validate_call
14780
+ def update_collection_workspace(
14781
+ self,
14782
+ collection_id: Annotated[StrictStr, Field(description="Id of the collection")],
14783
+ update_collection_workspace_request: UpdateCollectionWorkspaceRequest,
14784
+ _request_timeout: Union[
14785
+ None,
14786
+ Annotated[StrictFloat, Field(gt=0)],
14787
+ Tuple[
14788
+ Annotated[StrictFloat, Field(gt=0)],
14789
+ Annotated[StrictFloat, Field(gt=0)]
14790
+ ]
14791
+ ] = None,
14792
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
14793
+ _content_type: Optional[StrictStr] = None,
14794
+ _headers: Optional[Dict[StrictStr, Any]] = None,
14795
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
14796
+ ) -> None:
14797
+ """Updates the workspace associated with a collection.
14798
+
14799
+ Updates the workspace associated with a collection as well as the chats belonging to the collection.
14800
+
14801
+ :param collection_id: Id of the collection (required)
14802
+ :type collection_id: str
14803
+ :param update_collection_workspace_request: (required)
14804
+ :type update_collection_workspace_request: UpdateCollectionWorkspaceRequest
14805
+ :param _request_timeout: timeout setting for this request. If one
14806
+ number provided, it will be total request
14807
+ timeout. It can also be a pair (tuple) of
14808
+ (connection, read) timeouts.
14809
+ :type _request_timeout: int, tuple(int, int), optional
14810
+ :param _request_auth: set to override the auth_settings for an a single
14811
+ request; this effectively ignores the
14812
+ authentication in the spec for a single request.
14813
+ :type _request_auth: dict, optional
14814
+ :param _content_type: force content-type for the request.
14815
+ :type _content_type: str, Optional
14816
+ :param _headers: set to override the headers for a single
14817
+ request; this effectively ignores the headers
14818
+ in the spec for a single request.
14819
+ :type _headers: dict, optional
14820
+ :param _host_index: set to override the host_index for a single
14821
+ request; this effectively ignores the host_index
14822
+ in the spec for a single request.
14823
+ :type _host_index: int, optional
14824
+ :return: Returns the result object.
14825
+ """ # noqa: E501
14826
+
14827
+ _param = self._update_collection_workspace_serialize(
14828
+ collection_id=collection_id,
14829
+ update_collection_workspace_request=update_collection_workspace_request,
14830
+ _request_auth=_request_auth,
14831
+ _content_type=_content_type,
14832
+ _headers=_headers,
14833
+ _host_index=_host_index
14834
+ )
14835
+
14836
+ _response_types_map: Dict[str, Optional[str]] = {
14837
+ '204': None,
14838
+ '401': "EndpointError",
14839
+ }
14840
+ response_data = self.api_client.call_api(
14841
+ *_param,
14842
+ _request_timeout=_request_timeout
14843
+ )
14844
+ response_data.read()
14845
+ return self.api_client.response_deserialize(
14846
+ response_data=response_data,
14847
+ response_types_map=_response_types_map,
14848
+ ).data
14849
+
14850
+
14851
+ @validate_call
14852
+ def update_collection_workspace_with_http_info(
14853
+ self,
14854
+ collection_id: Annotated[StrictStr, Field(description="Id of the collection")],
14855
+ update_collection_workspace_request: UpdateCollectionWorkspaceRequest,
14856
+ _request_timeout: Union[
14857
+ None,
14858
+ Annotated[StrictFloat, Field(gt=0)],
14859
+ Tuple[
14860
+ Annotated[StrictFloat, Field(gt=0)],
14861
+ Annotated[StrictFloat, Field(gt=0)]
14862
+ ]
14863
+ ] = None,
14864
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
14865
+ _content_type: Optional[StrictStr] = None,
14866
+ _headers: Optional[Dict[StrictStr, Any]] = None,
14867
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
14868
+ ) -> ApiResponse[None]:
14869
+ """Updates the workspace associated with a collection.
14870
+
14871
+ Updates the workspace associated with a collection as well as the chats belonging to the collection.
14872
+
14873
+ :param collection_id: Id of the collection (required)
14874
+ :type collection_id: str
14875
+ :param update_collection_workspace_request: (required)
14876
+ :type update_collection_workspace_request: UpdateCollectionWorkspaceRequest
14877
+ :param _request_timeout: timeout setting for this request. If one
14878
+ number provided, it will be total request
14879
+ timeout. It can also be a pair (tuple) of
14880
+ (connection, read) timeouts.
14881
+ :type _request_timeout: int, tuple(int, int), optional
14882
+ :param _request_auth: set to override the auth_settings for an a single
14883
+ request; this effectively ignores the
14884
+ authentication in the spec for a single request.
14885
+ :type _request_auth: dict, optional
14886
+ :param _content_type: force content-type for the request.
14887
+ :type _content_type: str, Optional
14888
+ :param _headers: set to override the headers for a single
14889
+ request; this effectively ignores the headers
14890
+ in the spec for a single request.
14891
+ :type _headers: dict, optional
14892
+ :param _host_index: set to override the host_index for a single
14893
+ request; this effectively ignores the host_index
14894
+ in the spec for a single request.
14895
+ :type _host_index: int, optional
14896
+ :return: Returns the result object.
14897
+ """ # noqa: E501
14898
+
14899
+ _param = self._update_collection_workspace_serialize(
14900
+ collection_id=collection_id,
14901
+ update_collection_workspace_request=update_collection_workspace_request,
14902
+ _request_auth=_request_auth,
14903
+ _content_type=_content_type,
14904
+ _headers=_headers,
14905
+ _host_index=_host_index
14906
+ )
14907
+
14908
+ _response_types_map: Dict[str, Optional[str]] = {
14909
+ '204': None,
14910
+ '401': "EndpointError",
14911
+ }
14912
+ response_data = self.api_client.call_api(
14913
+ *_param,
14914
+ _request_timeout=_request_timeout
14915
+ )
14916
+ response_data.read()
14917
+ return self.api_client.response_deserialize(
14918
+ response_data=response_data,
14919
+ response_types_map=_response_types_map,
14920
+ )
14921
+
14922
+
14923
+ @validate_call
14924
+ def update_collection_workspace_without_preload_content(
14925
+ self,
14926
+ collection_id: Annotated[StrictStr, Field(description="Id of the collection")],
14927
+ update_collection_workspace_request: UpdateCollectionWorkspaceRequest,
14928
+ _request_timeout: Union[
14929
+ None,
14930
+ Annotated[StrictFloat, Field(gt=0)],
14931
+ Tuple[
14932
+ Annotated[StrictFloat, Field(gt=0)],
14933
+ Annotated[StrictFloat, Field(gt=0)]
14934
+ ]
14935
+ ] = None,
14936
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
14937
+ _content_type: Optional[StrictStr] = None,
14938
+ _headers: Optional[Dict[StrictStr, Any]] = None,
14939
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
14940
+ ) -> RESTResponseType:
14941
+ """Updates the workspace associated with a collection.
14942
+
14943
+ Updates the workspace associated with a collection as well as the chats belonging to the collection.
14944
+
14945
+ :param collection_id: Id of the collection (required)
14946
+ :type collection_id: str
14947
+ :param update_collection_workspace_request: (required)
14948
+ :type update_collection_workspace_request: UpdateCollectionWorkspaceRequest
14949
+ :param _request_timeout: timeout setting for this request. If one
14950
+ number provided, it will be total request
14951
+ timeout. It can also be a pair (tuple) of
14952
+ (connection, read) timeouts.
14953
+ :type _request_timeout: int, tuple(int, int), optional
14954
+ :param _request_auth: set to override the auth_settings for an a single
14955
+ request; this effectively ignores the
14956
+ authentication in the spec for a single request.
14957
+ :type _request_auth: dict, optional
14958
+ :param _content_type: force content-type for the request.
14959
+ :type _content_type: str, Optional
14960
+ :param _headers: set to override the headers for a single
14961
+ request; this effectively ignores the headers
14962
+ in the spec for a single request.
14963
+ :type _headers: dict, optional
14964
+ :param _host_index: set to override the host_index for a single
14965
+ request; this effectively ignores the host_index
14966
+ in the spec for a single request.
14967
+ :type _host_index: int, optional
14968
+ :return: Returns the result object.
14969
+ """ # noqa: E501
14970
+
14971
+ _param = self._update_collection_workspace_serialize(
14972
+ collection_id=collection_id,
14973
+ update_collection_workspace_request=update_collection_workspace_request,
14974
+ _request_auth=_request_auth,
14975
+ _content_type=_content_type,
14976
+ _headers=_headers,
14977
+ _host_index=_host_index
14978
+ )
14979
+
14980
+ _response_types_map: Dict[str, Optional[str]] = {
14981
+ '204': None,
14982
+ '401': "EndpointError",
14983
+ }
14984
+ response_data = self.api_client.call_api(
14985
+ *_param,
14986
+ _request_timeout=_request_timeout
14987
+ )
14988
+ return response_data.response
14989
+
14990
+
14991
+ def _update_collection_workspace_serialize(
14992
+ self,
14993
+ collection_id,
14994
+ update_collection_workspace_request,
14995
+ _request_auth,
14996
+ _content_type,
14997
+ _headers,
14998
+ _host_index,
14999
+ ) -> RequestSerialized:
15000
+
15001
+ _host = None
15002
+
15003
+ _collection_formats: Dict[str, str] = {
15004
+ }
15005
+
15006
+ _path_params: Dict[str, str] = {}
15007
+ _query_params: List[Tuple[str, str]] = []
15008
+ _header_params: Dict[str, Optional[str]] = _headers or {}
15009
+ _form_params: List[Tuple[str, str]] = []
15010
+ _files: Dict[
15011
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
15012
+ ] = {}
15013
+ _body_params: Optional[bytes] = None
15014
+
15015
+ # process the path parameters
15016
+ if collection_id is not None:
15017
+ _path_params['collection_id'] = collection_id
15018
+ # process the query parameters
15019
+ # process the header parameters
15020
+ # process the form parameters
15021
+ # process the body parameter
15022
+ if update_collection_workspace_request is not None:
15023
+ _body_params = update_collection_workspace_request
15024
+
15025
+
15026
+ # set the HTTP header `Accept`
15027
+ if 'Accept' not in _header_params:
15028
+ _header_params['Accept'] = self.api_client.select_header_accept(
15029
+ [
15030
+ 'application/json'
15031
+ ]
15032
+ )
15033
+
15034
+ # set the HTTP header `Content-Type`
15035
+ if _content_type:
15036
+ _header_params['Content-Type'] = _content_type
15037
+ else:
15038
+ _default_content_type = (
15039
+ self.api_client.select_header_content_type(
15040
+ [
15041
+ 'application/json'
15042
+ ]
15043
+ )
15044
+ )
15045
+ if _default_content_type is not None:
15046
+ _header_params['Content-Type'] = _default_content_type
15047
+
15048
+ # authentication setting
15049
+ _auth_settings: List[str] = [
15050
+ 'bearerAuth'
15051
+ ]
15052
+
15053
+ return self.api_client.param_serialize(
15054
+ method='PUT',
15055
+ resource_path='/collections/{collection_id}/workspace',
15056
+ path_params=_path_params,
15057
+ query_params=_query_params,
15058
+ header_params=_header_params,
15059
+ body=_body_params,
15060
+ post_params=_form_params,
15061
+ files=_files,
15062
+ auth_settings=_auth_settings,
15063
+ collection_formats=_collection_formats,
15064
+ _host=_host,
15065
+ _request_auth=_request_auth
15066
+ )
15067
+
15068
+