Skip to content

Commit

Permalink
v2.0.9
Browse files Browse the repository at this point in the history
  • Loading branch information
anyihao committed Nov 6, 2024
1 parent 1ad9ac8 commit b0bf820
Show file tree
Hide file tree
Showing 11 changed files with 72 additions and 33 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ You can use **Apache Maven** or **Gradle**/**Grails** to download the SDK.
<dependency>
<groupId>com.tencent.tcvectordb</groupId>
<artifactId>vectordatabase-sdk-java</artifactId>
<version>2.0.6</version>
<version>2.0.9</version>
</dependency>
```

- Gradle/Grails

```gradle
compile 'com.tencent.tcvectordb:vectordatabase-sdk-java:2.0.6'
compile 'com.tencent.tcvectordb:vectordatabase-sdk-java:2.0.9'
```

### Examples
Expand Down
Binary file added tcvectordb/.DS_Store
Binary file not shown.
4 changes: 2 additions & 2 deletions tcvectordb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ You can use **Apache Maven** or **Gradle**/**Grails** to download the SDK.
<dependency>
<groupId>com.tencent.tcvectordb</groupId>
<artifactId>vectordatabase-sdk-java</artifactId>
<version>2.0.6</version>
<version>2.0.9</version>
</dependency>
```

- Gradle/Grails

```gradle
compile 'com.tencent.tcvectordb:vectordatabase-sdk-java:2.0.6'
compile 'com.tencent.tcvectordb:vectordatabase-sdk-java:2.0.9'
```

### Examples
Expand Down
2 changes: 1 addition & 1 deletion tcvectordb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.tencent.tcvectordb</groupId>
<artifactId>vectordatabase-sdk-java</artifactId>
<version>2.0.6</version>
<version>2.0.9</version>
<packaging>jar</packaging>

<name>vectordatabase-sdk-java</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@
package com.tencent.tcvectordb.examples;

import com.tencent.tcvectordb.client.VectorDBClient;
import com.tencent.tcvectordb.model.*;
import com.tencent.tcvectordb.model.Collection;
import com.tencent.tcvectordb.model.Database;
import com.tencent.tcvectordb.model.DocField;
import com.tencent.tcvectordb.model.Document;
import com.tencent.tcvectordb.model.param.collection.*;
import com.tencent.tcvectordb.model.param.dml.*;
import com.tencent.tcvectordb.model.param.entity.AffectRes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,8 @@ public class ParamException extends VectorDBException {
public ParamException(String message) {
super(message);
}

public ParamException(String message, Throwable cause) {
super(message, cause);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ public class VectorDBException extends RuntimeException {
public VectorDBException(String message) {
super(message);
}

public VectorDBException(String message, Throwable cause) {
super(message, cause);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public static class Builder {
/**
* connect timeout, unit is second
*/
private int connectTimeout = 2;
private int connectTimeout = 10;
/**
* max idle connection count, unit is second
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,10 @@ public class GrpcStub extends HttpStub{
private String authorization;
private int timeout = 10;
private static final Logger logger = LoggerFactory.getLogger(GrpcStub.class.getName());
private ConnectParam connectParam;
public GrpcStub(ConnectParam param){
super(param);
super();
connectParam = param;
this.authorization = String.format("Bearer account=%s&api_key=%s",param.getUsername(), param.getKey());

this.channel = OkHttpChannelBuilder.forTarget(this.getAddress(param.getUrl())).
Expand Down Expand Up @@ -137,6 +139,7 @@ public void dropDatabase(Database database) {

@Override
public AffectRes createAIDatabase(AIDatabase aiDatabase) {
super.initHttpStub(this.connectParam);
return super.createAIDatabase(aiDatabase);
}

Expand Down Expand Up @@ -164,6 +167,7 @@ public DataBaseTypeRes describeDatabase(Database database) {

@Override
public AffectRes dropAIDatabase(AIDatabase aiDatabase) {
super.initHttpStub(this.connectParam);
return super.dropAIDatabase(aiDatabase);
}

Expand Down Expand Up @@ -300,6 +304,7 @@ public void createCollection(CreateCollectionParam params) {

@Override
public void createCollectionView(CreateCollectionViewParam params) {
super.initHttpStub(this.connectParam);
super.createCollectionView(params);
}

Expand Down Expand Up @@ -365,6 +370,7 @@ public AffectRes truncateCollection(String databaseName, String collectionName,

@Override
public AffectRes truncateCollectionView(String databaseName, String collectionName, DataBaseTypeEnum dbType) {
super.initHttpStub(this.connectParam);
return super.truncateCollectionView(databaseName, collectionName, dbType);
}

Expand Down Expand Up @@ -513,6 +519,7 @@ public List<Document> queryDocument(QueryParamInner param, boolean ai) {
@Override
public SearchRes searchDocument(SearchParamInner param, DataBaseTypeEnum dbType) {
if (dbType.equals(DataBaseTypeEnum.AI_DB)){
super.initHttpStub(this.connectParam);
return super.searchDocument(param, dbType);
}
Olama.SearchRequest.Builder builder = Olama.SearchRequest.newBuilder().setDatabase(param.getDatabase()).
Expand Down Expand Up @@ -786,66 +793,79 @@ public BaseRes rebuildIndex(RebuildIndexParamInner param) {

@Override
public AffectRes setAIAlias(String databaseName, String collectionName, String aliasName) {
super.initHttpStub(this.connectParam);
return super.setAIAlias(databaseName, collectionName, aliasName);
}

@Override
public AffectRes deleteAIAlias(String databaseName, String aliasName) {
super.initHttpStub(this.connectParam);
return super.deleteAIAlias(databaseName, aliasName);
}

@Override
public List<CollectionView> listCollectionView(String databaseName) {
super.initHttpStub(this.connectParam);
return super.listCollectionView(databaseName);
}

@Override
public CollectionView describeCollectionView(String databaseName, String collectionName) {
super.initHttpStub(this.connectParam);
return super.describeCollectionView(databaseName, collectionName);
}

@Override
public AffectRes dropCollectionView(String databaseName, String collectionName) {
super.initHttpStub(this.connectParam);
return super.dropCollectionView(databaseName, collectionName);
}

@Override
public List<DocumentSet> queryAIDocument(CollectionViewQueryParamInner queryParamInner) {
super.initHttpStub(this.connectParam);
return super.queryAIDocument(queryParamInner);
}

@Override
public AffectRes deleteAIDocument(CollectionViewDeleteParamInner deleteParamInner) {
super.initHttpStub(this.connectParam);
return super.deleteAIDocument(deleteParamInner);
}

@Override
public SearchContentRes searchAIDocument(SearchDocParamInner searchDocParamInner) {
super.initHttpStub(this.connectParam);
return super.searchAIDocument(searchDocParamInner);
}

@Override
public AffectRes updateAIDocument(CollectionViewUpdateParamInner updateParamInner) {
super.initHttpStub(this.connectParam);
return super.updateAIDocument(updateParamInner);
}

@Override
public void upload(String databaseName, String collectionName, LoadAndSplitTextParam loadAndSplitTextParam, Map<String, Object> metaDataMap) throws Exception {
super.initHttpStub(this.connectParam);
super.upload(databaseName, collectionName, loadAndSplitTextParam, metaDataMap);
}

@Override
public GetDocumentSetRes getFile(String databaseName, String collectionName, String fileName, String fileId) {
super.initHttpStub(this.connectParam);
return super.getFile(databaseName, collectionName, fileName, fileId);
}

@Override
public GetChunksRes getChunks(String databaseName, String collectionName, String documentSetName, String documentSetId, Integer limit, Integer offset) {
super.initHttpStub(this.connectParam);
return super.getChunks(databaseName, collectionName, documentSetName, documentSetId, limit, offset);
}

@Override
public BaseRes rebuildAIIndex(RebuildIndexParamInner param) {
super.initHttpStub(this.connectParam);
return super.rebuildAIIndex(param);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,38 @@
* HTTP Stub for DB service API
*/
public class HttpStub implements Stub {
private final ConnectParam connectParam;
private final OkHttpClient client;
private final Headers.Builder headersBuilder;
private final ObjectMapper mapper = new ObjectMapper();
private ConnectParam connectParam;
private OkHttpClient client;
private Headers.Builder headersBuilder;
private ObjectMapper mapper = new ObjectMapper();
private static final MediaType JSON =
MediaType.parse("application/json; charset=utf-8");
private static final Logger logger = LoggerFactory.getLogger(HttpStub.class.getName());

public HttpStub(){}

public HttpStub(ConnectParam connectParam) {
this.connectParam = connectParam;
String authorization = String.format("Bearer account=%s&api_key=%s",
connectParam.getUsername(), connectParam.getKey());
this.headersBuilder = new Headers.Builder()
.add("Authorization", authorization);
logger.debug("header: {}", authorization);
this.client = new OkHttpClient.Builder()
.connectTimeout(this.connectParam.getConnectTimeout(), TimeUnit.SECONDS)
.readTimeout(connectParam.getTimeout(), TimeUnit.SECONDS)
.connectionPool(new ConnectionPool(
this.connectParam.getMaxIdleConnections(), this.connectParam.getKeepAliveDuration(), TimeUnit.SECONDS))
.build();
initHttpStub(connectParam);
}

protected void initHttpStub(ConnectParam connectParam) {
if (client == null) {
synchronized (this) {
if (client == null) {
this.connectParam = connectParam;
String authorization = String.format("Bearer account=%s&api_key=%s",
connectParam.getUsername(), connectParam.getKey());
this.headersBuilder = new Headers.Builder()
.add("Authorization", authorization);
logger.debug("header: {}", authorization);
this.client = new OkHttpClient.Builder()
.connectTimeout(this.connectParam.getConnectTimeout(), TimeUnit.SECONDS)
.readTimeout(connectParam.getTimeout(), TimeUnit.SECONDS)
.connectionPool(new ConnectionPool(
this.connectParam.getMaxIdleConnections(), this.connectParam.getKeepAliveDuration(), TimeUnit.SECONDS))
.build();
}
}
}
}

@Override
Expand Down Expand Up @@ -724,11 +734,13 @@ private JsonNode post(String url, String json, boolean ai) {
}

private Headers get_headers(boolean ai) {
Headers.Builder headersTmp = new Headers.Builder();
String backend = "vdb";
if (ai){
backend = "ai";
}
this.headersBuilder.add("backend-service", backend);
headersTmp.add("backend-service", backend);
headersTmp.add("Authorization", this.headersBuilder.get("Authorization"));
logger.debug("Backend: {}", backend);
return headersBuilder.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,9 @@ public static <T> T parseObject(String jsonStr, Class<T> clz) {
try {
return DESERIALIZE_IGNORE_KEY_MAPPER.readValue(jsonStr, clz);
} catch (JsonProcessingException e) {

throw new ParamException(String.format(
"can't parse content=%s", jsonStr));
"can't parse content=%s", jsonStr), e);
}
}

Expand All @@ -80,7 +81,7 @@ public static <T> String toJsonString(T obj) {
return SERIALIZE_MAPPER.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new ParamException(String.format(
"can't serialize value=%s, type=%s", obj, obj.getClass().getName()));
"can't serialize value=%s, type=%s", obj, obj.getClass().getName()), e);
}
}

Expand All @@ -104,8 +105,9 @@ public static JsonNode parseToJsonNode(String jsonStr) {
try {
return SERIALIZE_MAPPER.readTree(jsonStr);
} catch (JsonProcessingException e) {

throw new ParamException(String.format(
"can't parse content=%s", jsonStr));
"can't parse content=%s", jsonStr), e);
}
}

Expand All @@ -119,9 +121,8 @@ public static <T> T collectionDeserializer(String jsonStr, TypeReference<T> clz)
try {
return PARAMS_DESERIALIZE_MAPPER.readValue(jsonStr, clz);
} catch (JsonProcessingException e) {
System.out.println(e);
throw new ParamException(String.format(
"can't parse content=%s", jsonStr));
"can't parse content=%s", jsonStr), e);
}
}
}

0 comments on commit b0bf820

Please sign in to comment.