vikingdb-python-sdk 0.1.14__tar.gz → 0.1.18__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.14 → vikingdb_python_sdk-0.1.18}/PKG-INFO +2 -3
  2. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/_client.py +3 -3
  3. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/collection.py +17 -12
  4. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/base.py +2 -2
  5. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/point.py +2 -2
  6. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/rerank.py +1 -1
  7. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/search.py +3 -3
  8. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/__init__.py +8 -0
  9. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/collection.py +3 -0
  10. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/embedding.py +9 -0
  11. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/index.py +38 -1
  12. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/rerank.py +2 -0
  13. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/version.py +1 -1
  14. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb_python_sdk.egg-info/PKG-INFO +2 -3
  15. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/LICENSE.txt +0 -0
  16. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/README.md +0 -0
  17. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/pyproject.toml +0 -0
  18. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/setup.cfg +0 -0
  19. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/__init__.py +0 -0
  20. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/auth.py +0 -0
  21. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/exceptions.py +0 -0
  22. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/__init__.py +0 -0
  23. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/client.py +0 -0
  24. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/exceptions.py +0 -0
  25. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/__init__.py +0 -0
  26. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/chat.py +0 -0
  27. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/doc.py +0 -0
  28. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/knowledge/models/service_chat.py +0 -0
  29. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/memory/__init__.py +0 -0
  30. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/memory/client.py +0 -0
  31. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/memory/collection.py +0 -0
  32. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/memory/exceptions.py +0 -0
  33. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/memory/types.py +0 -0
  34. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/request_options.py +0 -0
  35. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/__init__.py +0 -0
  36. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/base.py +0 -0
  37. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/client.py +0 -0
  38. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/collection.py +0 -0
  39. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/embedding.py +0 -0
  40. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/exceptions.py +0 -0
  41. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/index.py +0 -0
  42. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/models/base.py +0 -0
  43. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb/vector/rerank.py +0 -0
  44. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb_python_sdk.egg-info/SOURCES.txt +0 -0
  45. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb_python_sdk.egg-info/dependency_links.txt +0 -0
  46. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb_python_sdk.egg-info/requires.txt +0 -0
  47. {vikingdb_python_sdk-0.1.14 → vikingdb_python_sdk-0.1.18}/vikingdb_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.1
2
2
  Name: vikingdb-python-sdk
3
- Version: 0.1.14
3
+ Version: 0.1.18
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
@@ -24,7 +24,6 @@ Requires-Dist: typing_extensions>=4.9.0
24
24
  Requires-Dist: urllib3>=1.21.1
25
25
  Requires-Dist: volcengine>=1.0.0
26
26
  Requires-Dist: aiohttp>=3.10.0
27
- Dynamic: license-file
28
27
 
29
28
  ## VikingDB Python SDK (v2)
30
29
 
@@ -54,9 +54,9 @@ class Client(Service, ABC):
54
54
  )
55
55
  self.api_info = self._build_api_info()
56
56
  # 判断auth是不是IAM 还是 APIKey类型
57
- if isinstance(auth, IAM):
58
- super().__init__(self.service_info, self.api_info)
59
- elif isinstance(auth, (APIKey, HeaderAuth)):
57
+ if isinstance(auth, (IAM, APIKey, HeaderAuth)):
58
+ # volcengine Service.init() 可能读取环境变量或 ~/.volc/config 覆盖 AK/SK,
59
+ # 这里确保使用用户传入的 IAM 凭证,因此不使用super().__init__初始化
60
60
  self.session = requests.session()
61
61
  else:
62
62
  raise ValueError("auth must be IAM, APIKey or HeaderAuth type")
@@ -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")
@@ -26,6 +26,7 @@ from .collection import (
26
26
  from .embedding import (
27
27
  Embedding,
28
28
  EmbeddingData,
29
+ EmbeddingInstruction,
29
30
  EmbeddingModelOpt,
30
31
  EmbeddingRequest,
31
32
  EmbeddingResponse,
@@ -46,6 +47,8 @@ from .index import (
46
47
  FetchDataInIndexResponse,
47
48
  FetchDataInIndexResult,
48
49
  IndexDataItem,
50
+ Instruction,
51
+ ModelRerank,
49
52
  SearchAdvance,
50
53
  SearchByIDRequest,
51
54
  SearchByKeywordsRequest,
@@ -56,6 +59,7 @@ from .index import (
56
59
  SearchItemResult,
57
60
  SearchResponse,
58
61
  SearchResult,
62
+ TensorRerank,
59
63
  )
60
64
 
61
65
  __all__ = [
@@ -69,6 +73,7 @@ __all__ = [
69
73
  "DeleteDataResponse",
70
74
  "Embedding",
71
75
  "EmbeddingData",
76
+ "EmbeddingInstruction",
72
77
  "EmbeddingModelOpt",
73
78
  "EmbeddingRequest",
74
79
  "EmbeddingResponse",
@@ -86,6 +91,8 @@ __all__ = [
86
91
  "FullModalData",
87
92
  "IndexDataItem",
88
93
  "IndexMeta",
94
+ "Instruction",
95
+ "ModelRerank",
89
96
  "PaginationResponse",
90
97
  "SearchAdvance",
91
98
  "SearchByIDRequest",
@@ -97,6 +104,7 @@ __all__ = [
97
104
  "SearchItemResult",
98
105
  "SearchResponse",
99
106
  "SearchResult",
107
+ "TensorRerank",
100
108
  "UpsertDataRequest",
101
109
  "UpsertDataResponse",
102
110
  "UpsertDataResult",
@@ -40,6 +40,7 @@ class UpdateDataResult(Model):
40
40
  class DeleteDataRequest(Model):
41
41
  ids: Optional[Sequence[Any]] = Field(default=None, alias="ids")
42
42
  delete_all: Optional[bool] = Field(default=None, alias="del_all")
43
+ async_write: Optional[bool] = Field(default=None, alias="async")
43
44
 
44
45
 
45
46
  class DeleteDataResponse(DataApiResponse):
@@ -48,6 +49,8 @@ class DeleteDataResponse(DataApiResponse):
48
49
 
49
50
  class FetchDataInCollectionRequest(Model):
50
51
  ids: Sequence[Any] = Field(alias="ids")
52
+ return_download_url: Optional[bool] = Field(default=None, alias="return_download_url")
53
+ return_analyzed_result: Optional[bool] = Field(default=None, alias="return_analyzed_result")
51
54
 
52
55
 
53
56
  class FetchDataInCollectionResult(Model):
@@ -10,10 +10,17 @@ from pydantic import Field
10
10
  from .base import DataApiResponse, Model
11
11
 
12
12
 
13
+ class EmbeddingInstruction(Model):
14
+ content: Optional[str] = Field(default=None, alias="content")
15
+
16
+
13
17
  class EmbeddingModelOpt(Model):
14
18
  name: Optional[str] = Field(default=None, alias="name")
15
19
  version: Optional[str] = Field(default=None, alias="version")
16
20
  dim: Optional[int] = Field(default=None, alias="dim")
21
+ ndim: Optional[int] = Field(default=None, alias="ndim")
22
+ shape: Optional[Sequence[int]] = Field(default=None, alias="shape")
23
+ instruction: Optional[EmbeddingInstruction] = Field(default=None, alias="instruction")
17
24
 
18
25
 
19
26
  class FullModalData(Model):
@@ -33,7 +40,9 @@ class EmbeddingRequest(Model):
33
40
  data: Sequence[EmbeddingData] = Field(alias="data")
34
41
  dense_model: Optional[EmbeddingModelOpt] = Field(default=None, alias="dense_model")
35
42
  sparse_model: Optional[EmbeddingModelOpt] = Field(default=None, alias="sparse_model")
43
+ tensor_model: Optional[EmbeddingModelOpt] = Field(default=None, alias="tensor_model")
36
44
  project_name: Optional[str] = Field(default=None, alias="project_name")
45
+ max_retry_time: Optional[int] = Field(default=None, alias="max_retry_time")
37
46
 
38
47
 
39
48
  class Embedding(Model):
@@ -53,6 +53,30 @@ class SearchBase(RecallBase):
53
53
  limit: Optional[int] = Field(default=None, alias="limit")
54
54
  offset: Optional[int] = Field(default=None, alias="offset")
55
55
  advance: Optional[SearchAdvance] = Field(default=None, alias="advance")
56
+ return_schema: Optional[bool] = Field(default=None, alias="return_schema")
57
+ return_download_url: Optional[bool] = Field(default=None, alias="return_download_url")
58
+ return_analyzed_result: Optional[bool] = Field(default=None, alias="return_analyzed_result")
59
+ return_detail_info: Optional[bool] = Field(default=None, alias="return_detail_info")
60
+
61
+
62
+ class Instruction(Model):
63
+ auto_fill: Optional[bool] = Field(default=None, alias="auto_fill")
64
+
65
+
66
+ class TensorRerank(Model):
67
+ tensor: Optional[Sequence[Sequence[float]]] = Field(default=None, alias="tensor")
68
+ input_limit: Optional[int] = Field(default=None, alias="input_limit")
69
+ max_similarity_algo: Optional[str] = Field(default=None, alias="max_similarity_algo")
70
+
71
+
72
+ class ModelRerank(Model):
73
+ model_name: Optional[str] = Field(default=None, alias="model_name")
74
+ model_version: Optional[str] = Field(default=None, alias="model_version")
75
+ instruction: Optional[str] = Field(default=None, alias="instruction")
76
+ input_limit: Optional[int] = Field(default=None, alias="input_limit")
77
+ score_threshold: Optional[float] = Field(default=None, alias="score_threshold")
78
+ fail_strategy: Optional[str] = Field(default=None, alias="fail_strategy")
79
+ timeout_ms: Optional[int] = Field(default=None, alias="timeout_ms")
56
80
 
57
81
 
58
82
  class SearchItemResult(Model):
@@ -60,6 +84,8 @@ class SearchItemResult(Model):
60
84
  fields: Dict[str, Any] = Field(default_factory=dict, alias="fields")
61
85
  ann_score: Optional[float] = Field(default=None, alias="ann_score")
62
86
  score: Optional[float] = Field(default=None, alias="score")
87
+ origin_score: Optional[float] = Field(default=None, alias="origin_score")
88
+ addition_score: Optional[float] = Field(default=None, alias="addition_score")
63
89
 
64
90
 
65
91
  class SearchResult(Model):
@@ -68,6 +94,14 @@ class SearchResult(Model):
68
94
  total_return_count: Optional[int] = Field(default=None, alias="total_return_count")
69
95
  real_text_query: Optional[str] = Field(default=None, alias="real_text_query")
70
96
  token_usage: Dict[str, Any] = Field(default_factory=dict, alias="token_usage")
97
+ schema: Optional[Mapping[str, Any]] = Field(default=None, alias="schema")
98
+ rerank_error: Optional[str] = Field(default=None, alias="rerank_error")
99
+ instruction_for_dense: Optional[str] = Field(default=None, alias="instruction_for_dense")
100
+ instruction_for_sparse: Optional[str] = Field(default=None, alias="instruction_for_sparse")
101
+ instruction_for_tensor: Optional[str] = Field(default=None, alias="instruction_for_tensor")
102
+ embedding_time_cost_ms: Optional[int] = Field(default=None, alias="embedding_time_cost_ms")
103
+ recall_time_cost_ms: Optional[int] = Field(default=None, alias="recall_time_cost_ms")
104
+ rerank_time_cost_ms: Optional[int] = Field(default=None, alias="rerank_time_cost_ms")
71
105
 
72
106
 
73
107
  class SearchResponse(DataApiResponse):
@@ -77,6 +111,7 @@ class SearchResponse(DataApiResponse):
77
111
  class SearchByVectorRequest(SearchBase):
78
112
  dense_vector: Sequence[float] = Field(alias="dense_vector")
79
113
  sparse_vector: Optional[Mapping[str, float]] = Field(default=None, alias="sparse_vector")
114
+ tensor_rerank: Optional[TensorRerank] = Field(default=None, alias="tensor_rerank")
80
115
 
81
116
 
82
117
  class SearchByMultiModalRequest(SearchBase):
@@ -84,6 +119,9 @@ class SearchByMultiModalRequest(SearchBase):
84
119
  image: Optional[Any] = Field(default=None, alias="image")
85
120
  video: Optional[Any] = Field(default=None, alias="video")
86
121
  need_instruction: Optional[bool] = Field(default=None, alias="need_instruction")
122
+ instruction: Optional[Instruction] = Field(default=None, alias="instruction")
123
+ tensor_rerank: Optional[TensorRerank] = Field(default=None, alias="tensor_rerank")
124
+ rerank: Optional[ModelRerank] = Field(default=None, alias="rerank")
87
125
 
88
126
 
89
127
  class SearchByIDRequest(SearchBase):
@@ -124,4 +162,3 @@ class AggResult(Model):
124
162
 
125
163
  class AggResponse(DataApiResponse):
126
164
  result: Optional[AggResult] = None
127
-
@@ -12,12 +12,14 @@ from .embedding import FullModalData
12
12
 
13
13
 
14
14
  class RerankRequest(Model):
15
+ project_name: Optional[str] = Field(default=None, alias="project_name")
15
16
  model_name: Optional[str] = Field(alias="model_name")
16
17
  model_version: Optional[str] = Field(default=None, alias="model_version")
17
18
  data: Sequence[Sequence[FullModalData]] = Field(alias="data")
18
19
  query: Sequence[FullModalData] = Field(alias="query")
19
20
  instruction: Optional[str] = Field(default=None, alias="instruction")
20
21
  return_origin_data: Optional[bool] = Field(default=None, alias="return_origin_data")
22
+ max_retry_time: Optional[int] = Field(default=None, alias="max_retry_time")
21
23
 
22
24
 
23
25
  class RerankResult(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.14'
4
+ __version__ = '0.1.18'
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.1
2
2
  Name: vikingdb-python-sdk
3
- Version: 0.1.14
3
+ Version: 0.1.18
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
@@ -24,7 +24,6 @@ Requires-Dist: typing_extensions>=4.9.0
24
24
  Requires-Dist: urllib3>=1.21.1
25
25
  Requires-Dist: volcengine>=1.0.0
26
26
  Requires-Dist: aiohttp>=3.10.0
27
- Dynamic: license-file
28
27
 
29
28
  ## VikingDB Python SDK (v2)
30
29