最近更新时间:2024.04.16 13:11:54
首次发布时间:2023.12.18 15:23:32
注意
对于脚本部分内容(doc_infos、aksk、path)进行替换即可,其他不需要调整。
from volcengine.auth.SignerV4 import SignerV4 from volcengine.Credentials import Credentials from volcengine.base.Request import Request import sys, requests, json, time def prepare_request(method, path, ak, sk, params=None, data=None, doseq=0): if params: for key in params: if type(params[key]) == int or type(params[key]) == float or type(params[key]) == bool: params[key] = str(params[key]) elif sys.version_info[0] != 3: if type(params[key]) == unicode: params[key] = params[key].encode('utf-8') elif type(params[key]) == list: if not doseq: params[key] = ','.join(params[key]) r = Request() r.set_shema("http") r.set_method(method) r.set_connection_timeout(10) r.set_socket_timeout(10) if params: r.set_query(params) r.set_path(path) if data is not None: r.set_body(json.dumps(data)) # 生成签名 credentials = Credentials(ak, sk, 'air', 'cn-north-1') SignerV4.sign(r, credentials) return r request_params = { "doc_infos":[ { "doc_type" : "pdf", "url": "https://viking-db-tos.tos-cn-beijing.volces.com/tce_test/%E6%B5%8B%E8%AF%95%E9%A3%9E%E4%B9%A6%E6%96%87%E6%A1%A3%E8%A7%A3%E6%9E%90%E6%95%88%E6%9E%9C/%E6%8E%A8%E8%8D%90%E5%B9%B3%E5%8F%B0%E5%AF%B9%E5%A4%96%E4%BB%8B%E7%BB%8Dppt%20V13.pdf?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Content-Sha256=UNSIGNED-PAYLOAD&X-Tos-Credential=AKTP0W2SmSuRexHHSwaMbazu80C2FjsFuuVEdFKlJMuuDV%2F20231207%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20231207T114453Z&X-Tos-Expires=3600&X-Tos-SignedHeaders=host&X-Tos-Security-Token=nCgdqdEROend3.ChsKBzNzX056d3cSECLUlSIF60Axnogurjf9sCUQmeDGqwYYqfzGqwYg_4zM6QcoAjC1wZsJQgN0b3NSGGRvbmdqaW5rdWlAYnl0ZWRhbmNlLmNvbVgEYAE.A9iq1xqYbpibvLJoOYjpMz6Tz7GUuaL1A_BY1MWhAAJTMVy7qk-rIA5SvJqbCWsFTz5hkDjaaegVIg0botVPaQ&X-Tos-Signature=ca0dbe8bcbc73e1cc120125a19b384da20ae6e0b2c67ac878757e94f8a7969a2" }, ] } ak = 'your_ak_on_volcengine' sk = 'your_sk_on_volcengine' method = 'POST' #path = '/api/parse_excel' path = '/api/doc_chunking' DOMAIN = "viking-knowledge-demo.byte-test.com" info_req = prepare_request(method = method, path = path, ak = ak, sk = sk, data = request_params) t_start = time.time() res = requests.request(method=info_req.method, url = "https://{}{}".format(DOMAIN, info_req.path), headers = info_req.headers, data = info_req.body) t_end = time.time() print("t_start:",t_start) print("t_end:",t_end) print(res.text) print()