SpringAI接入openAI配置出現的問題全解析

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 如何選擇旁路模式…