第四节 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));
    }*/

}
相关推荐
雪之下雪乃的代码日记6 分钟前
Python快速入门(Java开发者版)
java·开发语言·笔记·python
敲个大西瓜25 分钟前
Springboot核心面试题
java·spring boot·后端
器灵科技26 分钟前
Seedance2.5 VS MiniMax H3 同日上线:AI短剧创作者该怎么选?
java·人工智能·阿里云·prompt·aigc
xbgRS1 小时前
Mybatis源码-核心流程及核心类
java·mybatis
zzh___zzh1 小时前
Java Stream API 常用方法笔记
java·笔记
萌动的小火苗1 小时前
1、python基础面试题
java·开发语言·python
麻雀聊技术2 小时前
一重启 AI 就失忆?用 Spring AI + PostgreSQL 3步搞定“长期记忆”持久化(附完整代码)
java·spring·openai
码农进化录2 小时前
Java 程序员的 AI 进化论 | LangChain4j 入门,Java 开发者的 AI 应用框架
java·spring boot·openai
番茄炒鸡蛋加糖2 小时前
中级核心技术1--MySQL/Java 并发
java·数据库·mysql
he___H3 小时前
Spring-Configur注解
java·spring