From 8924870a053f0b882ada86421c062cbdb9cff093 Mon Sep 17 00:00:00 2001 From: shikeying <shikeying@163.com> Date: 星期三, 08 五月 2024 13:49:06 +0800 Subject: [PATCH] 去掉加密配置文件 --- deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 deletions(-) diff --git a/deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java b/deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java index 8cabab4..5ae379c 100644 --- a/deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java +++ b/deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java @@ -6,6 +6,8 @@ import com.walker.support.milvus.FieldType; import com.walker.support.milvus.MetricType; import com.walker.support.milvus.OperateService; +import com.walker.support.milvus.OutData; +import com.walker.support.milvus.Query; import com.walker.support.milvus.Table; import com.walker.support.milvus.engine.DefaultOperateService; import org.slf4j.Logger; @@ -20,6 +22,11 @@ public class MilvusEngine { protected final transient Logger logger = LoggerFactory.getLogger(this.getClass()); + + public static final String TABLE_CHAT_SIMILAR = "chat_similar"; + + // private static final int VECTOR_DIMENSION = 768; + private static final int VECTOR_DIMENSION = 512; public MilvusEngine(String ip, int port){ DefaultOperateService service = new DefaultOperateService(); @@ -44,10 +51,11 @@ */ public void createChatSimilarTable(){ Table chatSimilarTable = new Table(); - chatSimilarTable.setCollectionName("chat_similar"); + chatSimilarTable.setCollectionName(TABLE_CHAT_SIMILAR); chatSimilarTable.setDescription("鑱婂ぉ鎻愬彇宸ュ崟鎽樿鍘嗗彶鏁版嵁"); chatSimilarTable.setShardsNum(1); - chatSimilarTable.setDimension(768); // 杩欎釜鏄牴鎹娇鐢ㄥ悜閲忔ā鍨嬬淮搴﹀畾鐨� +// chatSimilarTable.setDimension(768); // 杩欎釜鏄牴鎹娇鐢ㄥ悜閲忔ā鍨嬬淮搴﹀畾鐨� + chatSimilarTable.setDimension(VECTOR_DIMENSION); // 杩欎釜鏄牴鎹娇鐢ㄥ悜閲忔ā鍨嬬淮搴﹀畾鐨� // 璁剧疆瀛楁 FieldType id = FieldType.newBuilder() @@ -59,7 +67,7 @@ FieldType answer = FieldType.newBuilder() .withName("answer").withPrimaryKey(false).withMaxLength(255).withDataType(DataType.VarChar).build(); FieldType embedding = FieldType.newBuilder() - .withName("embedding").withPrimaryKey(false).withDataType(DataType.FloatVector).withDimension(768).build(); + .withName("embedding").withPrimaryKey(false).withDataType(DataType.FloatVector).withDimension(VECTOR_DIMENSION).build(); List<FieldType> fieldTypeList = new ArrayList<>(8); fieldTypeList.add(id); @@ -80,11 +88,12 @@ public void dropChatSimilarTable(){ this.operateService.dropTable("chat_similar"); + this.operateService.dropIndex("chat_similar", "chat_similar_index"); } public void insertTestData(){ DataSet dataSet = new DataSet(); - dataSet.setTableName("chat_similar"); + dataSet.setTableName(TABLE_CHAT_SIMILAR); List<List<Float>> vectorList = new ArrayList<>(); vectorList.add(Arrays.asList(mockVector)); @@ -132,7 +141,7 @@ } DataSet dataSet = new DataSet(); - dataSet.setTableName("chat_similar"); + dataSet.setTableName(TABLE_CHAT_SIMILAR); Map<String, List<?>> fieldMap = new HashMap(); fieldMap.put("id", ids); @@ -145,6 +154,26 @@ logger.info("鍐欏叆浜�: {}", ids); } + public OutData searchChatSimilar(List<List<Float>> vectors){ + Query query = new Query(); + query.setMetricType(MetricType.NLP.getIndex()); + query.setTableName(TABLE_CHAT_SIMILAR); + query.setTopK(4); + query.setVectorName("embedding"); + query.setOutFieldList(Arrays.asList(new String[]{"id","title","content"})); + query.setFieldPrimaryKey("id"); + query.setSearchVectors(vectors); + return this.operateService.searchVector(query); + } + + /** + * 蹇呴』鍦ㄦ煡璇箣鍓嶏紝鍔犺浇鏁版嵁鍒板唴瀛樹腑銆� + * @date 2024-03-31 + */ + public void loadChatSimilar4Search(){ + this.operateService.prepareSearch(TABLE_CHAT_SIMILAR); + } + private OperateService operateService; // private Double[] mockVector = new Double[]{-0.051114246249198914, 0.889954432}; -- Gitblit v1.9.1