簡介

Integration Problem

Spring AI 專案旨在簡化整合人工智慧功能之應用程式的開發流程,並避免不必要的複雜性。

此專案的靈感來自著名的 Python 專案,例如 LangChain 和 LlamaIndex,但 Spring AI 並非這些專案的直接移植。此專案的創立基於一個信念:下一波生成式 AI 應用程式不僅適用於 Python 開發人員,也將普及於多種程式語言。

Spring AI 解決了 AI 整合的根本挑戰:將您的企業資料和 API 與 AI 模型連接
Interactive

Spring AI 提供了抽象概念,作為開發 AI 應用程式的基礎。這些抽象概念具有多種實作方式,能夠輕鬆更換組件,且只需最少的程式碼變更。

Spring AI 提供以下功能

  • 跨 AI 提供者的可攜式 API 支援,適用於聊天、文字轉圖像和嵌入模型。同時支援同步和串流 API 選項。也提供對模型特定功能的存取。

  • 支援所有主要的 AI 模型提供者,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama。支援的模型類型包括

  • 結構化輸出 - 將 AI 模型輸出映射到 POJO。

  • 支援所有主要的 向量資料庫提供者,例如 Apache Cassandra、Azure Cosmos DB、Azure Vector Search、Chroma、Elasticsearch、GemFire、Milvus、MongoDB Atlas、Neo4j、OpenSearch、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、SAP Hana、Typesense 和 Weaviate。

  • 跨向量儲存提供者的可攜式 API,包括創新的類 SQL 中繼資料篩選 API。

  • 工具/函式呼叫 - 允許模型請求執行用戶端工具和函式,從而根據需要存取必要的即時資訊。

  • 可觀察性 - 提供對 AI 相關操作的洞察。

  • 文件注入 ETL 框架,用於資料工程。

  • AI 模型評估 - 協助評估生成內容並防止產生幻覺式回應的工具。

  • Spring Boot 自動配置和啟動器,適用於 AI 模型和向量儲存。

  • ChatClient API - 流暢的 API,用於與 AI 聊天模型進行通訊,在語法上類似於 WebClient 和 RestClient API。

  • 顧問 API - 封裝了重複出現的生成式 AI 模式,轉換傳送至和來自語言模型 (LLM) 的資料,並提供跨各種模型和使用案例的可攜性。

  • 支援 聊天對話記憶檢索增強生成 (RAG)

此功能集讓您可以實作常見的使用案例,例如「關於您的文件之問答」或「與您的文件聊天」。

概念章節 提供 AI 概念及其在 Spring AI 中的表示方式之高階概覽。

開始使用 章節示範如何建立您的第一個 AI 應用程式。後續章節將深入探討每個組件和常見使用案例,並以程式碼為中心的方法進行說明。