簡介
Spring AI 專案旨在簡化將人工智慧功能整合到應用程式中的開發過程,避免不必要的複雜性。
該專案借鑑了 LangChain 和 LlamaIndex 等著名的 Python 專案,但 Spring AI 並非這些專案的直接移植。該專案創立時秉持的信念是,下一波生成式 AI 應用程式將不僅限於 Python 開發者,而是將普及到眾多程式語言中。
Spring AI 解決了 AI 整合的基本挑戰:將您的企業資料和 API 與 AI 模型連線起來。 |
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、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 模型和向量儲存的啟動器。
-
ChatClient API - 用於與 AI 聊天模型通訊的流暢 API,在風格上與 WebClient 和 RestClient API 類似。
-
Advisors API - 封裝重複的生成式 AI 模式,轉換髮送到和來自語言模型 (LLM) 的資料,並提供跨各種模型和用例的可移植性。
這套功能允許您實現常見的用例,例如“基於您的文件進行問答”或“與您的文件聊天”。
概念部分提供了 AI 概念及其在 Spring AI 中表示的高階概述。
入門部分向您展示如何建立您的第一個 AI 應用程式。後續章節將以程式碼為中心的方法深入探討每個元件和常見用例。