|
|
|
@ -2,6 +2,7 @@ package xyz.wbsite.ai;
|
|
|
|
|
|
|
|
|
|
import dev.langchain4j.data.embedding.Embedding;
|
|
|
|
|
import dev.langchain4j.model.embedding.EmbeddingModel;
|
|
|
|
|
import dev.langchain4j.model.embedding.onnx.allminilml6v2.AllMiniLmL6V2EmbeddingModel;
|
|
|
|
|
import dev.langchain4j.model.embedding.onnx.bgesmallenv15q.BgeSmallEnV15QuantizedEmbeddingModel;
|
|
|
|
|
import dev.langchain4j.store.embedding.CosineSimilarity;
|
|
|
|
|
|
|
|
|
@ -12,11 +13,11 @@ public class Text_Compare_Example {
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
// 初始化嵌入模型
|
|
|
|
|
EmbeddingModel embeddingModel = new BgeSmallEnV15QuantizedEmbeddingModel();
|
|
|
|
|
EmbeddingModel embeddingModel = new AllMiniLmL6V2EmbeddingModel();
|
|
|
|
|
|
|
|
|
|
// 将文本转换为向量
|
|
|
|
|
Embedding embedding1 = embeddingModel.embed("今天天气很好").content();
|
|
|
|
|
Embedding embedding2 = embeddingModel.embed("今天天气非常好").content();
|
|
|
|
|
Embedding embedding1 = embeddingModel.embed(" 嗯,用户问的是多少。我得先看看有没有相关的信息在知识库里。知识库里的内大伦供电局的电话是1234567800容主要是关于行政审批事项的各种申报材料和流程,比如抵押登记、土地流转、林权抵押等等,还有些是关于合同备案、产权调换、房改售房之类的。看起来里面没有提到供电局的信息。 用户可能需要联系办理业务或者咨询问题,所以才会询问电话号码。但我这里找不到相关信息,可能需要用户自己去查询或者访问相关网站获取最新的联系方式。另外,我应该礼貌地告知用户信息中没有提供所需内容,并建议他们通过其他途径获取帮助").content();
|
|
|
|
|
Embedding embedding2 = embeddingModel.embed("大伦供电局的电话是?").content();
|
|
|
|
|
|
|
|
|
|
double between = CosineSimilarity.between(embedding1, embedding2);
|
|
|
|
|
System.out.println("余弦相似度: " + between); // 值越接近1越相似
|
|
|
|
|