|
|
@@ -46,6 +46,9 @@ public class OllamaEmbeddingService {
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
+ log.info("调用 Ollama 向量化: model={}, textLength={}", embeddingModel, text.length());
|
|
|
+
|
|
|
// 构建请求体
|
|
|
Map<String, Object> request = new HashMap<>();
|
|
|
request.put("model", embeddingModel);
|
|
|
@@ -73,7 +76,9 @@ public class OllamaEmbeddingService {
|
|
|
vector[i] = embeddingList.get(i).floatValue();
|
|
|
}
|
|
|
|
|
|
- log.debug("文本向量化完成,维度: {}", vector.length);
|
|
|
+ long elapsedMs = System.currentTimeMillis() - startTime;
|
|
|
+ log.info("Ollama 向量化完成: model={}, dim={}, elapsedMs={}",
|
|
|
+ embeddingModel, vector.length, elapsedMs);
|
|
|
return vector;
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
@@ -145,7 +150,9 @@ public class OllamaEmbeddingService {
|
|
|
for (int batchStart = 0; batchStart < chunks.size(); batchStart += batchSize) {
|
|
|
int batchEnd = Math.min(batchStart + batchSize, chunks.size());
|
|
|
List<TextChunk> batch = chunks.subList(batchStart, batchEnd);
|
|
|
- log.info("向量化批次开始: batch={}-{}, total={}", batchStart + 1, batchEnd, chunks.size());
|
|
|
+ long batchStartTime = System.currentTimeMillis();
|
|
|
+ log.info("向量化批次开始: batch={}-{}, batchSize={}, total={}",
|
|
|
+ batchStart + 1, batchEnd, batch.size(), chunks.size());
|
|
|
|
|
|
for (TextChunk chunk : batch) {
|
|
|
try {
|
|
|
@@ -159,8 +166,9 @@ public class OllamaEmbeddingService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- log.info("向量化批次完成: processed={}/{} (成功: {}, 失败: {})",
|
|
|
- processed + failed, chunks.size(), processed, failed);
|
|
|
+ long batchElapsedMs = System.currentTimeMillis() - batchStartTime;
|
|
|
+ log.info("向量化批次完成: processed={}/{} (成功: {}, 失败: {}, elapsedMs={})",
|
|
|
+ processed + failed, chunks.size(), processed, failed, batchElapsedMs);
|
|
|
}
|
|
|
|
|
|
log.info("批量向量化完成,成功 {}/{} 块", embeddings.size(), chunks.size());
|