c63a5cfe-b235-4fbe-8bbb-82a9e02a482a-python 0.1.0a3__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.
- c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/METADATA +396 -0
- c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/RECORD +190 -0
- c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/WHEEL +4 -0
- c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/licenses/LICENSE +201 -0
- digitalocean_genai_sdk/__init__.py +99 -0
- digitalocean_genai_sdk/_base_client.py +1949 -0
- digitalocean_genai_sdk/_client.py +795 -0
- digitalocean_genai_sdk/_compat.py +219 -0
- digitalocean_genai_sdk/_constants.py +14 -0
- digitalocean_genai_sdk/_exceptions.py +108 -0
- digitalocean_genai_sdk/_files.py +123 -0
- digitalocean_genai_sdk/_models.py +805 -0
- digitalocean_genai_sdk/_qs.py +150 -0
- digitalocean_genai_sdk/_resource.py +43 -0
- digitalocean_genai_sdk/_response.py +832 -0
- digitalocean_genai_sdk/_streaming.py +333 -0
- digitalocean_genai_sdk/_types.py +219 -0
- digitalocean_genai_sdk/_utils/__init__.py +57 -0
- digitalocean_genai_sdk/_utils/_logs.py +25 -0
- digitalocean_genai_sdk/_utils/_proxy.py +65 -0
- digitalocean_genai_sdk/_utils/_reflection.py +42 -0
- digitalocean_genai_sdk/_utils/_resources_proxy.py +24 -0
- digitalocean_genai_sdk/_utils/_streams.py +12 -0
- digitalocean_genai_sdk/_utils/_sync.py +86 -0
- digitalocean_genai_sdk/_utils/_transform.py +447 -0
- digitalocean_genai_sdk/_utils/_typing.py +151 -0
- digitalocean_genai_sdk/_utils/_utils.py +422 -0
- digitalocean_genai_sdk/_version.py +4 -0
- digitalocean_genai_sdk/lib/.keep +4 -0
- digitalocean_genai_sdk/py.typed +0 -0
- digitalocean_genai_sdk/resources/__init__.py +145 -0
- digitalocean_genai_sdk/resources/agents/__init__.py +89 -0
- digitalocean_genai_sdk/resources/agents/agents.py +965 -0
- digitalocean_genai_sdk/resources/agents/api_keys.py +581 -0
- digitalocean_genai_sdk/resources/agents/child_agents.py +508 -0
- digitalocean_genai_sdk/resources/agents/functions.py +421 -0
- digitalocean_genai_sdk/resources/agents/knowledge_bases.py +346 -0
- digitalocean_genai_sdk/resources/agents/versions.py +298 -0
- digitalocean_genai_sdk/resources/api_keys/__init__.py +19 -0
- digitalocean_genai_sdk/resources/api_keys/api_keys.py +275 -0
- digitalocean_genai_sdk/resources/api_keys/api_keys_.py +529 -0
- digitalocean_genai_sdk/resources/auth/__init__.py +33 -0
- digitalocean_genai_sdk/resources/auth/agents/__init__.py +33 -0
- digitalocean_genai_sdk/resources/auth/agents/agents.py +102 -0
- digitalocean_genai_sdk/resources/auth/agents/token.py +173 -0
- digitalocean_genai_sdk/resources/auth/auth.py +102 -0
- digitalocean_genai_sdk/resources/chat.py +381 -0
- digitalocean_genai_sdk/resources/embeddings.py +201 -0
- digitalocean_genai_sdk/resources/indexing_jobs.py +543 -0
- digitalocean_genai_sdk/resources/knowledge_bases/__init__.py +33 -0
- digitalocean_genai_sdk/resources/knowledge_bases/data_sources.py +410 -0
- digitalocean_genai_sdk/resources/knowledge_bases/knowledge_bases.py +667 -0
- digitalocean_genai_sdk/resources/models.py +222 -0
- digitalocean_genai_sdk/resources/providers/__init__.py +47 -0
- digitalocean_genai_sdk/resources/providers/anthropic/__init__.py +33 -0
- digitalocean_genai_sdk/resources/providers/anthropic/anthropic.py +102 -0
- digitalocean_genai_sdk/resources/providers/anthropic/keys.py +662 -0
- digitalocean_genai_sdk/resources/providers/openai/__init__.py +33 -0
- digitalocean_genai_sdk/resources/providers/openai/keys.py +658 -0
- digitalocean_genai_sdk/resources/providers/openai/openai.py +102 -0
- digitalocean_genai_sdk/resources/providers/providers.py +134 -0
- digitalocean_genai_sdk/resources/regions.py +191 -0
- digitalocean_genai_sdk/types/__init__.py +57 -0
- digitalocean_genai_sdk/types/agent_create_params.py +39 -0
- digitalocean_genai_sdk/types/agent_create_response.py +16 -0
- digitalocean_genai_sdk/types/agent_delete_response.py +16 -0
- digitalocean_genai_sdk/types/agent_list_params.py +18 -0
- digitalocean_genai_sdk/types/agent_list_response.py +198 -0
- digitalocean_genai_sdk/types/agent_retrieve_response.py +16 -0
- digitalocean_genai_sdk/types/agent_update_params.py +65 -0
- digitalocean_genai_sdk/types/agent_update_response.py +16 -0
- digitalocean_genai_sdk/types/agent_update_status_params.py +16 -0
- digitalocean_genai_sdk/types/agent_update_status_response.py +16 -0
- digitalocean_genai_sdk/types/agents/__init__.py +31 -0
- digitalocean_genai_sdk/types/agents/api_key_create_params.py +15 -0
- digitalocean_genai_sdk/types/agents/api_key_create_response.py +12 -0
- digitalocean_genai_sdk/types/agents/api_key_delete_response.py +12 -0
- digitalocean_genai_sdk/types/agents/api_key_list_params.py +15 -0
- digitalocean_genai_sdk/types/agents/api_key_list_response.py +18 -0
- digitalocean_genai_sdk/types/agents/api_key_regenerate_response.py +12 -0
- digitalocean_genai_sdk/types/agents/api_key_update_params.py +19 -0
- digitalocean_genai_sdk/types/agents/api_key_update_response.py +12 -0
- digitalocean_genai_sdk/types/agents/api_link_knowledge_base_output.py +16 -0
- digitalocean_genai_sdk/types/agents/api_links.py +21 -0
- digitalocean_genai_sdk/types/agents/api_meta.py +15 -0
- digitalocean_genai_sdk/types/agents/child_agent_add_params.py +22 -0
- digitalocean_genai_sdk/types/agents/child_agent_add_response.py +14 -0
- digitalocean_genai_sdk/types/agents/child_agent_delete_response.py +13 -0
- digitalocean_genai_sdk/types/agents/child_agent_update_params.py +24 -0
- digitalocean_genai_sdk/types/agents/child_agent_update_response.py +18 -0
- digitalocean_genai_sdk/types/agents/child_agent_view_response.py +16 -0
- digitalocean_genai_sdk/types/agents/function_create_params.py +25 -0
- digitalocean_genai_sdk/types/agents/function_create_response.py +16 -0
- digitalocean_genai_sdk/types/agents/function_delete_response.py +16 -0
- digitalocean_genai_sdk/types/agents/function_update_params.py +29 -0
- digitalocean_genai_sdk/types/agents/function_update_response.py +16 -0
- digitalocean_genai_sdk/types/agents/knowledge_base_detach_response.py +16 -0
- digitalocean_genai_sdk/types/agents/version_list_params.py +15 -0
- digitalocean_genai_sdk/types/agents/version_list_response.py +118 -0
- digitalocean_genai_sdk/types/agents/version_update_params.py +15 -0
- digitalocean_genai_sdk/types/agents/version_update_response.py +30 -0
- digitalocean_genai_sdk/types/api_agent.py +263 -0
- digitalocean_genai_sdk/types/api_agent_api_key_info.py +22 -0
- digitalocean_genai_sdk/types/api_agreement.py +17 -0
- digitalocean_genai_sdk/types/api_anthropic_api_key_info.py +22 -0
- digitalocean_genai_sdk/types/api_deployment_visibility.py +9 -0
- digitalocean_genai_sdk/types/api_indexing_job.py +43 -0
- digitalocean_genai_sdk/types/api_key_list_params.py +42 -0
- digitalocean_genai_sdk/types/api_key_list_response.py +42 -0
- digitalocean_genai_sdk/types/api_keys/__init__.py +13 -0
- digitalocean_genai_sdk/types/api_keys/api_key_create_params.py +11 -0
- digitalocean_genai_sdk/types/api_keys/api_key_create_response.py +12 -0
- digitalocean_genai_sdk/types/api_keys/api_key_delete_response.py +12 -0
- digitalocean_genai_sdk/types/api_keys/api_key_list_params.py +15 -0
- digitalocean_genai_sdk/types/api_keys/api_key_list_response.py +18 -0
- digitalocean_genai_sdk/types/api_keys/api_key_update_params.py +15 -0
- digitalocean_genai_sdk/types/api_keys/api_key_update_regenerate_response.py +12 -0
- digitalocean_genai_sdk/types/api_keys/api_key_update_response.py +12 -0
- digitalocean_genai_sdk/types/api_keys/api_model_api_key_info.py +22 -0
- digitalocean_genai_sdk/types/api_knowledge_base.py +37 -0
- digitalocean_genai_sdk/types/api_model.py +57 -0
- digitalocean_genai_sdk/types/api_model_version.py +15 -0
- digitalocean_genai_sdk/types/api_openai_api_key_info.py +25 -0
- digitalocean_genai_sdk/types/api_retrieval_method.py +13 -0
- digitalocean_genai_sdk/types/auth/__init__.py +3 -0
- digitalocean_genai_sdk/types/auth/agents/__init__.py +6 -0
- digitalocean_genai_sdk/types/auth/agents/token_create_params.py +13 -0
- digitalocean_genai_sdk/types/auth/agents/token_create_response.py +13 -0
- digitalocean_genai_sdk/types/chat_completion_request_message_content_part_text_param.py +15 -0
- digitalocean_genai_sdk/types/chat_completion_token_logprob.py +57 -0
- digitalocean_genai_sdk/types/chat_create_completion_params.py +208 -0
- digitalocean_genai_sdk/types/chat_create_completion_response.py +81 -0
- digitalocean_genai_sdk/types/embedding_create_params.py +28 -0
- digitalocean_genai_sdk/types/embedding_create_response.py +41 -0
- digitalocean_genai_sdk/types/indexing_job_create_params.py +14 -0
- digitalocean_genai_sdk/types/indexing_job_create_response.py +12 -0
- digitalocean_genai_sdk/types/indexing_job_list_params.py +15 -0
- digitalocean_genai_sdk/types/indexing_job_list_response.py +18 -0
- digitalocean_genai_sdk/types/indexing_job_retrieve_data_sources_response.py +52 -0
- digitalocean_genai_sdk/types/indexing_job_retrieve_response.py +12 -0
- digitalocean_genai_sdk/types/indexing_job_update_cancel_params.py +14 -0
- digitalocean_genai_sdk/types/indexing_job_update_cancel_response.py +12 -0
- digitalocean_genai_sdk/types/knowledge_base_create_params.py +64 -0
- digitalocean_genai_sdk/types/knowledge_base_create_response.py +12 -0
- digitalocean_genai_sdk/types/knowledge_base_delete_response.py +11 -0
- digitalocean_genai_sdk/types/knowledge_base_list_params.py +15 -0
- digitalocean_genai_sdk/types/knowledge_base_list_response.py +18 -0
- digitalocean_genai_sdk/types/knowledge_base_retrieve_response.py +30 -0
- digitalocean_genai_sdk/types/knowledge_base_update_params.py +27 -0
- digitalocean_genai_sdk/types/knowledge_base_update_response.py +12 -0
- digitalocean_genai_sdk/types/knowledge_bases/__init__.py +16 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source.py +15 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source_param.py +15 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_knowledge_base_data_source.py +35 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source.py +15 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source_param.py +15 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source.py +26 -0
- digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source_param.py +25 -0
- digitalocean_genai_sdk/types/knowledge_bases/data_source_create_params.py +33 -0
- digitalocean_genai_sdk/types/knowledge_bases/data_source_create_response.py +12 -0
- digitalocean_genai_sdk/types/knowledge_bases/data_source_delete_response.py +13 -0
- digitalocean_genai_sdk/types/knowledge_bases/data_source_list_params.py +15 -0
- digitalocean_genai_sdk/types/knowledge_bases/data_source_list_response.py +18 -0
- digitalocean_genai_sdk/types/model.py +21 -0
- digitalocean_genai_sdk/types/model_list_response.py +15 -0
- digitalocean_genai_sdk/types/providers/__init__.py +3 -0
- digitalocean_genai_sdk/types/providers/anthropic/__init__.py +14 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_create_params.py +13 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_create_response.py +12 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_delete_response.py +12 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_params.py +15 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_response.py +22 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_list_params.py +15 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_list_response.py +18 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_retrieve_response.py +12 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_update_params.py +17 -0
- digitalocean_genai_sdk/types/providers/anthropic/key_update_response.py +12 -0
- digitalocean_genai_sdk/types/providers/openai/__init__.py +14 -0
- digitalocean_genai_sdk/types/providers/openai/key_create_params.py +13 -0
- digitalocean_genai_sdk/types/providers/openai/key_create_response.py +12 -0
- digitalocean_genai_sdk/types/providers/openai/key_delete_response.py +12 -0
- digitalocean_genai_sdk/types/providers/openai/key_list_params.py +15 -0
- digitalocean_genai_sdk/types/providers/openai/key_list_response.py +18 -0
- digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_params.py +15 -0
- digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_response.py +22 -0
- digitalocean_genai_sdk/types/providers/openai/key_retrieve_response.py +12 -0
- digitalocean_genai_sdk/types/providers/openai/key_update_params.py +17 -0
- digitalocean_genai_sdk/types/providers/openai/key_update_response.py +12 -0
- digitalocean_genai_sdk/types/region_list_params.py +15 -0
- digitalocean_genai_sdk/types/region_list_response.py +23 -0
@@ -0,0 +1,795 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
import os
|
6
|
+
from typing import TYPE_CHECKING, Any, Union, Mapping
|
7
|
+
from typing_extensions import Self, override
|
8
|
+
|
9
|
+
import httpx
|
10
|
+
|
11
|
+
from . import _exceptions
|
12
|
+
from ._qs import Querystring
|
13
|
+
from ._types import (
|
14
|
+
NOT_GIVEN,
|
15
|
+
Omit,
|
16
|
+
Timeout,
|
17
|
+
NotGiven,
|
18
|
+
Transport,
|
19
|
+
ProxiesTypes,
|
20
|
+
RequestOptions,
|
21
|
+
)
|
22
|
+
from ._utils import is_given, get_async_library
|
23
|
+
from ._compat import cached_property
|
24
|
+
from ._version import __version__
|
25
|
+
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
|
26
|
+
from ._exceptions import APIStatusError, DigitaloceanGenaiSDKError
|
27
|
+
from ._base_client import (
|
28
|
+
DEFAULT_MAX_RETRIES,
|
29
|
+
SyncAPIClient,
|
30
|
+
AsyncAPIClient,
|
31
|
+
)
|
32
|
+
|
33
|
+
if TYPE_CHECKING:
|
34
|
+
from .resources import (
|
35
|
+
auth,
|
36
|
+
chat,
|
37
|
+
agents,
|
38
|
+
models,
|
39
|
+
regions,
|
40
|
+
api_keys,
|
41
|
+
providers,
|
42
|
+
embeddings,
|
43
|
+
indexing_jobs,
|
44
|
+
knowledge_bases,
|
45
|
+
)
|
46
|
+
from .resources.chat import ChatResource, AsyncChatResource
|
47
|
+
from .resources.models import ModelsResource, AsyncModelsResource
|
48
|
+
from .resources.regions import RegionsResource, AsyncRegionsResource
|
49
|
+
from .resources.auth.auth import AuthResource, AsyncAuthResource
|
50
|
+
from .resources.embeddings import EmbeddingsResource, AsyncEmbeddingsResource
|
51
|
+
from .resources.agents.agents import AgentsResource, AsyncAgentsResource
|
52
|
+
from .resources.indexing_jobs import IndexingJobsResource, AsyncIndexingJobsResource
|
53
|
+
from .resources.api_keys.api_keys import APIKeysResource, AsyncAPIKeysResource
|
54
|
+
from .resources.providers.providers import ProvidersResource, AsyncProvidersResource
|
55
|
+
from .resources.knowledge_bases.knowledge_bases import KnowledgeBasesResource, AsyncKnowledgeBasesResource
|
56
|
+
|
57
|
+
__all__ = [
|
58
|
+
"Timeout",
|
59
|
+
"Transport",
|
60
|
+
"ProxiesTypes",
|
61
|
+
"RequestOptions",
|
62
|
+
"DigitaloceanGenaiSDK",
|
63
|
+
"AsyncDigitaloceanGenaiSDK",
|
64
|
+
"Client",
|
65
|
+
"AsyncClient",
|
66
|
+
]
|
67
|
+
|
68
|
+
|
69
|
+
class DigitaloceanGenaiSDK(SyncAPIClient):
|
70
|
+
# client options
|
71
|
+
api_key: str
|
72
|
+
|
73
|
+
def __init__(
|
74
|
+
self,
|
75
|
+
*,
|
76
|
+
api_key: str | None = None,
|
77
|
+
base_url: str | httpx.URL | None = None,
|
78
|
+
timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
|
79
|
+
max_retries: int = DEFAULT_MAX_RETRIES,
|
80
|
+
default_headers: Mapping[str, str] | None = None,
|
81
|
+
default_query: Mapping[str, object] | None = None,
|
82
|
+
# Configure a custom httpx client.
|
83
|
+
# We provide a `DefaultHttpxClient` class that you can pass to retain the default values we use for `limits`, `timeout` & `follow_redirects`.
|
84
|
+
# See the [httpx documentation](https://www.python-httpx.org/api/#client) for more details.
|
85
|
+
http_client: httpx.Client | None = None,
|
86
|
+
# Enable or disable schema validation for data returned by the API.
|
87
|
+
# When enabled an error APIResponseValidationError is raised
|
88
|
+
# if the API responds with invalid data for the expected schema.
|
89
|
+
#
|
90
|
+
# This parameter may be removed or changed in the future.
|
91
|
+
# If you rely on this feature, please open a GitHub issue
|
92
|
+
# outlining your use-case to help us decide if it should be
|
93
|
+
# part of our public interface in the future.
|
94
|
+
_strict_response_validation: bool = False,
|
95
|
+
) -> None:
|
96
|
+
"""Construct a new synchronous DigitaloceanGenaiSDK client instance.
|
97
|
+
|
98
|
+
This automatically infers the `api_key` argument from the `DIGITALOCEAN_GENAI_SDK_API_KEY` environment variable if it is not provided.
|
99
|
+
"""
|
100
|
+
if api_key is None:
|
101
|
+
api_key = os.environ.get("DIGITALOCEAN_GENAI_SDK_API_KEY")
|
102
|
+
if api_key is None:
|
103
|
+
raise DigitaloceanGenaiSDKError(
|
104
|
+
"The api_key client option must be set either by passing api_key to the client or by setting the DIGITALOCEAN_GENAI_SDK_API_KEY environment variable"
|
105
|
+
)
|
106
|
+
self.api_key = api_key
|
107
|
+
|
108
|
+
if base_url is None:
|
109
|
+
base_url = os.environ.get("DIGITALOCEAN_GENAI_SDK_BASE_URL")
|
110
|
+
if base_url is None:
|
111
|
+
base_url = f"https://api.digitalocean.com/"
|
112
|
+
|
113
|
+
super().__init__(
|
114
|
+
version=__version__,
|
115
|
+
base_url=base_url,
|
116
|
+
max_retries=max_retries,
|
117
|
+
timeout=timeout,
|
118
|
+
http_client=http_client,
|
119
|
+
custom_headers=default_headers,
|
120
|
+
custom_query=default_query,
|
121
|
+
_strict_response_validation=_strict_response_validation,
|
122
|
+
)
|
123
|
+
|
124
|
+
@cached_property
|
125
|
+
def agents(self) -> AgentsResource:
|
126
|
+
from .resources.agents import AgentsResource
|
127
|
+
|
128
|
+
return AgentsResource(self)
|
129
|
+
|
130
|
+
@cached_property
|
131
|
+
def providers(self) -> ProvidersResource:
|
132
|
+
from .resources.providers import ProvidersResource
|
133
|
+
|
134
|
+
return ProvidersResource(self)
|
135
|
+
|
136
|
+
@cached_property
|
137
|
+
def auth(self) -> AuthResource:
|
138
|
+
from .resources.auth import AuthResource
|
139
|
+
|
140
|
+
return AuthResource(self)
|
141
|
+
|
142
|
+
@cached_property
|
143
|
+
def regions(self) -> RegionsResource:
|
144
|
+
from .resources.regions import RegionsResource
|
145
|
+
|
146
|
+
return RegionsResource(self)
|
147
|
+
|
148
|
+
@cached_property
|
149
|
+
def indexing_jobs(self) -> IndexingJobsResource:
|
150
|
+
from .resources.indexing_jobs import IndexingJobsResource
|
151
|
+
|
152
|
+
return IndexingJobsResource(self)
|
153
|
+
|
154
|
+
@cached_property
|
155
|
+
def knowledge_bases(self) -> KnowledgeBasesResource:
|
156
|
+
from .resources.knowledge_bases import KnowledgeBasesResource
|
157
|
+
|
158
|
+
return KnowledgeBasesResource(self)
|
159
|
+
|
160
|
+
@cached_property
|
161
|
+
def api_keys(self) -> APIKeysResource:
|
162
|
+
from .resources.api_keys import APIKeysResource
|
163
|
+
|
164
|
+
return APIKeysResource(self)
|
165
|
+
|
166
|
+
@cached_property
|
167
|
+
def chat(self) -> ChatResource:
|
168
|
+
from .resources.chat import ChatResource
|
169
|
+
|
170
|
+
return ChatResource(self)
|
171
|
+
|
172
|
+
@cached_property
|
173
|
+
def embeddings(self) -> EmbeddingsResource:
|
174
|
+
from .resources.embeddings import EmbeddingsResource
|
175
|
+
|
176
|
+
return EmbeddingsResource(self)
|
177
|
+
|
178
|
+
@cached_property
|
179
|
+
def models(self) -> ModelsResource:
|
180
|
+
from .resources.models import ModelsResource
|
181
|
+
|
182
|
+
return ModelsResource(self)
|
183
|
+
|
184
|
+
@cached_property
|
185
|
+
def with_raw_response(self) -> DigitaloceanGenaiSDKWithRawResponse:
|
186
|
+
return DigitaloceanGenaiSDKWithRawResponse(self)
|
187
|
+
|
188
|
+
@cached_property
|
189
|
+
def with_streaming_response(self) -> DigitaloceanGenaiSDKWithStreamedResponse:
|
190
|
+
return DigitaloceanGenaiSDKWithStreamedResponse(self)
|
191
|
+
|
192
|
+
@property
|
193
|
+
@override
|
194
|
+
def qs(self) -> Querystring:
|
195
|
+
return Querystring(array_format="comma")
|
196
|
+
|
197
|
+
@property
|
198
|
+
@override
|
199
|
+
def auth_headers(self) -> dict[str, str]:
|
200
|
+
api_key = self.api_key
|
201
|
+
return {"Authorization": f"Bearer {api_key}"}
|
202
|
+
|
203
|
+
@property
|
204
|
+
@override
|
205
|
+
def default_headers(self) -> dict[str, str | Omit]:
|
206
|
+
return {
|
207
|
+
**super().default_headers,
|
208
|
+
"X-Stainless-Async": "false",
|
209
|
+
**self._custom_headers,
|
210
|
+
}
|
211
|
+
|
212
|
+
def copy(
|
213
|
+
self,
|
214
|
+
*,
|
215
|
+
api_key: str | None = None,
|
216
|
+
base_url: str | httpx.URL | None = None,
|
217
|
+
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
218
|
+
http_client: httpx.Client | None = None,
|
219
|
+
max_retries: int | NotGiven = NOT_GIVEN,
|
220
|
+
default_headers: Mapping[str, str] | None = None,
|
221
|
+
set_default_headers: Mapping[str, str] | None = None,
|
222
|
+
default_query: Mapping[str, object] | None = None,
|
223
|
+
set_default_query: Mapping[str, object] | None = None,
|
224
|
+
_extra_kwargs: Mapping[str, Any] = {},
|
225
|
+
) -> Self:
|
226
|
+
"""
|
227
|
+
Create a new client instance re-using the same options given to the current client with optional overriding.
|
228
|
+
"""
|
229
|
+
if default_headers is not None and set_default_headers is not None:
|
230
|
+
raise ValueError("The `default_headers` and `set_default_headers` arguments are mutually exclusive")
|
231
|
+
|
232
|
+
if default_query is not None and set_default_query is not None:
|
233
|
+
raise ValueError("The `default_query` and `set_default_query` arguments are mutually exclusive")
|
234
|
+
|
235
|
+
headers = self._custom_headers
|
236
|
+
if default_headers is not None:
|
237
|
+
headers = {**headers, **default_headers}
|
238
|
+
elif set_default_headers is not None:
|
239
|
+
headers = set_default_headers
|
240
|
+
|
241
|
+
params = self._custom_query
|
242
|
+
if default_query is not None:
|
243
|
+
params = {**params, **default_query}
|
244
|
+
elif set_default_query is not None:
|
245
|
+
params = set_default_query
|
246
|
+
|
247
|
+
http_client = http_client or self._client
|
248
|
+
return self.__class__(
|
249
|
+
api_key=api_key or self.api_key,
|
250
|
+
base_url=base_url or self.base_url,
|
251
|
+
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
252
|
+
http_client=http_client,
|
253
|
+
max_retries=max_retries if is_given(max_retries) else self.max_retries,
|
254
|
+
default_headers=headers,
|
255
|
+
default_query=params,
|
256
|
+
**_extra_kwargs,
|
257
|
+
)
|
258
|
+
|
259
|
+
# Alias for `copy` for nicer inline usage, e.g.
|
260
|
+
# client.with_options(timeout=10).foo.create(...)
|
261
|
+
with_options = copy
|
262
|
+
|
263
|
+
@override
|
264
|
+
def _make_status_error(
|
265
|
+
self,
|
266
|
+
err_msg: str,
|
267
|
+
*,
|
268
|
+
body: object,
|
269
|
+
response: httpx.Response,
|
270
|
+
) -> APIStatusError:
|
271
|
+
if response.status_code == 400:
|
272
|
+
return _exceptions.BadRequestError(err_msg, response=response, body=body)
|
273
|
+
|
274
|
+
if response.status_code == 401:
|
275
|
+
return _exceptions.AuthenticationError(err_msg, response=response, body=body)
|
276
|
+
|
277
|
+
if response.status_code == 403:
|
278
|
+
return _exceptions.PermissionDeniedError(err_msg, response=response, body=body)
|
279
|
+
|
280
|
+
if response.status_code == 404:
|
281
|
+
return _exceptions.NotFoundError(err_msg, response=response, body=body)
|
282
|
+
|
283
|
+
if response.status_code == 409:
|
284
|
+
return _exceptions.ConflictError(err_msg, response=response, body=body)
|
285
|
+
|
286
|
+
if response.status_code == 422:
|
287
|
+
return _exceptions.UnprocessableEntityError(err_msg, response=response, body=body)
|
288
|
+
|
289
|
+
if response.status_code == 429:
|
290
|
+
return _exceptions.RateLimitError(err_msg, response=response, body=body)
|
291
|
+
|
292
|
+
if response.status_code >= 500:
|
293
|
+
return _exceptions.InternalServerError(err_msg, response=response, body=body)
|
294
|
+
return APIStatusError(err_msg, response=response, body=body)
|
295
|
+
|
296
|
+
|
297
|
+
class AsyncDigitaloceanGenaiSDK(AsyncAPIClient):
|
298
|
+
# client options
|
299
|
+
api_key: str
|
300
|
+
|
301
|
+
def __init__(
|
302
|
+
self,
|
303
|
+
*,
|
304
|
+
api_key: str | None = None,
|
305
|
+
base_url: str | httpx.URL | None = None,
|
306
|
+
timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
|
307
|
+
max_retries: int = DEFAULT_MAX_RETRIES,
|
308
|
+
default_headers: Mapping[str, str] | None = None,
|
309
|
+
default_query: Mapping[str, object] | None = None,
|
310
|
+
# Configure a custom httpx client.
|
311
|
+
# We provide a `DefaultAsyncHttpxClient` class that you can pass to retain the default values we use for `limits`, `timeout` & `follow_redirects`.
|
312
|
+
# See the [httpx documentation](https://www.python-httpx.org/api/#asyncclient) for more details.
|
313
|
+
http_client: httpx.AsyncClient | None = None,
|
314
|
+
# Enable or disable schema validation for data returned by the API.
|
315
|
+
# When enabled an error APIResponseValidationError is raised
|
316
|
+
# if the API responds with invalid data for the expected schema.
|
317
|
+
#
|
318
|
+
# This parameter may be removed or changed in the future.
|
319
|
+
# If you rely on this feature, please open a GitHub issue
|
320
|
+
# outlining your use-case to help us decide if it should be
|
321
|
+
# part of our public interface in the future.
|
322
|
+
_strict_response_validation: bool = False,
|
323
|
+
) -> None:
|
324
|
+
"""Construct a new async AsyncDigitaloceanGenaiSDK client instance.
|
325
|
+
|
326
|
+
This automatically infers the `api_key` argument from the `DIGITALOCEAN_GENAI_SDK_API_KEY` environment variable if it is not provided.
|
327
|
+
"""
|
328
|
+
if api_key is None:
|
329
|
+
api_key = os.environ.get("DIGITALOCEAN_GENAI_SDK_API_KEY")
|
330
|
+
if api_key is None:
|
331
|
+
raise DigitaloceanGenaiSDKError(
|
332
|
+
"The api_key client option must be set either by passing api_key to the client or by setting the DIGITALOCEAN_GENAI_SDK_API_KEY environment variable"
|
333
|
+
)
|
334
|
+
self.api_key = api_key
|
335
|
+
|
336
|
+
if base_url is None:
|
337
|
+
base_url = os.environ.get("DIGITALOCEAN_GENAI_SDK_BASE_URL")
|
338
|
+
if base_url is None:
|
339
|
+
base_url = f"https://api.digitalocean.com/"
|
340
|
+
|
341
|
+
super().__init__(
|
342
|
+
version=__version__,
|
343
|
+
base_url=base_url,
|
344
|
+
max_retries=max_retries,
|
345
|
+
timeout=timeout,
|
346
|
+
http_client=http_client,
|
347
|
+
custom_headers=default_headers,
|
348
|
+
custom_query=default_query,
|
349
|
+
_strict_response_validation=_strict_response_validation,
|
350
|
+
)
|
351
|
+
|
352
|
+
@cached_property
|
353
|
+
def agents(self) -> AsyncAgentsResource:
|
354
|
+
from .resources.agents import AsyncAgentsResource
|
355
|
+
|
356
|
+
return AsyncAgentsResource(self)
|
357
|
+
|
358
|
+
@cached_property
|
359
|
+
def providers(self) -> AsyncProvidersResource:
|
360
|
+
from .resources.providers import AsyncProvidersResource
|
361
|
+
|
362
|
+
return AsyncProvidersResource(self)
|
363
|
+
|
364
|
+
@cached_property
|
365
|
+
def auth(self) -> AsyncAuthResource:
|
366
|
+
from .resources.auth import AsyncAuthResource
|
367
|
+
|
368
|
+
return AsyncAuthResource(self)
|
369
|
+
|
370
|
+
@cached_property
|
371
|
+
def regions(self) -> AsyncRegionsResource:
|
372
|
+
from .resources.regions import AsyncRegionsResource
|
373
|
+
|
374
|
+
return AsyncRegionsResource(self)
|
375
|
+
|
376
|
+
@cached_property
|
377
|
+
def indexing_jobs(self) -> AsyncIndexingJobsResource:
|
378
|
+
from .resources.indexing_jobs import AsyncIndexingJobsResource
|
379
|
+
|
380
|
+
return AsyncIndexingJobsResource(self)
|
381
|
+
|
382
|
+
@cached_property
|
383
|
+
def knowledge_bases(self) -> AsyncKnowledgeBasesResource:
|
384
|
+
from .resources.knowledge_bases import AsyncKnowledgeBasesResource
|
385
|
+
|
386
|
+
return AsyncKnowledgeBasesResource(self)
|
387
|
+
|
388
|
+
@cached_property
|
389
|
+
def api_keys(self) -> AsyncAPIKeysResource:
|
390
|
+
from .resources.api_keys import AsyncAPIKeysResource
|
391
|
+
|
392
|
+
return AsyncAPIKeysResource(self)
|
393
|
+
|
394
|
+
@cached_property
|
395
|
+
def chat(self) -> AsyncChatResource:
|
396
|
+
from .resources.chat import AsyncChatResource
|
397
|
+
|
398
|
+
return AsyncChatResource(self)
|
399
|
+
|
400
|
+
@cached_property
|
401
|
+
def embeddings(self) -> AsyncEmbeddingsResource:
|
402
|
+
from .resources.embeddings import AsyncEmbeddingsResource
|
403
|
+
|
404
|
+
return AsyncEmbeddingsResource(self)
|
405
|
+
|
406
|
+
@cached_property
|
407
|
+
def models(self) -> AsyncModelsResource:
|
408
|
+
from .resources.models import AsyncModelsResource
|
409
|
+
|
410
|
+
return AsyncModelsResource(self)
|
411
|
+
|
412
|
+
@cached_property
|
413
|
+
def with_raw_response(self) -> AsyncDigitaloceanGenaiSDKWithRawResponse:
|
414
|
+
return AsyncDigitaloceanGenaiSDKWithRawResponse(self)
|
415
|
+
|
416
|
+
@cached_property
|
417
|
+
def with_streaming_response(self) -> AsyncDigitaloceanGenaiSDKWithStreamedResponse:
|
418
|
+
return AsyncDigitaloceanGenaiSDKWithStreamedResponse(self)
|
419
|
+
|
420
|
+
@property
|
421
|
+
@override
|
422
|
+
def qs(self) -> Querystring:
|
423
|
+
return Querystring(array_format="comma")
|
424
|
+
|
425
|
+
@property
|
426
|
+
@override
|
427
|
+
def auth_headers(self) -> dict[str, str]:
|
428
|
+
api_key = self.api_key
|
429
|
+
return {"Authorization": f"Bearer {api_key}"}
|
430
|
+
|
431
|
+
@property
|
432
|
+
@override
|
433
|
+
def default_headers(self) -> dict[str, str | Omit]:
|
434
|
+
return {
|
435
|
+
**super().default_headers,
|
436
|
+
"X-Stainless-Async": f"async:{get_async_library()}",
|
437
|
+
**self._custom_headers,
|
438
|
+
}
|
439
|
+
|
440
|
+
def copy(
|
441
|
+
self,
|
442
|
+
*,
|
443
|
+
api_key: str | None = None,
|
444
|
+
base_url: str | httpx.URL | None = None,
|
445
|
+
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
446
|
+
http_client: httpx.AsyncClient | None = None,
|
447
|
+
max_retries: int | NotGiven = NOT_GIVEN,
|
448
|
+
default_headers: Mapping[str, str] | None = None,
|
449
|
+
set_default_headers: Mapping[str, str] | None = None,
|
450
|
+
default_query: Mapping[str, object] | None = None,
|
451
|
+
set_default_query: Mapping[str, object] | None = None,
|
452
|
+
_extra_kwargs: Mapping[str, Any] = {},
|
453
|
+
) -> Self:
|
454
|
+
"""
|
455
|
+
Create a new client instance re-using the same options given to the current client with optional overriding.
|
456
|
+
"""
|
457
|
+
if default_headers is not None and set_default_headers is not None:
|
458
|
+
raise ValueError("The `default_headers` and `set_default_headers` arguments are mutually exclusive")
|
459
|
+
|
460
|
+
if default_query is not None and set_default_query is not None:
|
461
|
+
raise ValueError("The `default_query` and `set_default_query` arguments are mutually exclusive")
|
462
|
+
|
463
|
+
headers = self._custom_headers
|
464
|
+
if default_headers is not None:
|
465
|
+
headers = {**headers, **default_headers}
|
466
|
+
elif set_default_headers is not None:
|
467
|
+
headers = set_default_headers
|
468
|
+
|
469
|
+
params = self._custom_query
|
470
|
+
if default_query is not None:
|
471
|
+
params = {**params, **default_query}
|
472
|
+
elif set_default_query is not None:
|
473
|
+
params = set_default_query
|
474
|
+
|
475
|
+
http_client = http_client or self._client
|
476
|
+
return self.__class__(
|
477
|
+
api_key=api_key or self.api_key,
|
478
|
+
base_url=base_url or self.base_url,
|
479
|
+
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
480
|
+
http_client=http_client,
|
481
|
+
max_retries=max_retries if is_given(max_retries) else self.max_retries,
|
482
|
+
default_headers=headers,
|
483
|
+
default_query=params,
|
484
|
+
**_extra_kwargs,
|
485
|
+
)
|
486
|
+
|
487
|
+
# Alias for `copy` for nicer inline usage, e.g.
|
488
|
+
# client.with_options(timeout=10).foo.create(...)
|
489
|
+
with_options = copy
|
490
|
+
|
491
|
+
@override
|
492
|
+
def _make_status_error(
|
493
|
+
self,
|
494
|
+
err_msg: str,
|
495
|
+
*,
|
496
|
+
body: object,
|
497
|
+
response: httpx.Response,
|
498
|
+
) -> APIStatusError:
|
499
|
+
if response.status_code == 400:
|
500
|
+
return _exceptions.BadRequestError(err_msg, response=response, body=body)
|
501
|
+
|
502
|
+
if response.status_code == 401:
|
503
|
+
return _exceptions.AuthenticationError(err_msg, response=response, body=body)
|
504
|
+
|
505
|
+
if response.status_code == 403:
|
506
|
+
return _exceptions.PermissionDeniedError(err_msg, response=response, body=body)
|
507
|
+
|
508
|
+
if response.status_code == 404:
|
509
|
+
return _exceptions.NotFoundError(err_msg, response=response, body=body)
|
510
|
+
|
511
|
+
if response.status_code == 409:
|
512
|
+
return _exceptions.ConflictError(err_msg, response=response, body=body)
|
513
|
+
|
514
|
+
if response.status_code == 422:
|
515
|
+
return _exceptions.UnprocessableEntityError(err_msg, response=response, body=body)
|
516
|
+
|
517
|
+
if response.status_code == 429:
|
518
|
+
return _exceptions.RateLimitError(err_msg, response=response, body=body)
|
519
|
+
|
520
|
+
if response.status_code >= 500:
|
521
|
+
return _exceptions.InternalServerError(err_msg, response=response, body=body)
|
522
|
+
return APIStatusError(err_msg, response=response, body=body)
|
523
|
+
|
524
|
+
|
525
|
+
class DigitaloceanGenaiSDKWithRawResponse:
|
526
|
+
_client: DigitaloceanGenaiSDK
|
527
|
+
|
528
|
+
def __init__(self, client: DigitaloceanGenaiSDK) -> None:
|
529
|
+
self._client = client
|
530
|
+
|
531
|
+
@cached_property
|
532
|
+
def agents(self) -> agents.AgentsResourceWithRawResponse:
|
533
|
+
from .resources.agents import AgentsResourceWithRawResponse
|
534
|
+
|
535
|
+
return AgentsResourceWithRawResponse(self._client.agents)
|
536
|
+
|
537
|
+
@cached_property
|
538
|
+
def providers(self) -> providers.ProvidersResourceWithRawResponse:
|
539
|
+
from .resources.providers import ProvidersResourceWithRawResponse
|
540
|
+
|
541
|
+
return ProvidersResourceWithRawResponse(self._client.providers)
|
542
|
+
|
543
|
+
@cached_property
|
544
|
+
def auth(self) -> auth.AuthResourceWithRawResponse:
|
545
|
+
from .resources.auth import AuthResourceWithRawResponse
|
546
|
+
|
547
|
+
return AuthResourceWithRawResponse(self._client.auth)
|
548
|
+
|
549
|
+
@cached_property
|
550
|
+
def regions(self) -> regions.RegionsResourceWithRawResponse:
|
551
|
+
from .resources.regions import RegionsResourceWithRawResponse
|
552
|
+
|
553
|
+
return RegionsResourceWithRawResponse(self._client.regions)
|
554
|
+
|
555
|
+
@cached_property
|
556
|
+
def indexing_jobs(self) -> indexing_jobs.IndexingJobsResourceWithRawResponse:
|
557
|
+
from .resources.indexing_jobs import IndexingJobsResourceWithRawResponse
|
558
|
+
|
559
|
+
return IndexingJobsResourceWithRawResponse(self._client.indexing_jobs)
|
560
|
+
|
561
|
+
@cached_property
|
562
|
+
def knowledge_bases(self) -> knowledge_bases.KnowledgeBasesResourceWithRawResponse:
|
563
|
+
from .resources.knowledge_bases import KnowledgeBasesResourceWithRawResponse
|
564
|
+
|
565
|
+
return KnowledgeBasesResourceWithRawResponse(self._client.knowledge_bases)
|
566
|
+
|
567
|
+
@cached_property
|
568
|
+
def api_keys(self) -> api_keys.APIKeysResourceWithRawResponse:
|
569
|
+
from .resources.api_keys import APIKeysResourceWithRawResponse
|
570
|
+
|
571
|
+
return APIKeysResourceWithRawResponse(self._client.api_keys)
|
572
|
+
|
573
|
+
@cached_property
|
574
|
+
def chat(self) -> chat.ChatResourceWithRawResponse:
|
575
|
+
from .resources.chat import ChatResourceWithRawResponse
|
576
|
+
|
577
|
+
return ChatResourceWithRawResponse(self._client.chat)
|
578
|
+
|
579
|
+
@cached_property
|
580
|
+
def embeddings(self) -> embeddings.EmbeddingsResourceWithRawResponse:
|
581
|
+
from .resources.embeddings import EmbeddingsResourceWithRawResponse
|
582
|
+
|
583
|
+
return EmbeddingsResourceWithRawResponse(self._client.embeddings)
|
584
|
+
|
585
|
+
@cached_property
|
586
|
+
def models(self) -> models.ModelsResourceWithRawResponse:
|
587
|
+
from .resources.models import ModelsResourceWithRawResponse
|
588
|
+
|
589
|
+
return ModelsResourceWithRawResponse(self._client.models)
|
590
|
+
|
591
|
+
|
592
|
+
class AsyncDigitaloceanGenaiSDKWithRawResponse:
|
593
|
+
_client: AsyncDigitaloceanGenaiSDK
|
594
|
+
|
595
|
+
def __init__(self, client: AsyncDigitaloceanGenaiSDK) -> None:
|
596
|
+
self._client = client
|
597
|
+
|
598
|
+
@cached_property
|
599
|
+
def agents(self) -> agents.AsyncAgentsResourceWithRawResponse:
|
600
|
+
from .resources.agents import AsyncAgentsResourceWithRawResponse
|
601
|
+
|
602
|
+
return AsyncAgentsResourceWithRawResponse(self._client.agents)
|
603
|
+
|
604
|
+
@cached_property
|
605
|
+
def providers(self) -> providers.AsyncProvidersResourceWithRawResponse:
|
606
|
+
from .resources.providers import AsyncProvidersResourceWithRawResponse
|
607
|
+
|
608
|
+
return AsyncProvidersResourceWithRawResponse(self._client.providers)
|
609
|
+
|
610
|
+
@cached_property
|
611
|
+
def auth(self) -> auth.AsyncAuthResourceWithRawResponse:
|
612
|
+
from .resources.auth import AsyncAuthResourceWithRawResponse
|
613
|
+
|
614
|
+
return AsyncAuthResourceWithRawResponse(self._client.auth)
|
615
|
+
|
616
|
+
@cached_property
|
617
|
+
def regions(self) -> regions.AsyncRegionsResourceWithRawResponse:
|
618
|
+
from .resources.regions import AsyncRegionsResourceWithRawResponse
|
619
|
+
|
620
|
+
return AsyncRegionsResourceWithRawResponse(self._client.regions)
|
621
|
+
|
622
|
+
@cached_property
|
623
|
+
def indexing_jobs(self) -> indexing_jobs.AsyncIndexingJobsResourceWithRawResponse:
|
624
|
+
from .resources.indexing_jobs import AsyncIndexingJobsResourceWithRawResponse
|
625
|
+
|
626
|
+
return AsyncIndexingJobsResourceWithRawResponse(self._client.indexing_jobs)
|
627
|
+
|
628
|
+
@cached_property
|
629
|
+
def knowledge_bases(self) -> knowledge_bases.AsyncKnowledgeBasesResourceWithRawResponse:
|
630
|
+
from .resources.knowledge_bases import AsyncKnowledgeBasesResourceWithRawResponse
|
631
|
+
|
632
|
+
return AsyncKnowledgeBasesResourceWithRawResponse(self._client.knowledge_bases)
|
633
|
+
|
634
|
+
@cached_property
|
635
|
+
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithRawResponse:
|
636
|
+
from .resources.api_keys import AsyncAPIKeysResourceWithRawResponse
|
637
|
+
|
638
|
+
return AsyncAPIKeysResourceWithRawResponse(self._client.api_keys)
|
639
|
+
|
640
|
+
@cached_property
|
641
|
+
def chat(self) -> chat.AsyncChatResourceWithRawResponse:
|
642
|
+
from .resources.chat import AsyncChatResourceWithRawResponse
|
643
|
+
|
644
|
+
return AsyncChatResourceWithRawResponse(self._client.chat)
|
645
|
+
|
646
|
+
@cached_property
|
647
|
+
def embeddings(self) -> embeddings.AsyncEmbeddingsResourceWithRawResponse:
|
648
|
+
from .resources.embeddings import AsyncEmbeddingsResourceWithRawResponse
|
649
|
+
|
650
|
+
return AsyncEmbeddingsResourceWithRawResponse(self._client.embeddings)
|
651
|
+
|
652
|
+
@cached_property
|
653
|
+
def models(self) -> models.AsyncModelsResourceWithRawResponse:
|
654
|
+
from .resources.models import AsyncModelsResourceWithRawResponse
|
655
|
+
|
656
|
+
return AsyncModelsResourceWithRawResponse(self._client.models)
|
657
|
+
|
658
|
+
|
659
|
+
class DigitaloceanGenaiSDKWithStreamedResponse:
|
660
|
+
_client: DigitaloceanGenaiSDK
|
661
|
+
|
662
|
+
def __init__(self, client: DigitaloceanGenaiSDK) -> None:
|
663
|
+
self._client = client
|
664
|
+
|
665
|
+
@cached_property
|
666
|
+
def agents(self) -> agents.AgentsResourceWithStreamingResponse:
|
667
|
+
from .resources.agents import AgentsResourceWithStreamingResponse
|
668
|
+
|
669
|
+
return AgentsResourceWithStreamingResponse(self._client.agents)
|
670
|
+
|
671
|
+
@cached_property
|
672
|
+
def providers(self) -> providers.ProvidersResourceWithStreamingResponse:
|
673
|
+
from .resources.providers import ProvidersResourceWithStreamingResponse
|
674
|
+
|
675
|
+
return ProvidersResourceWithStreamingResponse(self._client.providers)
|
676
|
+
|
677
|
+
@cached_property
|
678
|
+
def auth(self) -> auth.AuthResourceWithStreamingResponse:
|
679
|
+
from .resources.auth import AuthResourceWithStreamingResponse
|
680
|
+
|
681
|
+
return AuthResourceWithStreamingResponse(self._client.auth)
|
682
|
+
|
683
|
+
@cached_property
|
684
|
+
def regions(self) -> regions.RegionsResourceWithStreamingResponse:
|
685
|
+
from .resources.regions import RegionsResourceWithStreamingResponse
|
686
|
+
|
687
|
+
return RegionsResourceWithStreamingResponse(self._client.regions)
|
688
|
+
|
689
|
+
@cached_property
|
690
|
+
def indexing_jobs(self) -> indexing_jobs.IndexingJobsResourceWithStreamingResponse:
|
691
|
+
from .resources.indexing_jobs import IndexingJobsResourceWithStreamingResponse
|
692
|
+
|
693
|
+
return IndexingJobsResourceWithStreamingResponse(self._client.indexing_jobs)
|
694
|
+
|
695
|
+
@cached_property
|
696
|
+
def knowledge_bases(self) -> knowledge_bases.KnowledgeBasesResourceWithStreamingResponse:
|
697
|
+
from .resources.knowledge_bases import KnowledgeBasesResourceWithStreamingResponse
|
698
|
+
|
699
|
+
return KnowledgeBasesResourceWithStreamingResponse(self._client.knowledge_bases)
|
700
|
+
|
701
|
+
@cached_property
|
702
|
+
def api_keys(self) -> api_keys.APIKeysResourceWithStreamingResponse:
|
703
|
+
from .resources.api_keys import APIKeysResourceWithStreamingResponse
|
704
|
+
|
705
|
+
return APIKeysResourceWithStreamingResponse(self._client.api_keys)
|
706
|
+
|
707
|
+
@cached_property
|
708
|
+
def chat(self) -> chat.ChatResourceWithStreamingResponse:
|
709
|
+
from .resources.chat import ChatResourceWithStreamingResponse
|
710
|
+
|
711
|
+
return ChatResourceWithStreamingResponse(self._client.chat)
|
712
|
+
|
713
|
+
@cached_property
|
714
|
+
def embeddings(self) -> embeddings.EmbeddingsResourceWithStreamingResponse:
|
715
|
+
from .resources.embeddings import EmbeddingsResourceWithStreamingResponse
|
716
|
+
|
717
|
+
return EmbeddingsResourceWithStreamingResponse(self._client.embeddings)
|
718
|
+
|
719
|
+
@cached_property
|
720
|
+
def models(self) -> models.ModelsResourceWithStreamingResponse:
|
721
|
+
from .resources.models import ModelsResourceWithStreamingResponse
|
722
|
+
|
723
|
+
return ModelsResourceWithStreamingResponse(self._client.models)
|
724
|
+
|
725
|
+
|
726
|
+
class AsyncDigitaloceanGenaiSDKWithStreamedResponse:
|
727
|
+
_client: AsyncDigitaloceanGenaiSDK
|
728
|
+
|
729
|
+
def __init__(self, client: AsyncDigitaloceanGenaiSDK) -> None:
|
730
|
+
self._client = client
|
731
|
+
|
732
|
+
@cached_property
|
733
|
+
def agents(self) -> agents.AsyncAgentsResourceWithStreamingResponse:
|
734
|
+
from .resources.agents import AsyncAgentsResourceWithStreamingResponse
|
735
|
+
|
736
|
+
return AsyncAgentsResourceWithStreamingResponse(self._client.agents)
|
737
|
+
|
738
|
+
@cached_property
|
739
|
+
def providers(self) -> providers.AsyncProvidersResourceWithStreamingResponse:
|
740
|
+
from .resources.providers import AsyncProvidersResourceWithStreamingResponse
|
741
|
+
|
742
|
+
return AsyncProvidersResourceWithStreamingResponse(self._client.providers)
|
743
|
+
|
744
|
+
@cached_property
|
745
|
+
def auth(self) -> auth.AsyncAuthResourceWithStreamingResponse:
|
746
|
+
from .resources.auth import AsyncAuthResourceWithStreamingResponse
|
747
|
+
|
748
|
+
return AsyncAuthResourceWithStreamingResponse(self._client.auth)
|
749
|
+
|
750
|
+
@cached_property
|
751
|
+
def regions(self) -> regions.AsyncRegionsResourceWithStreamingResponse:
|
752
|
+
from .resources.regions import AsyncRegionsResourceWithStreamingResponse
|
753
|
+
|
754
|
+
return AsyncRegionsResourceWithStreamingResponse(self._client.regions)
|
755
|
+
|
756
|
+
@cached_property
|
757
|
+
def indexing_jobs(self) -> indexing_jobs.AsyncIndexingJobsResourceWithStreamingResponse:
|
758
|
+
from .resources.indexing_jobs import AsyncIndexingJobsResourceWithStreamingResponse
|
759
|
+
|
760
|
+
return AsyncIndexingJobsResourceWithStreamingResponse(self._client.indexing_jobs)
|
761
|
+
|
762
|
+
@cached_property
|
763
|
+
def knowledge_bases(self) -> knowledge_bases.AsyncKnowledgeBasesResourceWithStreamingResponse:
|
764
|
+
from .resources.knowledge_bases import AsyncKnowledgeBasesResourceWithStreamingResponse
|
765
|
+
|
766
|
+
return AsyncKnowledgeBasesResourceWithStreamingResponse(self._client.knowledge_bases)
|
767
|
+
|
768
|
+
@cached_property
|
769
|
+
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithStreamingResponse:
|
770
|
+
from .resources.api_keys import AsyncAPIKeysResourceWithStreamingResponse
|
771
|
+
|
772
|
+
return AsyncAPIKeysResourceWithStreamingResponse(self._client.api_keys)
|
773
|
+
|
774
|
+
@cached_property
|
775
|
+
def chat(self) -> chat.AsyncChatResourceWithStreamingResponse:
|
776
|
+
from .resources.chat import AsyncChatResourceWithStreamingResponse
|
777
|
+
|
778
|
+
return AsyncChatResourceWithStreamingResponse(self._client.chat)
|
779
|
+
|
780
|
+
@cached_property
|
781
|
+
def embeddings(self) -> embeddings.AsyncEmbeddingsResourceWithStreamingResponse:
|
782
|
+
from .resources.embeddings import AsyncEmbeddingsResourceWithStreamingResponse
|
783
|
+
|
784
|
+
return AsyncEmbeddingsResourceWithStreamingResponse(self._client.embeddings)
|
785
|
+
|
786
|
+
@cached_property
|
787
|
+
def models(self) -> models.AsyncModelsResourceWithStreamingResponse:
|
788
|
+
from .resources.models import AsyncModelsResourceWithStreamingResponse
|
789
|
+
|
790
|
+
return AsyncModelsResourceWithStreamingResponse(self._client.models)
|
791
|
+
|
792
|
+
|
793
|
+
Client = DigitaloceanGenaiSDK
|
794
|
+
|
795
|
+
AsyncClient = AsyncDigitaloceanGenaiSDK
|