簡介

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 模型評估 - 用於幫助評估生成內容和防止幻覺響應的工具。

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

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

  • Advisors API - 封裝了常見的生成式 AI 模式,轉換髮送到和來自語言模型 (LLMs) 的資料,併為不同模型和用例提供可移植性。

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

這套功能允許你實現常見的用例,例如“基於你的文件進行問答”或“與你的文件聊天”。

概念章節提供了 AI 概念及其在 Spring AI 中的表示的高階概述。

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