(improvement)(headless) Headless integration embedding functionality, with support for viewId in embeddings. (#725)

This commit is contained in:
lexluo09
2024-02-12 22:44:25 +08:00
committed by GitHub
parent 329ad327b0
commit 39158d6877
17 changed files with 239 additions and 112 deletions

View File

@@ -18,7 +18,7 @@ public class DataItem {
private TypeEnums type;
private Long modelId;
private String modelId;
private String defaultAgg;

View File

@@ -1,9 +1,9 @@
package com.tencent.supersonic.common.util.embedding;
import com.tencent.supersonic.common.pojo.enums.DictWordType;
import lombok.Data;
import com.google.common.base.Objects;
import com.tencent.supersonic.common.pojo.Constants;
import java.util.Map;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@Data
@@ -17,11 +17,30 @@ public class Retrieval {
protected Map<String, Object> metadata;
public static Long getLongId(String id) {
if (StringUtils.isBlank(id)) {
public static Long getLongId(Object id) {
if (id == null || StringUtils.isBlank(id.toString())) {
return null;
}
String[] split = id.split(DictWordType.NATURE_SPILT);
String[] split = id.toString().split(Constants.UNDERLINE);
return Long.parseLong(split[0]);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Retrieval retrieval = (Retrieval) o;
return Double.compare(retrieval.distance, distance) == 0 && Objects.equal(id,
retrieval.id) && Objects.equal(query, retrieval.query)
&& Objects.equal(metadata, retrieval.metadata);
}
@Override
public int hashCode() {
return Objects.hashCode(id, distance, query, metadata);
}
}