You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
向量
GetVectors(TOS Vectors Python SDK)
复制全文
下载 pdf
GetVectors(TOS Vectors Python SDK)
get_vectors 接口用于批量获取向量数据,本文介绍如何通过 TOS Vectors Python SDK 的 get_vectors 接口读取指定 ID 列表对应的向量。​
注意事项​
  • 为了防止密钥泄露,本文示例代码需要从环境变量中读取 Access Key ID 和 Secret Access Key。因此使用 SDK 前,您需要配置长期访问凭证,详细介绍,请参见 配置长期访问凭证。​
  • TOS Vectors Python SDK 支持使用临时访问凭证;也支持配置超时机制、重试策略等多种机制,您可以根据业务需求灵活设置,提升应用安全性,详细介绍,请参见 常见配置场景。​
  • TOS Vectors 底层支持向量 float32 精度,如果传入高于此精度的向量,可能会导致精度损失。​
权限说明​
主账号默认拥有全部权限,但是 IAM 用户默认没有任何权限。如果您需要使用 IAM 用户执行 get_vectors 操作,主账号需通过 IAM策略和桶策略为该 IAM 用户授予以下权限:tosvectors:GetVectors​
代码示例​
根据向量 key 批量查询向量​
​
# 根据向量key批量查询向量​
import os​
import tos​
​
# 从环境变量获取 AK 和 SK 信息。​
ak = os.getenv('TOS_ACCESS_KEY')​
sk = os.getenv('TOS_SECRET_KEY')​
# your endpoint 和 your region 填写Bucket 所在区域对应的Endpoint。# 以华北2(北京)为例,your endpoint 填写 https://tosvectors-cn-beijing.volces.com,your region 填写 cn-beijing。​
endpoint = 'Provide your endpoint'​
region = 'Provide your region'​
vector_bucket_name = 'Provide your bucket name'​
account_id = os.getenv('TOS_ACCOUNT_ID')​
​
try:​
# 创建 VectorClient 对象,对向量的操作都通过 VectorClient 实现​
client = tos.VectorClient(ak, sk, endpoint, region)​
​
# 设置查询参数​
index_name = "test" # 向量索引名称​
keys = ["product-vector-0", "product-vector-1", "product-vector-2"] # 要查询的向量键列表​
​
# 调用 get_vectors API 批量查询向量(不返回数据和元数据)​
result = client.get_vectors(​
vector_bucket_name=vector_bucket_name,​
account_id=account_id,​
index_name=index_name,​
keys=keys,​
return_data=True, # 返回向量数据​
return_metadata=True # 返回向量元数据​
)​
​
# 打印查询结果​
print(f"查询成功,状态码: {result.status_code}")​
print(f"返回向量数量: {len(result.vectors)}")​
​
# 遍历返回的向量结果​
for vector in result.vectors:​
print(f"向量键: {vector.key}")​
print(f"向量数据: {vector.data.float32}")​
print(f"向量元数据: {vector.metadata}")​
print("---")​
​
except tos.exceptions.TosClientError as e:​
# 操作失败,捕获客户端异常,一般情况为非法请求参数或网络异常​
print('fail with client error, message:{}, cause: {}'.format(e.message, e.cause))​
except tos.exceptions.TosServerError as e:​
# 操作失败,捕获服务端异常,可从返回信息中获取详细错误信息​
print('fail with server error, code: {}'.format(e.code))​
# request id 可定位具体问题,强烈建议日志中保存​
print('error with request id: {}'.format(e.request_id))​
print('error with message: {}'.format(e.message))​
print('error with http code: {}'.format(e.status_code))​
print('error with ec: {}'.format(e.ec))​
print('error with request url: {}'.format(e.request_url))​
except Exception as e:​
print('fail with unknown error: {}'.format(e))​
​
相关文档​
关于 GetVectors 的 API 文档,请参见 GetVectors。​
​
最近更新时间:2026.07.31 10:34:20
这个页面对您有帮助吗?
有用
有用
无用
无用