milvus/python/sdk/examples/example.py
Yang Xuan 6de6fdfb91 feat(python): add setup and LICENSE, change requirements
Former-commit-id: db1f39ec461cdf176671a03b9ec12db2894dda58
2019-06-11 11:57:37 +08:00

89 lines
2.6 KiB
Python

from client.Client import MegaSearch, Prepare, IndexType
import random
import struct
from pprint import pprint
def main():
# Get client version
mega = MegaSearch()
print('# Client version: {}'.format(mega.client_version()))
# Connect
param = {'host': '192.168.1.129', 'port': '33001'}
cnn_status = mega.connect(**param)
print('# Connect Status: {}'.format(cnn_status))
# Check if connected
is_connected = mega.connected
print('# Is connected: {}'.format(is_connected))
# Get server version
print('# Server version: {}'.format(mega.server_version()))
# Show tables and their description
status, tables = mega.show_tables()
print('# Show tables: {}'.format(tables))
# Create table
# 01.Prepare data
param = {
'table_name': 'test'+ str(random.randint(0,999)),
'dimension': 256,
'index_type': IndexType.IDMAP,
'store_raw_vector': False
}
# 02.Create table
res_status = mega.create_table(Prepare.table_schema(**param))
print('# Create table status: {}'.format(res_status))
# Describe table
table_name = 'test01'
res_status, table = mega.describe_table(table_name)
print('# Describe table status: {}'.format(res_status))
print('# Describe table:{}'.format(table))
# Add vectors to table 'test01'
# 01. Prepare data
dim = 256
# list of binary vectors
vectors = [Prepare.row_record(struct.pack(str(dim)+'d',
*[random.random()for _ in range(dim)]))
for _ in range(20)]
# 02. Add vectors
status, ids = mega.add_vectors(table_name=table_name, records=vectors)
print('# Add vector status: {}'.format(status))
pprint(ids)
# Search vectors
q_records = [Prepare.row_record(struct.pack(str(dim) + 'd',
*[random.random() for _ in range(dim)]))
for _ in range(5)]
param = {
'table_name': 'test01',
'query_records': q_records,
'top_k': 10,
# 'query_ranges': None # Optional
}
sta, results = mega.search_vectors(**param)
print('# Search vectors status: {}'.format(sta))
pprint(results)
# Get table row count
sta, result = mega.get_table_row_count(table_name)
print('# Status: {}'.format(sta))
print('# Count: {}'.format(result))
# Delete table 'test01'
res_status = mega.delete_table(table_name)
print('# Delete table status: {}'.format(res_status))
# Disconnect
discnn_status = mega.disconnect()
print('# Disconnect Status: {}'.format(discnn_status))
if __name__ == '__main__':
main()