您的位置:首页 > 汽车 > 新车 > 成都地推公司_设计一个网页的代码_永久免费进销存管理软件手机版_百度sem推广具体做什么

成都地推公司_设计一个网页的代码_永久免费进销存管理软件手机版_百度sem推广具体做什么

2025/2/27 0:13:01 来源:https://blog.csdn.net/m0_74825074/article/details/145476025  浏览:    关键词:成都地推公司_设计一个网页的代码_永久免费进销存管理软件手机版_百度sem推广具体做什么
成都地推公司_设计一个网页的代码_永久免费进销存管理软件手机版_百度sem推广具体做什么
Spring AI快速体验
  • 1 什么是Spring AI
    • 主要功能
  • 2 快速开始
    • 2.1 版本说明
    • 2.2 配置文件
    • 2.3 pom依赖
      • 2.3.1 spring maven仓库
      • 2.3.2 核心依赖
    • 2.4 定义ChatClient
    • 2.5 启动类
    • 2.6 测试
  • 3 参考链接

1 什么是Spring AI

Spring AI是Spring的一个子项目,是Spring专门面向于AI的应用框架。
在这里插入图片描述

Spring AI 项目旨在简化整合人工智能功能的应用程序开发,避免不必要的复杂性。
汲取了著名的 Python 项目 LangChain 和 LlamaIndex 的灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立的信念:下一波生成式人工智能应用程序不仅将面向Python开发人员,而且将在许多编程语言中无处不在。

主要功能

● 跨 AI 供应商的便携式 API:支持聊天、文生图、嵌入模型;支持同步和流式API选项;访问特定模型功能。
● 支持几乎所有的ai模型提供商:如如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama,包括国内的千帆、智谱AI等
● 结构化输出:将AI模型输出映射为POJO;
● 支持所有主要向量数据库。
● 功能调用(Tools/Function Calling):工具/功能调用-允许模型请求执行客户端工具和功能,从而根据需要访问必要的实时信息。
● 可观测
● springboot自动装配
● 支持聊天对话记忆和检索增强生成(RAG)

2 快速开始

2.1 版本说明

工具

版本

jdk

17

Spring Boot

3.2.x、3.3.x

Spring AI

1.0.0-SNAPSHOT

2.2 配置文件

配置文件
注意:使用官方直连的api-key、url;或者使用基于转发的api-key、url。主要区别是官方的价格较贵,需要在程序中设置代理连接;转发类的国内可直接使用,价格便宜,适合学习使用。

2.3 pom依赖

2.3.1 spring maven仓库
<repositories><!-- Spring Milestones 仓库 --><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><!-- Spring Snapshots 仓库 --><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository>
</repositories>
2.3.2 核心依赖
<!--open ai-->
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
<!--Spring AI 物料清单(BOM)声明了 Spring AI 发布版本使用的所有依赖项的推荐版本。使用应用程序构建脚本中的 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>

2.4 定义ChatClient

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
class Config {@BeanChatClient chatClient(ChatClient.Builder builder) {return builder.build();}
}

2.5 启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringAiDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringAiDemoApplication.class, args);}
}

2.6 测试

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api")
public class ChatController {@Autowiredprivate ChatClient chatClient;@GetMapping("/chat")public String chat(@RequestParam(value = "message", defaultValue = "Hi") String message) {return chatClient.prompt().user(message).call().content();}
}

文本返回:
chat
流式返回(打字机效果):

@GetMapping(value = "/chat/flux", produces = MediaType.TEXT_HTML_VALUE + ";charset=UTF-8")
public Flux<String> chatFlux(@RequestParam(value = "message", defaultValue = "Hi") String message) {Flux<String> output = chatClient.prompt().user(message).stream().content();return output;
}

流式返回图片
完整代码可参考:https://github.com/xgxizz/spring-ai-demo

3 参考链接

https://docs.spring.io/spring-ai/reference/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com