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.
Files changed (190) hide show
  1. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/METADATA +396 -0
  2. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/RECORD +190 -0
  3. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/WHEEL +4 -0
  4. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/licenses/LICENSE +201 -0
  5. digitalocean_genai_sdk/__init__.py +99 -0
  6. digitalocean_genai_sdk/_base_client.py +1949 -0
  7. digitalocean_genai_sdk/_client.py +795 -0
  8. digitalocean_genai_sdk/_compat.py +219 -0
  9. digitalocean_genai_sdk/_constants.py +14 -0
  10. digitalocean_genai_sdk/_exceptions.py +108 -0
  11. digitalocean_genai_sdk/_files.py +123 -0
  12. digitalocean_genai_sdk/_models.py +805 -0
  13. digitalocean_genai_sdk/_qs.py +150 -0
  14. digitalocean_genai_sdk/_resource.py +43 -0
  15. digitalocean_genai_sdk/_response.py +832 -0
  16. digitalocean_genai_sdk/_streaming.py +333 -0
  17. digitalocean_genai_sdk/_types.py +219 -0
  18. digitalocean_genai_sdk/_utils/__init__.py +57 -0
  19. digitalocean_genai_sdk/_utils/_logs.py +25 -0
  20. digitalocean_genai_sdk/_utils/_proxy.py +65 -0
  21. digitalocean_genai_sdk/_utils/_reflection.py +42 -0
  22. digitalocean_genai_sdk/_utils/_resources_proxy.py +24 -0
  23. digitalocean_genai_sdk/_utils/_streams.py +12 -0
  24. digitalocean_genai_sdk/_utils/_sync.py +86 -0
  25. digitalocean_genai_sdk/_utils/_transform.py +447 -0
  26. digitalocean_genai_sdk/_utils/_typing.py +151 -0
  27. digitalocean_genai_sdk/_utils/_utils.py +422 -0
  28. digitalocean_genai_sdk/_version.py +4 -0
  29. digitalocean_genai_sdk/lib/.keep +4 -0
  30. digitalocean_genai_sdk/py.typed +0 -0
  31. digitalocean_genai_sdk/resources/__init__.py +145 -0
  32. digitalocean_genai_sdk/resources/agents/__init__.py +89 -0
  33. digitalocean_genai_sdk/resources/agents/agents.py +965 -0
  34. digitalocean_genai_sdk/resources/agents/api_keys.py +581 -0
  35. digitalocean_genai_sdk/resources/agents/child_agents.py +508 -0
  36. digitalocean_genai_sdk/resources/agents/functions.py +421 -0
  37. digitalocean_genai_sdk/resources/agents/knowledge_bases.py +346 -0
  38. digitalocean_genai_sdk/resources/agents/versions.py +298 -0
  39. digitalocean_genai_sdk/resources/api_keys/__init__.py +19 -0
  40. digitalocean_genai_sdk/resources/api_keys/api_keys.py +275 -0
  41. digitalocean_genai_sdk/resources/api_keys/api_keys_.py +529 -0
  42. digitalocean_genai_sdk/resources/auth/__init__.py +33 -0
  43. digitalocean_genai_sdk/resources/auth/agents/__init__.py +33 -0
  44. digitalocean_genai_sdk/resources/auth/agents/agents.py +102 -0
  45. digitalocean_genai_sdk/resources/auth/agents/token.py +173 -0
  46. digitalocean_genai_sdk/resources/auth/auth.py +102 -0
  47. digitalocean_genai_sdk/resources/chat.py +381 -0
  48. digitalocean_genai_sdk/resources/embeddings.py +201 -0
  49. digitalocean_genai_sdk/resources/indexing_jobs.py +543 -0
  50. digitalocean_genai_sdk/resources/knowledge_bases/__init__.py +33 -0
  51. digitalocean_genai_sdk/resources/knowledge_bases/data_sources.py +410 -0
  52. digitalocean_genai_sdk/resources/knowledge_bases/knowledge_bases.py +667 -0
  53. digitalocean_genai_sdk/resources/models.py +222 -0
  54. digitalocean_genai_sdk/resources/providers/__init__.py +47 -0
  55. digitalocean_genai_sdk/resources/providers/anthropic/__init__.py +33 -0
  56. digitalocean_genai_sdk/resources/providers/anthropic/anthropic.py +102 -0
  57. digitalocean_genai_sdk/resources/providers/anthropic/keys.py +662 -0
  58. digitalocean_genai_sdk/resources/providers/openai/__init__.py +33 -0
  59. digitalocean_genai_sdk/resources/providers/openai/keys.py +658 -0
  60. digitalocean_genai_sdk/resources/providers/openai/openai.py +102 -0
  61. digitalocean_genai_sdk/resources/providers/providers.py +134 -0
  62. digitalocean_genai_sdk/resources/regions.py +191 -0
  63. digitalocean_genai_sdk/types/__init__.py +57 -0
  64. digitalocean_genai_sdk/types/agent_create_params.py +39 -0
  65. digitalocean_genai_sdk/types/agent_create_response.py +16 -0
  66. digitalocean_genai_sdk/types/agent_delete_response.py +16 -0
  67. digitalocean_genai_sdk/types/agent_list_params.py +18 -0
  68. digitalocean_genai_sdk/types/agent_list_response.py +198 -0
  69. digitalocean_genai_sdk/types/agent_retrieve_response.py +16 -0
  70. digitalocean_genai_sdk/types/agent_update_params.py +65 -0
  71. digitalocean_genai_sdk/types/agent_update_response.py +16 -0
  72. digitalocean_genai_sdk/types/agent_update_status_params.py +16 -0
  73. digitalocean_genai_sdk/types/agent_update_status_response.py +16 -0
  74. digitalocean_genai_sdk/types/agents/__init__.py +31 -0
  75. digitalocean_genai_sdk/types/agents/api_key_create_params.py +15 -0
  76. digitalocean_genai_sdk/types/agents/api_key_create_response.py +12 -0
  77. digitalocean_genai_sdk/types/agents/api_key_delete_response.py +12 -0
  78. digitalocean_genai_sdk/types/agents/api_key_list_params.py +15 -0
  79. digitalocean_genai_sdk/types/agents/api_key_list_response.py +18 -0
  80. digitalocean_genai_sdk/types/agents/api_key_regenerate_response.py +12 -0
  81. digitalocean_genai_sdk/types/agents/api_key_update_params.py +19 -0
  82. digitalocean_genai_sdk/types/agents/api_key_update_response.py +12 -0
  83. digitalocean_genai_sdk/types/agents/api_link_knowledge_base_output.py +16 -0
  84. digitalocean_genai_sdk/types/agents/api_links.py +21 -0
  85. digitalocean_genai_sdk/types/agents/api_meta.py +15 -0
  86. digitalocean_genai_sdk/types/agents/child_agent_add_params.py +22 -0
  87. digitalocean_genai_sdk/types/agents/child_agent_add_response.py +14 -0
  88. digitalocean_genai_sdk/types/agents/child_agent_delete_response.py +13 -0
  89. digitalocean_genai_sdk/types/agents/child_agent_update_params.py +24 -0
  90. digitalocean_genai_sdk/types/agents/child_agent_update_response.py +18 -0
  91. digitalocean_genai_sdk/types/agents/child_agent_view_response.py +16 -0
  92. digitalocean_genai_sdk/types/agents/function_create_params.py +25 -0
  93. digitalocean_genai_sdk/types/agents/function_create_response.py +16 -0
  94. digitalocean_genai_sdk/types/agents/function_delete_response.py +16 -0
  95. digitalocean_genai_sdk/types/agents/function_update_params.py +29 -0
  96. digitalocean_genai_sdk/types/agents/function_update_response.py +16 -0
  97. digitalocean_genai_sdk/types/agents/knowledge_base_detach_response.py +16 -0
  98. digitalocean_genai_sdk/types/agents/version_list_params.py +15 -0
  99. digitalocean_genai_sdk/types/agents/version_list_response.py +118 -0
  100. digitalocean_genai_sdk/types/agents/version_update_params.py +15 -0
  101. digitalocean_genai_sdk/types/agents/version_update_response.py +30 -0
  102. digitalocean_genai_sdk/types/api_agent.py +263 -0
  103. digitalocean_genai_sdk/types/api_agent_api_key_info.py +22 -0
  104. digitalocean_genai_sdk/types/api_agreement.py +17 -0
  105. digitalocean_genai_sdk/types/api_anthropic_api_key_info.py +22 -0
  106. digitalocean_genai_sdk/types/api_deployment_visibility.py +9 -0
  107. digitalocean_genai_sdk/types/api_indexing_job.py +43 -0
  108. digitalocean_genai_sdk/types/api_key_list_params.py +42 -0
  109. digitalocean_genai_sdk/types/api_key_list_response.py +42 -0
  110. digitalocean_genai_sdk/types/api_keys/__init__.py +13 -0
  111. digitalocean_genai_sdk/types/api_keys/api_key_create_params.py +11 -0
  112. digitalocean_genai_sdk/types/api_keys/api_key_create_response.py +12 -0
  113. digitalocean_genai_sdk/types/api_keys/api_key_delete_response.py +12 -0
  114. digitalocean_genai_sdk/types/api_keys/api_key_list_params.py +15 -0
  115. digitalocean_genai_sdk/types/api_keys/api_key_list_response.py +18 -0
  116. digitalocean_genai_sdk/types/api_keys/api_key_update_params.py +15 -0
  117. digitalocean_genai_sdk/types/api_keys/api_key_update_regenerate_response.py +12 -0
  118. digitalocean_genai_sdk/types/api_keys/api_key_update_response.py +12 -0
  119. digitalocean_genai_sdk/types/api_keys/api_model_api_key_info.py +22 -0
  120. digitalocean_genai_sdk/types/api_knowledge_base.py +37 -0
  121. digitalocean_genai_sdk/types/api_model.py +57 -0
  122. digitalocean_genai_sdk/types/api_model_version.py +15 -0
  123. digitalocean_genai_sdk/types/api_openai_api_key_info.py +25 -0
  124. digitalocean_genai_sdk/types/api_retrieval_method.py +13 -0
  125. digitalocean_genai_sdk/types/auth/__init__.py +3 -0
  126. digitalocean_genai_sdk/types/auth/agents/__init__.py +6 -0
  127. digitalocean_genai_sdk/types/auth/agents/token_create_params.py +13 -0
  128. digitalocean_genai_sdk/types/auth/agents/token_create_response.py +13 -0
  129. digitalocean_genai_sdk/types/chat_completion_request_message_content_part_text_param.py +15 -0
  130. digitalocean_genai_sdk/types/chat_completion_token_logprob.py +57 -0
  131. digitalocean_genai_sdk/types/chat_create_completion_params.py +208 -0
  132. digitalocean_genai_sdk/types/chat_create_completion_response.py +81 -0
  133. digitalocean_genai_sdk/types/embedding_create_params.py +28 -0
  134. digitalocean_genai_sdk/types/embedding_create_response.py +41 -0
  135. digitalocean_genai_sdk/types/indexing_job_create_params.py +14 -0
  136. digitalocean_genai_sdk/types/indexing_job_create_response.py +12 -0
  137. digitalocean_genai_sdk/types/indexing_job_list_params.py +15 -0
  138. digitalocean_genai_sdk/types/indexing_job_list_response.py +18 -0
  139. digitalocean_genai_sdk/types/indexing_job_retrieve_data_sources_response.py +52 -0
  140. digitalocean_genai_sdk/types/indexing_job_retrieve_response.py +12 -0
  141. digitalocean_genai_sdk/types/indexing_job_update_cancel_params.py +14 -0
  142. digitalocean_genai_sdk/types/indexing_job_update_cancel_response.py +12 -0
  143. digitalocean_genai_sdk/types/knowledge_base_create_params.py +64 -0
  144. digitalocean_genai_sdk/types/knowledge_base_create_response.py +12 -0
  145. digitalocean_genai_sdk/types/knowledge_base_delete_response.py +11 -0
  146. digitalocean_genai_sdk/types/knowledge_base_list_params.py +15 -0
  147. digitalocean_genai_sdk/types/knowledge_base_list_response.py +18 -0
  148. digitalocean_genai_sdk/types/knowledge_base_retrieve_response.py +30 -0
  149. digitalocean_genai_sdk/types/knowledge_base_update_params.py +27 -0
  150. digitalocean_genai_sdk/types/knowledge_base_update_response.py +12 -0
  151. digitalocean_genai_sdk/types/knowledge_bases/__init__.py +16 -0
  152. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source.py +15 -0
  153. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source_param.py +15 -0
  154. digitalocean_genai_sdk/types/knowledge_bases/api_knowledge_base_data_source.py +35 -0
  155. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source.py +15 -0
  156. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source_param.py +15 -0
  157. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source.py +26 -0
  158. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source_param.py +25 -0
  159. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_params.py +33 -0
  160. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_response.py +12 -0
  161. digitalocean_genai_sdk/types/knowledge_bases/data_source_delete_response.py +13 -0
  162. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_params.py +15 -0
  163. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_response.py +18 -0
  164. digitalocean_genai_sdk/types/model.py +21 -0
  165. digitalocean_genai_sdk/types/model_list_response.py +15 -0
  166. digitalocean_genai_sdk/types/providers/__init__.py +3 -0
  167. digitalocean_genai_sdk/types/providers/anthropic/__init__.py +14 -0
  168. digitalocean_genai_sdk/types/providers/anthropic/key_create_params.py +13 -0
  169. digitalocean_genai_sdk/types/providers/anthropic/key_create_response.py +12 -0
  170. digitalocean_genai_sdk/types/providers/anthropic/key_delete_response.py +12 -0
  171. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_params.py +15 -0
  172. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_response.py +22 -0
  173. digitalocean_genai_sdk/types/providers/anthropic/key_list_params.py +15 -0
  174. digitalocean_genai_sdk/types/providers/anthropic/key_list_response.py +18 -0
  175. digitalocean_genai_sdk/types/providers/anthropic/key_retrieve_response.py +12 -0
  176. digitalocean_genai_sdk/types/providers/anthropic/key_update_params.py +17 -0
  177. digitalocean_genai_sdk/types/providers/anthropic/key_update_response.py +12 -0
  178. digitalocean_genai_sdk/types/providers/openai/__init__.py +14 -0
  179. digitalocean_genai_sdk/types/providers/openai/key_create_params.py +13 -0
  180. digitalocean_genai_sdk/types/providers/openai/key_create_response.py +12 -0
  181. digitalocean_genai_sdk/types/providers/openai/key_delete_response.py +12 -0
  182. digitalocean_genai_sdk/types/providers/openai/key_list_params.py +15 -0
  183. digitalocean_genai_sdk/types/providers/openai/key_list_response.py +18 -0
  184. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_params.py +15 -0
  185. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_response.py +22 -0
  186. digitalocean_genai_sdk/types/providers/openai/key_retrieve_response.py +12 -0
  187. digitalocean_genai_sdk/types/providers/openai/key_update_params.py +17 -0
  188. digitalocean_genai_sdk/types/providers/openai/key_update_response.py +12 -0
  189. digitalocean_genai_sdk/types/region_list_params.py +15 -0
  190. digitalocean_genai_sdk/types/region_list_response.py +23 -0
@@ -0,0 +1,173 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
+ from ...._utils import maybe_transform, async_maybe_transform
9
+ from ...._compat import cached_property
10
+ from ...._resource import SyncAPIResource, AsyncAPIResource
11
+ from ...._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ...._base_client import make_request_options
18
+ from ....types.auth.agents import token_create_params
19
+ from ....types.auth.agents.token_create_response import TokenCreateResponse
20
+
21
+ __all__ = ["TokenResource", "AsyncTokenResource"]
22
+
23
+
24
+ class TokenResource(SyncAPIResource):
25
+ @cached_property
26
+ def with_raw_response(self) -> TokenResourceWithRawResponse:
27
+ """
28
+ This property can be used as a prefix for any HTTP method call to return
29
+ the raw response object instead of the parsed content.
30
+
31
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
32
+ """
33
+ return TokenResourceWithRawResponse(self)
34
+
35
+ @cached_property
36
+ def with_streaming_response(self) -> TokenResourceWithStreamingResponse:
37
+ """
38
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
39
+
40
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
41
+ """
42
+ return TokenResourceWithStreamingResponse(self)
43
+
44
+ def create(
45
+ self,
46
+ path_agent_uuid: str,
47
+ *,
48
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
49
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
50
+ # The extra values given here take precedence over values defined on the client or passed to this method.
51
+ extra_headers: Headers | None = None,
52
+ extra_query: Query | None = None,
53
+ extra_body: Body | None = None,
54
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
55
+ ) -> TokenCreateResponse:
56
+ """
57
+ To issue an agent token, send a POST request to
58
+ `/v2/gen-ai/auth/agents/{agent_uuid}/token`.
59
+
60
+ Args:
61
+ extra_headers: Send extra headers
62
+
63
+ extra_query: Add additional query parameters to the request
64
+
65
+ extra_body: Add additional JSON properties to the request
66
+
67
+ timeout: Override the client-level default timeout for this request, in seconds
68
+ """
69
+ if not path_agent_uuid:
70
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
71
+ return self._post(
72
+ f"/v2/genai/auth/agents/{path_agent_uuid}/token",
73
+ body=maybe_transform({"body_agent_uuid": body_agent_uuid}, token_create_params.TokenCreateParams),
74
+ options=make_request_options(
75
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
76
+ ),
77
+ cast_to=TokenCreateResponse,
78
+ )
79
+
80
+
81
+ class AsyncTokenResource(AsyncAPIResource):
82
+ @cached_property
83
+ def with_raw_response(self) -> AsyncTokenResourceWithRawResponse:
84
+ """
85
+ This property can be used as a prefix for any HTTP method call to return
86
+ the raw response object instead of the parsed content.
87
+
88
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
89
+ """
90
+ return AsyncTokenResourceWithRawResponse(self)
91
+
92
+ @cached_property
93
+ def with_streaming_response(self) -> AsyncTokenResourceWithStreamingResponse:
94
+ """
95
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
96
+
97
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
98
+ """
99
+ return AsyncTokenResourceWithStreamingResponse(self)
100
+
101
+ async def create(
102
+ self,
103
+ path_agent_uuid: str,
104
+ *,
105
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
106
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
107
+ # The extra values given here take precedence over values defined on the client or passed to this method.
108
+ extra_headers: Headers | None = None,
109
+ extra_query: Query | None = None,
110
+ extra_body: Body | None = None,
111
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
112
+ ) -> TokenCreateResponse:
113
+ """
114
+ To issue an agent token, send a POST request to
115
+ `/v2/gen-ai/auth/agents/{agent_uuid}/token`.
116
+
117
+ Args:
118
+ extra_headers: Send extra headers
119
+
120
+ extra_query: Add additional query parameters to the request
121
+
122
+ extra_body: Add additional JSON properties to the request
123
+
124
+ timeout: Override the client-level default timeout for this request, in seconds
125
+ """
126
+ if not path_agent_uuid:
127
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
128
+ return await self._post(
129
+ f"/v2/genai/auth/agents/{path_agent_uuid}/token",
130
+ body=await async_maybe_transform(
131
+ {"body_agent_uuid": body_agent_uuid}, token_create_params.TokenCreateParams
132
+ ),
133
+ options=make_request_options(
134
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
135
+ ),
136
+ cast_to=TokenCreateResponse,
137
+ )
138
+
139
+
140
+ class TokenResourceWithRawResponse:
141
+ def __init__(self, token: TokenResource) -> None:
142
+ self._token = token
143
+
144
+ self.create = to_raw_response_wrapper(
145
+ token.create,
146
+ )
147
+
148
+
149
+ class AsyncTokenResourceWithRawResponse:
150
+ def __init__(self, token: AsyncTokenResource) -> None:
151
+ self._token = token
152
+
153
+ self.create = async_to_raw_response_wrapper(
154
+ token.create,
155
+ )
156
+
157
+
158
+ class TokenResourceWithStreamingResponse:
159
+ def __init__(self, token: TokenResource) -> None:
160
+ self._token = token
161
+
162
+ self.create = to_streamed_response_wrapper(
163
+ token.create,
164
+ )
165
+
166
+
167
+ class AsyncTokenResourceWithStreamingResponse:
168
+ def __init__(self, token: AsyncTokenResource) -> None:
169
+ self._token = token
170
+
171
+ self.create = async_to_streamed_response_wrapper(
172
+ token.create,
173
+ )
@@ -0,0 +1,102 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from ..._compat import cached_property
6
+ from ..._resource import SyncAPIResource, AsyncAPIResource
7
+ from .agents.agents import (
8
+ AgentsResource,
9
+ AsyncAgentsResource,
10
+ AgentsResourceWithRawResponse,
11
+ AsyncAgentsResourceWithRawResponse,
12
+ AgentsResourceWithStreamingResponse,
13
+ AsyncAgentsResourceWithStreamingResponse,
14
+ )
15
+
16
+ __all__ = ["AuthResource", "AsyncAuthResource"]
17
+
18
+
19
+ class AuthResource(SyncAPIResource):
20
+ @cached_property
21
+ def agents(self) -> AgentsResource:
22
+ return AgentsResource(self._client)
23
+
24
+ @cached_property
25
+ def with_raw_response(self) -> AuthResourceWithRawResponse:
26
+ """
27
+ This property can be used as a prefix for any HTTP method call to return
28
+ the raw response object instead of the parsed content.
29
+
30
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
31
+ """
32
+ return AuthResourceWithRawResponse(self)
33
+
34
+ @cached_property
35
+ def with_streaming_response(self) -> AuthResourceWithStreamingResponse:
36
+ """
37
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
38
+
39
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
40
+ """
41
+ return AuthResourceWithStreamingResponse(self)
42
+
43
+
44
+ class AsyncAuthResource(AsyncAPIResource):
45
+ @cached_property
46
+ def agents(self) -> AsyncAgentsResource:
47
+ return AsyncAgentsResource(self._client)
48
+
49
+ @cached_property
50
+ def with_raw_response(self) -> AsyncAuthResourceWithRawResponse:
51
+ """
52
+ This property can be used as a prefix for any HTTP method call to return
53
+ the raw response object instead of the parsed content.
54
+
55
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
56
+ """
57
+ return AsyncAuthResourceWithRawResponse(self)
58
+
59
+ @cached_property
60
+ def with_streaming_response(self) -> AsyncAuthResourceWithStreamingResponse:
61
+ """
62
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
63
+
64
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
65
+ """
66
+ return AsyncAuthResourceWithStreamingResponse(self)
67
+
68
+
69
+ class AuthResourceWithRawResponse:
70
+ def __init__(self, auth: AuthResource) -> None:
71
+ self._auth = auth
72
+
73
+ @cached_property
74
+ def agents(self) -> AgentsResourceWithRawResponse:
75
+ return AgentsResourceWithRawResponse(self._auth.agents)
76
+
77
+
78
+ class AsyncAuthResourceWithRawResponse:
79
+ def __init__(self, auth: AsyncAuthResource) -> None:
80
+ self._auth = auth
81
+
82
+ @cached_property
83
+ def agents(self) -> AsyncAgentsResourceWithRawResponse:
84
+ return AsyncAgentsResourceWithRawResponse(self._auth.agents)
85
+
86
+
87
+ class AuthResourceWithStreamingResponse:
88
+ def __init__(self, auth: AuthResource) -> None:
89
+ self._auth = auth
90
+
91
+ @cached_property
92
+ def agents(self) -> AgentsResourceWithStreamingResponse:
93
+ return AgentsResourceWithStreamingResponse(self._auth.agents)
94
+
95
+
96
+ class AsyncAuthResourceWithStreamingResponse:
97
+ def __init__(self, auth: AsyncAuthResource) -> None:
98
+ self._auth = auth
99
+
100
+ @cached_property
101
+ def agents(self) -> AsyncAgentsResourceWithStreamingResponse:
102
+ return AsyncAgentsResourceWithStreamingResponse(self._auth.agents)
@@ -0,0 +1,381 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List, Union, Iterable, Optional
6
+
7
+ import httpx
8
+
9
+ from ..types import chat_create_completion_params
10
+ from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
11
+ from .._utils import maybe_transform, async_maybe_transform
12
+ from .._compat import cached_property
13
+ from .._resource import SyncAPIResource, AsyncAPIResource
14
+ from .._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from .._base_client import make_request_options
21
+ from ..types.chat_create_completion_response import ChatCreateCompletionResponse
22
+
23
+ __all__ = ["ChatResource", "AsyncChatResource"]
24
+
25
+
26
+ class ChatResource(SyncAPIResource):
27
+ @cached_property
28
+ def with_raw_response(self) -> ChatResourceWithRawResponse:
29
+ """
30
+ This property can be used as a prefix for any HTTP method call to return
31
+ the raw response object instead of the parsed content.
32
+
33
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
34
+ """
35
+ return ChatResourceWithRawResponse(self)
36
+
37
+ @cached_property
38
+ def with_streaming_response(self) -> ChatResourceWithStreamingResponse:
39
+ """
40
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
41
+
42
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
43
+ """
44
+ return ChatResourceWithStreamingResponse(self)
45
+
46
+ def create_completion(
47
+ self,
48
+ *,
49
+ messages: Iterable[chat_create_completion_params.Message],
50
+ model: str,
51
+ frequency_penalty: Optional[float] | NotGiven = NOT_GIVEN,
52
+ logit_bias: Optional[Dict[str, int]] | NotGiven = NOT_GIVEN,
53
+ logprobs: Optional[bool] | NotGiven = NOT_GIVEN,
54
+ max_completion_tokens: Optional[int] | NotGiven = NOT_GIVEN,
55
+ max_tokens: Optional[int] | NotGiven = NOT_GIVEN,
56
+ metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
57
+ n: Optional[int] | NotGiven = NOT_GIVEN,
58
+ presence_penalty: Optional[float] | NotGiven = NOT_GIVEN,
59
+ stop: Union[Optional[str], List[str], None] | NotGiven = NOT_GIVEN,
60
+ stream: Optional[bool] | NotGiven = NOT_GIVEN,
61
+ stream_options: Optional[chat_create_completion_params.StreamOptions] | NotGiven = NOT_GIVEN,
62
+ temperature: Optional[float] | NotGiven = NOT_GIVEN,
63
+ top_logprobs: Optional[int] | NotGiven = NOT_GIVEN,
64
+ top_p: Optional[float] | NotGiven = NOT_GIVEN,
65
+ user: str | NotGiven = NOT_GIVEN,
66
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
67
+ # The extra values given here take precedence over values defined on the client or passed to this method.
68
+ extra_headers: Headers | None = None,
69
+ extra_query: Query | None = None,
70
+ extra_body: Body | None = None,
71
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
72
+ ) -> ChatCreateCompletionResponse:
73
+ """
74
+ Creates a model response for the given chat conversation.
75
+
76
+ Args:
77
+ messages: A list of messages comprising the conversation so far.
78
+
79
+ model: Model ID used to generate the response.
80
+
81
+ frequency_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on their
82
+ existing frequency in the text so far, decreasing the model's likelihood to
83
+ repeat the same line verbatim.
84
+
85
+ logit_bias: Modify the likelihood of specified tokens appearing in the completion.
86
+
87
+ Accepts a JSON object that maps tokens (specified by their token ID in the
88
+ tokenizer) to an associated bias value from -100 to 100. Mathematically, the
89
+ bias is added to the logits generated by the model prior to sampling. The exact
90
+ effect will vary per model, but values between -1 and 1 should decrease or
91
+ increase likelihood of selection; values like -100 or 100 should result in a ban
92
+ or exclusive selection of the relevant token.
93
+
94
+ logprobs: Whether to return log probabilities of the output tokens or not. If true,
95
+ returns the log probabilities of each output token returned in the `content` of
96
+ `message`.
97
+
98
+ max_completion_tokens: The maximum number of completion tokens that may be used over the course of the
99
+ run. The run will make a best effort to use only the number of completion tokens
100
+ specified, across multiple turns of the run.
101
+
102
+ max_tokens: The maximum number of tokens that can be generated in the completion.
103
+
104
+ The token count of your prompt plus `max_tokens` cannot exceed the model's
105
+ context length.
106
+
107
+ metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
108
+ for storing additional information about the object in a structured format, and
109
+ querying for objects via API or the dashboard.
110
+
111
+ Keys are strings with a maximum length of 64 characters. Values are strings with
112
+ a maximum length of 512 characters.
113
+
114
+ n: How many chat completion choices to generate for each input message. Note that
115
+ you will be charged based on the number of generated tokens across all of the
116
+ choices. Keep `n` as `1` to minimize costs.
117
+
118
+ presence_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on
119
+ whether they appear in the text so far, increasing the model's likelihood to
120
+ talk about new topics.
121
+
122
+ stop: Up to 4 sequences where the API will stop generating further tokens. The
123
+ returned text will not contain the stop sequence.
124
+
125
+ stream: If set to true, the model response data will be streamed to the client as it is
126
+ generated using server-sent events.
127
+
128
+ stream_options: Options for streaming response. Only set this when you set `stream: true`.
129
+
130
+ temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
131
+ make the output more random, while lower values like 0.2 will make it more
132
+ focused and deterministic. We generally recommend altering this or `top_p` but
133
+ not both.
134
+
135
+ top_logprobs: An integer between 0 and 20 specifying the number of most likely tokens to
136
+ return at each token position, each with an associated log probability.
137
+ `logprobs` must be set to `true` if this parameter is used.
138
+
139
+ top_p: An alternative to sampling with temperature, called nucleus sampling, where the
140
+ model considers the results of the tokens with top_p probability mass. So 0.1
141
+ means only the tokens comprising the top 10% probability mass are considered.
142
+
143
+ We generally recommend altering this or `temperature` but not both.
144
+
145
+ user: A unique identifier representing your end-user, which can help DigitalOcean to
146
+ monitor and detect abuse.
147
+
148
+ extra_headers: Send extra headers
149
+
150
+ extra_query: Add additional query parameters to the request
151
+
152
+ extra_body: Add additional JSON properties to the request
153
+
154
+ timeout: Override the client-level default timeout for this request, in seconds
155
+ """
156
+ return self._post(
157
+ "/chat/completions",
158
+ body=maybe_transform(
159
+ {
160
+ "messages": messages,
161
+ "model": model,
162
+ "frequency_penalty": frequency_penalty,
163
+ "logit_bias": logit_bias,
164
+ "logprobs": logprobs,
165
+ "max_completion_tokens": max_completion_tokens,
166
+ "max_tokens": max_tokens,
167
+ "metadata": metadata,
168
+ "n": n,
169
+ "presence_penalty": presence_penalty,
170
+ "stop": stop,
171
+ "stream": stream,
172
+ "stream_options": stream_options,
173
+ "temperature": temperature,
174
+ "top_logprobs": top_logprobs,
175
+ "top_p": top_p,
176
+ "user": user,
177
+ },
178
+ chat_create_completion_params.ChatCreateCompletionParams,
179
+ ),
180
+ options=make_request_options(
181
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
182
+ ),
183
+ cast_to=ChatCreateCompletionResponse,
184
+ )
185
+
186
+
187
+ class AsyncChatResource(AsyncAPIResource):
188
+ @cached_property
189
+ def with_raw_response(self) -> AsyncChatResourceWithRawResponse:
190
+ """
191
+ This property can be used as a prefix for any HTTP method call to return
192
+ the raw response object instead of the parsed content.
193
+
194
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
195
+ """
196
+ return AsyncChatResourceWithRawResponse(self)
197
+
198
+ @cached_property
199
+ def with_streaming_response(self) -> AsyncChatResourceWithStreamingResponse:
200
+ """
201
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
202
+
203
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
204
+ """
205
+ return AsyncChatResourceWithStreamingResponse(self)
206
+
207
+ async def create_completion(
208
+ self,
209
+ *,
210
+ messages: Iterable[chat_create_completion_params.Message],
211
+ model: str,
212
+ frequency_penalty: Optional[float] | NotGiven = NOT_GIVEN,
213
+ logit_bias: Optional[Dict[str, int]] | NotGiven = NOT_GIVEN,
214
+ logprobs: Optional[bool] | NotGiven = NOT_GIVEN,
215
+ max_completion_tokens: Optional[int] | NotGiven = NOT_GIVEN,
216
+ max_tokens: Optional[int] | NotGiven = NOT_GIVEN,
217
+ metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
218
+ n: Optional[int] | NotGiven = NOT_GIVEN,
219
+ presence_penalty: Optional[float] | NotGiven = NOT_GIVEN,
220
+ stop: Union[Optional[str], List[str], None] | NotGiven = NOT_GIVEN,
221
+ stream: Optional[bool] | NotGiven = NOT_GIVEN,
222
+ stream_options: Optional[chat_create_completion_params.StreamOptions] | NotGiven = NOT_GIVEN,
223
+ temperature: Optional[float] | NotGiven = NOT_GIVEN,
224
+ top_logprobs: Optional[int] | NotGiven = NOT_GIVEN,
225
+ top_p: Optional[float] | NotGiven = NOT_GIVEN,
226
+ user: str | NotGiven = NOT_GIVEN,
227
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
228
+ # The extra values given here take precedence over values defined on the client or passed to this method.
229
+ extra_headers: Headers | None = None,
230
+ extra_query: Query | None = None,
231
+ extra_body: Body | None = None,
232
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
233
+ ) -> ChatCreateCompletionResponse:
234
+ """
235
+ Creates a model response for the given chat conversation.
236
+
237
+ Args:
238
+ messages: A list of messages comprising the conversation so far.
239
+
240
+ model: Model ID used to generate the response.
241
+
242
+ frequency_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on their
243
+ existing frequency in the text so far, decreasing the model's likelihood to
244
+ repeat the same line verbatim.
245
+
246
+ logit_bias: Modify the likelihood of specified tokens appearing in the completion.
247
+
248
+ Accepts a JSON object that maps tokens (specified by their token ID in the
249
+ tokenizer) to an associated bias value from -100 to 100. Mathematically, the
250
+ bias is added to the logits generated by the model prior to sampling. The exact
251
+ effect will vary per model, but values between -1 and 1 should decrease or
252
+ increase likelihood of selection; values like -100 or 100 should result in a ban
253
+ or exclusive selection of the relevant token.
254
+
255
+ logprobs: Whether to return log probabilities of the output tokens or not. If true,
256
+ returns the log probabilities of each output token returned in the `content` of
257
+ `message`.
258
+
259
+ max_completion_tokens: The maximum number of completion tokens that may be used over the course of the
260
+ run. The run will make a best effort to use only the number of completion tokens
261
+ specified, across multiple turns of the run.
262
+
263
+ max_tokens: The maximum number of tokens that can be generated in the completion.
264
+
265
+ The token count of your prompt plus `max_tokens` cannot exceed the model's
266
+ context length.
267
+
268
+ metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
269
+ for storing additional information about the object in a structured format, and
270
+ querying for objects via API or the dashboard.
271
+
272
+ Keys are strings with a maximum length of 64 characters. Values are strings with
273
+ a maximum length of 512 characters.
274
+
275
+ n: How many chat completion choices to generate for each input message. Note that
276
+ you will be charged based on the number of generated tokens across all of the
277
+ choices. Keep `n` as `1` to minimize costs.
278
+
279
+ presence_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on
280
+ whether they appear in the text so far, increasing the model's likelihood to
281
+ talk about new topics.
282
+
283
+ stop: Up to 4 sequences where the API will stop generating further tokens. The
284
+ returned text will not contain the stop sequence.
285
+
286
+ stream: If set to true, the model response data will be streamed to the client as it is
287
+ generated using server-sent events.
288
+
289
+ stream_options: Options for streaming response. Only set this when you set `stream: true`.
290
+
291
+ temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
292
+ make the output more random, while lower values like 0.2 will make it more
293
+ focused and deterministic. We generally recommend altering this or `top_p` but
294
+ not both.
295
+
296
+ top_logprobs: An integer between 0 and 20 specifying the number of most likely tokens to
297
+ return at each token position, each with an associated log probability.
298
+ `logprobs` must be set to `true` if this parameter is used.
299
+
300
+ top_p: An alternative to sampling with temperature, called nucleus sampling, where the
301
+ model considers the results of the tokens with top_p probability mass. So 0.1
302
+ means only the tokens comprising the top 10% probability mass are considered.
303
+
304
+ We generally recommend altering this or `temperature` but not both.
305
+
306
+ user: A unique identifier representing your end-user, which can help DigitalOcean to
307
+ monitor and detect abuse.
308
+
309
+ extra_headers: Send extra headers
310
+
311
+ extra_query: Add additional query parameters to the request
312
+
313
+ extra_body: Add additional JSON properties to the request
314
+
315
+ timeout: Override the client-level default timeout for this request, in seconds
316
+ """
317
+ return await self._post(
318
+ "/chat/completions",
319
+ body=await async_maybe_transform(
320
+ {
321
+ "messages": messages,
322
+ "model": model,
323
+ "frequency_penalty": frequency_penalty,
324
+ "logit_bias": logit_bias,
325
+ "logprobs": logprobs,
326
+ "max_completion_tokens": max_completion_tokens,
327
+ "max_tokens": max_tokens,
328
+ "metadata": metadata,
329
+ "n": n,
330
+ "presence_penalty": presence_penalty,
331
+ "stop": stop,
332
+ "stream": stream,
333
+ "stream_options": stream_options,
334
+ "temperature": temperature,
335
+ "top_logprobs": top_logprobs,
336
+ "top_p": top_p,
337
+ "user": user,
338
+ },
339
+ chat_create_completion_params.ChatCreateCompletionParams,
340
+ ),
341
+ options=make_request_options(
342
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
343
+ ),
344
+ cast_to=ChatCreateCompletionResponse,
345
+ )
346
+
347
+
348
+ class ChatResourceWithRawResponse:
349
+ def __init__(self, chat: ChatResource) -> None:
350
+ self._chat = chat
351
+
352
+ self.create_completion = to_raw_response_wrapper(
353
+ chat.create_completion,
354
+ )
355
+
356
+
357
+ class AsyncChatResourceWithRawResponse:
358
+ def __init__(self, chat: AsyncChatResource) -> None:
359
+ self._chat = chat
360
+
361
+ self.create_completion = async_to_raw_response_wrapper(
362
+ chat.create_completion,
363
+ )
364
+
365
+
366
+ class ChatResourceWithStreamingResponse:
367
+ def __init__(self, chat: ChatResource) -> None:
368
+ self._chat = chat
369
+
370
+ self.create_completion = to_streamed_response_wrapper(
371
+ chat.create_completion,
372
+ )
373
+
374
+
375
+ class AsyncChatResourceWithStreamingResponse:
376
+ def __init__(self, chat: AsyncChatResource) -> None:
377
+ self._chat = chat
378
+
379
+ self.create_completion = async_to_streamed_response_wrapper(
380
+ chat.create_completion,
381
+ )