vikingdb-python-sdk 0.1.10__tar.gz → 0.1.12__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.10/vikingdb_python_sdk.egg-info → vikingdb_python_sdk-0.1.12}/PKG-INFO +1 -1
  2. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/_client.py +3 -3
  3. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/auth.py +16 -0
  4. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/collection.py +39 -0
  5. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/doc.py +2 -0
  6. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/index.py +4 -0
  7. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/version.py +1 -1
  8. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12/vikingdb_python_sdk.egg-info}/PKG-INFO +1 -1
  9. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/LICENSE.txt +0 -0
  10. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/README.md +0 -0
  11. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/pyproject.toml +0 -0
  12. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/setup.cfg +0 -0
  13. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/__init__.py +0 -0
  14. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/exceptions.py +0 -0
  15. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/__init__.py +0 -0
  16. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/client.py +0 -0
  17. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/exceptions.py +0 -0
  18. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/__init__.py +0 -0
  19. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/base.py +0 -0
  20. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/chat.py +0 -0
  21. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/point.py +0 -0
  22. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/rerank.py +0 -0
  23. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/search.py +0 -0
  24. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/service_chat.py +0 -0
  25. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/__init__.py +0 -0
  26. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/client.py +0 -0
  27. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/collection.py +0 -0
  28. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/exceptions.py +0 -0
  29. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/types.py +0 -0
  30. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/request_options.py +0 -0
  31. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/__init__.py +0 -0
  32. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/base.py +0 -0
  33. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/client.py +29 -29
  34. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/collection.py +0 -0
  35. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/embedding.py +0 -0
  36. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/exceptions.py +0 -0
  37. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/index.py +0 -0
  38. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/__init__.py +0 -0
  39. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/base.py +0 -0
  40. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/collection.py +0 -0
  41. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/embedding.py +0 -0
  42. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/rerank.py +0 -0
  43. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/rerank.py +0 -0
  44. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/SOURCES.txt +0 -0
  45. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/dependency_links.txt +0 -0
  46. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/requires.txt +0 -0
  47. {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/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.10
3
+ Version: 0.1.12
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
@@ -18,7 +18,7 @@ from volcengine.base.Request import Request
18
18
  from volcengine.base.Service import Service
19
19
  import requests
20
20
 
21
- from .auth import Auth, IAM, APIKey
21
+ from .auth import Auth, IAM, APIKey, HeaderAuth
22
22
  from .exceptions import (
23
23
  DEFAULT_UNKNOWN_ERROR_CODE,
24
24
  VikingAPIException,
@@ -56,10 +56,10 @@ class Client(Service, ABC):
56
56
  # 判断auth是不是IAM 还是 APIKey类型
57
57
  if isinstance(auth, IAM):
58
58
  super().__init__(self.service_info, self.api_info)
59
- elif isinstance(auth, APIKey):
59
+ elif isinstance(auth, (APIKey, HeaderAuth)):
60
60
  self.session = requests.session()
61
61
  else:
62
- raise ValueError("auth must be IAM or APIKey type")
62
+ raise ValueError("auth must be IAM, APIKey or HeaderAuth type")
63
63
 
64
64
  if sts_token:
65
65
  self.set_session_token(session_token=sts_token)
@@ -6,6 +6,7 @@
6
6
  from __future__ import annotations
7
7
 
8
8
  from abc import ABC, abstractmethod
9
+ from typing import Mapping
9
10
  from volcengine.Credentials import Credentials
10
11
  from volcengine.auth.SignerV4 import SignerV4
11
12
 
@@ -66,3 +67,18 @@ class APIKey(Auth):
66
67
 
67
68
  def sign_request(self, request) -> None:
68
69
  request.headers["Authorization"] = f"Bearer {self.api_key}"
70
+
71
+
72
+ class HeaderAuth(Auth):
73
+ """Header-based authentication provider."""
74
+
75
+ def __init__(self, headers: Mapping[str, str]):
76
+ self.headers = headers
77
+
78
+ def initialize(self, *, service: str, region: str):
79
+ return None
80
+
81
+ def sign_request(self, request) -> None:
82
+ if self.headers:
83
+ for key, value in self.headers.items():
84
+ request.headers[key] = value
@@ -63,6 +63,12 @@ class KnowledgeCollection:
63
63
  if isinstance(request, Model)
64
64
  else dict(request)
65
65
  )
66
+ if request.file_path:
67
+
68
+
69
+
70
+ pass
71
+
66
72
  payload = {**self._meta_payload, **req_payload}
67
73
  res = self.client.json_exception("AddDocV2", {}, json.dumps(payload), headers=headers, timeout=timeout)
68
74
  response = AddDocResponse.parse_with(res)
@@ -261,3 +267,36 @@ class KnowledgeCollection:
261
267
  res = self.client.json_exception("SearchKnowledge", {}, json.dumps(payload), headers=headers, timeout=timeout)
262
268
  response = SearchKnowledgeResponse.parse_with(res)
263
269
  return response
270
+
271
+ def _upload_file(self, file_path: str) -> str:
272
+ with open(file_path, "rb") as f:
273
+ res = self.client.json_exception("UploadFile", {}, f.read())
274
+
275
+ # https://console.volcengine.com/api/top/vikingdb/cn-beijing/2025-04-01/GetKnowledgeBasePreSignedUrl?KnowledgeBaseId=kb-1e04481ba6a823c2&ProjectName=default
276
+ # {"TosPaths": ["2026_02_05_21_40_30rvbjCrtJycnAGsOFvXrphLN7F7VRsP2e/核心流程.md"]}
277
+ """
278
+ {
279
+ "Result": {
280
+ "PreSignedUrls": [
281
+ "https://knowledgebase-fileupload.tos-cn-beijing.volces.com/ADD_DOC/2100655893/2026_02_05_21_40_30rvbjCrtJycnAGsOFvXrphLN7F7VRsP2e/%E6%A0%B8%E5%BF%83%E6%B5%81%E7%A8%8B.md?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKLTOTg3ODc0NTAyYzU1NDIxNmJmODg1MWUyYTkwZDY3ZGM%2F20260205%2Ftos-cn-beijing.volces.com%2Ftos%2Frequest&X-Tos-Date=20260205T134045Z&X-Tos-Expires=300&X-Tos-SignedHeaders=host&X-Tos-Signature=712e8572edc6d251bf234cdb580246714c1ac9414e824ac1fe110772a6372fbc"
282
+ ],
283
+ "BucketName": "knowledgebase-fileupload"
284
+ },
285
+ "ResponseMetadata": {
286
+ "RequestId": "202602052140452A8D3265DCDE1911D17B",
287
+ "Action": "GetKnowledgeBasePreSignedUrl",
288
+ "Version": "2025-04-01",
289
+ "Service": "vikingdb",
290
+ "Region": "cn-beijing"
291
+ }
292
+ }
293
+ """
294
+
295
+ """
296
+ https://knowledgebase-fileupload.tos-cn-beijing.volces.com/ADD_DOC/2100655893/2026_02_05_21_40_30rvbjCrtJycnAGsOFvXrphLN7F7VRsP2e/%E6%A0%B8%E5%BF%83%E6%B5%81%E7%A8%8B.md?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKLTOTg3ODc0NTAyYzU1NDIxNmJmODg1MWUyYTkwZDY3ZGM%2F20260205%2Ftos-cn-beijing.volces.com%2Ftos%2Frequest&X-Tos-Date=20260205T134045Z&X-Tos-Expires=300&X-Tos-SignedHeaders=host&X-Tos-Signature=712e8572edc6d251bf234cdb580246714c1ac9414e824ac1fe110772a6372fbc
297
+ """
298
+
299
+
300
+
301
+ return res["data"]["uri"]
302
+
@@ -41,6 +41,7 @@ class AddDocRequest(Model):
41
41
  doc_type: Optional[str] = Field(default=None, alias="doc_type")
42
42
  description: Optional[str] = Field(default=None, alias="description")
43
43
  tos_path: Optional[str] = Field(default=None, alias="tos_path")
44
+ file_path: Optional[str] = Field(default=None, alias="file_path")
44
45
  url: Optional[str] = Field(default=None, alias="url")
45
46
  lark_file: Optional[str] = Field(default=None, alias="lark_file")
46
47
  meta: Optional[List["MetaItem"]] = Field(default=None, alias="meta")
@@ -63,6 +64,7 @@ class AddDocV2Request(Model):
63
64
  description: Optional[str] = Field(default=None, alias="description")
64
65
  tag_list: Optional[List[MetaItem]] = Field(default=None, alias="tag_list")
65
66
  uri: Optional[str] = Field(default=None, alias="uri")
67
+ file_path: Optional[str] = Field(default=None, alias="file_path")
66
68
 
67
69
  class DedupInfo(Model):
68
70
  skip: Optional[bool] = Field(default=None, alias="skip")
@@ -95,9 +95,13 @@ class SearchByScalarRequest(SearchBase):
95
95
 
96
96
 
97
97
  class SearchByKeywordsRequest(SearchBase):
98
+ mode: Optional[str] = Field(default=None, alias="mode")
98
99
  keywords: Optional[Sequence[str]] = Field(default=None, alias="keywords")
99
100
  query: Optional[str] = Field(default=None, alias="query")
100
101
  case_sensitive: Optional[bool] = Field(default=None, alias="case_sensitive")
102
+ fields: Optional[Sequence[str]] = Field(default=None, alias="fields")
103
+ bm25_k1: Optional[float] = Field(default=None, alias="bm25_k1")
104
+ bm25_b: Optional[float] = Field(default=None, alias="bm25_b")
101
105
 
102
106
 
103
107
  class SearchByRandomRequest(SearchBase):
@@ -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.10'
4
+ __version__ = '0.1.12'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vikingdb-python-sdk
3
- Version: 0.1.10
3
+ Version: 0.1.12
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
@@ -86,35 +86,6 @@ class VikingDB(Client):
86
86
  except Exception as exp:
87
87
  raise VikingConnectionException(f"failed to ping {host} ", str(exp))
88
88
 
89
-
90
- @_deprecated("VikingVector is deprecated; use VikingDB instead.")
91
- class VikingVector(VikingDB):
92
- """Deprecated alias for VikingDB."""
93
-
94
- def __init__(
95
- self,
96
- *,
97
- host: str,
98
- region: str,
99
- auth: Auth,
100
- scheme: str = "https",
101
- sts_token: str = "",
102
- timeout: int = 30,
103
- ) -> None:
104
- warnings.warn(
105
- "VikingVector is deprecated; use VikingDB instead.",
106
- FutureWarning,
107
- stacklevel=2,
108
- )
109
- super().__init__(
110
- host=host,
111
- region=region,
112
- auth=auth,
113
- scheme=scheme,
114
- sts_token=sts_token,
115
- timeout=timeout,
116
- )
117
-
118
89
  def collection(
119
90
  self,
120
91
  *,
@@ -331,3 +302,32 @@ class VikingVector(VikingDB):
331
302
  header,
332
303
  ),
333
304
  }
305
+
306
+
307
+ @_deprecated("VikingVector is deprecated; use VikingDB instead.")
308
+ class VikingVector(VikingDB):
309
+ """Deprecated alias for VikingDB."""
310
+
311
+ def __init__(
312
+ self,
313
+ *,
314
+ host: str,
315
+ region: str,
316
+ auth: Auth,
317
+ scheme: str = "https",
318
+ sts_token: str = "",
319
+ timeout: int = 30,
320
+ ) -> None:
321
+ warnings.warn(
322
+ "VikingVector is deprecated; use VikingDB instead.",
323
+ FutureWarning,
324
+ stacklevel=2,
325
+ )
326
+ super().__init__(
327
+ host=host,
328
+ region=region,
329
+ auth=auth,
330
+ scheme=scheme,
331
+ sts_token=sts_token,
332
+ timeout=timeout,
333
+ )