vikingdb-python-sdk 0.1.13__tar.gz → 0.1.15__tar.gz

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 (47) hide show
  1. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/PKG-INFO +1 -1
  2. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/_client.py +5 -9
  3. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/collection.py +17 -12
  4. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/base.py +2 -2
  5. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/point.py +2 -2
  6. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/rerank.py +1 -1
  7. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/search.py +3 -3
  8. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/index.py +1 -0
  9. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/version.py +1 -1
  10. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb_python_sdk.egg-info/PKG-INFO +1 -1
  11. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/LICENSE.txt +0 -0
  12. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/README.md +0 -0
  13. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/pyproject.toml +0 -0
  14. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/setup.cfg +0 -0
  15. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/__init__.py +0 -0
  16. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/auth.py +0 -0
  17. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/exceptions.py +0 -0
  18. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/__init__.py +0 -0
  19. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/client.py +0 -0
  20. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/exceptions.py +0 -0
  21. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/__init__.py +0 -0
  22. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/chat.py +0 -0
  23. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/doc.py +0 -0
  24. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/knowledge/models/service_chat.py +0 -0
  25. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/memory/__init__.py +0 -0
  26. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/memory/client.py +0 -0
  27. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/memory/collection.py +0 -0
  28. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/memory/exceptions.py +0 -0
  29. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/memory/types.py +0 -0
  30. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/request_options.py +0 -0
  31. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/__init__.py +0 -0
  32. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/base.py +0 -0
  33. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/client.py +0 -0
  34. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/collection.py +0 -0
  35. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/embedding.py +0 -0
  36. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/exceptions.py +0 -0
  37. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/index.py +0 -0
  38. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/__init__.py +0 -0
  39. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/base.py +0 -0
  40. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/collection.py +0 -0
  41. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/embedding.py +0 -0
  42. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/models/rerank.py +0 -0
  43. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb/vector/rerank.py +0 -0
  44. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb_python_sdk.egg-info/SOURCES.txt +0 -0
  45. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb_python_sdk.egg-info/dependency_links.txt +0 -0
  46. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb_python_sdk.egg-info/requires.txt +0 -0
  47. {vikingdb_python_sdk-0.1.13 → vikingdb_python_sdk-0.1.15}/vikingdb_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vikingdb-python-sdk
3
- Version: 0.1.13
3
+ Version: 0.1.15
4
4
  Summary: vikingdb Python SDK
5
5
  License: Apache-2.0
6
6
  Project-URL: Documentation, https://github.com/volcengine/volc-vikingdb-python-sdk/README.md
@@ -144,7 +144,7 @@ class Client(Service, ABC):
144
144
  response = self.session.post(
145
145
  url,
146
146
  headers=request.headers,
147
- data=request.body,
147
+ data=request.body.encode("utf-8"),
148
148
  timeout=request_timeout,
149
149
  )
150
150
  except Exception as exc:
@@ -154,9 +154,7 @@ class Client(Service, ABC):
154
154
  message=f"failed to run session.post {api}: {exc}",
155
155
  ) from exc
156
156
 
157
- payload_text_attr = getattr(response, "text", "")
158
- payload_text = payload_text_attr if isinstance(payload_text_attr, str) else ""
159
- payload_text = payload_text or ""
157
+ payload_text = response.content.decode("utf-8", errors="replace") if response.content else ""
160
158
 
161
159
  if response.status_code != 200:
162
160
  error = VikingAPIException.from_response(
@@ -167,7 +165,7 @@ class Client(Service, ABC):
167
165
  raise error
168
166
 
169
167
  try:
170
- return response.json()
168
+ return json.loads(response.content.decode("utf-8"))
171
169
  except (ValueError, JSONDecodeError) as exc:
172
170
  raise VikingAPIException(
173
171
  DEFAULT_UNKNOWN_ERROR_CODE,
@@ -287,14 +285,12 @@ class Client(Service, ABC):
287
285
  response = self.session.post(
288
286
  url,
289
287
  headers=request.headers,
290
- data=request.body,
288
+ data=request.body.encode("utf-8"),
291
289
  stream=True,
292
290
  timeout=request_timeout,
293
291
  )
294
292
  if response.status_code != 200:
295
- payload_text_attr = getattr(response, "text", "")
296
- payload_text = payload_text_attr if isinstance(payload_text_attr, str) else ""
297
- payload_text = payload_text or ""
293
+ payload_text = response.content.decode("utf-8", errors="replace") if response.content else ""
298
294
  raise VikingAPIException.from_response(
299
295
  payload_text,
300
296
  request_id=request_id,
@@ -8,7 +8,7 @@ import json
8
8
  from typing import Mapping, Optional, Union, List
9
9
  import warnings
10
10
 
11
- from .models.base import CollectionMeta, Model
11
+ from .models.base import CollectionMeta, CommonResponse, Model
12
12
  from .models.doc import DocInfo, ListDocsResponse, AddDocRequest, ListDocsRequest, MetaItem, AddDocV2Request, AddDocResponse
13
13
  from .models.point import (
14
14
  ListPointsResponse,
@@ -74,10 +74,11 @@ class KnowledgeCollection:
74
74
  *,
75
75
  headers: Optional[Mapping[str, str]] = None,
76
76
  timeout: Optional[int] = None,
77
- ):
77
+ ) -> CommonResponse:
78
78
  payload = {**self._meta_payload, "doc_id": doc_id}
79
79
  res = self.client.json_exception("DeleteDoc", {}, json.dumps(payload), headers=headers, timeout=timeout)
80
- return res
80
+ response = CommonResponse.model_validate(res)
81
+ return response
81
82
 
82
83
  def get_doc(
83
84
  self,
@@ -123,10 +124,11 @@ class KnowledgeCollection:
123
124
  *,
124
125
  headers: Optional[Mapping[str, str]] = None,
125
126
  timeout: Optional[int] = None,
126
- ):
127
+ ) -> CommonResponse:
127
128
  payload = {**self._meta_payload, "doc_id": doc_id, "meta": [item.model_dump(by_alias=True) for item in meta]}
128
129
  res = self.client.json_exception("UpdateDocMeta", {}, json.dumps(payload), headers=headers, timeout=timeout)
129
- return res
130
+ response = CommonResponse.model_validate(res)
131
+ return response
130
132
 
131
133
  def update_doc(
132
134
  self,
@@ -135,10 +137,11 @@ class KnowledgeCollection:
135
137
  *,
136
138
  headers: Optional[Mapping[str, str]] = None,
137
139
  timeout: Optional[int] = None,
138
- ):
140
+ ) -> CommonResponse:
139
141
  payload = {**self._meta_payload, "doc_id": doc_id, "doc_name": doc_name}
140
142
  res = self.client.json_exception("UpdateDoc", {}, json.dumps(payload), headers=headers, timeout=timeout)
141
- return res
143
+ response = CommonResponse.model_validate(res)
144
+ return response
142
145
 
143
146
  def get_point(
144
147
  self,
@@ -183,7 +186,7 @@ class KnowledgeCollection:
183
186
  *,
184
187
  headers: Optional[Mapping[str, str]] = None,
185
188
  timeout: Optional[int] = None,
186
- ):
189
+ ) -> PointAddResponse:
187
190
  req_payload = (
188
191
  request.model_dump(by_alias=True, exclude_none=True) # type: ignore[attr-defined]
189
192
  if isinstance(request, Model)
@@ -201,7 +204,7 @@ class KnowledgeCollection:
201
204
  *,
202
205
  headers: Optional[Mapping[str, str]] = None,
203
206
  timeout: Optional[int] = None,
204
- ):
207
+ ) -> CommonResponse:
205
208
  upd_payload = (
206
209
  update.model_dump(by_alias=True, exclude_none=True) # type: ignore[attr-defined]
207
210
  if isinstance(update, Model)
@@ -209,7 +212,8 @@ class KnowledgeCollection:
209
212
  )
210
213
  payload = {**self._meta_payload, "point_id": point_id, **upd_payload}
211
214
  res = self.client.json_exception("UpdatePoint", {}, json.dumps(payload), headers=headers, timeout=timeout)
212
- return res
215
+ response = CommonResponse.model_validate(res)
216
+ return response
213
217
 
214
218
  def delete_point(
215
219
  self,
@@ -217,7 +221,7 @@ class KnowledgeCollection:
217
221
  *,
218
222
  headers: Optional[Mapping[str, str]] = None,
219
223
  timeout: Optional[int] = None,
220
- ):
224
+ ) -> CommonResponse:
221
225
  req_payload = (
222
226
  request.model_dump(by_alias=True, exclude_none=True) # type: ignore[attr-defined]
223
227
  if isinstance(request, Model)
@@ -225,7 +229,8 @@ class KnowledgeCollection:
225
229
  )
226
230
  payload = {**self._meta_payload, **req_payload}
227
231
  res = self.client.json_exception("DeletePoint", {}, json.dumps(payload), headers=headers, timeout=timeout)
228
- return res
232
+ response = CommonResponse.model_validate(res)
233
+ return response
229
234
 
230
235
  def search_collection(
231
236
  self,
@@ -29,10 +29,10 @@ class CollectionMeta(Model):
29
29
 
30
30
 
31
31
  class CommonResponse(Model):
32
- api: Optional[str] = Field(default=None, alias="api")
32
+ code: Optional[int] = Field(default=None, alias="code")
33
33
  message: Optional[str] = Field(default=None, alias="message")
34
- code: Optional[str] = Field(default=None, alias="code")
35
34
  request_id: Optional[str] = Field(default=None, alias="request_id")
35
+ data: Optional[Any] = Field(default=None, alias="data")
36
36
 
37
37
 
38
38
  class DataApiResponse(Model):
@@ -54,8 +54,8 @@ class UpdatePointRequest(Model):
54
54
  class ListPointsRequest(Model):
55
55
  offset: int = Field(default=0, alias="offset")
56
56
  limit: int = Field(default=-1, alias="limit")
57
- doc_ids: Optional[Dict[str, Any]] = Field(default=None, alias="doc_ids")
58
- point_ids: Optional[Dict[str, Any]] = Field(default=None, alias="point_ids")
57
+ doc_ids: Optional[List[str]] = Field(default=None, alias="doc_ids")
58
+ point_ids: Optional[List[str]] = Field(default=None, alias="point_ids")
59
59
  get_attachment_link: Optional[bool] = Field(default=False, alias="get_attachment_link")
60
60
 
61
61
  class DeletePointRequest(Model):
@@ -18,7 +18,7 @@ __all__ = [
18
18
 
19
19
  class RerankDataItem(Model):
20
20
  query: object = Field(alias="query")
21
- content: str = Field(alias="content")
21
+ content: str = Field(default=None, alias="content")
22
22
  title: Optional[str] = Field(default=None, alias="title")
23
23
  image: Union[str, List[str]] = Field(default=None, alias="image")
24
24
 
@@ -21,7 +21,7 @@ __all__ = [
21
21
  ]
22
22
 
23
23
  class SearchCollectionRequest(Model):
24
- query: Any = Field(alias="query")
24
+ query: str = Field(alias="query")
25
25
  limit: int = Field(default=10, alias="limit")
26
26
  dense_weight: float = Field(default=0.5, alias="dense_weight")
27
27
  rerank_switch: bool = Field(default=False, alias="rerank_switch")
@@ -40,8 +40,8 @@ class SearchResponse(DataApiResponse):
40
40
 
41
41
 
42
42
  class SearchKnowledgeRequest(Model):
43
- query: Any = Field(alias="query")
44
- image_query: Optional[Any] = Field(default=None, alias="image_query")
43
+ query: str = Field(alias="query")
44
+ image_query: Optional[str] = Field(default=None, alias="image_query")
45
45
  pre_processing: Optional[Dict[str, Any]] = Field(default=None, alias="pre_processing")
46
46
  post_processing: Optional[Dict[str, Any]] = Field(default=None, alias="post_processing")
47
47
  query_param: Optional[Dict[str, Any]] = Field(default=None, alias="query_param")
@@ -20,6 +20,7 @@ class FetchDataInIndexRequest(Model):
20
20
  class IndexDataItem(DataItem):
21
21
  dense_dim: Optional[int] = Field(default=None, alias="dense_dim")
22
22
  dense_vector: Optional[List[float]] = Field(default=None, alias="dense_vector")
23
+ sparse_vector: Optional[Dict[str, float]] = Field(default=None, alias="sparse_vector")
23
24
 
24
25
 
25
26
  class FetchDataInIndexResult(Model):
@@ -1,4 +1,4 @@
1
1
  # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd.
2
2
  # SPDX-License-Identifier: Apache-2.0
3
3
 
4
- __version__ = '0.1.13'
4
+ __version__ = '0.1.15'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vikingdb-python-sdk
3
- Version: 0.1.13
3
+ Version: 0.1.15
4
4
  Summary: vikingdb Python SDK
5
5
  License: Apache-2.0
6
6
  Project-URL: Documentation, https://github.com/volcengine/volc-vikingdb-python-sdk/README.md