作者 lixiang

删除无用代码,bug修正

... ... @@ -2,8 +2,9 @@ package org.jeecg.modules.airag.app.controller;
import cn.hutool.core.lang.generator.SnowflakeGenerator;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import dev.langchain4j.data.embedding.Embedding;
import dev.langchain4j.model.output.Response;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
... ... @@ -12,8 +13,11 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.airag.airagchatsetting.entity.AiragChatsetting;
import org.jeecg.modules.airag.app.entity.Embeddings;
import org.jeecg.modules.airag.app.service.IEmbeddingsService;
import org.jeecg.modules.airag.app.service.RedisChatSetService;
import org.jeecg.modules.airag.app.utils.AiModelUtils;
import org.jeecg.modules.airag.llm.entity.AiragKnowledge;
import org.jeecg.modules.airag.llm.service.IAiragKnowledgeService;
import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -42,6 +46,10 @@ public class EmbeddingsController {
@Autowired
private IAiragKnowledgeService airagKnowledgeService;
@Autowired
private AiModelUtils aiModelUtils;
@Autowired
private RedisChatSetService redisChatSetService;
/*@Autowired
private AiModelUtils aiModelUtils;
... ... @@ -252,8 +260,8 @@ public class EmbeddingsController {
embeddings.setText(fullContent);
embeddings.setId(UUID.randomUUID().toString());
embeddings.setMetadata(metadata);
// 设置向量嵌入(实际项目中应调用模型API)
embeddings.setEmbedding(generateRandomEmbedding());
// 设置向量嵌入
embeddings.setEmbedding(generateEmbedding(fullContent));
// 保存到数据库
embeddingsService.insert(embeddings);
... ... @@ -290,14 +298,11 @@ public class EmbeddingsController {
}
// 生成随机向量(1536维)
private float[] generateRandomEmbedding() {
float[] embedding = new float[768];
Random random = new Random();
for (int i = 0; i < embedding.length; i++) {
embedding[i] = random.nextFloat() * 2 - 1;
}
return embedding;
// 生成向量
private float[] generateEmbedding(String fullContent) {
AiragChatsetting chatSetting = redisChatSetService.getChatSetting();
Response<Embedding> embedding = aiModelUtils.getEmbedding(chatSetting.getEmbeddingId(), fullContent);
return embedding.content().vector();
}
}
... ...
... ... @@ -257,7 +257,7 @@ public class EmbeddingHandler implements IEmbeddingHandler {
Map<String, Object> metadataMap = new HashMap<>();
metadataMap.put("docId", metadata.getString("docId")); // 假设metadata中有docId字段
metadataMap.put("docId", metadata.getString("docId"));
metadataMap.put("storedFileName", metadata.getString("storedFileName"));
metadataMap.put("docName", metadata.getString(EMBED_STORE_METADATA_DOCNAME));
metadataMap.put("index", metadata.getInteger("index"));
... ...