模型列表Service

This commit is contained in:
zhangtao 2024-12-30 21:42:00 +08:00
parent 6a63162593
commit 438ac49fba
3 changed files with 97 additions and 7 deletions

View File

@ -1,12 +1,10 @@
package cn.iocoder.yudao.module.llm.service.http;
import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties;
import cn.iocoder.yudao.module.llm.service.http.vo.ChatCompletion;
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsReqVO;
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsRespVO;
import cn.iocoder.yudao.module.llm.service.http.vo.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -23,9 +21,23 @@ public class ModelService {
/**
* 获取模型列表
*/
public String modelList(){
return "";
public ModelListRespVO modelList(){
String result = HttpUtils.get(llmBackendProperties.getModelCompletions(), null);
if (StringUtils.isBlank(result)) {
return null;
}
try {
ModelList modelList = JSON.parseObject(result, ModelList.class);
if (StringUtils.isBlank(modelList.getDetail())) {
// 没有detail就是没有错误
ModelListRespVO respVO = new ModelListRespVO();
respVO.setData(BeanUtils.toBean(modelList.getData(), ModelListRespVO.ModelData.class));
return respVO;
}
return null;
} catch (Exception e) {
return null;
}
}
public ModelCompletionsRespVO modelCompletions(ModelCompletionsReqVO req) {

View File

@ -0,0 +1,49 @@
package cn.iocoder.yudao.module.llm.service.http.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ModelList {
private String object;
private List<ModelData> data;
private String detail;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class ModelData {
private String id;
private String object;
private long created;
private String owned_by;
private String model_type;
private String address;
private List<String> accelerators;
private String model_name;
// For the "bge-small-zh-v1.5" model
private Integer dimensions;
private Integer max_tokens;
private List<String> language;
private String model_revision;
private int replica;
// For the "qwen2.5-instruct" model
private List<String> model_lang;
private List<String> model_ability;
private String model_description;
private String model_format;
private String model_size_in_billions;
private String model_family;
private String quantization;
private String model_hub;
private Object revision; // Can be null, so we use Object type
private Integer context_length;
}
}

View File

@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.llm.service.http.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ModelListRespVO {
private List<ModelData> data;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class ModelData {
private String id;
private String object;
private long created;
private String owned_by;
private String model_type;
private String address;
private String model_name;
private Integer dimensions;
private Integer max_tokens;
}
}