一、Rag 向量数据库

1.向量相似度

欧式距离越小,相似度越高;余弦距离越大相似度越高。

2.配置向量模型
embedding: 嵌入,把...牢牢地嵌入
意思: 把文字转化为向量坐标嵌入到八维空间。


bash
spring.ai.openai.embedding.options.dimensions=2048
spring.ai.openai.embedding.options.model=text-embedding-v4
3.使用EmbeddingModel

给测试脚本配置环境变量
bash
OPENAI_API_KEY=sk-6c6026***854ca44

编辑测试脚本
java
package com.spring.springai;
import com.spring.springai.mapper.CourseMapper;
import org.junit.jupiter.api.Test;
import org.springframework.ai.openai.OpenAiEmbeddingModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@SpringBootTest
class SpringaiApplicationTests {
@Autowired
private OpenAiEmbeddingModel openAiEmbeddingModel;
@Test
void contextLoads() {
float[] floats = openAiEmbeddingModel.embed("学java就到黑马程序员");
System.out.println(Arrays.toString(floats));
}
// 测试 mapper
/*@Autowired
private CourseMapper mapper;
@Test
void testSelect() {
assertNotNull(mapper.selectById(1));
}*/
}
