53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
|
import json
|
|||
|
import requests
|
|||
|
from volcengine.base.Request import Request
|
|||
|
from volcengine.Credentials import Credentials
|
|||
|
from volcengine.auth.SignerV4 import SignerV4
|
|||
|
|
|||
|
from Config.Config import VOLC_ACCESSKEY, VOLC_SECRETKEY
|
|||
|
from Volcengine.VikingDBMemoryService import MEMORY_COLLECTION_NAME
|
|||
|
|
|||
|
AK = VOLC_ACCESSKEY
|
|||
|
SK = VOLC_SECRETKEY
|
|||
|
Domain = "api-knowledgebase.mlp.cn-beijing.volces.com"
|
|||
|
|
|||
|
def prepare_request(method, path, ak, sk, data=None):
|
|||
|
r = Request()
|
|||
|
r.set_shema("http") # 注意:这里用 http,因为 SignerV4 内部会拼 host
|
|||
|
r.set_method(method)
|
|||
|
r.set_host(Domain)
|
|||
|
r.set_path(path)
|
|||
|
|
|||
|
if data is not None:
|
|||
|
r.set_body(json.dumps(data))
|
|||
|
|
|||
|
# 使用 air 服务和 cn-north-1 区域
|
|||
|
credentials = Credentials(ak, sk, 'air', 'cn-north-1')
|
|||
|
SignerV4.sign(r, credentials)
|
|||
|
return r
|
|||
|
|
|||
|
def internal_request(method, api, payload, params=None):
|
|||
|
req = prepare_request(
|
|||
|
method=method,
|
|||
|
path=api,
|
|||
|
ak=AK,
|
|||
|
sk=SK,
|
|||
|
data=payload
|
|||
|
)
|
|||
|
|
|||
|
r = requests.request(
|
|||
|
method=req.method,
|
|||
|
url="{}://{}{}".format(req.schema, req.host, req.path),
|
|||
|
headers=req.headers,
|
|||
|
data=req.body,
|
|||
|
params=params,
|
|||
|
)
|
|||
|
return r
|
|||
|
|
|||
|
# 查询记忆库信息
|
|||
|
path = '/api/memory/collection/info'
|
|||
|
payload = {
|
|||
|
"CollectionName": MEMORY_COLLECTION_NAME
|
|||
|
}
|
|||
|
rsp = internal_request("POST", path, payload)
|
|||
|
print(rsp.json())
|