From a6b3655907fe35a9a2bfeea7bfdc4620e16a9227 Mon Sep 17 00:00:00 2001
From: dengwenjie <775747758@qq.com>
Date: Wed, 18 Jun 2025 20:05:40 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E6=96=B0=E5=A2=9E=E6=9C=BA=E5=99=A8?=
=?UTF-8?q?=E7=BF=BB=E8=AF=91=E6=A8=A1=E5=9D=97=EF=BC=9A=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=20200+=20=E7=A7=8D=E8=AF=AD=E8=A8=80=E4=B9=8B=E9=97=B4?=
=?UTF-8?q?=E7=9A=84=E7=9B=B8=E4=BA=92=E7=BF=BB=E8=AF=91=20-=20=E4=BA=BA?=
=?UTF-8?q?=E8=84=B8=E8=AF=86=E5=88=AB=E6=A8=A1=E5=9D=97=EF=BC=9A=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E4=BA=BA=E8=84=B8?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=97=B6=E7=9A=84=E5=BC=82=E5=B8=B8=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=20-=20=E4=BA=BA=E8=84=B8=E8=AF=86=E5=88=AB=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=EF=BC=9A=E4=BF=AE=E5=A4=8D=E4=BA=BA=E8=84=B8=E6=A3=80?=
=?UTF-8?q?=E7=B4=A2=20Top=E5=A4=A7=E4=BA=8E=201=20=E6=97=B6=E6=8A=A5?=
=?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 27 ++++++++++++++++++-
examples/pom.xml | 8 +++++-
.../face/attribute/FaceAttributeDetDemo.java | 1 +
.../examples/face/facerec/FaceNetDemo.java | 1 +
.../examples/face/facerec/GpuFaceDemo.java | 1 +
.../examples/face/facerec/LightFaceDemo.java | 1 +
.../examples/face/facerec/RetinaFaceDemo.java | 1 +
.../examples/face/facerec/SeetaFace6Demo.java | 1 +
.../face/liveness/LivenessDetDemo.java | 1 +
.../objectdetection/ObjectDetection.java | 1 +
.../examples/ocr/OcrDetectionDemo.java | 3 ++-
.../examples/ocr/OcrDirectionDetDemo.java | 5 ++--
.../examples/ocr/OcrRecognizeDemo.java | 11 ++++----
pom.xml | 2 +-
smartjavaai-all/pom.xml | 10 +++++--
smartjavaai-bom/pom.xml | 9 +++++--
smartjavaai-common/pom.xml | 2 +-
smartjavaai-face/pom.xml | 4 +--
.../face/vector/core/MilvusClient.java | 14 +++++++---
smartjavaai-objectdetection/pom.xml | 4 +--
smartjavaai-ocr/pom.xml | 4 +--
smartjavaai-translate/pom.xml | 4 +--
.../factory/TranslationModelFactory.java | 2 +-
.../translation/model/NllbModel.java | 4 +--
24 files changed, 90 insertions(+), 31 deletions(-)
diff --git a/README.md b/README.md
index f7fe340..7f299ed 100644
--- a/README.md
+++ b/README.md
@@ -154,6 +154,19 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
+
+ |
+
+ |
+
+
+ 
+
+ |
+
@@ -196,6 +209,8 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
- 支持PaddleOCR 3.0模型:集成最新PP-OCRv5模型
- 支持任意角度识别,方向校准
- 支持通用文字识别,通用手写字识别
+- **机器翻译**
+ - 集成NLLB-200模型:支持200+语言互相翻译
### ⌛ 规划中功能
@@ -241,6 +256,7 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
| smartjavaai-face | 人脸功能模块 |
| smartjavaai-objectdetection | 目标检测模块 |
| smartjavaai-ocr | OCR文字识别模块 |
+| smartjavaai-translate | 机器翻译模块 |
可以根据需求对每个模块单独引入,也可以通过引入`smartjavaai-all`方式引入所有模块。
@@ -263,7 +279,7 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
cn.smartjavaai
smartjavaai-all
- 1.0.16
+ 1.0.17
```
### 3、完整示例代码
@@ -274,6 +290,10 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
[开发文档](http://doc.smartjavaai.cn)
+### 5、模型下载
+
+[模型下载](https://pan.baidu.com/s/1F6QtGrakEgnD1-hkWBfsUg?pwd=1234)
+
## 🙏 鸣谢
@@ -298,6 +318,11 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
## 近期更新日志
+## [v1.0.17] - 2025-06-18
+- 新增机器翻译模块:支持 200+ 种语言之间的相互翻译
+- 人脸识别模块:修复批量删除人脸数据时的异常问题
+- 人脸识别模块:修复人脸检索 Top大于 1 时报异常问题
+
## [v1.0.16] - 2025-06-09
- 人脸模块:人脸查询支持 Milvus 和 SQLite
- 人脸模块:FaceNet人脸模型也支持人脸注册,查询等功能
diff --git a/examples/pom.xml b/examples/pom.xml
index 4865b50..f87acde 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -12,7 +12,7 @@
11
11
UTF-8
- 1.0.16
+ 1.0.17
smartai.examples.face.facerec.RetinaFaceDemo
@@ -109,6 +109,12 @@
smartjavaai-ocr
+
+
+ cn.smartjavaai
+ smartjavaai-translate
+
+
ai.djl.pytorch
diff --git a/examples/src/main/java/smartai/examples/face/attribute/FaceAttributeDetDemo.java b/examples/src/main/java/smartai/examples/face/attribute/FaceAttributeDetDemo.java
index 10a9f18..a11f8d4 100644
--- a/examples/src/main/java/smartai/examples/face/attribute/FaceAttributeDetDemo.java
+++ b/examples/src/main/java/smartai/examples/face/attribute/FaceAttributeDetDemo.java
@@ -28,6 +28,7 @@ import java.util.List;
/**
* 人脸属性检测demo
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/5/1
*/
diff --git a/examples/src/main/java/smartai/examples/face/facerec/FaceNetDemo.java b/examples/src/main/java/smartai/examples/face/facerec/FaceNetDemo.java
index d56ce63..8ff03b8 100644
--- a/examples/src/main/java/smartai/examples/face/facerec/FaceNetDemo.java
+++ b/examples/src/main/java/smartai/examples/face/facerec/FaceNetDemo.java
@@ -34,6 +34,7 @@ import java.util.List;
* FaceNet人脸算法模型demo
* 支持系统:windows 64位,linux 64位,macOS M系列芯片
* 支持功能:人脸特征提取、人脸比对(1:1)、人脸比对(1:N)、人脸注册
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/11
*/
diff --git a/examples/src/main/java/smartai/examples/face/facerec/GpuFaceDemo.java b/examples/src/main/java/smartai/examples/face/facerec/GpuFaceDemo.java
index 5c489b4..fd997b7 100644
--- a/examples/src/main/java/smartai/examples/face/facerec/GpuFaceDemo.java
+++ b/examples/src/main/java/smartai/examples/face/facerec/GpuFaceDemo.java
@@ -12,6 +12,7 @@ import org.junit.Test;
/**
* GPU 人脸检测
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/14
*/
diff --git a/examples/src/main/java/smartai/examples/face/facerec/LightFaceDemo.java b/examples/src/main/java/smartai/examples/face/facerec/LightFaceDemo.java
index c325acc..a8632c1 100644
--- a/examples/src/main/java/smartai/examples/face/facerec/LightFaceDemo.java
+++ b/examples/src/main/java/smartai/examples/face/facerec/LightFaceDemo.java
@@ -20,6 +20,7 @@ import java.nio.file.Paths;
/**
* UltraLightFastGenericFaceModel 轻量人脸算法模型demo
* 支持功能:人脸检测(不支持人脸特征提取)
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/11
*/
diff --git a/examples/src/main/java/smartai/examples/face/facerec/RetinaFaceDemo.java b/examples/src/main/java/smartai/examples/face/facerec/RetinaFaceDemo.java
index afe7b89..cc6bd29 100644
--- a/examples/src/main/java/smartai/examples/face/facerec/RetinaFaceDemo.java
+++ b/examples/src/main/java/smartai/examples/face/facerec/RetinaFaceDemo.java
@@ -22,6 +22,7 @@ import java.nio.file.Paths;
/**
* RetinaFace人脸算法模型demo
* 支持功能:人脸检测(不支持人脸特征提取)
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/11
*/
diff --git a/examples/src/main/java/smartai/examples/face/facerec/SeetaFace6Demo.java b/examples/src/main/java/smartai/examples/face/facerec/SeetaFace6Demo.java
index 3cb3d21..5a485b1 100644
--- a/examples/src/main/java/smartai/examples/face/facerec/SeetaFace6Demo.java
+++ b/examples/src/main/java/smartai/examples/face/facerec/SeetaFace6Demo.java
@@ -35,6 +35,7 @@ import java.util.List;
* SeetaFace6人脸算法模型demo
* 支持系统:windows 64位,linux 64位
* 支持功能:人脸检测、人脸特征提取、人脸比对(1:1)、人脸比对(1:N)、人脸注册
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/11
*/
diff --git a/examples/src/main/java/smartai/examples/face/liveness/LivenessDetDemo.java b/examples/src/main/java/smartai/examples/face/liveness/LivenessDetDemo.java
index 386d58f..68ff626 100644
--- a/examples/src/main/java/smartai/examples/face/liveness/LivenessDetDemo.java
+++ b/examples/src/main/java/smartai/examples/face/liveness/LivenessDetDemo.java
@@ -31,6 +31,7 @@ import java.util.List;
/**
* 静态活体检测demo
+ * 模型下载地址:https://pan.baidu.com/s/10l22x5fRz_gwLr8EAHa1Jg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/5/1
*/
diff --git a/examples/src/main/java/smartai/examples/objectdetection/ObjectDetection.java b/examples/src/main/java/smartai/examples/objectdetection/ObjectDetection.java
index f8ee492..df383ad 100644
--- a/examples/src/main/java/smartai/examples/objectdetection/ObjectDetection.java
+++ b/examples/src/main/java/smartai/examples/objectdetection/ObjectDetection.java
@@ -40,6 +40,7 @@ import java.util.concurrent.Future;
/**
* 目标检测模型demo
* 支持功能:目标检测
+ * 模型下载地址:https://pan.baidu.com/s/1MeQ0oHGl8hneicUIUVJjbg?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/4/11
*/
diff --git a/examples/src/main/java/smartai/examples/ocr/OcrDetectionDemo.java b/examples/src/main/java/smartai/examples/ocr/OcrDetectionDemo.java
index 151fc23..1f0487f 100644
--- a/examples/src/main/java/smartai/examples/ocr/OcrDetectionDemo.java
+++ b/examples/src/main/java/smartai/examples/ocr/OcrDetectionDemo.java
@@ -20,6 +20,7 @@ import java.util.List;
/**
* OCR 文本检测 示例
+ * 模型下载地址:https://pan.baidu.com/s/1MLfd73Vjdpnuls9-oqc9uw?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/5/25
*/
@@ -38,7 +39,7 @@ public class OcrDetectionDemo {
//指定检测模型
config.setModelEnum(CommonDetModelEnum.PADDLEOCR_V5_DET_MODEL);
//指定模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- config.setDetModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
+ config.setDetModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
OcrCommonDetModel model = OcrModelFactory.getInstance().getDetModel(config);
List boxes = model.detect("src/main/resources/ocr_1.jpg");
log.info("OCR检测结果:{}", JSONObject.toJSONString(boxes));
diff --git a/examples/src/main/java/smartai/examples/ocr/OcrDirectionDetDemo.java b/examples/src/main/java/smartai/examples/ocr/OcrDirectionDetDemo.java
index 56c3de8..9b04416 100644
--- a/examples/src/main/java/smartai/examples/ocr/OcrDirectionDetDemo.java
+++ b/examples/src/main/java/smartai/examples/ocr/OcrDirectionDetDemo.java
@@ -17,6 +17,7 @@ import java.util.List;
/**
* OCR 文本方向检测 示例
+ * 模型下载地址:https://pan.baidu.com/s/1MLfd73Vjdpnuls9-oqc9uw?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/5/25
*/
@@ -37,11 +38,11 @@ public class OcrDirectionDetDemo {
//指定检测模型
directionModelConfig.setDetModelEnum(CommonDetModelEnum.PADDLEOCR_V5_DET_MODEL);
//指定检测模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- directionModelConfig.setDetModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
+ directionModelConfig.setDetModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
//指定文本方向检测模型
directionModelConfig.setModelEnum(DirectionModelEnum.CH_PPOCR_MOBILE_V2_CLS);
//指定文本方向检测模型路径,需要更改为自己的模型路径(下载地址请查看文档)
- directionModelConfig.setModelPath("/Users/wenjie/Documents/develop/ocr模型/ch_ppocr_mobile_v2.0_cls.onnx");
+ directionModelConfig.setModelPath("/Users/xxx/Documents/develop/ocr模型/ch_ppocr_mobile_v2.0_cls.onnx");
OcrDirectionModel directionModel = OcrModelFactory.getInstance().getDirectionModel(directionModelConfig);
List itemList = directionModel.detect("src/main/resources/ocr_3.jpg");
log.info("OCR方向检测结果:{}", JSONObject.toJSONString(itemList));
diff --git a/examples/src/main/java/smartai/examples/ocr/OcrRecognizeDemo.java b/examples/src/main/java/smartai/examples/ocr/OcrRecognizeDemo.java
index 4c176cf..d0b7640 100644
--- a/examples/src/main/java/smartai/examples/ocr/OcrRecognizeDemo.java
+++ b/examples/src/main/java/smartai/examples/ocr/OcrRecognizeDemo.java
@@ -18,6 +18,7 @@ import java.util.List;
/**
* OCR 文本识别 示例
+ * 模型下载地址:https://pan.baidu.com/s/1MLfd73Vjdpnuls9-oqc9uw?pwd=1234 提取码: 1234
* @author dwj
* @date 2025/5/25
*/
@@ -37,11 +38,11 @@ public class OcrRecognizeDemo {
//指定检测模型
recModelConfig.setDetModelEnum(CommonDetModelEnum.PADDLEOCR_V5_DET_MODEL);
//指定检测模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- recModelConfig.setDetModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
+ recModelConfig.setDetModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
//指定识别模型
recModelConfig.setRecModelEnum(CommonRecModelEnum.PADDLEOCR_V5_REC_MODEL);
//指定识别模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- recModelConfig.setRecModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_rec_infer/PP-OCRv5_server_rec.onnx");
+ recModelConfig.setRecModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_rec_infer/PP-OCRv5_server_rec.onnx");
OcrCommonRecModel recModel = OcrModelFactory.getInstance().getRecModel(recModelConfig);
OcrInfo ocrInfo = recModel.recognize("src/main/resources/ocr_1.jpg");
log.info("OCR识别结果:{}", JSONObject.toJSONString(ocrInfo));
@@ -111,16 +112,16 @@ public class OcrRecognizeDemo {
//指定检测模型
recModelConfig.setDetModelEnum(CommonDetModelEnum.PADDLEOCR_V5_DET_MODEL);
//指定检测模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- recModelConfig.setDetModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
+ recModelConfig.setDetModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx");
//指定识别模型
recModelConfig.setRecModelEnum(CommonRecModelEnum.PADDLEOCR_V5_REC_MODEL);
//directionModelConfig.setDirectionModelEnum(DirectionModelEnum.CH_PPOCR_MOBILE_V2_CLS);
//指定识别模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- recModelConfig.setRecModelPath("/Users/wenjie/Documents/develop/ocr模型/PP-OCRv5_server_rec_infer/PP-OCRv5_server_rec.onnx");
+ recModelConfig.setRecModelPath("/Users/xxx/Documents/develop/ocr模型/PP-OCRv5_server_rec_infer/PP-OCRv5_server_rec.onnx");
//指定方向检测模型
recModelConfig.setDirectionModelEnum(DirectionModelEnum.CH_PPOCR_MOBILE_V2_CLS);
//指定方向模型位置,需要更改为自己的模型路径(下载地址请查看文档)
- recModelConfig.setDirectionModelPath("/Users/wenjie/Documents/develop/ocr模型/ch_ppocr_mobile_v2.0_cls.onnx");
+ recModelConfig.setDirectionModelPath("/Users/xxx/Documents/develop/ocr模型/ch_ppocr_mobile_v2.0_cls.onnx");
OcrCommonRecModel recModel = OcrModelFactory.getInstance().getRecModel(recModelConfig);
int fontSize = 25;
recModel.recognizeAndDraw("src/main/resources/ocr_4.jpg", "output/ocr_4_recognized.jpg", fontSize);
diff --git a/pom.xml b/pom.xml
index 1203e2f..79b7855 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
SmartJavaAI
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
pom
SmartJavaAI
diff --git a/smartjavaai-all/pom.xml b/smartjavaai-all/pom.xml
index f6a9712..c5d52ed 100644
--- a/smartjavaai-all/pom.xml
+++ b/smartjavaai-all/pom.xml
@@ -6,11 +6,11 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
smartjavaai-all
- 1.0.16
+ 1.0.17
${project.artifactId}
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
@@ -49,6 +49,12 @@
${project.version}
+
+ cn.smartjavaai
+ smartjavaai-translate
+ ${project.version}
+
+
diff --git a/smartjavaai-bom/pom.xml b/smartjavaai-bom/pom.xml
index 65f09f9..0382c55 100644
--- a/smartjavaai-bom/pom.xml
+++ b/smartjavaai-bom/pom.xml
@@ -6,10 +6,10 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
- 1.0.16
+ 1.0.17
smartjavaai-bom
smartjavaai-bom
统一版本管理的 BOM 包,同时支持 import 和全量依赖
@@ -38,6 +38,11 @@
smartjavaai-ocr
${project.parent.version}
+
+ cn.smartjavaai
+ smartjavaai-translate
+ ${project.parent.version}
+
diff --git a/smartjavaai-common/pom.xml b/smartjavaai-common/pom.xml
index 73804e7..8b6d6e2 100644
--- a/smartjavaai-common/pom.xml
+++ b/smartjavaai-common/pom.xml
@@ -6,7 +6,7 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
smartjavaai-common
diff --git a/smartjavaai-face/pom.xml b/smartjavaai-face/pom.xml
index 70ef54b..b2fb569 100644
--- a/smartjavaai-face/pom.xml
+++ b/smartjavaai-face/pom.xml
@@ -6,11 +6,11 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
smartjavaai-face
- 1.0.16
+ 1.0.17
smartjavaai-face
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
diff --git a/smartjavaai-face/src/main/java/cn/smartjavaai/face/vector/core/MilvusClient.java b/smartjavaai-face/src/main/java/cn/smartjavaai/face/vector/core/MilvusClient.java
index 14c70fc..d9b311d 100644
--- a/smartjavaai-face/src/main/java/cn/smartjavaai/face/vector/core/MilvusClient.java
+++ b/smartjavaai-face/src/main/java/cn/smartjavaai/face/vector/core/MilvusClient.java
@@ -397,11 +397,18 @@ public class MilvusClient implements VectorDBClient {
// 构建IN表达式: id in ["id1", "id2", ...]
StringBuilder expr = new StringBuilder(VectorDBConstants.FieldNames.ID_FIELD + " in [");
for (int i = 0; i < ids.size(); i++) {
- expr.append(ids.get(i)); // 不加引号
+ if(config.getIdStrategy() == IdStrategy.AUTO){
+ expr.append(ids.get(i)); // 不加引号
+ }else{
+ expr.append("'" + ids.get(i) + "'"); // 不加引号
+ }
if (i < ids.size() - 1) {
expr.append(", ");
}
}
+
+
+
expr.append("]");
DeleteParam deleteParam = DeleteParam.newBuilder()
.withCollectionName(collectionName)
@@ -453,7 +460,6 @@ public class MilvusClient implements VectorDBClient {
// 3. 获取字段数据(FieldData)
List scores = wrapper.getIDScore(0); // 默认只有一条 query 向量
-
List finalResults = new ArrayList<>();
for (int i = 0; i < scores.size(); i++) {
SearchResultsWrapper.IDScore score = scores.get(i);
@@ -464,9 +470,9 @@ public class MilvusClient implements VectorDBClient {
}
if (similarity >= faceSearchParams.getThreshold()) {
// 获取 Metadata
- String metadata = wrapper.getFieldData(VectorDBConstants.FieldNames.METADATA_FIELD, i).get(0).toString();
+ String metadata = wrapper.getFieldData(VectorDBConstants.FieldNames.METADATA_FIELD, 0).get(i).toString();
// 获取 ID
- String id = wrapper.getFieldData(VectorDBConstants.FieldNames.ID_FIELD, i).get(0).toString();
+ String id = wrapper.getFieldData(VectorDBConstants.FieldNames.ID_FIELD, 0).get(i).toString();
finalResults.add(new FaceSearchResult(id, similarity, metadata));
}
}
diff --git a/smartjavaai-objectdetection/pom.xml b/smartjavaai-objectdetection/pom.xml
index 1b80c33..842044a 100644
--- a/smartjavaai-objectdetection/pom.xml
+++ b/smartjavaai-objectdetection/pom.xml
@@ -6,11 +6,11 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
smartjavaai-objectdetection
- 1.0.16
+ 1.0.17
smartjavaai-objectdetection
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
diff --git a/smartjavaai-ocr/pom.xml b/smartjavaai-ocr/pom.xml
index b375c7c..bfd930e 100644
--- a/smartjavaai-ocr/pom.xml
+++ b/smartjavaai-ocr/pom.xml
@@ -6,7 +6,7 @@
cn.smartjavaai
smartjavaai-parent
- 1.0.16
+ 1.0.17
smartjavaai-ocr
@@ -20,7 +20,7 @@
- 1.0.16
+ 1.0.17
smartjavaai-ocr
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
diff --git a/smartjavaai-translate/pom.xml b/smartjavaai-translate/pom.xml
index 9916afc..931c7bb 100644
--- a/smartjavaai-translate/pom.xml
+++ b/smartjavaai-translate/pom.xml
@@ -20,8 +20,8 @@
- 1.0.16
- smartjavaai-ocr
+ 1.0.17
+ smartjavaai-translate
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
diff --git a/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/factory/TranslationModelFactory.java b/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/factory/TranslationModelFactory.java
index 1d7a832..5ca6797 100644
--- a/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/factory/TranslationModelFactory.java
+++ b/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/factory/TranslationModelFactory.java
@@ -95,7 +95,7 @@ public class TranslationModelFactory {
// 初始化默认算法
static {
registerCommonDetModel("NLLB_MODEL", NllbModel.class);
- log.info("缓存目录:{}", Config.getCachePath());
+ log.debug("缓存目录:{}", Config.getCachePath());
}
}
diff --git a/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/model/NllbModel.java b/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/model/NllbModel.java
index fa35bfb..daff744 100644
--- a/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/model/NllbModel.java
+++ b/smartjavaai-translate/src/main/java/cn/smartjavaai/translation/model/NllbModel.java
@@ -91,8 +91,8 @@ public class NllbModel implements TranslationModel{
tokenizer = HuggingFaceTokenizer.newInstance(tokenizerPath);
//初始化searchConfig
this.searchConfig = new NllbSearchConfig();
- log.info("当前设备: " + nllbModel.getNDManager().getDevice());
- log.info("当前引擎: " + Engine.getInstance().getEngineName());
+ log.debug("当前设备: " + nllbModel.getNDManager().getDevice());
+ log.debug("当前引擎: " + Engine.getInstance().getEngineName());
} catch (IOException | ModelNotFoundException | MalformedModelException e) {
throw new TranslationException("模型加载失败", e);
}