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