scale-gp-beta 0.1.0a42__py3-none-any.whl → 0.1.0a43__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 (27) hide show
  1. scale_gp_beta/_base_client.py +5 -2
  2. scale_gp_beta/_client.py +38 -0
  3. scale_gp_beta/_compat.py +3 -3
  4. scale_gp_beta/_utils/_json.py +35 -0
  5. scale_gp_beta/_version.py +1 -1
  6. scale_gp_beta/resources/__init__.py +14 -0
  7. scale_gp_beta/resources/vector_stores.py +1314 -0
  8. scale_gp_beta/types/__init__.py +15 -0
  9. scale_gp_beta/types/vector_store.py +42 -0
  10. scale_gp_beta/types/vector_store_configure_params.py +16 -0
  11. scale_gp_beta/types/vector_store_count_params.py +13 -0
  12. scale_gp_beta/types/vector_store_count_response.py +12 -0
  13. scale_gp_beta/types/vector_store_create_params.py +35 -0
  14. scale_gp_beta/types/vector_store_delete_params.py +18 -0
  15. scale_gp_beta/types/vector_store_delete_response.py +12 -0
  16. scale_gp_beta/types/vector_store_drop_response.py +12 -0
  17. scale_gp_beta/types/vector_store_list_params.py +19 -0
  18. scale_gp_beta/types/vector_store_query_params.py +34 -0
  19. scale_gp_beta/types/vector_store_query_response.py +61 -0
  20. scale_gp_beta/types/vector_store_upsert_params.py +29 -0
  21. scale_gp_beta/types/vector_store_upsert_response.py +23 -0
  22. scale_gp_beta/types/vector_store_vectors_params.py +21 -0
  23. scale_gp_beta/types/vector_store_vectors_response.py +36 -0
  24. {scale_gp_beta-0.1.0a42.dist-info → scale_gp_beta-0.1.0a43.dist-info}/METADATA +3 -3
  25. {scale_gp_beta-0.1.0a42.dist-info → scale_gp_beta-0.1.0a43.dist-info}/RECORD +27 -10
  26. {scale_gp_beta-0.1.0a42.dist-info → scale_gp_beta-0.1.0a43.dist-info}/WHEEL +0 -0
  27. {scale_gp_beta-0.1.0a42.dist-info → scale_gp_beta-0.1.0a43.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1314 @@
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, Iterable
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..types import (
11
+ vector_store_list_params,
12
+ vector_store_count_params,
13
+ vector_store_query_params,
14
+ vector_store_create_params,
15
+ vector_store_delete_params,
16
+ vector_store_upsert_params,
17
+ vector_store_vectors_params,
18
+ vector_store_configure_params,
19
+ )
20
+ from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
21
+ from .._utils import maybe_transform, async_maybe_transform
22
+ from .._compat import cached_property
23
+ from .._resource import SyncAPIResource, AsyncAPIResource
24
+ from .._response import (
25
+ to_raw_response_wrapper,
26
+ to_streamed_response_wrapper,
27
+ async_to_raw_response_wrapper,
28
+ async_to_streamed_response_wrapper,
29
+ )
30
+ from ..pagination import SyncCursorPage, AsyncCursorPage
31
+ from .._base_client import AsyncPaginator, make_request_options
32
+ from ..types.vector_store import VectorStore
33
+ from ..types.vector_store_drop_response import VectorStoreDropResponse
34
+ from ..types.vector_store_count_response import VectorStoreCountResponse
35
+ from ..types.vector_store_query_response import VectorStoreQueryResponse
36
+ from ..types.vector_store_delete_response import VectorStoreDeleteResponse
37
+ from ..types.vector_store_upsert_response import VectorStoreUpsertResponse
38
+ from ..types.vector_store_vectors_response import VectorStoreVectorsResponse
39
+
40
+ __all__ = ["VectorStoresResource", "AsyncVectorStoresResource"]
41
+
42
+
43
+ class VectorStoresResource(SyncAPIResource):
44
+ @cached_property
45
+ def with_raw_response(self) -> VectorStoresResourceWithRawResponse:
46
+ """
47
+ This property can be used as a prefix for any HTTP method call to return
48
+ the raw response object instead of the parsed content.
49
+
50
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#accessing-raw-response-data-eg-headers
51
+ """
52
+ return VectorStoresResourceWithRawResponse(self)
53
+
54
+ @cached_property
55
+ def with_streaming_response(self) -> VectorStoresResourceWithStreamingResponse:
56
+ """
57
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
58
+
59
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#with_streaming_response
60
+ """
61
+ return VectorStoresResourceWithStreamingResponse(self)
62
+
63
+ def create(
64
+ self,
65
+ *,
66
+ embedding_model: Literal[
67
+ "sentence-transformers/all-MiniLM-L12-v2",
68
+ "sentence-transformers/all-mpnet-base-v2",
69
+ "sentence-transformers/multi-qa-distilbert-cos-v1",
70
+ "sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
71
+ "openai/text-embedding-ada-002",
72
+ "openai/text-embedding-3-small",
73
+ "openai/text-embedding-3-large",
74
+ "embed-english-v3.0",
75
+ "embed-english-light-v3.0",
76
+ "embed-multilingual-v3.0",
77
+ ],
78
+ name: str,
79
+ indexed_metadata_fields: Dict[str, Literal["string", "number", "boolean", "object", "list"]] | Omit = omit,
80
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
81
+ # The extra values given here take precedence over values defined on the client or passed to this method.
82
+ extra_headers: Headers | None = None,
83
+ extra_query: Query | None = None,
84
+ extra_body: Body | None = None,
85
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
86
+ ) -> VectorStore:
87
+ """
88
+ Create a new vector store.
89
+
90
+ The vector store will be scoped to the authenticated account. The name must be
91
+ unique within the account.
92
+
93
+ Args: request: Vector store creation parameters including name, dimensions, and
94
+ optional model vector_store_use_case: Injected vector store use case
95
+
96
+ Returns: The created vector store details
97
+
98
+ Args:
99
+ embedding_model: The embedding model to use
100
+
101
+ name: A unique name for the vector store within the account
102
+
103
+ indexed_metadata_fields: Dictionary mapping metadata field names to their types for efficient filtering.
104
+ Only STRING, NUMBER, and BOOLEAN types can be indexed.
105
+
106
+ extra_headers: Send extra headers
107
+
108
+ extra_query: Add additional query parameters to the request
109
+
110
+ extra_body: Add additional JSON properties to the request
111
+
112
+ timeout: Override the client-level default timeout for this request, in seconds
113
+ """
114
+ return self._post(
115
+ "/v5/vector-stores/create",
116
+ body=maybe_transform(
117
+ {
118
+ "embedding_model": embedding_model,
119
+ "name": name,
120
+ "indexed_metadata_fields": indexed_metadata_fields,
121
+ },
122
+ vector_store_create_params.VectorStoreCreateParams,
123
+ ),
124
+ options=make_request_options(
125
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
126
+ ),
127
+ cast_to=VectorStore,
128
+ )
129
+
130
+ def retrieve(
131
+ self,
132
+ vector_store_name: str,
133
+ *,
134
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
135
+ # The extra values given here take precedence over values defined on the client or passed to this method.
136
+ extra_headers: Headers | None = None,
137
+ extra_query: Query | None = None,
138
+ extra_body: Body | None = None,
139
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
140
+ ) -> VectorStore:
141
+ """
142
+ Get a vector store by name.
143
+
144
+ Args: vector_store_name: The unique name of the vector store within the account
145
+ vector_store_use_case: Injected vector store use case
146
+
147
+ Returns: The vector store details
148
+
149
+ Args:
150
+ vector_store_name: The name of the vector store
151
+
152
+ extra_headers: Send extra headers
153
+
154
+ extra_query: Add additional query parameters to the request
155
+
156
+ extra_body: Add additional JSON properties to the request
157
+
158
+ timeout: Override the client-level default timeout for this request, in seconds
159
+ """
160
+ if not vector_store_name:
161
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
162
+ return self._get(
163
+ f"/v5/vector-stores/{vector_store_name}",
164
+ options=make_request_options(
165
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
166
+ ),
167
+ cast_to=VectorStore,
168
+ )
169
+
170
+ def list(
171
+ self,
172
+ *,
173
+ ending_before: str | Omit = omit,
174
+ limit: int | Omit = omit,
175
+ sort_by: str | Omit = omit,
176
+ sort_order: Literal["asc", "desc"] | Omit = omit,
177
+ starting_after: str | Omit = omit,
178
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
179
+ # The extra values given here take precedence over values defined on the client or passed to this method.
180
+ extra_headers: Headers | None = None,
181
+ extra_query: Query | None = None,
182
+ extra_body: Body | None = None,
183
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
184
+ ) -> SyncCursorPage[VectorStore]:
185
+ """
186
+ List all vector stores for the current account with pagination.
187
+
188
+ Returns a paginated list of vector stores owned by the authenticated account.
189
+
190
+ Args:
191
+ extra_headers: Send extra headers
192
+
193
+ extra_query: Add additional query parameters to the request
194
+
195
+ extra_body: Add additional JSON properties to the request
196
+
197
+ timeout: Override the client-level default timeout for this request, in seconds
198
+ """
199
+ return self._get_api_list(
200
+ "/v5/vector-stores",
201
+ page=SyncCursorPage[VectorStore],
202
+ options=make_request_options(
203
+ extra_headers=extra_headers,
204
+ extra_query=extra_query,
205
+ extra_body=extra_body,
206
+ timeout=timeout,
207
+ query=maybe_transform(
208
+ {
209
+ "ending_before": ending_before,
210
+ "limit": limit,
211
+ "sort_by": sort_by,
212
+ "sort_order": sort_order,
213
+ "starting_after": starting_after,
214
+ },
215
+ vector_store_list_params.VectorStoreListParams,
216
+ ),
217
+ ),
218
+ model=VectorStore,
219
+ )
220
+
221
+ def delete(
222
+ self,
223
+ vector_store_name: str,
224
+ *,
225
+ filter: Dict[str, object] | Omit = omit,
226
+ ids: SequenceNotStr[str] | Omit = omit,
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
+ ) -> VectorStoreDeleteResponse:
234
+ """
235
+ Delete documents from a vector store by IDs or filter.
236
+
237
+ Args: request: Either IDs or filter criteria for deletion vector_store_name: The
238
+ unique name of the vector store vector_store_use_case: Injected vector store use
239
+ case
240
+
241
+ Returns: Number of documents deleted
242
+
243
+ Args:
244
+ vector_store_name: The name of the vector store
245
+
246
+ filter: Metadata filter expression for deletion
247
+
248
+ ids: Array of document IDs to delete
249
+
250
+ extra_headers: Send extra headers
251
+
252
+ extra_query: Add additional query parameters to the request
253
+
254
+ extra_body: Add additional JSON properties to the request
255
+
256
+ timeout: Override the client-level default timeout for this request, in seconds
257
+ """
258
+ if not vector_store_name:
259
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
260
+ return self._post(
261
+ f"/v5/vector-stores/{vector_store_name}/delete",
262
+ body=maybe_transform(
263
+ {
264
+ "filter": filter,
265
+ "ids": ids,
266
+ },
267
+ vector_store_delete_params.VectorStoreDeleteParams,
268
+ ),
269
+ options=make_request_options(
270
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
271
+ ),
272
+ cast_to=VectorStoreDeleteResponse,
273
+ )
274
+
275
+ def configure(
276
+ self,
277
+ vector_store_name: str,
278
+ *,
279
+ indexed_metadata_fields: Dict[str, Literal["string", "number", "boolean", "object", "list"]],
280
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
281
+ # The extra values given here take precedence over values defined on the client or passed to this method.
282
+ extra_headers: Headers | None = None,
283
+ extra_query: Query | None = None,
284
+ extra_body: Body | None = None,
285
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
286
+ ) -> VectorStore:
287
+ """
288
+ Configure the settings of a vector store.
289
+
290
+ Currently only supports updating indexed_metadata_fields. The name,
291
+ embedding_dimensions, and embedding_model are immutable after creation.
292
+
293
+ Args: request: Configuration update with indexed_metadata_fields
294
+ vector_store_name: The unique name of the vector store within the account
295
+ vector_store_use_case: Injected vector store use case
296
+
297
+ Returns: The updated vector store details
298
+
299
+ Args:
300
+ vector_store_name: The name of the vector store
301
+
302
+ indexed_metadata_fields: Dictionary mapping metadata field names to their types. Only STRING, NUMBER, and
303
+ BOOLEAN types can be indexed.
304
+
305
+ extra_headers: Send extra headers
306
+
307
+ extra_query: Add additional query parameters to the request
308
+
309
+ extra_body: Add additional JSON properties to the request
310
+
311
+ timeout: Override the client-level default timeout for this request, in seconds
312
+ """
313
+ if not vector_store_name:
314
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
315
+ return self._post(
316
+ f"/v5/vector-stores/{vector_store_name}/configure",
317
+ body=maybe_transform(
318
+ {"indexed_metadata_fields": indexed_metadata_fields},
319
+ vector_store_configure_params.VectorStoreConfigureParams,
320
+ ),
321
+ options=make_request_options(
322
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
323
+ ),
324
+ cast_to=VectorStore,
325
+ )
326
+
327
+ def count(
328
+ self,
329
+ vector_store_name: str,
330
+ *,
331
+ filter: Dict[str, object] | Omit = omit,
332
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
333
+ # The extra values given here take precedence over values defined on the client or passed to this method.
334
+ extra_headers: Headers | None = None,
335
+ extra_query: Query | None = None,
336
+ extra_body: Body | None = None,
337
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
338
+ ) -> VectorStoreCountResponse:
339
+ """
340
+ Count documents in a vector store, optionally filtered by metadata.
341
+
342
+ Args: vector_store_name: The unique name of the vector store request: Optional
343
+ filter criteria (empty body counts all documents) vector_store_use_case:
344
+ Injected vector store use case
345
+
346
+ Returns: The count of documents matching the criteria
347
+
348
+ Args:
349
+ vector_store_name: The name of the vector store
350
+
351
+ filter: Metadata filter expression
352
+
353
+ extra_headers: Send extra headers
354
+
355
+ extra_query: Add additional query parameters to the request
356
+
357
+ extra_body: Add additional JSON properties to the request
358
+
359
+ timeout: Override the client-level default timeout for this request, in seconds
360
+ """
361
+ if not vector_store_name:
362
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
363
+ return self._post(
364
+ f"/v5/vector-stores/{vector_store_name}/count",
365
+ body=maybe_transform({"filter": filter}, vector_store_count_params.VectorStoreCountParams),
366
+ options=make_request_options(
367
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
368
+ ),
369
+ cast_to=VectorStoreCountResponse,
370
+ )
371
+
372
+ def drop(
373
+ self,
374
+ vector_store_name: str,
375
+ *,
376
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
377
+ # The extra values given here take precedence over values defined on the client or passed to this method.
378
+ extra_headers: Headers | None = None,
379
+ extra_query: Query | None = None,
380
+ extra_body: Body | None = None,
381
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
382
+ ) -> VectorStoreDropResponse:
383
+ """
384
+ Delete (drop) a vector store by name.
385
+
386
+ This is a hard delete operation that permanently removes the vector store.
387
+
388
+ Args: vector_store_name: The unique name of the vector store within the account
389
+ vector_store_use_case: Injected vector store use case
390
+
391
+ Returns: Deletion confirmation with the vector store ID
392
+
393
+ Args:
394
+ vector_store_name: The name of the vector store
395
+
396
+ extra_headers: Send extra headers
397
+
398
+ extra_query: Add additional query parameters to the request
399
+
400
+ extra_body: Add additional JSON properties to the request
401
+
402
+ timeout: Override the client-level default timeout for this request, in seconds
403
+ """
404
+ if not vector_store_name:
405
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
406
+ return self._post(
407
+ f"/v5/vector-stores/{vector_store_name}/drop",
408
+ options=make_request_options(
409
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
410
+ ),
411
+ cast_to=VectorStoreDropResponse,
412
+ )
413
+
414
+ def query(
415
+ self,
416
+ vector_store_name: str,
417
+ *,
418
+ text: str,
419
+ filter: Dict[str, object] | Omit = omit,
420
+ include_vectors: bool | Omit = omit,
421
+ query_type: Literal["semantic", "lexical", "hybrid"] | Omit = omit,
422
+ rerank: bool | Omit = omit,
423
+ rerank_model: str | Omit = omit,
424
+ rerank_top_n: int | Omit = omit,
425
+ top_k: int | Omit = omit,
426
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
427
+ # The extra values given here take precedence over values defined on the client or passed to this method.
428
+ extra_headers: Headers | None = None,
429
+ extra_query: Query | None = None,
430
+ extra_body: Body | None = None,
431
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
432
+ ) -> VectorStoreQueryResponse:
433
+ """
434
+ Query documents by similarity search.
435
+
436
+ Supports semantic (vector), lexical (text), or hybrid search modes.
437
+
438
+ Args: request: Query parameters including text, filters, and reranking options
439
+ vector_store_name: The unique name of the vector store vector_store_use_case:
440
+ Injected vector store use case
441
+
442
+ Returns: Matching documents with similarity scores and query metadata
443
+
444
+ Args:
445
+ vector_store_name: The name of the vector store
446
+
447
+ text: Text query for automatic embedding (required)
448
+
449
+ filter: Metadata filter expression
450
+
451
+ include_vectors: Include embedding vectors in response
452
+
453
+ query_type: Query type: semantic, lexical, or hybrid
454
+
455
+ rerank: Enable reranking of search results
456
+
457
+ rerank_model: Reranking model to use (uses system default if not specified)
458
+
459
+ rerank_top_n: Number of results after reranking (defaults to top_k)
460
+
461
+ top_k: Number of search results to return
462
+
463
+ extra_headers: Send extra headers
464
+
465
+ extra_query: Add additional query parameters to the request
466
+
467
+ extra_body: Add additional JSON properties to the request
468
+
469
+ timeout: Override the client-level default timeout for this request, in seconds
470
+ """
471
+ if not vector_store_name:
472
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
473
+ return self._post(
474
+ f"/v5/vector-stores/{vector_store_name}/query",
475
+ body=maybe_transform(
476
+ {
477
+ "text": text,
478
+ "filter": filter,
479
+ "include_vectors": include_vectors,
480
+ "query_type": query_type,
481
+ "rerank": rerank,
482
+ "rerank_model": rerank_model,
483
+ "rerank_top_n": rerank_top_n,
484
+ "top_k": top_k,
485
+ },
486
+ vector_store_query_params.VectorStoreQueryParams,
487
+ ),
488
+ options=make_request_options(
489
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
490
+ ),
491
+ cast_to=VectorStoreQueryResponse,
492
+ )
493
+
494
+ def upsert(
495
+ self,
496
+ vector_store_name: str,
497
+ *,
498
+ vectors: Iterable[vector_store_upsert_params.Vector],
499
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
500
+ # The extra values given here take precedence over values defined on the client or passed to this method.
501
+ extra_headers: Headers | None = None,
502
+ extra_query: Query | None = None,
503
+ extra_body: Body | None = None,
504
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
505
+ ) -> VectorStoreUpsertResponse:
506
+ """
507
+ Insert or update documents in a vector store.
508
+
509
+ Existing documents (by ID) will be updated, new documents will be inserted.
510
+
511
+ Args: request: Array of documents to upsert vector_store_name: The unique name
512
+ of the vector store vector_store_use_case: Injected vector store use case
513
+
514
+ Returns: Batch operation results with success/failure counts
515
+
516
+ Args:
517
+ vector_store_name: The name of the vector store
518
+
519
+ vectors: Array of documents to upsert
520
+
521
+ extra_headers: Send extra headers
522
+
523
+ extra_query: Add additional query parameters to the request
524
+
525
+ extra_body: Add additional JSON properties to the request
526
+
527
+ timeout: Override the client-level default timeout for this request, in seconds
528
+ """
529
+ if not vector_store_name:
530
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
531
+ return self._post(
532
+ f"/v5/vector-stores/{vector_store_name}/upsert",
533
+ body=maybe_transform({"vectors": vectors}, vector_store_upsert_params.VectorStoreUpsertParams),
534
+ options=make_request_options(
535
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
536
+ ),
537
+ cast_to=VectorStoreUpsertResponse,
538
+ )
539
+
540
+ def vectors(
541
+ self,
542
+ vector_store_name: str,
543
+ *,
544
+ cursor: str | Omit = omit,
545
+ filter: str | Omit = omit,
546
+ include_vectors: bool | Omit = omit,
547
+ limit: int | Omit = omit,
548
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
549
+ # The extra values given here take precedence over values defined on the client or passed to this method.
550
+ extra_headers: Headers | None = None,
551
+ extra_query: Query | None = None,
552
+ extra_body: Body | None = None,
553
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
554
+ ) -> VectorStoreVectorsResponse:
555
+ """
556
+ List documents in a vector store with pagination.
557
+
558
+ Args: vector_store_name: The unique name of the vector store limit: Maximum
559
+ number of documents per page (max 100 with vectors, 1000 without) cursor:
560
+ Pagination cursor from previous response filter_param: Optional metadata filter
561
+ (JSON string) include_vectors: Whether to include embedding vectors
562
+ vector_store_use_case: Injected vector store use case
563
+
564
+ Returns: Paginated list of documents
565
+
566
+ Args:
567
+ vector_store_name: The name of the vector store
568
+
569
+ cursor: Pagination cursor
570
+
571
+ filter: Metadata filter expression (JSON)
572
+
573
+ include_vectors: Include embedding vectors
574
+
575
+ limit: Vectors per page
576
+
577
+ extra_headers: Send extra headers
578
+
579
+ extra_query: Add additional query parameters to the request
580
+
581
+ extra_body: Add additional JSON properties to the request
582
+
583
+ timeout: Override the client-level default timeout for this request, in seconds
584
+ """
585
+ if not vector_store_name:
586
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
587
+ return self._get(
588
+ f"/v5/vector-stores/{vector_store_name}/vectors",
589
+ options=make_request_options(
590
+ extra_headers=extra_headers,
591
+ extra_query=extra_query,
592
+ extra_body=extra_body,
593
+ timeout=timeout,
594
+ query=maybe_transform(
595
+ {
596
+ "cursor": cursor,
597
+ "filter": filter,
598
+ "include_vectors": include_vectors,
599
+ "limit": limit,
600
+ },
601
+ vector_store_vectors_params.VectorStoreVectorsParams,
602
+ ),
603
+ ),
604
+ cast_to=VectorStoreVectorsResponse,
605
+ )
606
+
607
+
608
+ class AsyncVectorStoresResource(AsyncAPIResource):
609
+ @cached_property
610
+ def with_raw_response(self) -> AsyncVectorStoresResourceWithRawResponse:
611
+ """
612
+ This property can be used as a prefix for any HTTP method call to return
613
+ the raw response object instead of the parsed content.
614
+
615
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#accessing-raw-response-data-eg-headers
616
+ """
617
+ return AsyncVectorStoresResourceWithRawResponse(self)
618
+
619
+ @cached_property
620
+ def with_streaming_response(self) -> AsyncVectorStoresResourceWithStreamingResponse:
621
+ """
622
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
623
+
624
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#with_streaming_response
625
+ """
626
+ return AsyncVectorStoresResourceWithStreamingResponse(self)
627
+
628
+ async def create(
629
+ self,
630
+ *,
631
+ embedding_model: Literal[
632
+ "sentence-transformers/all-MiniLM-L12-v2",
633
+ "sentence-transformers/all-mpnet-base-v2",
634
+ "sentence-transformers/multi-qa-distilbert-cos-v1",
635
+ "sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
636
+ "openai/text-embedding-ada-002",
637
+ "openai/text-embedding-3-small",
638
+ "openai/text-embedding-3-large",
639
+ "embed-english-v3.0",
640
+ "embed-english-light-v3.0",
641
+ "embed-multilingual-v3.0",
642
+ ],
643
+ name: str,
644
+ indexed_metadata_fields: Dict[str, Literal["string", "number", "boolean", "object", "list"]] | Omit = omit,
645
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
646
+ # The extra values given here take precedence over values defined on the client or passed to this method.
647
+ extra_headers: Headers | None = None,
648
+ extra_query: Query | None = None,
649
+ extra_body: Body | None = None,
650
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
651
+ ) -> VectorStore:
652
+ """
653
+ Create a new vector store.
654
+
655
+ The vector store will be scoped to the authenticated account. The name must be
656
+ unique within the account.
657
+
658
+ Args: request: Vector store creation parameters including name, dimensions, and
659
+ optional model vector_store_use_case: Injected vector store use case
660
+
661
+ Returns: The created vector store details
662
+
663
+ Args:
664
+ embedding_model: The embedding model to use
665
+
666
+ name: A unique name for the vector store within the account
667
+
668
+ indexed_metadata_fields: Dictionary mapping metadata field names to their types for efficient filtering.
669
+ Only STRING, NUMBER, and BOOLEAN types can be indexed.
670
+
671
+ extra_headers: Send extra headers
672
+
673
+ extra_query: Add additional query parameters to the request
674
+
675
+ extra_body: Add additional JSON properties to the request
676
+
677
+ timeout: Override the client-level default timeout for this request, in seconds
678
+ """
679
+ return await self._post(
680
+ "/v5/vector-stores/create",
681
+ body=await async_maybe_transform(
682
+ {
683
+ "embedding_model": embedding_model,
684
+ "name": name,
685
+ "indexed_metadata_fields": indexed_metadata_fields,
686
+ },
687
+ vector_store_create_params.VectorStoreCreateParams,
688
+ ),
689
+ options=make_request_options(
690
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
691
+ ),
692
+ cast_to=VectorStore,
693
+ )
694
+
695
+ async def retrieve(
696
+ self,
697
+ vector_store_name: str,
698
+ *,
699
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
700
+ # The extra values given here take precedence over values defined on the client or passed to this method.
701
+ extra_headers: Headers | None = None,
702
+ extra_query: Query | None = None,
703
+ extra_body: Body | None = None,
704
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
705
+ ) -> VectorStore:
706
+ """
707
+ Get a vector store by name.
708
+
709
+ Args: vector_store_name: The unique name of the vector store within the account
710
+ vector_store_use_case: Injected vector store use case
711
+
712
+ Returns: The vector store details
713
+
714
+ Args:
715
+ vector_store_name: The name of the vector store
716
+
717
+ extra_headers: Send extra headers
718
+
719
+ extra_query: Add additional query parameters to the request
720
+
721
+ extra_body: Add additional JSON properties to the request
722
+
723
+ timeout: Override the client-level default timeout for this request, in seconds
724
+ """
725
+ if not vector_store_name:
726
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
727
+ return await self._get(
728
+ f"/v5/vector-stores/{vector_store_name}",
729
+ options=make_request_options(
730
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
731
+ ),
732
+ cast_to=VectorStore,
733
+ )
734
+
735
+ def list(
736
+ self,
737
+ *,
738
+ ending_before: str | Omit = omit,
739
+ limit: int | Omit = omit,
740
+ sort_by: str | Omit = omit,
741
+ sort_order: Literal["asc", "desc"] | Omit = omit,
742
+ starting_after: str | Omit = omit,
743
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
744
+ # The extra values given here take precedence over values defined on the client or passed to this method.
745
+ extra_headers: Headers | None = None,
746
+ extra_query: Query | None = None,
747
+ extra_body: Body | None = None,
748
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
749
+ ) -> AsyncPaginator[VectorStore, AsyncCursorPage[VectorStore]]:
750
+ """
751
+ List all vector stores for the current account with pagination.
752
+
753
+ Returns a paginated list of vector stores owned by the authenticated account.
754
+
755
+ Args:
756
+ extra_headers: Send extra headers
757
+
758
+ extra_query: Add additional query parameters to the request
759
+
760
+ extra_body: Add additional JSON properties to the request
761
+
762
+ timeout: Override the client-level default timeout for this request, in seconds
763
+ """
764
+ return self._get_api_list(
765
+ "/v5/vector-stores",
766
+ page=AsyncCursorPage[VectorStore],
767
+ options=make_request_options(
768
+ extra_headers=extra_headers,
769
+ extra_query=extra_query,
770
+ extra_body=extra_body,
771
+ timeout=timeout,
772
+ query=maybe_transform(
773
+ {
774
+ "ending_before": ending_before,
775
+ "limit": limit,
776
+ "sort_by": sort_by,
777
+ "sort_order": sort_order,
778
+ "starting_after": starting_after,
779
+ },
780
+ vector_store_list_params.VectorStoreListParams,
781
+ ),
782
+ ),
783
+ model=VectorStore,
784
+ )
785
+
786
+ async def delete(
787
+ self,
788
+ vector_store_name: str,
789
+ *,
790
+ filter: Dict[str, object] | Omit = omit,
791
+ ids: SequenceNotStr[str] | Omit = omit,
792
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
793
+ # The extra values given here take precedence over values defined on the client or passed to this method.
794
+ extra_headers: Headers | None = None,
795
+ extra_query: Query | None = None,
796
+ extra_body: Body | None = None,
797
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
798
+ ) -> VectorStoreDeleteResponse:
799
+ """
800
+ Delete documents from a vector store by IDs or filter.
801
+
802
+ Args: request: Either IDs or filter criteria for deletion vector_store_name: The
803
+ unique name of the vector store vector_store_use_case: Injected vector store use
804
+ case
805
+
806
+ Returns: Number of documents deleted
807
+
808
+ Args:
809
+ vector_store_name: The name of the vector store
810
+
811
+ filter: Metadata filter expression for deletion
812
+
813
+ ids: Array of document IDs to delete
814
+
815
+ extra_headers: Send extra headers
816
+
817
+ extra_query: Add additional query parameters to the request
818
+
819
+ extra_body: Add additional JSON properties to the request
820
+
821
+ timeout: Override the client-level default timeout for this request, in seconds
822
+ """
823
+ if not vector_store_name:
824
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
825
+ return await self._post(
826
+ f"/v5/vector-stores/{vector_store_name}/delete",
827
+ body=await async_maybe_transform(
828
+ {
829
+ "filter": filter,
830
+ "ids": ids,
831
+ },
832
+ vector_store_delete_params.VectorStoreDeleteParams,
833
+ ),
834
+ options=make_request_options(
835
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
836
+ ),
837
+ cast_to=VectorStoreDeleteResponse,
838
+ )
839
+
840
+ async def configure(
841
+ self,
842
+ vector_store_name: str,
843
+ *,
844
+ indexed_metadata_fields: Dict[str, Literal["string", "number", "boolean", "object", "list"]],
845
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
846
+ # The extra values given here take precedence over values defined on the client or passed to this method.
847
+ extra_headers: Headers | None = None,
848
+ extra_query: Query | None = None,
849
+ extra_body: Body | None = None,
850
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
851
+ ) -> VectorStore:
852
+ """
853
+ Configure the settings of a vector store.
854
+
855
+ Currently only supports updating indexed_metadata_fields. The name,
856
+ embedding_dimensions, and embedding_model are immutable after creation.
857
+
858
+ Args: request: Configuration update with indexed_metadata_fields
859
+ vector_store_name: The unique name of the vector store within the account
860
+ vector_store_use_case: Injected vector store use case
861
+
862
+ Returns: The updated vector store details
863
+
864
+ Args:
865
+ vector_store_name: The name of the vector store
866
+
867
+ indexed_metadata_fields: Dictionary mapping metadata field names to their types. Only STRING, NUMBER, and
868
+ BOOLEAN types can be indexed.
869
+
870
+ extra_headers: Send extra headers
871
+
872
+ extra_query: Add additional query parameters to the request
873
+
874
+ extra_body: Add additional JSON properties to the request
875
+
876
+ timeout: Override the client-level default timeout for this request, in seconds
877
+ """
878
+ if not vector_store_name:
879
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
880
+ return await self._post(
881
+ f"/v5/vector-stores/{vector_store_name}/configure",
882
+ body=await async_maybe_transform(
883
+ {"indexed_metadata_fields": indexed_metadata_fields},
884
+ vector_store_configure_params.VectorStoreConfigureParams,
885
+ ),
886
+ options=make_request_options(
887
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
888
+ ),
889
+ cast_to=VectorStore,
890
+ )
891
+
892
+ async def count(
893
+ self,
894
+ vector_store_name: str,
895
+ *,
896
+ filter: Dict[str, object] | Omit = omit,
897
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
898
+ # The extra values given here take precedence over values defined on the client or passed to this method.
899
+ extra_headers: Headers | None = None,
900
+ extra_query: Query | None = None,
901
+ extra_body: Body | None = None,
902
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
903
+ ) -> VectorStoreCountResponse:
904
+ """
905
+ Count documents in a vector store, optionally filtered by metadata.
906
+
907
+ Args: vector_store_name: The unique name of the vector store request: Optional
908
+ filter criteria (empty body counts all documents) vector_store_use_case:
909
+ Injected vector store use case
910
+
911
+ Returns: The count of documents matching the criteria
912
+
913
+ Args:
914
+ vector_store_name: The name of the vector store
915
+
916
+ filter: Metadata filter expression
917
+
918
+ extra_headers: Send extra headers
919
+
920
+ extra_query: Add additional query parameters to the request
921
+
922
+ extra_body: Add additional JSON properties to the request
923
+
924
+ timeout: Override the client-level default timeout for this request, in seconds
925
+ """
926
+ if not vector_store_name:
927
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
928
+ return await self._post(
929
+ f"/v5/vector-stores/{vector_store_name}/count",
930
+ body=await async_maybe_transform({"filter": filter}, vector_store_count_params.VectorStoreCountParams),
931
+ options=make_request_options(
932
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
933
+ ),
934
+ cast_to=VectorStoreCountResponse,
935
+ )
936
+
937
+ async def drop(
938
+ self,
939
+ vector_store_name: str,
940
+ *,
941
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
942
+ # The extra values given here take precedence over values defined on the client or passed to this method.
943
+ extra_headers: Headers | None = None,
944
+ extra_query: Query | None = None,
945
+ extra_body: Body | None = None,
946
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
947
+ ) -> VectorStoreDropResponse:
948
+ """
949
+ Delete (drop) a vector store by name.
950
+
951
+ This is a hard delete operation that permanently removes the vector store.
952
+
953
+ Args: vector_store_name: The unique name of the vector store within the account
954
+ vector_store_use_case: Injected vector store use case
955
+
956
+ Returns: Deletion confirmation with the vector store ID
957
+
958
+ Args:
959
+ vector_store_name: The name of the vector store
960
+
961
+ extra_headers: Send extra headers
962
+
963
+ extra_query: Add additional query parameters to the request
964
+
965
+ extra_body: Add additional JSON properties to the request
966
+
967
+ timeout: Override the client-level default timeout for this request, in seconds
968
+ """
969
+ if not vector_store_name:
970
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
971
+ return await self._post(
972
+ f"/v5/vector-stores/{vector_store_name}/drop",
973
+ options=make_request_options(
974
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
975
+ ),
976
+ cast_to=VectorStoreDropResponse,
977
+ )
978
+
979
+ async def query(
980
+ self,
981
+ vector_store_name: str,
982
+ *,
983
+ text: str,
984
+ filter: Dict[str, object] | Omit = omit,
985
+ include_vectors: bool | Omit = omit,
986
+ query_type: Literal["semantic", "lexical", "hybrid"] | Omit = omit,
987
+ rerank: bool | Omit = omit,
988
+ rerank_model: str | Omit = omit,
989
+ rerank_top_n: int | Omit = omit,
990
+ top_k: int | Omit = omit,
991
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
992
+ # The extra values given here take precedence over values defined on the client or passed to this method.
993
+ extra_headers: Headers | None = None,
994
+ extra_query: Query | None = None,
995
+ extra_body: Body | None = None,
996
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
997
+ ) -> VectorStoreQueryResponse:
998
+ """
999
+ Query documents by similarity search.
1000
+
1001
+ Supports semantic (vector), lexical (text), or hybrid search modes.
1002
+
1003
+ Args: request: Query parameters including text, filters, and reranking options
1004
+ vector_store_name: The unique name of the vector store vector_store_use_case:
1005
+ Injected vector store use case
1006
+
1007
+ Returns: Matching documents with similarity scores and query metadata
1008
+
1009
+ Args:
1010
+ vector_store_name: The name of the vector store
1011
+
1012
+ text: Text query for automatic embedding (required)
1013
+
1014
+ filter: Metadata filter expression
1015
+
1016
+ include_vectors: Include embedding vectors in response
1017
+
1018
+ query_type: Query type: semantic, lexical, or hybrid
1019
+
1020
+ rerank: Enable reranking of search results
1021
+
1022
+ rerank_model: Reranking model to use (uses system default if not specified)
1023
+
1024
+ rerank_top_n: Number of results after reranking (defaults to top_k)
1025
+
1026
+ top_k: Number of search results to return
1027
+
1028
+ extra_headers: Send extra headers
1029
+
1030
+ extra_query: Add additional query parameters to the request
1031
+
1032
+ extra_body: Add additional JSON properties to the request
1033
+
1034
+ timeout: Override the client-level default timeout for this request, in seconds
1035
+ """
1036
+ if not vector_store_name:
1037
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
1038
+ return await self._post(
1039
+ f"/v5/vector-stores/{vector_store_name}/query",
1040
+ body=await async_maybe_transform(
1041
+ {
1042
+ "text": text,
1043
+ "filter": filter,
1044
+ "include_vectors": include_vectors,
1045
+ "query_type": query_type,
1046
+ "rerank": rerank,
1047
+ "rerank_model": rerank_model,
1048
+ "rerank_top_n": rerank_top_n,
1049
+ "top_k": top_k,
1050
+ },
1051
+ vector_store_query_params.VectorStoreQueryParams,
1052
+ ),
1053
+ options=make_request_options(
1054
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1055
+ ),
1056
+ cast_to=VectorStoreQueryResponse,
1057
+ )
1058
+
1059
+ async def upsert(
1060
+ self,
1061
+ vector_store_name: str,
1062
+ *,
1063
+ vectors: Iterable[vector_store_upsert_params.Vector],
1064
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1065
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1066
+ extra_headers: Headers | None = None,
1067
+ extra_query: Query | None = None,
1068
+ extra_body: Body | None = None,
1069
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1070
+ ) -> VectorStoreUpsertResponse:
1071
+ """
1072
+ Insert or update documents in a vector store.
1073
+
1074
+ Existing documents (by ID) will be updated, new documents will be inserted.
1075
+
1076
+ Args: request: Array of documents to upsert vector_store_name: The unique name
1077
+ of the vector store vector_store_use_case: Injected vector store use case
1078
+
1079
+ Returns: Batch operation results with success/failure counts
1080
+
1081
+ Args:
1082
+ vector_store_name: The name of the vector store
1083
+
1084
+ vectors: Array of documents to upsert
1085
+
1086
+ extra_headers: Send extra headers
1087
+
1088
+ extra_query: Add additional query parameters to the request
1089
+
1090
+ extra_body: Add additional JSON properties to the request
1091
+
1092
+ timeout: Override the client-level default timeout for this request, in seconds
1093
+ """
1094
+ if not vector_store_name:
1095
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
1096
+ return await self._post(
1097
+ f"/v5/vector-stores/{vector_store_name}/upsert",
1098
+ body=await async_maybe_transform({"vectors": vectors}, vector_store_upsert_params.VectorStoreUpsertParams),
1099
+ options=make_request_options(
1100
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1101
+ ),
1102
+ cast_to=VectorStoreUpsertResponse,
1103
+ )
1104
+
1105
+ async def vectors(
1106
+ self,
1107
+ vector_store_name: str,
1108
+ *,
1109
+ cursor: str | Omit = omit,
1110
+ filter: str | Omit = omit,
1111
+ include_vectors: bool | Omit = omit,
1112
+ limit: int | Omit = omit,
1113
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1114
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1115
+ extra_headers: Headers | None = None,
1116
+ extra_query: Query | None = None,
1117
+ extra_body: Body | None = None,
1118
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1119
+ ) -> VectorStoreVectorsResponse:
1120
+ """
1121
+ List documents in a vector store with pagination.
1122
+
1123
+ Args: vector_store_name: The unique name of the vector store limit: Maximum
1124
+ number of documents per page (max 100 with vectors, 1000 without) cursor:
1125
+ Pagination cursor from previous response filter_param: Optional metadata filter
1126
+ (JSON string) include_vectors: Whether to include embedding vectors
1127
+ vector_store_use_case: Injected vector store use case
1128
+
1129
+ Returns: Paginated list of documents
1130
+
1131
+ Args:
1132
+ vector_store_name: The name of the vector store
1133
+
1134
+ cursor: Pagination cursor
1135
+
1136
+ filter: Metadata filter expression (JSON)
1137
+
1138
+ include_vectors: Include embedding vectors
1139
+
1140
+ limit: Vectors per page
1141
+
1142
+ extra_headers: Send extra headers
1143
+
1144
+ extra_query: Add additional query parameters to the request
1145
+
1146
+ extra_body: Add additional JSON properties to the request
1147
+
1148
+ timeout: Override the client-level default timeout for this request, in seconds
1149
+ """
1150
+ if not vector_store_name:
1151
+ raise ValueError(f"Expected a non-empty value for `vector_store_name` but received {vector_store_name!r}")
1152
+ return await self._get(
1153
+ f"/v5/vector-stores/{vector_store_name}/vectors",
1154
+ options=make_request_options(
1155
+ extra_headers=extra_headers,
1156
+ extra_query=extra_query,
1157
+ extra_body=extra_body,
1158
+ timeout=timeout,
1159
+ query=await async_maybe_transform(
1160
+ {
1161
+ "cursor": cursor,
1162
+ "filter": filter,
1163
+ "include_vectors": include_vectors,
1164
+ "limit": limit,
1165
+ },
1166
+ vector_store_vectors_params.VectorStoreVectorsParams,
1167
+ ),
1168
+ ),
1169
+ cast_to=VectorStoreVectorsResponse,
1170
+ )
1171
+
1172
+
1173
+ class VectorStoresResourceWithRawResponse:
1174
+ def __init__(self, vector_stores: VectorStoresResource) -> None:
1175
+ self._vector_stores = vector_stores
1176
+
1177
+ self.create = to_raw_response_wrapper(
1178
+ vector_stores.create,
1179
+ )
1180
+ self.retrieve = to_raw_response_wrapper(
1181
+ vector_stores.retrieve,
1182
+ )
1183
+ self.list = to_raw_response_wrapper(
1184
+ vector_stores.list,
1185
+ )
1186
+ self.delete = to_raw_response_wrapper(
1187
+ vector_stores.delete,
1188
+ )
1189
+ self.configure = to_raw_response_wrapper(
1190
+ vector_stores.configure,
1191
+ )
1192
+ self.count = to_raw_response_wrapper(
1193
+ vector_stores.count,
1194
+ )
1195
+ self.drop = to_raw_response_wrapper(
1196
+ vector_stores.drop,
1197
+ )
1198
+ self.query = to_raw_response_wrapper(
1199
+ vector_stores.query,
1200
+ )
1201
+ self.upsert = to_raw_response_wrapper(
1202
+ vector_stores.upsert,
1203
+ )
1204
+ self.vectors = to_raw_response_wrapper(
1205
+ vector_stores.vectors,
1206
+ )
1207
+
1208
+
1209
+ class AsyncVectorStoresResourceWithRawResponse:
1210
+ def __init__(self, vector_stores: AsyncVectorStoresResource) -> None:
1211
+ self._vector_stores = vector_stores
1212
+
1213
+ self.create = async_to_raw_response_wrapper(
1214
+ vector_stores.create,
1215
+ )
1216
+ self.retrieve = async_to_raw_response_wrapper(
1217
+ vector_stores.retrieve,
1218
+ )
1219
+ self.list = async_to_raw_response_wrapper(
1220
+ vector_stores.list,
1221
+ )
1222
+ self.delete = async_to_raw_response_wrapper(
1223
+ vector_stores.delete,
1224
+ )
1225
+ self.configure = async_to_raw_response_wrapper(
1226
+ vector_stores.configure,
1227
+ )
1228
+ self.count = async_to_raw_response_wrapper(
1229
+ vector_stores.count,
1230
+ )
1231
+ self.drop = async_to_raw_response_wrapper(
1232
+ vector_stores.drop,
1233
+ )
1234
+ self.query = async_to_raw_response_wrapper(
1235
+ vector_stores.query,
1236
+ )
1237
+ self.upsert = async_to_raw_response_wrapper(
1238
+ vector_stores.upsert,
1239
+ )
1240
+ self.vectors = async_to_raw_response_wrapper(
1241
+ vector_stores.vectors,
1242
+ )
1243
+
1244
+
1245
+ class VectorStoresResourceWithStreamingResponse:
1246
+ def __init__(self, vector_stores: VectorStoresResource) -> None:
1247
+ self._vector_stores = vector_stores
1248
+
1249
+ self.create = to_streamed_response_wrapper(
1250
+ vector_stores.create,
1251
+ )
1252
+ self.retrieve = to_streamed_response_wrapper(
1253
+ vector_stores.retrieve,
1254
+ )
1255
+ self.list = to_streamed_response_wrapper(
1256
+ vector_stores.list,
1257
+ )
1258
+ self.delete = to_streamed_response_wrapper(
1259
+ vector_stores.delete,
1260
+ )
1261
+ self.configure = to_streamed_response_wrapper(
1262
+ vector_stores.configure,
1263
+ )
1264
+ self.count = to_streamed_response_wrapper(
1265
+ vector_stores.count,
1266
+ )
1267
+ self.drop = to_streamed_response_wrapper(
1268
+ vector_stores.drop,
1269
+ )
1270
+ self.query = to_streamed_response_wrapper(
1271
+ vector_stores.query,
1272
+ )
1273
+ self.upsert = to_streamed_response_wrapper(
1274
+ vector_stores.upsert,
1275
+ )
1276
+ self.vectors = to_streamed_response_wrapper(
1277
+ vector_stores.vectors,
1278
+ )
1279
+
1280
+
1281
+ class AsyncVectorStoresResourceWithStreamingResponse:
1282
+ def __init__(self, vector_stores: AsyncVectorStoresResource) -> None:
1283
+ self._vector_stores = vector_stores
1284
+
1285
+ self.create = async_to_streamed_response_wrapper(
1286
+ vector_stores.create,
1287
+ )
1288
+ self.retrieve = async_to_streamed_response_wrapper(
1289
+ vector_stores.retrieve,
1290
+ )
1291
+ self.list = async_to_streamed_response_wrapper(
1292
+ vector_stores.list,
1293
+ )
1294
+ self.delete = async_to_streamed_response_wrapper(
1295
+ vector_stores.delete,
1296
+ )
1297
+ self.configure = async_to_streamed_response_wrapper(
1298
+ vector_stores.configure,
1299
+ )
1300
+ self.count = async_to_streamed_response_wrapper(
1301
+ vector_stores.count,
1302
+ )
1303
+ self.drop = async_to_streamed_response_wrapper(
1304
+ vector_stores.drop,
1305
+ )
1306
+ self.query = async_to_streamed_response_wrapper(
1307
+ vector_stores.query,
1308
+ )
1309
+ self.upsert = async_to_streamed_response_wrapper(
1310
+ vector_stores.upsert,
1311
+ )
1312
+ self.vectors = async_to_streamed_response_wrapper(
1313
+ vector_stores.vectors,
1314
+ )