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.
- {vikingdb_python_sdk-0.1.10/vikingdb_python_sdk.egg-info → vikingdb_python_sdk-0.1.12}/PKG-INFO +1 -1
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/_client.py +3 -3
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/auth.py +16 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/collection.py +39 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/doc.py +2 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/index.py +4 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/version.py +1 -1
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12/vikingdb_python_sdk.egg-info}/PKG-INFO +1 -1
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/LICENSE.txt +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/README.md +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/pyproject.toml +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/setup.cfg +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/exceptions.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/client.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/exceptions.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/base.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/chat.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/point.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/rerank.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/search.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/service_chat.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/client.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/collection.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/exceptions.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/memory/types.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/request_options.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/base.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/client.py +29 -29
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/collection.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/embedding.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/exceptions.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/index.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/__init__.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/base.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/collection.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/embedding.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/rerank.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/rerank.py +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/SOURCES.txt +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/dependency_links.txt +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/requires.txt +0 -0
- {vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/top_level.txt +0 -0
|
@@ -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
|
|
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):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/point.py
RENAMED
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/rerank.py
RENAMED
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/search.py
RENAMED
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/knowledge/models/service_chat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/collection.py
RENAMED
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb/vector/models/embedding.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/requires.txt
RENAMED
|
File without changes
|
{vikingdb_python_sdk-0.1.10 → vikingdb_python_sdk-0.1.12}/vikingdb_python_sdk.egg-info/top_level.txt
RENAMED
|
File without changes
|