├── README.md
├── milvus-java
├── README.md
├── pom.xml
└── src
│ └── main
│ ├── java
│ ├── demo
│ │ └── HelloZillizVectorDB.java
│ └── util
│ │ └── PropertyFilesUtil.java
│ └── resources
│ └── RunSettings.properties
├── node
├── .gitignore
├── HelloZillizCloud.js
├── HelloZillizCloud.serverless.js
├── README.md
├── config.js
├── config.serverless.js
├── package.json
├── utils.js
└── yarn.lock
├── python
├── README.md
├── config.ini
└── hello_zilliz_vectordb.py
└── zilliz_go
├── HelloZillizCloud.go
├── README.md
├── config.go
├── go.mod
└── go.sum
/README.md:
--------------------------------------------------------------------------------
1 | # cloud-vectordb-examples
2 | This repository containslanguage examples demonstrating how to use Zilliz Cloud VectorDB.
3 |
4 | ## Introduction
5 | [Zilliz Cloud VectorDB](https://cloud.zilliz.com) is a cloud-based service that provides fast and efficient search capabilities for vector data. It is based on Milvus, an open-source vector database developed by Zilliz.
6 |
7 | This repository provides two examples that show how to use Zilliz Cloud VectorDB with Python and Java.
8 |
9 | ## Python Example
10 | https://github.com/zilliztech/cloud-vectordb-examples/tree/master/python
11 |
12 | ## Java Example
13 | https://github.com/zilliztech/cloud-vectordb-examples/tree/master/milvus-java
14 |
15 | ## Node.js Example
16 | https://github.com/zilliztech/cloud-vectordb-examples/tree/master/node
17 |
--------------------------------------------------------------------------------
/milvus-java/README.md:
--------------------------------------------------------------------------------
1 | ## Getting started
2 |
3 | ### Prerequisites
4 |
5 | Java 8+
6 | Apache Maven 3.6+
7 |
8 | ### Git clone the example code repo
9 | git clone https://github.com/zilliztech/cloud-vectordb-examples
10 |
11 | ### Go to milvus-java folder
12 | cd cloud-vectordb-examples
13 | cd milvus-java
14 |
15 | ### Modify uri, token in configuration file.(src/main/resources/RunSettings.properties)
16 | uri = https://in01-XXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
17 | token = db_admin:password (or ApiKey)
18 |
19 | ### Compile project
20 | mvn compile
21 |
22 | ### Run HelloZillizVectorDB.java
23 | mvn exec:java -Dexec.mainClass="demo.HelloZillizVectorDB"
24 |
25 | ### It should print information on the console
26 | Connecting to DB: https://in01-XXXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
27 | Success!
28 | Creating example collection: book
29 | Schema: {...}
30 | Success!
31 | Inserting 2000 entities...
32 | Succeed in 0.3321 seconds!
33 | Flushing...
34 | Succeed in 0.81 seconds!
35 | Building AutoIndex...
36 | Succeed in 18.9318 seconds!
37 | Loading collection...
38 | Succeed in 1.718 seconds!
39 | Searching vector:[[...][...]...]
40 | search 0 latency: 0.0154 seconds!
41 | Searching vector:[[...][...]...]
42 | search 1 latency: 0.0147 seconds!
43 | Searching vector:[[...][...]...]
44 | search 2 latency: 0.0151 seconds!
45 | ...
46 | ...
47 |
48 |
--------------------------------------------------------------------------------
/milvus-java/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | org.example
8 | milvus-java
9 | 1.0-SNAPSHOT
10 |
11 |
12 | 8
13 | 8
14 |
15 |
16 |
17 |
18 | io.milvus
19 | milvus-sdk-java
20 | 2.4.8
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/milvus-java/src/main/java/demo/HelloZillizVectorDB.java:
--------------------------------------------------------------------------------
1 | package demo;
2 |
3 |
4 | import com.google.gson.Gson;
5 | import com.google.gson.JsonObject;
6 | import io.milvus.v2.client.ConnectConfig;
7 | import io.milvus.v2.client.MilvusClientV2;
8 | import io.milvus.v2.common.ConsistencyLevel;
9 | import io.milvus.v2.common.IndexParam;
10 | import io.milvus.v2.service.collection.request.CreateCollectionReq;
11 | import io.milvus.v2.service.collection.request.DescribeCollectionReq;
12 | import io.milvus.v2.service.collection.request.DropCollectionReq;
13 | import io.milvus.v2.service.collection.request.LoadCollectionReq;
14 | import io.milvus.v2.service.collection.response.DescribeCollectionResp;
15 | import io.milvus.v2.service.index.request.CreateIndexReq;
16 | import io.milvus.v2.service.utility.request.FlushReq;
17 | import io.milvus.v2.service.vector.request.InsertReq;
18 | import io.milvus.v2.service.vector.request.SearchReq;
19 | import io.milvus.v2.service.vector.request.data.BaseVector;
20 | import io.milvus.v2.service.vector.request.data.FloatVec;
21 | import io.milvus.v2.service.vector.response.InsertResp;
22 | import io.milvus.v2.service.vector.response.SearchResp;
23 | import util.PropertyFilesUtil;
24 |
25 | import java.util.*;
26 |
27 |
28 | public class HelloZillizVectorDB {
29 | public static void main(String[] args) {
30 | // connect to milvus
31 | final MilvusClientV2 milvusClientV2 = new MilvusClientV2(ConnectConfig.builder()
32 | .uri(PropertyFilesUtil.getRunValue("uri"))
33 | .token(PropertyFilesUtil.getRunValue("token"))
34 | .secure(false)
35 | .connectTimeoutMs(5000L)
36 | .build());
37 | System.out.println("Connecting to DB: " + PropertyFilesUtil.getRunValue("uri"));
38 | // Check if the collection exists
39 | String collectionName = "book";
40 | DescribeCollectionResp describeCollectionResp = null;
41 | try {
42 | describeCollectionResp = milvusClientV2.describeCollection(DescribeCollectionReq.builder().collectionName(collectionName).build());
43 | } catch (Exception e) {
44 | System.out.println(e.getMessage());
45 | }
46 | if (describeCollectionResp != null) {
47 | milvusClientV2.dropCollection(DropCollectionReq.builder().collectionName(collectionName).build());
48 | }
49 | System.out.println("Success!");
50 |
51 | // create a collection with customized primary field: book_id
52 | int dim = 64;
53 | CreateCollectionReq.FieldSchema bookIdField = CreateCollectionReq.FieldSchema.builder()
54 | .autoID(false)
55 | .dataType(io.milvus.v2.common.DataType.Int64)
56 | .isPrimaryKey(true)
57 | .name("book_id")
58 | .build();
59 | CreateCollectionReq.FieldSchema wordCountField = CreateCollectionReq.FieldSchema.builder()
60 | .dataType(io.milvus.v2.common.DataType.Int64)
61 | .name("word_count")
62 | .isPrimaryKey(false)
63 | .build();
64 | CreateCollectionReq.FieldSchema bookIntroField = CreateCollectionReq.FieldSchema.builder()
65 | .dataType(io.milvus.v2.common.DataType.FloatVector)
66 | .name("book_intro")
67 | .isPrimaryKey(false)
68 | .dimension(dim)
69 | .build();
70 | List fieldSchemaList = new ArrayList<>();
71 | fieldSchemaList.add(bookIdField);
72 | fieldSchemaList.add(wordCountField);
73 | fieldSchemaList.add(bookIntroField);
74 | CreateCollectionReq.CollectionSchema collectionSchema = CreateCollectionReq.CollectionSchema.builder()
75 | .fieldSchemaList(fieldSchemaList)
76 | .build();
77 | System.out.println("Creating example collection: " + collectionName);
78 | System.out.println("Schema: " + collectionSchema);
79 | CreateCollectionReq createCollectionReq = CreateCollectionReq.builder()
80 | .collectionSchema(collectionSchema)
81 | .collectionName(collectionName)
82 | .enableDynamicField(false)
83 | .description("create collection demo")
84 | .numShards(1)
85 | .build();
86 | milvusClientV2.createCollection(createCollectionReq);
87 | System.out.println("Success!");
88 |
89 | //insert data with customized ids
90 | Random ran = new Random();
91 | Gson gson = new Gson();
92 | int singleNum = 1000;
93 | int insertRounds = 2;
94 | long insertTotalTime = 0L;
95 | System.out.println("Inserting " + singleNum * insertRounds + " entities... ");
96 | for (int r = 0; r < insertRounds; r++) {
97 | List jsonList = new ArrayList<>();
98 | for (long i = r * singleNum; i < (r + 1) * singleNum; ++i) {
99 | JsonObject row = new JsonObject();
100 | row.addProperty(bookIdField.getName(), i);
101 | row.addProperty(wordCountField.getName(), i + 10000);
102 | List vector = new ArrayList<>();
103 | for (int k = 0; k < dim; ++k) {
104 | vector.add(ran.nextFloat());
105 | }
106 | row.add(bookIntroField.getName(), gson.toJsonTree(vector));
107 | jsonList.add(row);
108 | }
109 | long startTime = System.currentTimeMillis();
110 | InsertResp insert = milvusClientV2.insert(InsertReq.builder()
111 | .collectionName(collectionName)
112 | .data(jsonList).build());
113 | long endTime = System.currentTimeMillis();
114 | insertTotalTime += (endTime - startTime) / 1000.00;
115 | }
116 | System.out.println("Succeed in " + insertTotalTime + " seconds!");
117 |
118 | // flush data
119 | System.out.println("Flushing...");
120 | long startFlushTime = System.currentTimeMillis();
121 | milvusClientV2.flush(FlushReq.builder().collectionNames(Collections.singletonList(collectionName)).build());
122 | long endFlushTime = System.currentTimeMillis();
123 | System.out.println("Succeed in " + (endFlushTime - startFlushTime) / 1000.00 + " seconds!");
124 |
125 | // build index
126 | System.out.println("Building AutoIndex...");
127 | IndexParam indexParam = IndexParam.builder()
128 | .fieldName(bookIntroField.getName())
129 | .indexType(IndexParam.IndexType.AUTOINDEX)
130 | .metricType(IndexParam.MetricType.L2)
131 | .build();
132 | long startIndexTime = System.currentTimeMillis();
133 | milvusClientV2.createIndex(CreateIndexReq.builder()
134 | .collectionName(collectionName)
135 | .indexParams(Collections.singletonList(indexParam))
136 | .build());
137 | long endIndexTime = System.currentTimeMillis();
138 | System.out.println("Succeed in " + (endIndexTime - startIndexTime) / 1000.00 + " seconds!");
139 |
140 | // load collection
141 | System.out.println("Loading collection...");
142 | long startLoadTime = System.currentTimeMillis();
143 | milvusClientV2.loadCollection(LoadCollectionReq.builder()
144 | .collectionName(collectionName)
145 | .async(false)
146 | .build());
147 | long endLoadTime = System.currentTimeMillis();
148 | System.out.println("Succeed in " + (endLoadTime - startLoadTime) / 1000.00 + " seconds");
149 |
150 | // search
151 | final Integer SEARCH_K = 2; // TopK
152 | Map searchLevel = new HashMap<>(); // Params
153 | searchLevel.put("level", 1);
154 | List search_output_fields = Arrays.asList("book_id", "word_count");
155 | for (int i = 0; i < 10; i++) {
156 | List data = new ArrayList<>();
157 | List floatList = new ArrayList<>();
158 | for (int k = 0; k < dim; ++k) {
159 | floatList.add(ran.nextFloat());
160 | }
161 | data.add(new FloatVec(floatList));
162 | List> search_vectors = Collections.singletonList(floatList);
163 |
164 | long startSearchTime = System.currentTimeMillis();
165 | SearchResp search = milvusClientV2.search(SearchReq.builder()
166 | .data(data)
167 | .consistencyLevel(ConsistencyLevel.STRONG)
168 | .collectionName(collectionName)
169 | .searchParams(searchLevel)
170 | .outputFields(search_output_fields)
171 | .metricType(IndexParam.MetricType.L2)
172 | .topK(SEARCH_K)
173 | .build());
174 | long endSearchTime = System.currentTimeMillis();
175 | System.out.println("Searching vector: " + search_vectors);
176 | System.out.println("Result: " + search.getSearchResults());
177 | System.out.println("search " + i + " latency: " + (endSearchTime - startSearchTime) / 1000.00 + " seconds");
178 | }
179 |
180 | milvusClientV2.close();
181 | }
182 |
183 | }
184 |
--------------------------------------------------------------------------------
/milvus-java/src/main/java/util/PropertyFilesUtil.java:
--------------------------------------------------------------------------------
1 | package util;
2 |
3 |
4 | import java.io.BufferedInputStream;
5 | import java.io.InputStream;
6 | import java.nio.file.Files;
7 | import java.nio.file.Paths;
8 | import java.util.HashMap;
9 | import java.util.Properties;
10 |
11 | public class PropertyFilesUtil {
12 | public static HashMap readPropertyFile(String propertyFileName) {
13 | HashMap hashMap=new HashMap<>();
14 | Properties prop = new Properties();
15 | try {
16 | InputStream in = new BufferedInputStream(Files.newInputStream(Paths.get(propertyFileName)));
17 | prop.load(in);
18 | for (String key : prop.stringPropertyNames()) {
19 | hashMap.put(key, prop.getProperty(key));
20 | }
21 | in.close();
22 | } catch (Exception e) {
23 | throw new RuntimeException(e);
24 | }
25 | return hashMap;
26 | }
27 |
28 | public static String getRunValue(String key){
29 | HashMap hashMap = PropertyFilesUtil.readPropertyFile("./src/main/resources/RunSettings.properties");
30 | String value;
31 | value=hashMap.get(key);
32 | return value;
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/milvus-java/src/main/resources/RunSettings.properties:
--------------------------------------------------------------------------------
1 | uri = https://in01-XXXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
2 | token = db_admin:password (or ApiKey)
--------------------------------------------------------------------------------
/node/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/node/HelloZillizCloud.js:
--------------------------------------------------------------------------------
1 | import {
2 | MilvusClient,
3 | DataType,
4 | ConsistencyLevelEnum,
5 | } from "@zilliz/milvus2-sdk-node";
6 | import { config } from "./config.js";
7 | import { isVersionAtLeast } from "./utils.js";
8 |
9 | if (!isVersionAtLeast("2.2.17", MilvusClient.sdkInfo.version)) {
10 | console.warn(
11 | `Please upgrade your node sdk version, it should >= 2.2.17, your sdk version is ${MilvusClient.sdkInfo.version}`
12 | );
13 | process.exit();
14 | }
15 |
16 | const { uri, user, password, token } = config;
17 |
18 | // connecting
19 | console.info(`Connecting to DB: ${uri}`);
20 | const client = new MilvusClient({
21 | address: uri,
22 | username: user,
23 | password: password,
24 | token,
25 | });
26 |
27 | /*
28 | Please check your connection guide in Zilliz Cloud console, if the cluster provides a token, you can use it to authenticate your cluster\
29 | // token based cluster
30 | const client = new MilvusClient({
31 | address: uri,
32 | token: token,
33 | });
34 | */
35 |
36 | (async () => {
37 | // dimension
38 | const dimension = 64;
39 | const collection_name = "hello_milvus";
40 | const num_of_rows = 1000;
41 | // create colleciton
42 | console.time(`Creating example collection: ${collection_name}`);
43 | await client.createCollection({
44 | collection_name,
45 | dimension,
46 | });
47 | console.info(`Success!`);
48 | console.timeEnd(`Creating example collection: ${collection_name}`);
49 |
50 | const data = [];
51 | Array(num_of_rows)
52 | .fill(1)
53 | .forEach(() => {
54 | data.push({
55 | id: Math.floor(Math.random() * 100000),
56 | vector: [...Array(dimension)].map(() => Math.random()),
57 | });
58 | });
59 | // inserting
60 | console.time(`Inserting 1000 entities successfully`);
61 | await client.insert({
62 | collection_name,
63 | data,
64 | });
65 | console.timeEnd(`Inserting 1000 entities successfully`);
66 |
67 | await client.flushSync({ collection_names: [collection_name] });
68 | console.log(`Flush data successfully`);
69 |
70 | // search
71 | console.time(`Searching vector`);
72 | const res = await client.search({
73 | collection_name,
74 | vector: data[0]["vector"],
75 | output_fields: ["id"],
76 | vector_type: DataType.FloatVector,
77 | limit: 10,
78 | consistency_level: ConsistencyLevelEnum.Bounded,
79 | });
80 | console.timeEnd(`Searching vector`);
81 | console.log(res);
82 | })();
83 |
--------------------------------------------------------------------------------
/node/HelloZillizCloud.serverless.js:
--------------------------------------------------------------------------------
1 | import { MilvusClient, ConsistencyLevelEnum } from "@zilliz/milvus2-sdk-node";
2 | import { config } from "./config.serverless.js";
3 | import { isVersionAtLeast } from "./utils.js";
4 |
5 | if (!isVersionAtLeast("2.2.17", MilvusClient.sdkInfo.version)) {
6 | console.warn(
7 | `Please upgrade your node sdk version, it should >= 2.2.17, your version is ${MilvusClient.sdkInfo.version}`
8 | );
9 | process.exit();
10 | }
11 |
12 | const { uri, token } = config;
13 |
14 | // connecting
15 | console.info(`Connecting to DB: ${uri}`);
16 | const client = new MilvusClient({
17 | address: uri,
18 | token: token,
19 | });
20 | console.info(`Success!`);
21 |
22 | (async () => {
23 | // dimension
24 | const dimension = 64;
25 | const collection_name = "hello_milvus";
26 | const num_of_rows = 1000;
27 |
28 | // create colleciton
29 | console.time(`Creating example collection: ${collection_name}`);
30 | await client.createCollection({
31 | collection_name,
32 | dimension,
33 | });
34 | console.timeEnd(`Creating example collection: ${collection_name}`);
35 |
36 | const data = [];
37 | Array(num_of_rows)
38 | .fill(1)
39 | .forEach(() => {
40 | data.push({
41 | id: Math.floor(Math.random() * 100000),
42 | vector: [...Array(dimension)].map(() => Math.random()),
43 | });
44 | });
45 | // inserting
46 | console.time(`Inserting 1000 entities successfully`);
47 | await client.insert({
48 | collection_name,
49 | data,
50 | });
51 | console.timeEnd(`Inserting 1000 entities successfully`);
52 |
53 | // flush
54 | await client.flushSync({ collection_names: [collection_name] });
55 | console.log(`Flush data successfully`);
56 | // search
57 | console.time(`Searching vector`);
58 | const res = await client.search({
59 | collection_name,
60 | vector: data[0]["vector"],
61 | output_fields: ["id"],
62 | limit: 10,
63 | consistency_level: ConsistencyLevelEnum.Bounded,
64 | });
65 | console.timeEnd(`Searching vector`);
66 | console.log(res);
67 | })();
68 |
--------------------------------------------------------------------------------
/node/README.md:
--------------------------------------------------------------------------------
1 | ## Getting started
2 |
3 | ### Prerequisites
4 |
5 | Node 14+
6 |
7 | ### Git clone the example code repo
8 |
9 | ```bash
10 | git clone https://github.com/zilliztech/cloud-vectordb-examples
11 | ```
12 |
13 | ### Go to milvus-node folder
14 |
15 | ```bash
16 | cd cloud-vectordb-examples
17 | cd node
18 | ```
19 |
20 | ### Install sdk
21 |
22 | ```bash
23 | npm install
24 | ```
25 |
26 | #### Dedicated cluster
27 |
28 | ##### Modify uri, user name and user password in configuration file.(config.js)
29 |
30 | ```javascript
31 | {
32 | uri: " https://in01-XXXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX",
33 | token: "username:password",
34 | };
35 | ```
36 |
37 | #### Serverless cluster
38 |
39 | ##### Modify uri, token in configuration file.(config.js)
40 |
41 | ```javascript
42 | {
43 | uri: "https://in03-XXXXXXXXXXXXX.api.gcp-us-west1.cloud-uat3.zilliz.com",
44 | token: "api-key",
45 | };
46 |
47 | ```
48 |
49 | ### Run HelloZillizCloud.js
50 |
51 | ```shell
52 | npm install
53 | node HelloZillizCloud.js
54 | ```
55 |
--------------------------------------------------------------------------------
/node/config.js:
--------------------------------------------------------------------------------
1 | export const config = {
2 | uri: "https://in03-XXXXXXXXXXXXX.api.gcp-us-west1.cloud-uat3.zilliz.com:port",
3 | user: 'username',
4 | password: 'password',
5 | token: 'some-token', // optinal, please check your Zilliz Cloud connection guide
6 | };
7 |
--------------------------------------------------------------------------------
/node/config.serverless.js:
--------------------------------------------------------------------------------
1 | export const config = {
2 | uri: "https://in03-XXXXXXXXXXXXX.api.gcp-us-west1.cloud-uat3.zilliz.com",
3 | token:
4 | "cfda6bf09e57d2608851bd30ec0a76469297011bce00e87cd1189ab202d52ec59103c0942e7bdab776d7b6b3cbf487ed2c3c61ff",
5 | };
6 |
--------------------------------------------------------------------------------
/node/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module",
3 | "dependencies": {
4 | "@zilliz/milvus2-sdk-node": "2.3.2"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/node/utils.js:
--------------------------------------------------------------------------------
1 | export const isVersionAtLeast = (targetVersion, version) => {
2 | const targetParts = targetVersion.split(".").map(Number);
3 | const parts = version.split(".").map(Number);
4 | for (let i = 0; i < targetParts.length; i++) {
5 | if (parts[i] > targetParts[i]) {
6 | return true;
7 | } else if (parts[i] < targetParts[i]) {
8 | return false;
9 | }
10 | }
11 | return true;
12 | };
13 |
--------------------------------------------------------------------------------
/node/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@colors/colors@1.5.0":
6 | version "1.5.0"
7 | resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
8 | integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
9 |
10 | "@dabh/diagnostics@^2.0.2":
11 | version "2.0.3"
12 | resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
13 | integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==
14 | dependencies:
15 | colorspace "1.1.x"
16 | enabled "2.0.x"
17 | kuler "^2.0.0"
18 |
19 | "@grpc/grpc-js@1.8.17":
20 | version "1.8.17"
21 | resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.17.tgz#a3a2f826fc033eae7d2f5ee41e0ab39cee948838"
22 | integrity sha512-DGuSbtMFbaRsyffMf+VEkVu8HkSXEUfO3UyGJNtqxW9ABdtTIA+2UXAJpwbJS+xfQxuwqLUeELmL6FuZkOqPxw==
23 | dependencies:
24 | "@grpc/proto-loader" "^0.7.0"
25 | "@types/node" ">=12.12.47"
26 |
27 | "@grpc/proto-loader@0.7.7":
28 | version "0.7.7"
29 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.7.tgz#d33677a77eea8407f7c66e2abd97589b60eb4b21"
30 | integrity sha512-1TIeXOi8TuSCQprPItwoMymZXxWT0CPxUhkrkeCUH+D8U7QDwQ6b7SUz2MaLuWM2llT+J/TVFLmQI5KtML3BhQ==
31 | dependencies:
32 | "@types/long" "^4.0.1"
33 | lodash.camelcase "^4.3.0"
34 | long "^4.0.0"
35 | protobufjs "^7.0.0"
36 | yargs "^17.7.2"
37 |
38 | "@grpc/proto-loader@^0.7.0":
39 | version "0.7.6"
40 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.6.tgz#b71fdf92b184af184b668c4e9395a5ddc23d61de"
41 | integrity sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==
42 | dependencies:
43 | "@types/long" "^4.0.1"
44 | lodash.camelcase "^4.3.0"
45 | long "^4.0.0"
46 | protobufjs "^7.0.0"
47 | yargs "^16.2.0"
48 |
49 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
50 | version "1.1.2"
51 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
52 | integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==
53 |
54 | "@protobufjs/base64@^1.1.2":
55 | version "1.1.2"
56 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
57 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
58 |
59 | "@protobufjs/codegen@^2.0.4":
60 | version "2.0.4"
61 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
62 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
63 |
64 | "@protobufjs/eventemitter@^1.1.0":
65 | version "1.1.0"
66 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
67 | integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==
68 |
69 | "@protobufjs/fetch@^1.1.0":
70 | version "1.1.0"
71 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
72 | integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==
73 | dependencies:
74 | "@protobufjs/aspromise" "^1.1.1"
75 | "@protobufjs/inquire" "^1.1.0"
76 |
77 | "@protobufjs/float@^1.0.2":
78 | version "1.0.2"
79 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
80 | integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==
81 |
82 | "@protobufjs/inquire@^1.1.0":
83 | version "1.1.0"
84 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
85 | integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==
86 |
87 | "@protobufjs/path@^1.1.2":
88 | version "1.1.2"
89 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
90 | integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==
91 |
92 | "@protobufjs/pool@^1.1.0":
93 | version "1.1.0"
94 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
95 | integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==
96 |
97 | "@protobufjs/utf8@^1.1.0":
98 | version "1.1.0"
99 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
100 | integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
101 |
102 | "@types/long@^4.0.1":
103 | version "4.0.2"
104 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a"
105 | integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==
106 |
107 | "@types/node@>=12.12.47", "@types/node@>=13.7.0":
108 | version "18.15.11"
109 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
110 | integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
111 |
112 | "@types/triple-beam@^1.3.2":
113 | version "1.3.2"
114 | resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8"
115 | integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==
116 |
117 | "@zilliz/milvus2-sdk-node@2.3.2":
118 | version "2.3.2"
119 | resolved "https://registry.yarnpkg.com/@zilliz/milvus2-sdk-node/-/milvus2-sdk-node-2.3.2.tgz#1ea6a7b4ffedeb3d4ae6002fd3ebf74ef7daa316"
120 | integrity sha512-2V9wvJl76oAwCZZzRZl03nCSOc392/u4Obk1jRmmgBUiQ8E5lfncvQgQfd+Meg++fgpEb3m4sRhyFUVSTZRK5g==
121 | dependencies:
122 | "@grpc/grpc-js" "1.8.17"
123 | "@grpc/proto-loader" "0.7.7"
124 | dayjs "^1.11.7"
125 | lru-cache "^9.1.2"
126 | protobufjs "7.2.4"
127 | winston "^3.9.0"
128 |
129 | ansi-regex@^5.0.1:
130 | version "5.0.1"
131 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
132 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
133 |
134 | ansi-styles@^4.0.0:
135 | version "4.3.0"
136 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
137 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
138 | dependencies:
139 | color-convert "^2.0.1"
140 |
141 | async@^3.2.3:
142 | version "3.2.4"
143 | resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
144 | integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
145 |
146 | cliui@^7.0.2:
147 | version "7.0.4"
148 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
149 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
150 | dependencies:
151 | string-width "^4.2.0"
152 | strip-ansi "^6.0.0"
153 | wrap-ansi "^7.0.0"
154 |
155 | cliui@^8.0.1:
156 | version "8.0.1"
157 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
158 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
159 | dependencies:
160 | string-width "^4.2.0"
161 | strip-ansi "^6.0.1"
162 | wrap-ansi "^7.0.0"
163 |
164 | color-convert@^1.9.3:
165 | version "1.9.3"
166 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
167 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
168 | dependencies:
169 | color-name "1.1.3"
170 |
171 | color-convert@^2.0.1:
172 | version "2.0.1"
173 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
174 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
175 | dependencies:
176 | color-name "~1.1.4"
177 |
178 | color-name@1.1.3:
179 | version "1.1.3"
180 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
181 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
182 |
183 | color-name@^1.0.0, color-name@~1.1.4:
184 | version "1.1.4"
185 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
186 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
187 |
188 | color-string@^1.6.0:
189 | version "1.9.1"
190 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
191 | integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
192 | dependencies:
193 | color-name "^1.0.0"
194 | simple-swizzle "^0.2.2"
195 |
196 | color@^3.1.3:
197 | version "3.2.1"
198 | resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
199 | integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
200 | dependencies:
201 | color-convert "^1.9.3"
202 | color-string "^1.6.0"
203 |
204 | colorspace@1.1.x:
205 | version "1.1.4"
206 | resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
207 | integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
208 | dependencies:
209 | color "^3.1.3"
210 | text-hex "1.0.x"
211 |
212 | dayjs@^1.11.7:
213 | version "1.11.8"
214 | resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea"
215 | integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==
216 |
217 | emoji-regex@^8.0.0:
218 | version "8.0.0"
219 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
220 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
221 |
222 | enabled@2.0.x:
223 | version "2.0.0"
224 | resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
225 | integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
226 |
227 | escalade@^3.1.1:
228 | version "3.1.1"
229 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
230 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
231 |
232 | fecha@^4.2.0:
233 | version "4.2.3"
234 | resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
235 | integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
236 |
237 | fn.name@1.x.x:
238 | version "1.1.0"
239 | resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
240 | integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
241 |
242 | get-caller-file@^2.0.5:
243 | version "2.0.5"
244 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
245 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
246 |
247 | inherits@^2.0.3:
248 | version "2.0.4"
249 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
250 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
251 |
252 | is-arrayish@^0.3.1:
253 | version "0.3.2"
254 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
255 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
256 |
257 | is-fullwidth-code-point@^3.0.0:
258 | version "3.0.0"
259 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
260 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
261 |
262 | is-stream@^2.0.0:
263 | version "2.0.1"
264 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
265 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
266 |
267 | kuler@^2.0.0:
268 | version "2.0.0"
269 | resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
270 | integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
271 |
272 | lodash.camelcase@^4.3.0:
273 | version "4.3.0"
274 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
275 | integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
276 |
277 | logform@^2.3.2, logform@^2.4.0:
278 | version "2.5.1"
279 | resolved "https://registry.yarnpkg.com/logform/-/logform-2.5.1.tgz#44c77c34becd71b3a42a3970c77929e52c6ed48b"
280 | integrity sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==
281 | dependencies:
282 | "@colors/colors" "1.5.0"
283 | "@types/triple-beam" "^1.3.2"
284 | fecha "^4.2.0"
285 | ms "^2.1.1"
286 | safe-stable-stringify "^2.3.1"
287 | triple-beam "^1.3.0"
288 |
289 | long@^4.0.0:
290 | version "4.0.0"
291 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
292 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
293 |
294 | long@^5.0.0:
295 | version "5.2.3"
296 | resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1"
297 | integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==
298 |
299 | lru-cache@^9.1.2:
300 | version "9.1.2"
301 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.2.tgz#255fdbc14b75589d6d0e73644ca167a8db506835"
302 | integrity sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==
303 |
304 | ms@^2.1.1:
305 | version "2.1.3"
306 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
307 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
308 |
309 | one-time@^1.0.0:
310 | version "1.0.0"
311 | resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
312 | integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
313 | dependencies:
314 | fn.name "1.x.x"
315 |
316 | protobufjs@7.2.4:
317 | version "7.2.4"
318 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.4.tgz#3fc1ec0cdc89dd91aef9ba6037ba07408485c3ae"
319 | integrity sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==
320 | dependencies:
321 | "@protobufjs/aspromise" "^1.1.2"
322 | "@protobufjs/base64" "^1.1.2"
323 | "@protobufjs/codegen" "^2.0.4"
324 | "@protobufjs/eventemitter" "^1.1.0"
325 | "@protobufjs/fetch" "^1.1.0"
326 | "@protobufjs/float" "^1.0.2"
327 | "@protobufjs/inquire" "^1.1.0"
328 | "@protobufjs/path" "^1.1.2"
329 | "@protobufjs/pool" "^1.1.0"
330 | "@protobufjs/utf8" "^1.1.0"
331 | "@types/node" ">=13.7.0"
332 | long "^5.0.0"
333 |
334 | protobufjs@^7.0.0:
335 | version "7.2.3"
336 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.3.tgz#01af019e40d9c6133c49acbb3ff9e30f4f0f70b2"
337 | integrity sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==
338 | dependencies:
339 | "@protobufjs/aspromise" "^1.1.2"
340 | "@protobufjs/base64" "^1.1.2"
341 | "@protobufjs/codegen" "^2.0.4"
342 | "@protobufjs/eventemitter" "^1.1.0"
343 | "@protobufjs/fetch" "^1.1.0"
344 | "@protobufjs/float" "^1.0.2"
345 | "@protobufjs/inquire" "^1.1.0"
346 | "@protobufjs/path" "^1.1.2"
347 | "@protobufjs/pool" "^1.1.0"
348 | "@protobufjs/utf8" "^1.1.0"
349 | "@types/node" ">=13.7.0"
350 | long "^5.0.0"
351 |
352 | readable-stream@^3.4.0, readable-stream@^3.6.0:
353 | version "3.6.2"
354 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
355 | integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
356 | dependencies:
357 | inherits "^2.0.3"
358 | string_decoder "^1.1.1"
359 | util-deprecate "^1.0.1"
360 |
361 | require-directory@^2.1.1:
362 | version "2.1.1"
363 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
364 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
365 |
366 | safe-buffer@~5.2.0:
367 | version "5.2.1"
368 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
369 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
370 |
371 | safe-stable-stringify@^2.3.1:
372 | version "2.4.3"
373 | resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886"
374 | integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==
375 |
376 | simple-swizzle@^0.2.2:
377 | version "0.2.2"
378 | resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
379 | integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
380 | dependencies:
381 | is-arrayish "^0.3.1"
382 |
383 | stack-trace@0.0.x:
384 | version "0.0.10"
385 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
386 | integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
387 |
388 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
389 | version "4.2.3"
390 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
391 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
392 | dependencies:
393 | emoji-regex "^8.0.0"
394 | is-fullwidth-code-point "^3.0.0"
395 | strip-ansi "^6.0.1"
396 |
397 | string_decoder@^1.1.1:
398 | version "1.3.0"
399 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
400 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
401 | dependencies:
402 | safe-buffer "~5.2.0"
403 |
404 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
405 | version "6.0.1"
406 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
407 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
408 | dependencies:
409 | ansi-regex "^5.0.1"
410 |
411 | text-hex@1.0.x:
412 | version "1.0.0"
413 | resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
414 | integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
415 |
416 | triple-beam@^1.3.0:
417 | version "1.3.0"
418 | resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
419 | integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
420 |
421 | util-deprecate@^1.0.1:
422 | version "1.0.2"
423 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
424 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
425 |
426 | winston-transport@^4.5.0:
427 | version "4.5.0"
428 | resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa"
429 | integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==
430 | dependencies:
431 | logform "^2.3.2"
432 | readable-stream "^3.6.0"
433 | triple-beam "^1.3.0"
434 |
435 | winston@^3.9.0:
436 | version "3.9.0"
437 | resolved "https://registry.yarnpkg.com/winston/-/winston-3.9.0.tgz#2bbdeb8167a75fac6d9a0c6d002890cd908016c2"
438 | integrity sha512-jW51iW/X95BCW6MMtZWr2jKQBP4hV5bIDq9QrIjfDk6Q9QuxvTKEAlpUNAzP+HYHFFCeENhph16s0zEunu4uuQ==
439 | dependencies:
440 | "@colors/colors" "1.5.0"
441 | "@dabh/diagnostics" "^2.0.2"
442 | async "^3.2.3"
443 | is-stream "^2.0.0"
444 | logform "^2.4.0"
445 | one-time "^1.0.0"
446 | readable-stream "^3.4.0"
447 | safe-stable-stringify "^2.3.1"
448 | stack-trace "0.0.x"
449 | triple-beam "^1.3.0"
450 | winston-transport "^4.5.0"
451 |
452 | wrap-ansi@^7.0.0:
453 | version "7.0.0"
454 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
455 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
456 | dependencies:
457 | ansi-styles "^4.0.0"
458 | string-width "^4.1.0"
459 | strip-ansi "^6.0.0"
460 |
461 | y18n@^5.0.5:
462 | version "5.0.8"
463 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
464 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
465 |
466 | yargs-parser@^20.2.2:
467 | version "20.2.9"
468 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
469 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
470 |
471 | yargs-parser@^21.1.1:
472 | version "21.1.1"
473 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
474 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
475 |
476 | yargs@^16.2.0:
477 | version "16.2.0"
478 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
479 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
480 | dependencies:
481 | cliui "^7.0.2"
482 | escalade "^3.1.1"
483 | get-caller-file "^2.0.5"
484 | require-directory "^2.1.1"
485 | string-width "^4.2.0"
486 | y18n "^5.0.5"
487 | yargs-parser "^20.2.2"
488 |
489 | yargs@^17.7.2:
490 | version "17.7.2"
491 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
492 | integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
493 | dependencies:
494 | cliui "^8.0.1"
495 | escalade "^3.1.1"
496 | get-caller-file "^2.0.5"
497 | require-directory "^2.1.1"
498 | string-width "^4.2.3"
499 | y18n "^5.0.5"
500 | yargs-parser "^21.1.1"
501 |
--------------------------------------------------------------------------------
/python/README.md:
--------------------------------------------------------------------------------
1 | ## Getting started
2 |
3 | ### Prerequisites
4 | Install Python 3.8+
5 | pip3
6 |
7 |
8 | ### Git clone the example code repo
9 | git clone https://github.com/zilliztech/cloud-vectordb-examples.git
10 |
11 | ### Install pymilvus
12 | pip3 install pymilvus==2.4.12
13 |
14 | ### Go to python folder
15 | cd cloud-vectordb-examples
16 | cd python
17 |
18 | ### Modify uri,token in the configuration file.(config.ini)
19 | uri = https://in01-XXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
20 | token = db_admin:password (or ApiKey)
21 |
22 | ### Run hello_zilliz_vectordb.py
23 | python3 hello_zilliz_vectordb.py
24 |
25 | ### It should print information on the console
26 | Connecting to DB: https://in01-xxxxxxxxxxxxx.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
27 | Success!
28 | Creating example collection: book
29 | Schema: {...}
30 | Success!
31 | Inserting 2000 entities...
32 | Succeed in 0.3021 seconds!
33 | Flushing...
34 | Succeed in 0.77 seconds!
35 | Building AutoIndex...
36 | Succeed in 18.9118 seconds!
37 | Loading collection...
38 | Succeed in 2.5229 seconds!
39 | Searching vector:[[...][...]...]
40 | search 0 latency: 0.0057 seconds!
41 | Searching vector:[[...][...]...]
42 | search 1 latency: 0.0049 seconds!
43 | Searching vector:[[...][...]...]
44 | search 2 latency: 0.0051 seconds!
45 | ...
46 | ...
47 |
48 |
--------------------------------------------------------------------------------
/python/config.ini:
--------------------------------------------------------------------------------
1 | [example]
2 | uri = https://in01-XXXXXXXXXXXXX.aws-us-west-2.vectordb.zillizcloud.com:XXXXX
3 | token = db_admin:password (or ApiKey)
--------------------------------------------------------------------------------
/python/hello_zilliz_vectordb.py:
--------------------------------------------------------------------------------
1 | import configparser
2 | import time
3 | import random
4 |
5 | from pymilvus import MilvusClient
6 | from pymilvus import DataType
7 |
8 | cfp = configparser.RawConfigParser()
9 | cfp.read('config.ini')
10 | milvus_uri = cfp.get('example', 'uri')
11 | token = cfp.get('example', 'token')
12 |
13 | milvus_client = MilvusClient(uri=milvus_uri, token=token)
14 | print(f"Connected to DB: {milvus_uri} successfully")
15 |
16 |
17 | # Check if the collection exists
18 | collection_name = "book"
19 | check_collection = milvus_client.has_collection(collection_name)
20 |
21 | if check_collection:
22 | milvus_client.drop_collection(collection_name)
23 | print(f"Dropped the existing collection {collection_name} successfully")
24 |
25 | dim = 64
26 |
27 | print("Start to create the collection schema")
28 | schema = milvus_client.create_schema()
29 | schema.add_field("book_id", DataType.INT64, is_primary=True, description="customized primary id")
30 | schema.add_field("word_count", DataType.INT64, description="word count")
31 | schema.add_field("book_intro", DataType.FLOAT_VECTOR, dim=dim, description="book introduction")
32 | print("Start to prepare index parameters with default AUTOINDEX")
33 | index_params = milvus_client.prepare_index_params()
34 | index_params.add_index("book_intro", metric_type="L2")
35 |
36 | print(f"Start to create example collection: {collection_name}")
37 | # create collection with the above schema and index parameters, and then load automatically
38 | milvus_client.create_collection(collection_name, schema=schema, index_params=index_params)
39 | collection_property = milvus_client.describe_collection(collection_name)
40 | print("Collection details: %s" % collection_property)
41 |
42 | # insert data with customized ids
43 | nb = 1000
44 | insert_rounds = 2
45 | start = 0 # first primary key id
46 | total_rt = 0 # total response time for inert
47 |
48 | print(f"Start to insert {nb*insert_rounds} entities into example collection: {collection_name}")
49 | for i in range(insert_rounds):
50 | vector = [random.random() for _ in range(dim)]
51 | rows = [{"book_id": i, "word_count": random.randint(1, 100), "book_intro": vector} for i in range(start, start+nb)]
52 | t0 = time.time()
53 | milvus_client.insert(collection_name, rows)
54 | ins_rt = time.time() - t0
55 | start += nb
56 | total_rt += ins_rt
57 | print(f"Insert completed in {round(total_rt,4)} seconds")
58 |
59 | print("Start to flush")
60 | start_flush = time.time()
61 | milvus_client.flush(collection_name)
62 | end_flush = time.time()
63 | print(f"Flush completed in {round(end_flush - start_flush, 4)} seconds")
64 |
65 | # search
66 | nq = 3
67 | search_params = {"metric_type": "L2", "params": {"level": 2}}
68 | limit = 2
69 |
70 | for i in range(5):
71 | search_vectors = [[random.random() for _ in range(dim)] for _ in range(nq)]
72 | t0 = time.time()
73 | results = milvus_client.search(collection_name,
74 | data=search_vectors,
75 | limit=limit,
76 | search_params=search_params,
77 | anns_field="book_intro")
78 | t1 = time.time()
79 | assert len(results) == nq
80 | assert len(results[0]) == limit
81 | print(f"Search {i} results: {results}")
82 | print(f"Search {i} latency: {round(t1-t0, 4)} seconds")
83 |
84 |
--------------------------------------------------------------------------------
/zilliz_go/HelloZillizCloud.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "context"
5 | "fmt"
6 | "log"
7 | "math/rand"
8 | "time"
9 |
10 | "github.com/milvus-io/milvus-sdk-go/v2/client"
11 | "github.com/milvus-io/milvus-sdk-go/v2/entity"
12 | )
13 |
14 | func main() {
15 | collectionName := "book"
16 | uri := "" // https://in01-xxxx.region.zillizcloud.com:port
17 | user := "username"
18 | password := "password"
19 |
20 | // connect to milvus
21 | fmt.Println("Connecting to DB: ", uri)
22 | ctx, cancel := context.WithCancel(context.Background())
23 | defer cancel()
24 |
25 | client, err := client.NewClient(ctx, client.Config{
26 | Address: uri,
27 | Username: user,
28 | Password: password,
29 | })
30 |
31 | if err != nil {
32 | log.Fatal("fail to connect to milvus", err.Error())
33 | }
34 | fmt.Println("Success!")
35 |
36 | // delete collection if exists
37 | has, err := client.HasCollection(ctx, collectionName)
38 | if err != nil {
39 | log.Fatal("fail to check whether collection exists", err.Error())
40 | }
41 | if has {
42 | client.DropCollection(ctx, collectionName)
43 | }
44 |
45 | // create a collection
46 | fmt.Println("Creating example collection: book")
47 | schema := entity.NewSchema().WithName(collectionName).WithDescription("Medium articles published between Jan 2020 to August 2020 in prominent publications").
48 | WithField(entity.NewField().WithName("book_id").WithDataType(entity.FieldTypeInt64).WithIsPrimaryKey(true).WithDescription("customized primary id")).
49 | WithField(entity.NewField().WithName("word_count").WithDataType(entity.FieldTypeInt64).WithDescription("word count")).
50 | WithField(entity.NewField().WithName("book_intro").WithDataType(entity.FieldTypeFloatVector).WithDim(128))
51 |
52 | err = client.CreateCollection(ctx, schema, entity.DefaultShardNumber)
53 | if err != nil {
54 | log.Fatal("failed to create collection", err.Error())
55 | }
56 | fmt.Println("Success!")
57 |
58 | // insert data
59 | fmt.Println("Inserting 100000 entities... ")
60 | dim := 128
61 | num_entities := 100000
62 | idList, countList := make([]int64, 0, num_entities), make([]int64, 0, num_entities)
63 | vectorList := make([][]float32, 0, num_entities)
64 | for i := 0; i < num_entities; i++ {
65 | idList = append(idList, int64(i))
66 | countList = append(countList, int64(i))
67 | vec := make([]float32, 0, dim)
68 | for j := 0; j < dim; j++ {
69 | vec = append(vec, rand.Float32())
70 | }
71 | vectorList = append(vectorList, vec)
72 | }
73 |
74 | idData := entity.NewColumnInt64("book_id", idList)
75 | countData := entity.NewColumnInt64("word_count", countList)
76 | vectorData := entity.NewColumnFloatVector("book_intro", dim, vectorList)
77 |
78 | begin := time.Now()
79 | _, err = client.Insert(ctx, collectionName, "", idData, countData, vectorData)
80 | if err != nil {
81 | log.Fatal("fail to insert data", err.Error())
82 | }
83 | fmt.Println("Succeed in", time.Since(begin))
84 |
85 | // create index
86 | fmt.Println("Building AutoIndex...")
87 | index, err := entity.NewIndexAUTOINDEX(entity.L2)
88 | if err != nil {
89 | log.Fatal("fail to get auto index", err.Error())
90 | }
91 | begin = time.Now()
92 | err = client.CreateIndex(ctx, collectionName, "book_intro", index, false)
93 | if err != nil {
94 | log.Fatal("fail to create index", err.Error())
95 | }
96 | fmt.Println("Succeed in", time.Since(begin))
97 |
98 | // load collection
99 | fmt.Println("Loading collection...")
100 | begin = time.Now()
101 | err = client.LoadCollection(ctx, collectionName, false)
102 | if err != nil {
103 | log.Fatal("fail to load collection", err.Error())
104 | }
105 | fmt.Println("Succeed in", time.Since(begin))
106 |
107 | // search
108 | sp, _ := entity.NewIndexAUTOINDEXSearchParam(1)
109 | vectors := []entity.Vector{entity.FloatVector(vectorList[1])}
110 | fmt.Println("Search...")
111 | begin = time.Now()
112 | searchResult, err := client.Search(
113 | ctx,
114 | collectionName, // collectionName
115 | nil, // partitionNames
116 | "", // expression
117 | []string{"book_id"}, // outputFields
118 | vectors, // vectors
119 | "book_intro", // vectorField
120 | entity.L2, // metricType
121 | 10, // topK
122 | sp, // search params
123 | )
124 | if err != nil {
125 | log.Fatal("search failed", err.Error())
126 | }
127 | fmt.Println("Succeed in", time.Since(begin))
128 |
129 | for _, sr := range searchResult {
130 | fmt.Println("ids: ", sr.IDs)
131 | fmt.Println("Scores: ", sr.Scores)
132 | }
133 | }
134 |
--------------------------------------------------------------------------------
/zilliz_go/README.md:
--------------------------------------------------------------------------------
1 | ## Getting started
2 |
3 | ### Prerequisites
4 | go >= 1.18
5 |
6 | ### Git clone the example code repo
7 | git clone https://github.com/zilliztech/cloud-vectordb-examples.git
8 |
9 | ### Install milvus-sdk-go
10 | go get -u github.com/milvus-io/milvus-sdk-go/v2
11 |
12 | ### Go to milvus_go folder
13 | cd cloud-vectordb-examples
14 | cd milvus_go
15 |
16 | ### Modify uri, username and user password in the configuration file.(config.go)
17 | ```go
18 | const (
19 | uri = "https://in01-XXXXXXXXXXXXX.aws-us-east-2.vectordb.zillizcloud.com:XXXXX"
20 | user = "db_admin"
21 | password = "XXXXXXXXXXXXX"
22 | )
23 | ```
24 |
25 | ### Run HelloZillizCloud.go
26 | go run HelloZillizCloud.go
27 |
28 | ### It should print information on the console
29 | ```
30 | Connecting to DB: https://in01-XXXXXXXXXXXXX.aws-us-east-2.vectordb.zillizcloud.com:XXXXX
31 | Success!
32 | Creating example collection: book
33 | Success!
34 | Inserting 100000 entities...
35 | Succeed in 2.391643208s
36 | Building AutoIndex...
37 | Succeed in 1.170188209s
38 | Loading collection...
39 | Succeed in 9.246094375s
40 | Search...
41 | Succeed in 584.865167ms
42 | &{ [1 560 412 773 747 171 14 598 506 897]}
43 | [0 14.840795 15.720606 16.305355 16.57472 16.69268 16.71979 16.856443 16.934048 17.061205]
44 | ```
45 |
--------------------------------------------------------------------------------
/zilliz_go/config.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | const (
4 | uri = "https://in01-XXXXXXXXXXXXX.aws-us-east-2.vectordb.zillizcloud.com:XXXXX"
5 | user = "db_admin"
6 | password = "XXXXXXXXXXXXX"
7 | )
8 |
--------------------------------------------------------------------------------
/zilliz_go/go.mod:
--------------------------------------------------------------------------------
1 | module zilliz_go
2 |
3 | go 1.18
4 |
5 | require github.com/milvus-io/milvus-sdk-go/v2 v2.2.3
6 |
7 | require (
8 | github.com/cockroachdb/errors v1.9.1 // indirect
9 | github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f // indirect
10 | github.com/cockroachdb/redact v1.1.3 // indirect
11 | github.com/getsentry/sentry-go v0.12.0 // indirect
12 | github.com/gogo/protobuf v1.3.2 // indirect
13 | github.com/golang/protobuf v1.5.3 // indirect
14 | github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
15 | github.com/kr/pretty v0.3.0 // indirect
16 | github.com/kr/text v0.2.0 // indirect
17 | github.com/milvus-io/milvus-proto/go-api v0.0.0-20230522080721-2975bfe7a190 // indirect
18 | github.com/pkg/errors v0.9.1 // indirect
19 | github.com/rogpeppe/go-internal v1.8.1 // indirect
20 | github.com/tidwall/gjson v1.14.4 // indirect
21 | github.com/tidwall/match v1.1.1 // indirect
22 | github.com/tidwall/pretty v1.2.0 // indirect
23 | golang.org/x/net v0.20.0 // indirect
24 | golang.org/x/sys v0.16.0 // indirect
25 | golang.org/x/text v0.14.0 // indirect
26 | google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
27 | google.golang.org/grpc v1.56.3 // indirect
28 | google.golang.org/protobuf v1.32.0 // indirect
29 | )
30 |
--------------------------------------------------------------------------------
/zilliz_go/go.sum:
--------------------------------------------------------------------------------
1 | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
2 | github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
3 | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
4 | github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno=
5 | github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo=
6 | github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
7 | github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
8 | github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
9 | github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
10 | github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
11 | github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
12 | github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
13 | github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
14 | github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
15 | github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
16 | github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8=
17 | github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk=
18 | github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f h1:6jduT9Hfc0njg5jJ1DdKCFPdMBrp/mdZfCpa5h+WM74=
19 | github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
20 | github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ=
21 | github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
22 | github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
23 | github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
24 | github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
25 | github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
26 | github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
27 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
28 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
29 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
30 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
31 | github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
32 | github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
33 | github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
34 | github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM=
35 | github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
36 | github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
37 | github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
38 | github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
39 | github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
40 | github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
41 | github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
42 | github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
43 | github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
44 | github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
45 | github.com/getsentry/sentry-go v0.12.0 h1:era7g0re5iY13bHSdN/xMkyV+5zZppjRVQhZrXCaEIk=
46 | github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c=
47 | github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
48 | github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
49 | github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
50 | github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
51 | github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
52 | github.com/go-faker/faker/v4 v4.1.0 h1:ffuWmpDrducIUOO0QSKSF5Q2dxAht+dhsT9FvVHhPEI=
53 | github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
54 | github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
55 | github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
56 | github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
57 | github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
58 | github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
59 | github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
60 | github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
61 | github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4=
62 | github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
63 | github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
64 | github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
65 | github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
66 | github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
67 | github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
68 | github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
69 | github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
70 | github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
71 | github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
72 | github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
73 | github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
74 | github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
75 | github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
76 | github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
77 | github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
78 | github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
79 | github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
80 | github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
81 | github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
82 | github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
83 | github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
84 | github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
85 | github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
86 | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
87 | github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
88 | github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
89 | github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
90 | github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
91 | github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
92 | github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
93 | github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
94 | github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
95 | github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
96 | github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
97 | github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
98 | github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
99 | github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
100 | github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
101 | github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
102 | github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE=
103 | github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
104 | github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
105 | github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
106 | github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
107 | github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
108 | github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
109 | github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
110 | github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
111 | github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
112 | github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
113 | github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
114 | github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
115 | github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
116 | github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
117 | github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro=
118 | github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8=
119 | github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
120 | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
121 | github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
122 | github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
123 | github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
124 | github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
125 | github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
126 | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
127 | github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
128 | github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
129 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
130 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
131 | github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
132 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
133 | github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y=
134 | github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
135 | github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
136 | github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
137 | github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
138 | github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
139 | github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
140 | github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
141 | github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
142 | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
143 | github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
144 | github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
145 | github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
146 | github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
147 | github.com/milvus-io/milvus-proto/go-api v0.0.0-20230522080721-2975bfe7a190 h1:ZREJhOMgAvXs+K0ain51ibxAtCB8Lnn3EBZFHEykIlk=
148 | github.com/milvus-io/milvus-proto/go-api v0.0.0-20230522080721-2975bfe7a190/go.mod h1:148qnlmZ0Fdm1Fq+Mj/OW2uDoEP25g3mjh0vMGtkgmk=
149 | github.com/milvus-io/milvus-sdk-go/v2 v2.2.3 h1:JEX60ypjkWpikS/J4S1hClM6R1yghIUt4kmsNplwtTU=
150 | github.com/milvus-io/milvus-sdk-go/v2 v2.2.3/go.mod h1:bFT+53/Uc+pWP85UJkxnWQs3H78q4JQd/39ed+BEGhU=
151 | github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
152 | github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
153 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
154 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
155 | github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
156 | github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
157 | github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ=
158 | github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
159 | github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
160 | github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
161 | github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
162 | github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
163 | github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
164 | github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
165 | github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
166 | github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
167 | github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
168 | github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
169 | github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
170 | github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
171 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
172 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
173 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
174 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
175 | github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
176 | github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
177 | github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
178 | github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
179 | github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
180 | github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
181 | github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
182 | github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
183 | github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
184 | github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
185 | github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
186 | github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
187 | github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
188 | github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
189 | github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
190 | github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
191 | github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
192 | github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
193 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
194 | github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
195 | github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
196 | github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
197 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
198 | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
199 | github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
200 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
201 | github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
202 | github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM=
203 | github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
204 | github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
205 | github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
206 | github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
207 | github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
208 | github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
209 | github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
210 | github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
211 | github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
212 | github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
213 | github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
214 | github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
215 | github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
216 | github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
217 | github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
218 | github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
219 | github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
220 | github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
221 | github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
222 | github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI=
223 | github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg=
224 | github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM=
225 | github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
226 | github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
227 | github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
228 | github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
229 | go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
230 | go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
231 | go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
232 | golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
233 | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
234 | golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
235 | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
236 | golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
237 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
238 | golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
239 | golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
240 | golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
241 | golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
242 | golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
243 | golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
244 | golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
245 | golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
246 | golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
247 | golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
248 | golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
249 | golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
250 | golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
251 | golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
252 | golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
253 | golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
254 | golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
255 | golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
256 | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
257 | golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
258 | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
259 | golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
260 | golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
261 | golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
262 | golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
263 | golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
264 | golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
265 | golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
266 | golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
267 | golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
268 | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
269 | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
270 | golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
271 | golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
272 | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
273 | golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
274 | golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
275 | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
276 | golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
277 | golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
278 | golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
279 | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
280 | golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
281 | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
282 | golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
283 | golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
284 | golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
285 | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
286 | golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
287 | golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
288 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
289 | golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
290 | golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
291 | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
292 | golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
293 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
294 | golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
295 | golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
296 | golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
297 | golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
298 | golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
299 | golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
300 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
301 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
302 | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
303 | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
304 | golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
305 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
306 | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
307 | golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
308 | golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
309 | golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
310 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
311 | golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
312 | golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
313 | golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
314 | golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
315 | golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
316 | golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
317 | golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
318 | golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
319 | golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
320 | golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
321 | golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
322 | golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
323 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
324 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
325 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
326 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
327 | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
328 | google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
329 | google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
330 | google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
331 | google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
332 | google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
333 | google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
334 | google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
335 | google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
336 | google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
337 | google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
338 | google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
339 | google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
340 | google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
341 | google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
342 | google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
343 | google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
344 | google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=
345 | google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
346 | google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f h1:rqzndB2lIQGivcXdTuY3Y9NBvr70X+y77woofSRluec=
347 | google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
348 | google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
349 | google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
350 | google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
351 | google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
352 | google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
353 | google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
354 | google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
355 | google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
356 | google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
357 | google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
358 | google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
359 | google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
360 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
361 | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
362 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
363 | gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
364 | gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
365 | gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
366 | gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
367 | gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
368 | gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
369 | gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
370 | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
371 | gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
372 | gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
373 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
374 | gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
375 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
376 | honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
377 | honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
378 |
--------------------------------------------------------------------------------