新增翻译模块:支持200多语言翻译

This commit is contained in:
dengwenjie
2025-06-17 11:03:34 +08:00
parent 6f66d8d19e
commit f7a59cc3aa
30 changed files with 661 additions and 1206 deletions

View File

@@ -49,6 +49,7 @@ public class R<T> {
INVALID_IMAGE(1, "图像无效"),
FILE_NOT_FOUND(2, "图像文件不存在"),
NO_FACE_DETECTED(3, "未检测到人脸"),
PARAM_ERROR(4, "参数错误"),
Unknown(-1, "未知错误");
private final int code;

View File

@@ -0,0 +1,38 @@
package cn.smartjavaai.common.pool;
import ai.djl.inference.Predictor;
import ai.djl.repository.zoo.ZooModel;
import ai.djl.translate.NoBatchifyTranslator;
import org.apache.commons.pool2.BasePooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
/**
* @author dwj
* @date 2025/6/14
*/
public class CommonPredictorFactory extends BasePooledObjectFactory<Predictor<?, ?>> {
private final ZooModel<?, ?> model;
private final NoBatchifyTranslator<?, ?> translator;
public CommonPredictorFactory(ZooModel<?, ?> model, NoBatchifyTranslator<?, ?> translator) {
this.model = model;
this.translator = translator;
}
@Override
public Predictor<?, ?> create() {
return model.newPredictor(translator);
}
@Override
public PooledObject<Predictor<?, ?>> wrap(Predictor<?, ?> predictor) {
return new DefaultPooledObject<>(predictor);
}
@Override
public void destroyObject(PooledObject<Predictor<?, ?>> p) {
p.getObject().close();
}
}

View File

@@ -2,6 +2,7 @@ package cn.smartjavaai.common.pool;
import ai.djl.inference.Predictor;
import ai.djl.repository.zoo.ZooModel;
import ai.djl.translate.Translator;
import org.apache.commons.pool2.BasePooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;

View File

@@ -1,35 +0,0 @@
package cn.smartjavaai.common.pool;
import ai.djl.inference.Predictor;
import ai.djl.repository.zoo.ZooModel;
import org.apache.commons.pool2.BasePooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
/**
* ZooModel 工厂类
* @author lwx
* @date 2025/6/06
*/
public class ZooModelFactory<I, O> extends BasePooledObjectFactory<ZooModel<I, O>> {
private final ZooModel<I, O> model;
public ZooModelFactory(ZooModel<I, O> model) {
this.model = model;
}
@Override
public ZooModel<I, O> create() {
return model;
}
@Override
public PooledObject<ZooModel<I, O>> wrap(ZooModel<I, O> predictor) {
return new DefaultPooledObject<>(predictor);
}
@Override
public void destroyObject(PooledObject<ZooModel<I, O>> p) {
p.getObject().close();
}
}