From 52c8ee3120e4a44e48e217bced6f6c799ff7980c Mon Sep 17 00:00:00 2001
From: shikeying <shikeying@163.com>
Date: 星期日, 07 四月 2024 17:20:16 +0800
Subject: [PATCH] 添加milvus代码示例2

---
 deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 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..30605c6 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,8 @@
 public class MilvusEngine {
 
     protected final transient Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    public static final String TABLE_CHAT_SIMILAR = "chat_similar";
 
     public MilvusEngine(String ip, int port){
         DefaultOperateService service = new DefaultOperateService();
@@ -44,7 +48,7 @@
      */
     public void createChatSimilarTable(){
         Table chatSimilarTable = new Table();
-        chatSimilarTable.setCollectionName("chat_similar");
+        chatSimilarTable.setCollectionName(TABLE_CHAT_SIMILAR);
         chatSimilarTable.setDescription("鑱婂ぉ鎻愬彇宸ュ崟鎽樿鍘嗗彶鏁版嵁");
         chatSimilarTable.setShardsNum(1);
         chatSimilarTable.setDimension(768); // 杩欎釜鏄牴鎹娇鐢ㄥ悜閲忔ā鍨嬬淮搴﹀畾鐨�
@@ -84,7 +88,7 @@
 
     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 +136,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 +149,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