SpringAI接入openAI配置出现的四个问题全解析

  • 1、无法下载openAI或SpringAI依赖包
      • 1.1、思路就是从哪个源下载所需的依赖包
      • 1.2、解决思路:我们可以看阿里的中央仓库是否有集成SpringAI的依赖,从它这里下也是可以的。我们看看阿里云云效maven地址,搜索 spring-ai-bom 选择对应版本即可,一定要记得看其他搭配SpringAI的组件依赖,例如openai,PgVector等 我这里使用的是1.0.0-M6
  • 2、使用openAI报错余额不足
      • 2.1、报错原因
      • 2.2 解决思路:我们单纯只进行聊天则选择对应模型即可,那如果选择openAI可能会出现免费额度用完了调用不了,我们可以使用第三方的接口 只需要更换api地址即可其他配置不变。我现在用的是:OpenAI-Hub,有0.2的免费额度,足够自己测试使用了。您需要的情况下感谢使用我的邀请码,谢谢了!
  • 3、配置openAI的embedding进行向量相似度的检索增强时会报错404地址
      • 3.1 主要原因是官方的源码配置的路径地址只有接口地址即 embeddingsPath="/v1/embeddings"
      • 3.2 解决 我们自己需要配置全路径才能访问到即
      • 3.3、对应的源码默认配置可不用管:
  • 4、openAI的向量维度和向量数据库的向量表维度类型不一致报错
      • 4.1、原因是openAI的embedding的dimensions默认就是1536,三种embedding方式都是该维度,而我的PgVector向量数据库的维度是384。
      • 4.2 解决思路:目前openAI的dimensions:1536更该也会报错,只能让我们的向量数据库的维度类型修改为1536来适配它才可。

1、无法下载openAI或SpringAI依赖包

1.1、思路就是从哪个源下载所需的依赖包

第一个是中央仓库来下载 这也是springAI文档官方推荐的,但有时它就是下载不下来怎么办?
在这里插入图片描述
我们一般默认配置的是阿里的中央仓库
在这里插入图片描述

1.2、解决思路:我们可以看阿里的中央仓库是否有集成SpringAI的依赖,从它这里下也是可以的。我们看看阿里云云效maven地址,搜索 spring-ai-bom 选择对应版本即可,一定要记得看其他搭配SpringAI的组件依赖,例如openai,PgVector等 我这里使用的是1.0.0-M6

https://maven.aliyun.com/mvn/search

在这里插入图片描述
在这里插入图片描述

    <dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-M6</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${springboot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>

在这里插入图片描述

       <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-pgvector-store-spring-boot-starter</artifactId><version>1.0.0-M6</version></dependency><!--        <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>1.0.0-M6</version></dependency>--><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>1.0.0-M6</version></dependency>

2、使用openAI报错余额不足

2.1、报错原因

You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs

在这里插入图片描述

2.2 解决思路:我们单纯只进行聊天则选择对应模型即可,那如果选择openAI可能会出现免费额度用完了调用不了,我们可以使用第三方的接口 只需要更换api地址即可其他配置不变。我现在用的是:OpenAI-Hub,有0.2的免费额度,足够自己测试使用了。您需要的情况下感谢使用我的邀请码,谢谢了!

https://api.openai-hub.com/register?aff=yPcX



3、配置openAI的embedding进行向量相似度的检索增强时会报错404地址

Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7ccd17a2] 2025-08-19T18:16:12.947+08:00 WARN 70580 --- [0.0-8000-exec-6] 
o.s.a.a.r.SpringAiRetryAutoConfiguration : 
Retry error. Retry count:1 
org.springframework.ai.retry.NonTransientAiException: 404 - 
atorg.springframework.ai.autoconfigure.retry.SpringAiRetryAutoConfiguration$2.handleError(SpringAiRetryAutoConfiguration.java:100) ~[spring-ai-spring-boot-autoconfigure-1.0.0-M6.jar:1.0.0-M6] at

3.1 主要原因是官方的源码配置的路径地址只有接口地址即 embeddingsPath=“/v1/embeddings”

在这里插入图片描述

3.2 解决 我们自己需要配置全路径才能访问到即

embeddings-path: https://api.openai-hub.com/v1/embeddings
# 如果是openai直接使用这个 https://api.openai.com/v1/embeddings

在这里插入图片描述

    openai:api-key: 自己的keybase-url: https://api.openai-hub.com # https://api.openai-hub.com  https://api.openai.comchat:options:model: gpt-4o-mini       # 模型名,例如 gpt-4o, gpt-4o-mini, gpt-3.5-turbotemperature: 1.2 #0 ~ 2 创作的随机性 如果是小说类则越大越好 如果是数学运算则是越小越好 一般设置0 0.7 1.2max-tokens: 1024 #限制模型输出的最大token数量,1个token大概是0.75个英文单词 或几个中文 大概是七八百字embedding:enabled: true  # 启用嵌入功能options:model: text-embedding-ada-002 # text-embedding-ada-002 text-embedding-3-small text-embedding-3-large(更精)dimensions: 1536embeddings-path: https://api.openai-hub.com/v1/embeddings # https://api.openai-hub.com https://api.openai.com/v1/embeddings

3.3、对应的源码默认配置可不用管:

在这里插入图片描述

4、openAI的向量维度和向量数据库的向量表维度类型不一致报错

This model does not support specifying dimensions.  (request id: 2025081919572123296323KwxnhkI)
org.springframework.ai.retry.NonTransientAiException: 400 - {"error":{"message":"This model does not support specifying dimensions.  (request id: 2025081919572123296323KwxnhkI)","type":"invalid_request_error"}}at org.springframework.ai.autoconfigure.retry.SpringAiRetryAutoConfiguration$2.handleError(SpringAiRetryAutoConfiguration.java:100) ~[spring-ai-spring-boot-autoconfigure-1.0.0-M6.jar:1.0.0-M6]

4.1、原因是openAI的embedding的dimensions默认就是1536,三种embedding方式都是该维度,而我的PgVector向量数据库的维度是384。

在这里插入图片描述
在这里插入图片描述

4.2 解决思路:目前openAI的dimensions:1536更该也会报错,只能让我们的向量数据库的维度类型修改为1536来适配它才可。

ALTER TABLE vector_storeALTER COLUMN embedding TYPE vector(1536);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919446.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919446.shtml
英文地址,请注明出处:http://en.pswp.cn/news/919446.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理——02 文本预处理(上)

1 认识文本预处理 概念&#xff1a; 文本语料在输送给模型前一般需要一系列的预处理工作&#xff0c;才能符合模型输入的要求&#xff1b;比如&#xff1a;将文本转化成模型需要的张量、规范张量的尺寸&#xff1b;比如&#xff1a; 关于数据X&#xff1a;数据有没有脏数据、数…

数据结构:二叉树的链式存储

用链表来表示一棵二叉树&#xff0c;即用指针指向来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。 我们之前就已经说过&#xff0c;二叉树是递归…

【Spring Boot把日志记录到文件里面】

<?xml version"1.0" encoding"UTF-8"?> <configuration><!-- 日志输出格式 --><property name"LOG_PATTERN" value"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" /><!-- 日志…

大数据服务完全分布式部署- 其他组件(阿里云版)

ZooKeeper 安装 官网 解压 cd /export/server/ tar -zxvf /export/server/apache-zookeeper-3.9.3-bin.tar.gz -C /export/server/软链接 ln -s /export/server/apache-zookeeper-3.9.3-bin /export/server/zookeeper配置 cd /export/server/zookeeper/ mkdir zkDatamyid…

Windows 平板/电脑 上使用 DHCPSRV 搭建 DHCP 服务器

一、DHCPSRV 核心优势 轻量便携:单文件绿色软件,无需安装 全图形界面:比命令行工具更友好 支持IPv4/IPv6:满足现代网络需求 低资源占用:适合平板电脑运行(内存<10MB) 租约管理:可查看实时IP分配情况 二、超详细配置流程 1. 下载与初始化 官网下载:http://www…

ArcGIS动态表格批量出图

前言&#xff1a;产品介绍&#xff1a;ArcGIS动态表格扩展模块Mapping and Charting Solutions&#xff0c;可用于插入动态表格&#xff0c;与数据驱动结合&#xff0c;出图效率无敌。注&#xff1a;优先选择arcgis10.2.2。 一、首先是根据自身携带的arcgis数据进行下载对应的…

Linux小白加油站,第三周周考

1.如何查看当前系统中所有磁盘设备及其分区结构(如磁盘名称、大小、挂载点等)? lsblk # 显示磁盘名称、大小、挂载点&#xff08;P21&#xff09;2.若需对空闲磁盘(如/dev/sdb)进行交互式划分&#xff0c;如何进入操作界面并创建一个5GB的主分区(类型为Linux默认文件系统)? …

SEO的红利没了,下一个风口叫GEO

一、 搜索在退场&#xff0c;答案在上台过去二十多年&#xff0c;我们习惯了这样的路径&#xff1a;输入关键词 → 点开一堆蓝色链接 → 慢慢筛出想要的信息。SEO&#xff08;搜索引擎优化&#xff09;就是围绕这套游戏规则展开的&#xff0c;谁玩得溜&#xff0c;谁就有流量、…

Kubernetes 的 YAML 配置文件-apiVersion

Kubernetes的YAML配置文件–apiVersion 关于 Kubernetes 的 apiVersion 说明 以及 生产环境中推荐使用的版本 的完整指南,帮助你正确、安全地编写 Kubernetes 配置文件。 一、什么是 apiVersion? 在 Kubernetes 的 YAML 配置文件中,apiVersion 字段用于指定你所使用的 Kub…

uniapp 5+App项目,在android studio模拟器上运行调试

1.安装android studio&#xff0c;默认安装即可 点击下载android studio 2.安装完成后&#xff0c;添加设备 选择机型并下载 启动模拟机&#xff08;启动比较慢&#xff0c;稍等一会即可&#xff09; 3.等待模拟器启动后&#xff0c;在uniapp上运行项目到模拟器 如果下…

Qt猜数字游戏项目开发教程 - 从零开始构建趣味小游戏

Qt猜数字游戏项目开发教程 - 从零开始构建趣味小游戏 项目概述 本项目是一个基于Qt框架开发的猜数字游戏&#xff0c;具有现代化的UI设计和完整的游戏逻辑。项目采用C语言开发&#xff0c;使用Qt的信号槽机制实现界面交互&#xff0c;通过随机数生成和状态管理实现完整的游戏…

初识CNN05——经典网络认识2

系列文章目录 初识CNN01——认识CNN 初识CNN02——认识CNN2 初识CNN03——预训练与迁移学习 初识CNN04——经典网络认识 文章目录系列文章目录一、GoogleNet——Inception1.1 1x1卷积1.2 维度升降1.3 网络结构1.4 Inception Module1.5 辅助分类器二、ResNet——越深越好2.1 梯…

学习笔记分享——基于STM32的平衡车项目

学习笔记分享——基于STM32的平衡车项目前言笔记正文结语前言 本文是我在学习铁头山羊的平衡车教程的过程中&#xff0c;记录的笔记&#xff0c;里面不但有Up主的讲解&#xff0c;也有我个人的学习心得&#xff0c;还有查阅的资料&#xff0c;由于内容太多&#xff0c;不方便逐…

学习strandsagents的http_request tool

今天我们通过来拆strandsagents官网的一个例子来学习strandsagents的http_request tool https://strandsagents.com/latest/documentation/docs/examples/python/agents_workflows/ 看上去能做实事核查,实际上没那么高大上。 Show me the code https://github.com/strands-…

大模型对齐算法(四): DAPO,VAPO,GMPO,GSPO, CISPO,GFPO

DAPO DAPO 在 GRPO 的基础上做了 4 处关键升级&#xff0c;既保持 GRPO 的“无价值函数 组内归一化”思想&#xff0c;又通过 剪枝、采样、Token 级梯度、长度惩罚 解决长 Chain-of-Thought RL 的四大痛点。 1 剪枝范围解耦&#xff1a;Clip-Higher GRPO&#xff1a;单一对称…

OpenHarmony之「星链Data」—— 分布式数据管理子系统核心架构与实战解密

目录 系统概述 架构设计 核心模块详解 数据库实现与设计原理 关键函数调用流程链 实际案例分析 常见需求与Bug分析 性能监控与调优

基于SpringBoot+Vue的写真馆预约管理系统(邮箱通知、WebSocket及时通讯、协同过滤算法)

&#x1f388;系统亮点&#xff1a;邮箱通知、WebSocket及时通讯、协同过滤算法&#xff1b;一.系统开发工具与环境搭建1.系统设计开发工具前后端分离项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17前端&#xff1a; 技术&#xff1a;框架Vue.js&#xf…

linux下timerfd和posix timer为什么存在较大的抖动?

在linux中开发引用&#xff0c;timerfd和posix timer是最常用的定时器。timerfd是linux特有的定时器&#xff0c;通过fd来实现定时器&#xff0c;体现了linux"一切皆文件"的思想&#xff1b;posix timer&#xff0c;只要符合posix标准的操作系统&#xff0c;均应支持…

网络聚合链路与软件网桥配置指南

网络聚合链路与软件网桥配置指南一、聚合链路&#xff08;Team&#xff09; 网络组队&#xff08;聚合链路&#xff09;是一种将多个网络接口控制器&#xff08;NIC&#xff0c;Network Interface Controller&#xff09;以逻辑方式组合在一起的技术&#xff0c;通过这种方式可…

IDE/去读懂STM32CubeMX 时钟配置图(有源/无源晶振、旁路/晶振模式、倍频/分频)

文章目录概述配置图元素说明RCCHSI/LSI/HSE/LSEAHB 和 APBSYSCLK 和 HCLKMux 多路复用器Prescaler 预分频器PLL 锁相环PLL 配置寄存器时钟物理源内部时钟和驱动无源晶振和驱动有源晶振和驱动MCO 时钟信号音频时钟配置晶体振荡器&#xff1f;外部时钟源类型RCC 如何选择旁路模式…