Spring AI 项目旨在简化使用 Spring Boot 开发包含人工智能功能的应用程序,提供抽象和支持多种模型提供商及矢量数据库提供商。
Spring AI 的功能特点
- 支持主流模型提供商:如 OpenAI、Microsoft、Amazon、Google 和 Huggingface 等。
- 支持多种模型类型:包括聊天、文本到图像、音频转录、文本到语音等。
- 提供可移植 API:支持同步和流 API 选项,还支持访问模型特定功能。
- 实现 AI 模型输出到 POJO 的映射。
- 支持主流矢量数据库提供商:如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate 等。
- 提供跨 Vector Store 提供程序的可移植 API,包括类似 SQL 的元数据过滤器 API。
- 支持 Function calling(函数调用)。
- 提供 Spring Boot 自动配置和启动器的 AI 模型。
- 包含数据工程的 ETL 框架。
Spring Boot 项目整合 Spring AI 的步骤
- 初始化 Spring Boot 项目: - 使用 Spring Initializr:访问 https://start.spring.io/,选择 Maven 或 Gradle 作为构建工具,选择 Java 作为语言,勾选“Web”依赖以启用 Spring Web 支持,选择 OpenAI 依赖,然后生成项目。
手动添加依赖
添加仓库依赖:在 pom.xml 文件中添加以下仓库依赖:
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>
使用 BOM:通过将以下内容添加到 pom.xml 文件中来使用 BOM,使用的 BOM 版本决定了使用的依赖项版本,它还可确保默认使用受支持和测试的依赖项版本。
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
添加 OpenAI 的 maven 依赖:在 pom.xml 文件中添加以下依赖:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId></dependency>
- 配置 OpenAi API KEY:请加入你生成的 OpenAI 的 API key,可以通过直连或者中转的方式进行访问,具体可以百度和淘宝。在 application.properties 文件中添加以下配置:
spring.application.name=spring-ai
spring.ai.openai.api-key=sk-8*******************
spring.ai.openai.base-ur=h*******************
- 在控制器中调用 Spring API 的方法进行访问和输出:
@RestController@RequestMapping("/openai")publicclassOpenAiChatController{@ResourceprivateOpenAiChatModel openAiChatModel;@GetMapping("/chat/generate")publicStringchat(@RequestParam(value ="message", defaultValue ="你是谁?")String message){String result = openAiChatModel.call(message);System.out.println(result);return result;}}
- 运行和测试: 启动 Spring Boot 应用,访问
http://localhost:8080/openapi/generate?message=请介绍一下 Spring AI
,
你应该能看到来自 ChatGPT 的响应。
Spring AI 为开发人员提供了一个强大的平台,帮助他们更轻松地利用人工智能和机器学习技术,提升应用程序的智能化水平。通过与 Spring Boot 的整合,开发人员可以更方便地构建包含人工智能功能的应用程序。
版权归原作者 昱晏 所有, 如有侵权,请联系我们删除。