Skip to content

Commit 03b2f54

Browse files
authored
Merge pull request #101 from stainless-sdks/chandrudo/update-kbaas
Chandrudo/update kbaas
2 parents 516734f + 4173864 commit 03b2f54

20 files changed

+1126
-57
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 188
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/digitalocean%2Fgradient-f07d74847e620dfa26d8df40ea4680814af9bba381b3a57a7b6ed76ad49d85f8.yml
3-
openapi_spec_hash: e3553dc2abf2afd4368b736bcc32a289
4-
config_hash: b28984dd49d4baf1d68572efe83ac103
1+
configured_endpoints: 189
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/digitalocean%2Fgradient-ca993fd0bc66f703323a773c92da75207266f7f9d8c54ddac2fbd271a3cdaf86.yml
3+
openapi_spec_hash: 35d7edb04aab2ab28bc7e5851a54b4e3
4+
config_hash: fad48c8ac796b240fe3b90181586d1a4

api.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,3 +1027,15 @@ Methods:
10271027
- <code title="get /v2/nfs/snapshots/{nfs_snapshot_id}">client.nfs.snapshots.<a href="./src/gradient/resources/nfs/snapshots.py">retrieve</a>(nfs_snapshot_id, \*\*<a href="src/gradient/types/nfs/snapshot_retrieve_params.py">params</a>) -> <a href="./src/gradient/types/nfs/snapshot_retrieve_response.py">SnapshotRetrieveResponse</a></code>
10281028
- <code title="get /v2/nfs/snapshots">client.nfs.snapshots.<a href="./src/gradient/resources/nfs/snapshots.py">list</a>(\*\*<a href="src/gradient/types/nfs/snapshot_list_params.py">params</a>) -> <a href="./src/gradient/types/nfs/snapshot_list_response.py">SnapshotListResponse</a></code>
10291029
- <code title="delete /v2/nfs/snapshots/{nfs_snapshot_id}">client.nfs.snapshots.<a href="./src/gradient/resources/nfs/snapshots.py">delete</a>(nfs_snapshot_id, \*\*<a href="src/gradient/types/nfs/snapshot_delete_params.py">params</a>) -> None</code>
1030+
1031+
# Retrieve
1032+
1033+
Types:
1034+
1035+
```python
1036+
from gradient.types import RetrieveDocumentsResponse
1037+
```
1038+
1039+
Methods:
1040+
1041+
- <code title="post /{knowledgeBaseId}/retrieve">client.retrieve.<a href="./src/gradient/resources/retrieve.py">documents</a>(knowledge_base_id, \*\*<a href="src/gradient/types/retrieve_documents_params.py">params</a>) -> <a href="./src/gradient/types/retrieve_documents_response.py">RetrieveDocumentsResponse</a></code>

src/gradient/_client.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
images,
4040
models,
4141
regions,
42+
retrieve,
4243
databases,
4344
inference,
4445
gpu_droplets,
@@ -47,6 +48,7 @@
4748
from .resources.images import ImagesResource, AsyncImagesResource
4849
from .resources.nfs.nfs import NfsResource, AsyncNfsResource
4950
from .resources.regions import RegionsResource, AsyncRegionsResource
51+
from .resources.retrieve import RetrieveResource, AsyncRetrieveResource
5052
from .resources.chat.chat import ChatResource, AsyncChatResource
5153
from .resources.gpu_droplets import (
5254
GPUDropletsResource,
@@ -80,6 +82,7 @@ class Gradient(SyncAPIClient):
8082
agent_access_key: str | None
8183
_agent_endpoint: str | None
8284
inference_endpoint: str | None
85+
kbass_endpoint: str | None
8386

8487
def __init__(
8588
self,
@@ -89,6 +92,7 @@ def __init__(
8992
agent_access_key: str | None = None,
9093
agent_endpoint: str | None = None,
9194
inference_endpoint: str | None = None,
95+
kbass_endpoint: str | None = None,
9296
base_url: str | httpx.URL | None = None,
9397
timeout: float | Timeout | None | NotGiven = not_given,
9498
max_retries: int = DEFAULT_MAX_RETRIES,
@@ -119,6 +123,7 @@ def __init__(
119123
- `agent_access_key` from `GRADIENT_AGENT_ACCESS_KEY`
120124
- `agent_endpoint` from `GRADIENT_AGENT_ENDPOINT`
121125
- `inference_endpoint` from `GRADIENT_INFERENCE_ENDPOINT`
126+
- `kbass_endpoint` from `GRADIENT_KBASS_ENDPOINT`
122127
"""
123128
if access_token is None:
124129
access_token = os.environ.get("DIGITALOCEAN_ACCESS_TOKEN")
@@ -143,6 +148,10 @@ def __init__(
143148
)
144149
self.inference_endpoint = inference_endpoint
145150

151+
if kbass_endpoint is None:
152+
kbass_endpoint = os.environ.get("GRADIENT_KBASS_ENDPOINT") or "kbaas.do-ai.run"
153+
self.kbass_endpoint = kbass_endpoint
154+
146155
if base_url is None:
147156
base_url = os.environ.get("GRADIENT_BASE_URL")
148157
self._base_url_overridden = base_url is not None
@@ -237,6 +246,12 @@ def nfs(self) -> NfsResource:
237246

238247
return NfsResource(self)
239248

249+
@cached_property
250+
def retrieve(self) -> RetrieveResource:
251+
from .resources.retrieve import RetrieveResource
252+
253+
return RetrieveResource(self)
254+
240255
@cached_property
241256
def with_raw_response(self) -> GradientWithRawResponse:
242257
return GradientWithRawResponse(self)
@@ -326,6 +341,7 @@ def copy(
326341
agent_access_key: str | None = None,
327342
agent_endpoint: str | None = None,
328343
inference_endpoint: str | None = None,
344+
kbass_endpoint: str | None = None,
329345
base_url: str | httpx.URL | None = None,
330346
timeout: float | Timeout | None | NotGiven = not_given,
331347
http_client: httpx.Client | None = None,
@@ -370,6 +386,7 @@ def copy(
370386
agent_access_key=agent_access_key or self.agent_access_key,
371387
agent_endpoint=agent_endpoint or self._agent_endpoint,
372388
inference_endpoint=inference_endpoint or self.inference_endpoint,
389+
kbass_endpoint=kbass_endpoint or self.kbass_endpoint,
373390
base_url=base_url or self.base_url,
374391
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
375392
http_client=http_client,
@@ -436,6 +453,7 @@ class AsyncGradient(AsyncAPIClient):
436453
agent_access_key: str | None
437454
_agent_endpoint: str | None
438455
inference_endpoint: str | None
456+
kbass_endpoint: str | None
439457

440458
def __init__(
441459
self,
@@ -445,6 +463,7 @@ def __init__(
445463
agent_access_key: str | None = None,
446464
agent_endpoint: str | None = None,
447465
inference_endpoint: str | None = None,
466+
kbass_endpoint: str | None = None,
448467
base_url: str | httpx.URL | None = None,
449468
timeout: float | Timeout | None | NotGiven = not_given,
450469
max_retries: int = DEFAULT_MAX_RETRIES,
@@ -475,6 +494,7 @@ def __init__(
475494
- `agent_access_key` from `GRADIENT_AGENT_ACCESS_KEY`
476495
- `agent_endpoint` from `GRADIENT_AGENT_ENDPOINT`
477496
- `inference_endpoint` from `GRADIENT_INFERENCE_ENDPOINT`
497+
- `kbass_endpoint` from `GRADIENT_KBASS_ENDPOINT`
478498
"""
479499
if access_token is None:
480500
access_token = os.environ.get("DIGITALOCEAN_ACCESS_TOKEN")
@@ -499,6 +519,10 @@ def __init__(
499519
)
500520
self.inference_endpoint = inference_endpoint
501521

522+
if kbass_endpoint is None:
523+
kbass_endpoint = os.environ.get("GRADIENT_KBASS_ENDPOINT") or "kbaas.do-ai.run"
524+
self.kbass_endpoint = kbass_endpoint
525+
502526
if base_url is None:
503527
base_url = os.environ.get("GRADIENT_BASE_URL")
504528
self._base_url_overridden = base_url is not None
@@ -593,6 +617,12 @@ def nfs(self) -> AsyncNfsResource:
593617

594618
return AsyncNfsResource(self)
595619

620+
@cached_property
621+
def retrieve(self) -> AsyncRetrieveResource:
622+
from .resources.retrieve import AsyncRetrieveResource
623+
624+
return AsyncRetrieveResource(self)
625+
596626
@cached_property
597627
def with_raw_response(self) -> AsyncGradientWithRawResponse:
598628
return AsyncGradientWithRawResponse(self)
@@ -682,6 +712,7 @@ def copy(
682712
model_access_key: str | None = None,
683713
agent_access_key: str | None = None,
684714
inference_endpoint: str | None = None,
715+
kbass_endpoint: str | None = None,
685716
base_url: str | httpx.URL | None = None,
686717
timeout: float | Timeout | None | NotGiven = not_given,
687718
http_client: httpx.AsyncClient | None = None,
@@ -726,6 +757,7 @@ def copy(
726757
agent_access_key=agent_access_key or self.agent_access_key,
727758
agent_endpoint=agent_endpoint or self._agent_endpoint,
728759
inference_endpoint=inference_endpoint or self.inference_endpoint,
760+
kbass_endpoint=kbass_endpoint or self.kbass_endpoint,
729761
base_url=base_url or self.base_url,
730762
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
731763
http_client=http_client,
@@ -851,6 +883,12 @@ def nfs(self) -> nfs.NfsResourceWithRawResponse:
851883

852884
return NfsResourceWithRawResponse(self._client.nfs)
853885

886+
@cached_property
887+
def retrieve(self) -> retrieve.RetrieveResourceWithRawResponse:
888+
from .resources.retrieve import RetrieveResourceWithRawResponse
889+
890+
return RetrieveResourceWithRawResponse(self._client.retrieve)
891+
854892

855893
class AsyncGradientWithRawResponse:
856894
_client: AsyncGradient
@@ -922,6 +960,12 @@ def nfs(self) -> nfs.AsyncNfsResourceWithRawResponse:
922960

923961
return AsyncNfsResourceWithRawResponse(self._client.nfs)
924962

963+
@cached_property
964+
def retrieve(self) -> retrieve.AsyncRetrieveResourceWithRawResponse:
965+
from .resources.retrieve import AsyncRetrieveResourceWithRawResponse
966+
967+
return AsyncRetrieveResourceWithRawResponse(self._client.retrieve)
968+
925969

926970
class GradientWithStreamedResponse:
927971
_client: Gradient
@@ -993,6 +1037,12 @@ def nfs(self) -> nfs.NfsResourceWithStreamingResponse:
9931037

9941038
return NfsResourceWithStreamingResponse(self._client.nfs)
9951039

1040+
@cached_property
1041+
def retrieve(self) -> retrieve.RetrieveResourceWithStreamingResponse:
1042+
from .resources.retrieve import RetrieveResourceWithStreamingResponse
1043+
1044+
return RetrieveResourceWithStreamingResponse(self._client.retrieve)
1045+
9961046

9971047
class AsyncGradientWithStreamedResponse:
9981048
_client: AsyncGradient
@@ -1070,6 +1120,12 @@ def nfs(self) -> nfs.AsyncNfsResourceWithStreamingResponse:
10701120

10711121
return AsyncNfsResourceWithStreamingResponse(self._client.nfs)
10721122

1123+
@cached_property
1124+
def retrieve(self) -> retrieve.AsyncRetrieveResourceWithStreamingResponse:
1125+
from .resources.retrieve import AsyncRetrieveResourceWithStreamingResponse
1126+
1127+
return AsyncRetrieveResourceWithStreamingResponse(self._client.retrieve)
1128+
10731129

10741130
Client = Gradient
10751131

src/gradient/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@
4848
RegionsResourceWithStreamingResponse,
4949
AsyncRegionsResourceWithStreamingResponse,
5050
)
51+
from .retrieve import (
52+
RetrieveResource,
53+
AsyncRetrieveResource,
54+
RetrieveResourceWithRawResponse,
55+
AsyncRetrieveResourceWithRawResponse,
56+
RetrieveResourceWithStreamingResponse,
57+
AsyncRetrieveResourceWithStreamingResponse,
58+
)
5159
from .databases import (
5260
DatabasesResource,
5361
AsyncDatabasesResource,
@@ -142,4 +150,10 @@
142150
"AsyncNfsResourceWithRawResponse",
143151
"NfsResourceWithStreamingResponse",
144152
"AsyncNfsResourceWithStreamingResponse",
153+
"RetrieveResource",
154+
"AsyncRetrieveResource",
155+
"RetrieveResourceWithRawResponse",
156+
"AsyncRetrieveResourceWithRawResponse",
157+
"RetrieveResourceWithStreamingResponse",
158+
"AsyncRetrieveResourceWithStreamingResponse",
145159
]

src/gradient/resources/agents/chat/completions.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -472,9 +472,7 @@ def create(
472472
headers = {"Authorization": f"Bearer {self._client.agent_access_key}", **headers}
473473

474474
return self._post(
475-
"/chat/completions?agent=true"
476-
if self._client._base_url_overridden
477-
else f"{self._client.agent_endpoint}/api/v1/chat/completions?agent=true",
475+
"/chat/completions?agent=true",
478476
body=maybe_transform(
479477
{
480478
"messages": messages,
@@ -958,9 +956,7 @@ async def create(
958956
headers = {"Authorization": f"Bearer {self._client.agent_access_key}", **headers}
959957

960958
return await self._post(
961-
"/chat/completions?agent=true"
962-
if self._client._base_url_overridden
963-
else f"{self._client.agent_endpoint}/api/v1/chat/completions?agent=true",
959+
"/chat/completions?agent=true",
964960
body=await async_maybe_transform(
965961
{
966962
"messages": messages,

src/gradient/resources/chat/completions.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -473,9 +473,7 @@ def create(
473473
}
474474

475475
return self._post(
476-
"/chat/completions"
477-
if self._client._base_url_overridden
478-
else f"{self._client.inference_endpoint}/v1/chat/completions",
476+
"/chat/completions",
479477
body=maybe_transform(
480478
{
481479
"messages": messages,
@@ -963,9 +961,7 @@ async def create(
963961
}
964962

965963
return await self._post(
966-
"/chat/completions"
967-
if self._client._base_url_overridden
968-
else f"{self._client.inference_endpoint}/v1/chat/completions",
964+
"/chat/completions",
969965
body=await async_maybe_transform(
970966
{
971967
"messages": messages,

src/gradient/resources/images.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,7 @@ def generate(
317317
}
318318

319319
return self._post(
320-
"/images/generations"
321-
if self._client._base_url_overridden
322-
else f"{self._client.inference_endpoint}/v1/images/generations",
320+
"/images/generations",
323321
body=maybe_transform(
324322
{
325323
"prompt": prompt,
@@ -638,9 +636,7 @@ async def generate(
638636
**headers,
639637
}
640638
return await self._post(
641-
"/images/generations"
642-
if self._client._base_url_overridden
643-
else f"{self._client.inference_endpoint}/v1/images/generations",
639+
"/images/generations",
644640
body=await async_maybe_transform(
645641
{
646642
"prompt": prompt,

0 commit comments

Comments
 (0)