簡介

Integration Problem

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

該專案借鑑了知名的 Python 專案,如 LangChain 和 LlamaIndex,但 Spring AI 並非這些專案的直接移植。建立此專案的初衷是相信下一波生成式 AI 應用浪潮將不僅僅屬於 Python 開發者,而是會普及到多種程式語言中。

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

Spring AI 提供了作為開發 AI 應用基礎的抽象。這些抽象具有多種實現,可以透過最少的程式碼更改輕鬆實現元件切換。

Spring AI 提供以下功能:

  • 跨 AI 提供商的 Chat、文字轉影像和 Embedding 模型的可移植 API 支援。支援同步和流式 API 選項。還可訪問特定於模型的功能。

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

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

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

  • 跨向量儲存提供商的可移植 API,包括新穎的類似 SQL 的元資料過濾 API。

  • 工具/函式呼叫 - 允許模型請求執行客戶端工具和函式,從而按需訪問必要的即時資訊並採取行動。

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

  • 用於資料工程的文件攝取 ETL 框架

  • AI 模型評估 - 用於幫助評估生成內容和防止幻覺響應的工具。

  • Spring Boot AI 模型和向量儲存自動配置及 Starter。

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

  • Advisors API - 封裝了常見的生成式 AI 模式,轉換髮送給語言模型 (LLM) 和從其接收的資料,並提供了跨各種模型和用例的可移植性。

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

這組功能使您能夠實現常見的用例,例如“文件問答”或“與文件聊天”。

概念部分 提供了 AI 概念及其在 Spring AI 中的表示的高階概覽。

入門 部分向您展示如何建立您的第一個 AI 應用程式。後續章節將深入探討每個元件和常見用例,採用以程式碼為中心的方法。