SpringAI接入openAI配置出现的问题全解析
SpringAI接入openAI配置出现的问题全解析
·
SpringAI接入openAI配置出现的四个问题全解析
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: 自己的key
base-url: https://api.openai-hub.com # https://api.openai-hub.com https://api.openai.com
chat:
options:
model: gpt-4o-mini # 模型名,例如 gpt-4o, gpt-4o-mini, gpt-3.5-turbo
temperature: 1.2 #0 ~ 2 创作的随机性 如果是小说类则越大越好 如果是数学运算则是越小越好 一般设置0 0.7 1.2
max-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: 1536
embeddings-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_store
ALTER COLUMN embedding TYPE vector(1536);
更多推荐
所有评论(0)