第四节 chatPDF

一、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));
    }*/

}
相关推荐
我命由我123455 分钟前
Android Jetpack Compose - SearchBar(搜索栏)、Tab(标签页)、时间选择器、TooltipBox(工具提示)
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
Rick199311 分钟前
spring boot和mybatis框架的设计思想和核心逻辑
spring boot·后端·mybatis
276695829212 分钟前
token1005 算法分析
java·前端·javascript·token·token1005·携程酒店·token算法分析
海寻山13 分钟前
Java内部类:4种类型+实战场景+面试避坑
java·开发语言·面试
Lsk_Smion17 分钟前
Hot100(开刷) 之 长度最小的数组--删除倒数第N个链表--层序遍历
java·数据结构·算法·kotlin
2601_9507039426 分钟前
PyCharm性能优化终极指南
java
yzp-35 分钟前
Spring 三级缓存 ---- 简单明了豆包版
java·mysql·spring
隐退山林37 分钟前
JavaEE进阶:导读&SpringBoot快速上手
java·spring boot·java-ee
weixin_7042660540 分钟前
读取Excel 和 显示预约人数
spring boot·mybatis·excel
送秋三十五41 分钟前
Spring 源码---------Spring Core
java·数据库·spring