SpringAI(一)概述

100 阅读2分钟

英文文档:docs.spring.io/spring-ai/r…

中文文档:springdoc.cn/spring-ai/

本文主要讲了概述的内容

🌱 Spring AI 的定位

  • 目标:简化 AI 应用开发,让开发者像用 Spring Data、Spring Cloud 一样用 AI
  • 灵感:借鉴 Python 里的 LangChainLlamaIndex
  • 差异:不是简单移植,而是按照 Spring 生态 的设计原则(POJO、依赖注入、自动配置、模块化)来做
  • 核心挑战:让 企业数据 + APIAI 模型 无缝连接

⚙️ Spring AI 提供的核心抽象

Spring AI 给你一套统一的 API,屏蔽不同厂商差异。它的抽象层次可以类比 Spring Data:

  • Model API(统一调用不同模型)
  • Vector Store API(统一调用不同向量数据库)
  • Prompt & Advisor API(统一 Prompt 管理、RAG、对话记忆)
  • Observability(监控与可观测性)

这样做的好处是:
👉 想从 OpenAI 切换到 Azure OpenAI、Ollama,只要改配置,几乎不用改代码。

🚀 Spring AI 支持的功能

  1. 模型调用

    • Chat Completion(对话/文本生成)
    • Embedding(向量化,用于 RAG/语义搜索)
    • Text to Image(文生图)
    • Audio Transcription(语音转文字)
    • Text to Speech(文字转语音)
    • Moderation(内容审核)
  2. 向量数据库

    • 支持主流数据库:PostgreSQL/PGVector、Milvus、Pinecone、Redis、Chroma、Weaviate …
    • 有统一 API,还支持 类 SQL 的元数据过滤
  3. 高级功能

    • Structured Outputs(直接把 AI 输出转成 POJO)
    • Tools / Function Calling(AI 能调用外部函数,获取实时数据)
    • Observability(监控 AI 调用,调试和优化 Prompt)
    • Document Ingestion ETL(把文档注入向量数据库)
    • AI Model Evaluation(检测模型输出质量,避免幻觉)
    • Chat Memory + RAG(对话记忆 + 检索增强生成)

📦 开发者友好

  • Spring Boot Starter(开箱即用,start.spring.io 勾选即可)
  • ChatClient API(调用风格类似 WebClient / RestClient)
  • Advisors API(封装常见 AI 模式,比如 RAG、角色转换)

🧑‍💻 常见用例

  • “Q&A over your docs” (文档问答系统)
  • “Chat with your documentation” (企业知识库助手)
  • 智能客服、代码助手、语义搜索、内容生成