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,208 @@
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
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .chat_completion_request_message_content_part_text_param import ChatCompletionRequestMessageContentPartTextParam
9
+
10
+ __all__ = [
11
+ "ChatCreateCompletionParams",
12
+ "Message",
13
+ "MessageChatCompletionRequestSystemMessage",
14
+ "MessageChatCompletionRequestDeveloperMessage",
15
+ "MessageChatCompletionRequestUserMessage",
16
+ "MessageChatCompletionRequestAssistantMessage",
17
+ "MessageChatCompletionRequestAssistantMessageContentArrayOfContentPart",
18
+ "MessageChatCompletionRequestAssistantMessageContentArrayOfContentPartChatCompletionRequestMessageContentPartRefusal",
19
+ "StreamOptions",
20
+ ]
21
+
22
+
23
+ class ChatCreateCompletionParams(TypedDict, total=False):
24
+ messages: Required[Iterable[Message]]
25
+ """A list of messages comprising the conversation so far."""
26
+
27
+ model: Required[str]
28
+ """Model ID used to generate the response."""
29
+
30
+ frequency_penalty: Optional[float]
31
+ """Number between -2.0 and 2.0.
32
+
33
+ Positive values penalize new tokens based on their existing frequency in the
34
+ text so far, decreasing the model's likelihood to repeat the same line verbatim.
35
+ """
36
+
37
+ logit_bias: Optional[Dict[str, int]]
38
+ """Modify the likelihood of specified tokens appearing in the completion.
39
+
40
+ Accepts a JSON object that maps tokens (specified by their token ID in the
41
+ tokenizer) to an associated bias value from -100 to 100. Mathematically, the
42
+ bias is added to the logits generated by the model prior to sampling. The exact
43
+ effect will vary per model, but values between -1 and 1 should decrease or
44
+ increase likelihood of selection; values like -100 or 100 should result in a ban
45
+ or exclusive selection of the relevant token.
46
+ """
47
+
48
+ logprobs: Optional[bool]
49
+ """Whether to return log probabilities of the output tokens or not.
50
+
51
+ If true, returns the log probabilities of each output token returned in the
52
+ `content` of `message`.
53
+ """
54
+
55
+ max_completion_tokens: Optional[int]
56
+ """
57
+ The maximum number of completion tokens that may be used over the course of the
58
+ run. The run will make a best effort to use only the number of completion tokens
59
+ specified, across multiple turns of the run.
60
+ """
61
+
62
+ max_tokens: Optional[int]
63
+ """The maximum number of tokens that can be generated in the completion.
64
+
65
+ The token count of your prompt plus `max_tokens` cannot exceed the model's
66
+ context length.
67
+ """
68
+
69
+ metadata: Optional[Dict[str, str]]
70
+ """Set of 16 key-value pairs that can be attached to an object.
71
+
72
+ This can be useful for storing additional information about the object in a
73
+ structured format, and querying for objects via API or the dashboard.
74
+
75
+ Keys are strings with a maximum length of 64 characters. Values are strings with
76
+ a maximum length of 512 characters.
77
+ """
78
+
79
+ n: Optional[int]
80
+ """How many chat completion choices to generate for each input message.
81
+
82
+ Note that you will be charged based on the number of generated tokens across all
83
+ of the choices. Keep `n` as `1` to minimize costs.
84
+ """
85
+
86
+ presence_penalty: Optional[float]
87
+ """Number between -2.0 and 2.0.
88
+
89
+ Positive values penalize new tokens based on whether they appear in the text so
90
+ far, increasing the model's likelihood to talk about new topics.
91
+ """
92
+
93
+ stop: Union[Optional[str], List[str], None]
94
+ """Up to 4 sequences where the API will stop generating further tokens.
95
+
96
+ The returned text will not contain the stop sequence.
97
+ """
98
+
99
+ stream: Optional[bool]
100
+ """
101
+ If set to true, the model response data will be streamed to the client as it is
102
+ generated using server-sent events.
103
+ """
104
+
105
+ stream_options: Optional[StreamOptions]
106
+ """Options for streaming response. Only set this when you set `stream: true`."""
107
+
108
+ temperature: Optional[float]
109
+ """What sampling temperature to use, between 0 and 2.
110
+
111
+ Higher values like 0.8 will make the output more random, while lower values like
112
+ 0.2 will make it more focused and deterministic. We generally recommend altering
113
+ this or `top_p` but not both.
114
+ """
115
+
116
+ top_logprobs: Optional[int]
117
+ """
118
+ An integer between 0 and 20 specifying the number of most likely tokens to
119
+ return at each token position, each with an associated log probability.
120
+ `logprobs` must be set to `true` if this parameter is used.
121
+ """
122
+
123
+ top_p: Optional[float]
124
+ """
125
+ An alternative to sampling with temperature, called nucleus sampling, where the
126
+ model considers the results of the tokens with top_p probability mass. So 0.1
127
+ means only the tokens comprising the top 10% probability mass are considered.
128
+
129
+ We generally recommend altering this or `temperature` but not both.
130
+ """
131
+
132
+ user: str
133
+ """
134
+ A unique identifier representing your end-user, which can help DigitalOcean to
135
+ monitor and detect abuse.
136
+ """
137
+
138
+
139
+ class MessageChatCompletionRequestSystemMessage(TypedDict, total=False):
140
+ content: Required[Union[str, Iterable[ChatCompletionRequestMessageContentPartTextParam]]]
141
+ """The contents of the system message."""
142
+
143
+ role: Required[Literal["system"]]
144
+ """The role of the messages author, in this case `system`."""
145
+
146
+
147
+ class MessageChatCompletionRequestDeveloperMessage(TypedDict, total=False):
148
+ content: Required[Union[str, Iterable[ChatCompletionRequestMessageContentPartTextParam]]]
149
+ """The contents of the developer message."""
150
+
151
+ role: Required[Literal["developer"]]
152
+ """The role of the messages author, in this case `developer`."""
153
+
154
+
155
+ class MessageChatCompletionRequestUserMessage(TypedDict, total=False):
156
+ content: Required[Union[str, Iterable[ChatCompletionRequestMessageContentPartTextParam]]]
157
+ """The contents of the user message."""
158
+
159
+ role: Required[Literal["user"]]
160
+ """The role of the messages author, in this case `user`."""
161
+
162
+
163
+ class MessageChatCompletionRequestAssistantMessageContentArrayOfContentPartChatCompletionRequestMessageContentPartRefusal(
164
+ TypedDict, total=False
165
+ ):
166
+ refusal: Required[str]
167
+ """The refusal message generated by the model."""
168
+
169
+ type: Required[Literal["refusal"]]
170
+ """The type of the content part."""
171
+
172
+
173
+ MessageChatCompletionRequestAssistantMessageContentArrayOfContentPart: TypeAlias = Union[
174
+ ChatCompletionRequestMessageContentPartTextParam,
175
+ MessageChatCompletionRequestAssistantMessageContentArrayOfContentPartChatCompletionRequestMessageContentPartRefusal,
176
+ ]
177
+
178
+
179
+ class MessageChatCompletionRequestAssistantMessage(TypedDict, total=False):
180
+ role: Required[Literal["assistant"]]
181
+ """The role of the messages author, in this case `assistant`."""
182
+
183
+ content: Union[str, Iterable[MessageChatCompletionRequestAssistantMessageContentArrayOfContentPart], None]
184
+ """The contents of the assistant message."""
185
+
186
+ refusal: Optional[str]
187
+ """The refusal message by the assistant."""
188
+
189
+
190
+ Message: TypeAlias = Union[
191
+ MessageChatCompletionRequestSystemMessage,
192
+ MessageChatCompletionRequestDeveloperMessage,
193
+ MessageChatCompletionRequestUserMessage,
194
+ MessageChatCompletionRequestAssistantMessage,
195
+ ]
196
+
197
+
198
+ class StreamOptions(TypedDict, total=False):
199
+ include_usage: bool
200
+ """If set, an additional chunk will be streamed before the `data: [DONE]` message.
201
+
202
+ The `usage` field on this chunk shows the token usage statistics for the entire
203
+ request, and the `choices` field will always be an empty array.
204
+
205
+ All other chunks will also include a `usage` field, but with a null value.
206
+ **NOTE:** If the stream is interrupted, you may not receive the final usage
207
+ chunk which contains the total token usage for the request.
208
+ """
@@ -0,0 +1,81 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+ from .chat_completion_token_logprob import ChatCompletionTokenLogprob
8
+
9
+ __all__ = ["ChatCreateCompletionResponse", "Choice", "ChoiceLogprobs", "ChoiceMessage", "Usage"]
10
+
11
+
12
+ class ChoiceLogprobs(BaseModel):
13
+ content: Optional[List[ChatCompletionTokenLogprob]] = None
14
+ """A list of message content tokens with log probability information."""
15
+
16
+ refusal: Optional[List[ChatCompletionTokenLogprob]] = None
17
+ """A list of message refusal tokens with log probability information."""
18
+
19
+
20
+ class ChoiceMessage(BaseModel):
21
+ content: Optional[str] = None
22
+ """The contents of the message."""
23
+
24
+ refusal: Optional[str] = None
25
+ """The refusal message generated by the model."""
26
+
27
+ role: Literal["assistant"]
28
+ """The role of the author of this message."""
29
+
30
+
31
+ class Choice(BaseModel):
32
+ finish_reason: Literal["stop", "length"]
33
+ """The reason the model stopped generating tokens.
34
+
35
+ This will be `stop` if the model hit a natural stop point or a provided stop
36
+ sequence, or `length` if the maximum number of tokens specified in the request
37
+ was reached.
38
+ """
39
+
40
+ index: int
41
+ """The index of the choice in the list of choices."""
42
+
43
+ logprobs: Optional[ChoiceLogprobs] = None
44
+ """Log probability information for the choice."""
45
+
46
+ message: ChoiceMessage
47
+ """A chat completion message generated by the model."""
48
+
49
+
50
+ class Usage(BaseModel):
51
+ completion_tokens: int
52
+ """Number of tokens in the generated completion."""
53
+
54
+ prompt_tokens: int
55
+ """Number of tokens in the prompt."""
56
+
57
+ total_tokens: int
58
+ """Total number of tokens used in the request (prompt + completion)."""
59
+
60
+
61
+ class ChatCreateCompletionResponse(BaseModel):
62
+ id: str
63
+ """A unique identifier for the chat completion."""
64
+
65
+ choices: List[Choice]
66
+ """A list of chat completion choices.
67
+
68
+ Can be more than one if `n` is greater than 1.
69
+ """
70
+
71
+ created: int
72
+ """The Unix timestamp (in seconds) of when the chat completion was created."""
73
+
74
+ model: str
75
+ """The model used for the chat completion."""
76
+
77
+ object: Literal["chat.completion"]
78
+ """The object type, which is always `chat.completion`."""
79
+
80
+ usage: Optional[Usage] = None
81
+ """Usage statistics for the completion request."""
@@ -0,0 +1,28 @@
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 List, Union
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["EmbeddingCreateParams"]
9
+
10
+
11
+ class EmbeddingCreateParams(TypedDict, total=False):
12
+ input: Required[Union[str, List[str]]]
13
+ """Input text to embed, encoded as a string or array of tokens.
14
+
15
+ To embed multiple inputs in a single request, pass an array of strings.
16
+ """
17
+
18
+ model: Required[str]
19
+ """ID of the model to use.
20
+
21
+ You can use the List models API to see all of your available models.
22
+ """
23
+
24
+ user: str
25
+ """
26
+ A unique identifier representing your end-user, which can help DigitalOcean to
27
+ monitor and detect abuse.
28
+ """
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["EmbeddingCreateResponse", "Data", "Usage"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ embedding: List[float]
13
+ """The embedding vector, which is a list of floats."""
14
+
15
+ index: int
16
+ """The index of the embedding in the list of embeddings."""
17
+
18
+ object: Literal["embedding"]
19
+ """The object type, which is always "embedding"."""
20
+
21
+
22
+ class Usage(BaseModel):
23
+ prompt_tokens: int
24
+ """The number of tokens used by the prompt."""
25
+
26
+ total_tokens: int
27
+ """The total number of tokens used by the request."""
28
+
29
+
30
+ class EmbeddingCreateResponse(BaseModel):
31
+ data: List[Data]
32
+ """The list of embeddings generated by the model."""
33
+
34
+ model: str
35
+ """The name of the model used to generate the embedding."""
36
+
37
+ object: Literal["list"]
38
+ """The object type, which is always "list"."""
39
+
40
+ usage: Usage
41
+ """The usage information for the request."""
@@ -0,0 +1,14 @@
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 List
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["IndexingJobCreateParams"]
9
+
10
+
11
+ class IndexingJobCreateParams(TypedDict, total=False):
12
+ data_source_uuids: List[str]
13
+
14
+ knowledge_base_uuid: str
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .api_indexing_job import APIIndexingJob
7
+
8
+ __all__ = ["IndexingJobCreateResponse"]
9
+
10
+
11
+ class IndexingJobCreateResponse(BaseModel):
12
+ job: Optional[APIIndexingJob] = None
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["IndexingJobListParams"]
8
+
9
+
10
+ class IndexingJobListParams(TypedDict, total=False):
11
+ page: int
12
+ """page number."""
13
+
14
+ per_page: int
15
+ """items per page."""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .agents.api_meta import APIMeta
7
+ from .agents.api_links import APILinks
8
+ from .api_indexing_job import APIIndexingJob
9
+
10
+ __all__ = ["IndexingJobListResponse"]
11
+
12
+
13
+ class IndexingJobListResponse(BaseModel):
14
+ jobs: Optional[List[APIIndexingJob]] = None
15
+
16
+ links: Optional[APILinks] = None
17
+
18
+ meta: Optional[APIMeta] = None
@@ -0,0 +1,52 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["IndexingJobRetrieveDataSourcesResponse", "IndexedDataSource"]
10
+
11
+
12
+ class IndexedDataSource(BaseModel):
13
+ completed_at: Optional[datetime] = None
14
+
15
+ data_source_uuid: Optional[str] = None
16
+
17
+ error_details: Optional[str] = None
18
+
19
+ error_msg: Optional[str] = None
20
+
21
+ failed_item_count: Optional[str] = None
22
+
23
+ indexed_file_count: Optional[str] = None
24
+
25
+ indexed_item_count: Optional[str] = None
26
+
27
+ removed_item_count: Optional[str] = None
28
+
29
+ skipped_item_count: Optional[str] = None
30
+
31
+ started_at: Optional[datetime] = None
32
+
33
+ status: Optional[
34
+ Literal[
35
+ "DATA_SOURCE_STATUS_UNKNOWN",
36
+ "DATA_SOURCE_STATUS_IN_PROGRESS",
37
+ "DATA_SOURCE_STATUS_UPDATED",
38
+ "DATA_SOURCE_STATUS_PARTIALLY_UPDATED",
39
+ "DATA_SOURCE_STATUS_NOT_UPDATED",
40
+ "DATA_SOURCE_STATUS_FAILED",
41
+ ]
42
+ ] = None
43
+
44
+ total_bytes: Optional[str] = None
45
+
46
+ total_bytes_indexed: Optional[str] = None
47
+
48
+ total_file_count: Optional[str] = None
49
+
50
+
51
+ class IndexingJobRetrieveDataSourcesResponse(BaseModel):
52
+ indexed_data_sources: Optional[List[IndexedDataSource]] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .api_indexing_job import APIIndexingJob
7
+
8
+ __all__ = ["IndexingJobRetrieveResponse"]
9
+
10
+
11
+ class IndexingJobRetrieveResponse(BaseModel):
12
+ job: Optional[APIIndexingJob] = None
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Annotated, TypedDict
6
+
7
+ from .._utils import PropertyInfo
8
+
9
+ __all__ = ["IndexingJobUpdateCancelParams"]
10
+
11
+
12
+ class IndexingJobUpdateCancelParams(TypedDict, total=False):
13
+ body_uuid: Annotated[str, PropertyInfo(alias="uuid")]
14
+ """A unique identifier for an indexing job."""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .api_indexing_job import APIIndexingJob
7
+
8
+ __all__ = ["IndexingJobUpdateCancelResponse"]
9
+
10
+
11
+ class IndexingJobUpdateCancelResponse(BaseModel):
12
+ job: Optional[APIIndexingJob] = None
@@ -0,0 +1,64 @@
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 List, Iterable
6
+ from typing_extensions import TypedDict
7
+
8
+ from .knowledge_bases.api_spaces_data_source_param import APISpacesDataSourceParam
9
+ from .knowledge_bases.api_file_upload_data_source_param import APIFileUploadDataSourceParam
10
+ from .knowledge_bases.api_web_crawler_data_source_param import APIWebCrawlerDataSourceParam
11
+
12
+ __all__ = ["KnowledgeBaseCreateParams", "Datasource"]
13
+
14
+
15
+ class KnowledgeBaseCreateParams(TypedDict, total=False):
16
+ database_id: str
17
+ """
18
+ Identifier of the DigitalOcean OpenSearch database this knowledge base will use,
19
+ optional. If not provided, we create a new database for the knowledge base in
20
+ the same region as the knowledge base.
21
+ """
22
+
23
+ datasources: Iterable[Datasource]
24
+ """The data sources to use for this knowledge base.
25
+
26
+ See
27
+ [Organize Data Sources](https://docs.digitalocean.com/products/genai-platform/concepts/best-practices/#spaces-buckets)
28
+ for more information on data sources best practices.
29
+ """
30
+
31
+ embedding_model_uuid: str
32
+ """
33
+ Identifier for the
34
+ [embedding model](https://docs.digitalocean.com/products/genai-platform/details/models/#embedding-models).
35
+ """
36
+
37
+ name: str
38
+ """Name of the knowledge base."""
39
+
40
+ project_id: str
41
+ """Identifier of the DigitalOcean project this knowledge base will belong to."""
42
+
43
+ region: str
44
+ """The datacenter region to deploy the knowledge base in."""
45
+
46
+ tags: List[str]
47
+ """Tags to organize your knowledge base."""
48
+
49
+ vpc_uuid: str
50
+
51
+
52
+ class Datasource(TypedDict, total=False):
53
+ bucket_name: str
54
+
55
+ bucket_region: str
56
+
57
+ file_upload_data_source: APIFileUploadDataSourceParam
58
+ """File to upload as data source for knowledge base."""
59
+
60
+ item_path: str
61
+
62
+ spaces_data_source: APISpacesDataSourceParam
63
+
64
+ web_crawler_data_source: APIWebCrawlerDataSourceParam
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+ from .api_knowledge_base import APIKnowledgeBase
7
+
8
+ __all__ = ["KnowledgeBaseCreateResponse"]
9
+
10
+
11
+ class KnowledgeBaseCreateResponse(BaseModel):
12
+ knowledge_base: Optional[APIKnowledgeBase] = None
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["KnowledgeBaseDeleteResponse"]
8
+
9
+
10
+ class KnowledgeBaseDeleteResponse(BaseModel):
11
+ uuid: Optional[str] = None
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["KnowledgeBaseListParams"]
8
+
9
+
10
+ class KnowledgeBaseListParams(TypedDict, total=False):
11
+ page: int
12
+ """page number."""
13
+
14
+ per_page: int
15
+ """items per page."""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .agents.api_meta import APIMeta
7
+ from .agents.api_links import APILinks
8
+ from .api_knowledge_base import APIKnowledgeBase
9
+
10
+ __all__ = ["KnowledgeBaseListResponse"]
11
+
12
+
13
+ class KnowledgeBaseListResponse(BaseModel):
14
+ knowledge_bases: Optional[List[APIKnowledgeBase]] = None
15
+
16
+ links: Optional[APILinks] = None
17
+
18
+ meta: Optional[APIMeta] = None
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+ from .api_knowledge_base import APIKnowledgeBase
8
+
9
+ __all__ = ["KnowledgeBaseRetrieveResponse"]
10
+
11
+
12
+ class KnowledgeBaseRetrieveResponse(BaseModel):
13
+ database_status: Optional[
14
+ Literal[
15
+ "CREATING",
16
+ "ONLINE",
17
+ "POWEROFF",
18
+ "REBUILDING",
19
+ "REBALANCING",
20
+ "DECOMMISSIONED",
21
+ "FORKING",
22
+ "MIGRATING",
23
+ "RESIZING",
24
+ "RESTORING",
25
+ "POWERING_ON",
26
+ "UNHEALTHY",
27
+ ]
28
+ ] = None
29
+
30
+ knowledge_base: Optional[APIKnowledgeBase] = None