5.2 KiB
引言
自从 Open AI 发布 ChatGPT 后,获得了全球大量的关注。生成式AI的强大能力,改变了许多人的生活方式。在编程语言的社区中,正积极地建设生成式AI的能力。在Java语言为主的Spring社区,发布了 Spring AI 1.0.0-SNAPSHAT 版本。下文将介绍如何安装并部署AI模型,重点探讨如何通过 Spring AI 框架构建AI服务。
什么是Hugging Face?
Hugging Face是一个公开的AI模型社区,托管着来自世界各地AI领域的开发者、企业、组织上传的模型、数据集等内容。方便那些对AI感兴趣的爱好者分享并下载。它就像一个AI模型的超市一样,AI模型的生产制造商会把生产出来的模型上架到这个“超市”,消费者在这里可以挑选自己感兴趣的模型下载、试用。官网地址(需要魔法):www.huggingface.co
什么是Ollama?
前面已经提到了从哪里获取AI模型,但是这个模型和应用软件是不一样的,windows、linux、macos等操作系统无法直接运行。Ollama就是一个AI模型的安装和管理工具,Ollama可能不是最好的AI模型管理工具,但它的兼容性很强,这是它的优势。我们可以在windows、linux、macos系统里安装Ollama,再通过Ollama获取并安装Hugging Face里的AI模型。
可以在 https://ollama.com/download 网站下载并安装Ollama。安装好以后可以通过命令行拉取模型了,以deepseek-r1举例:
ollama run hf.co/deepseek-ai/deepseek-r1:7b
命令的格式:ollama run hf.co/用户名/模型名:参数量级
,上面的7b就是指R1的70亿参数模型。没有魔法的话,hf.co
可能访问不了,可以换成镜像站hf-mirror.com
:
ollama run hf-mirror.com/deepseek-ai/deepseek-r1:7b
关于Ollama更多的能力这里不再继续展开,感兴趣的话可以在网上找视频继续学习。
什么是SpringAI?
官方的定位:
Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.
翻译:Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI 领域,并将使用 POJO 构建应用程序推广到 AI 领域。
Spring AI 的核心是解决企业如何集成 AI 模型。
Spring AI的功能
- 对 AI 模型供应商的支持,例如:DeepSeek、Qwen(Alibaba)、qianfan(Baidu)、Anthropic、OpenAI、Microsoft、Amazon、Google、Ollama。支持的模型类型有:
- Chat Completion:聊天模型
- Embedding:嵌入模型
- Text to Image:文生图
- Audio Transcription:音频转换
- Text to Speech:文字转语音
- Moderation:内容审核
- 结构化输出:就像是传统应用的ORM一样,把AI模型的输出内容映射到POJO。
- 对向量数据库的支持以及跨向量存储的便携式API,包括一种新颖的类似SQL的 Metadata Filter API,对向量数据库的支持包括:
- 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
- [Tools/Function Calling}(https://docs.spring.io/spring-ai/reference/api/functions.html):允许模型请求执行客户端工具和函数,从而按需访问必要的实时信息。
- Observability:提供对AI相关操作的可观测性。
- 用于数据工程的文档注入 ETL 框架
- AI 模型评估:帮助评估生成的内容并防止幻觉响应的实用程序。
- ChatClient:用于与 AI 聊天模型通信的链式调用API,类似于 WebClient 和 RestClient。
- Advisors:封装了常见的生成式AI使用模式,能够转换发送至语言模型(LLMs)及从模型接收的数据,并确保在不同模型和应用场景间的兼容性和可移植性。
- 支持 Chat Conversation Memory and Retrieval Augmented Generation (RAG)。