ak = os.getenv('TOS_ACCESS_KEY')
sk = os.getenv('TOS_SECRET_KEY')
endpoint = 'Provide your endpoint'
region = 'Provide your region'
account_id = os.getenv('TOS_ACCOUNT_ID')
vector_bucket_name = 'Provide your bucket name'
client = tos.VectorClient(ak, sk, endpoint, region)
categories = ['electronics', 'clothing', 'books', 'sports', 'home']
vector_data = tos.models2.VectorData(
float32=[float(i * 0.1 + x * 0.01) for x in range(128)]
vector = tos.models2.Vector(
key=f'product-vector-{i}',
'product_id': f'prod_{i:06d}',
'category': categories[i % len(categories)],
'price': round(10.0 + i * 5.5, 2),
'timestamp': str(int(time.time() * 1000)),
'description': f'This is product {i} in {categories[i % len(categories)]} category'
result = client.put_vectors(
vector_bucket_name=vector_bucket_name,
print('Bulk insert vectors with metadata successfully')
print('Request ID:', result.request_id)
print('Status Code:', result.status_code)
print('Number of successfully inserted vectors:', len(vectors))
print('\n Inserted vector information:')
for i, vector in enumerate(vectors):
print(f' 向量 {i+1}: key={vector.key}, category={vector.metadata["category"]}, price=${vector.metadata["price"]}')
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))
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))
print('fail with unknown error: {}'.format(e))