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);

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐