当前位置: 首页 > news >正文

网站空间上传工具电商沙盘seo裤子关键词

网站空间上传工具,电商沙盘seo裤子关键词,网站修改联系方式,如何用手机创建网站写在前面 官方文档很详细,有开发需求可以直接看文档https://java2ai.com/docs/1.0.0-M5.1/get-started/博文内容为一个开发Demo,以及API简单认知理解不足小伙伴帮忙指正 😃,生活加油 我看远山,远山悲悯 持续分享技术干货&#xf…

写在前面


  • 官方文档很详细,有开发需求可以直接看文档
  • https://java2ai.com/docs/1.0.0-M5.1/get-started/
  • 博文内容为一个开发Demo,以及API简单认知
  • 理解不足小伙伴帮忙指正 😃,生活加油

我看远山,远山悲悯

持续分享技术干货,感兴趣小伙伴可以关注下 _


AI普惠时代的技术革新

在生成式AI技术快速发展的今天,大模型的高效部署与低成本应用成为企业智能化转型的核心挑战。国产大模型 DeepSeek LLM 凭借其轻量化设计、开源生态和高性价比优势,结合 Spring AI Alibaba 框架与 Ollama 本地化部署能力,为开发者提供了一条“平民化”AI应用的可行路径。

什么是 Spring AI

Spring AI 是由 Spring 官方维护的 AI 开发框架,旨在简化企业级 AI 应用构建。

Spring AI 借鉴了 Python 生态的 LangChain 等工具的设计理念,但并非直接移植,而是专注于解决 Java 开发者面临的 AI 集成核心难题——将企业数据/API 与 AI 模型无缝连接,突破 Python 生态垄断,推动生成式 AI 应用向多语言生态扩展。

什么是 Spring AI Alibaba?

Spring AI Alibaba阿里云Java 开发者打造的开源 AI 开发框架,基于 Spring AI 深度集成通义系列模型,提供标准化接口和高阶抽象能力。

Spring AI Alibaba 简化 AI 应用开发流程,支持以 Spring Boot 开发范式快速接入大模型能力,深度整合阿里云通义系列模型及百炼平台,提供模型部署到运维的最佳实践;

​关键能力:

  • 统一 API 抽象(支持聊天/多模态模型、同步/流式调用、跨模型无缝切换);
  • 智能体开发工具集(函数调用、对话记忆、RAG 全链路支持);
  • 工程化增强(结构化输出映射 POJO、向量数据库集成、离线文档处理工具)。
  • 相较于原生 API 调用,该框架通过 Fluent API 设计显著降低开发复杂度,使开发者聚焦业务逻辑而非底层模型交互细节。

API认知

Spring AI Alibaba框架中, 提供了 ​Chat Client​Chat Model 两类不同层次的组件,分别对应不同的开发场景需求。

  • Chat Model(聊天模型)​: 直接与 AI 大模型(比如通义系列模型)打交道的“电话听筒”。你可以把它想象成直接拨通大模型的电话,告诉它你的问题,然后接收它的原始回答。
  • Chat Client(智能体代理客户端)​: 封装好的“智能助手”。它不仅帮你拨通大模型的电话,还会自动帮你处理对话流程、记忆上下文、调用工具函数(比如查机票信息)等复杂操作。

下面我们详细看看

对话模型(Chat Model)

Chat Model 通过标准化 API 抽象,降低多模态大模型集成复杂度,使开发者聚焦业务逻辑,快速实现智能交互功能。

输入/输出形式 支持多模态交互(文本、语音、图片、视频),输入为消息序列(Message),输出为聊天消息(ChatMessage)。

角色区分 消息中可标记角色(如 usersystemassistant),帮助模型理解上下文来源(用户指令、系统提示或模型回复)。

特点

模型适配 :集成通义系列大模型服务(如通义千问、通义万象),支持以下功能:

  • 文本交互ChatModel):文本输入 → 格式化文本输出
  • 文生图ImageModel):文本输入 → 生成图片
  • 文生语音AudioModel):文本输入 → 合成语音
  • 语音转文本(如语音输入解析)。

开发集成

  • 复用 Spring AI 的 Model API,通过 spring-ai-alibaba-starter 自动配置默认实例。
  • 支持直接注入 ChatModelImageModel 等 Bean,亦可自定义模型实例。
API 核心逻辑

交互流程:Prompt(输入) → 模型处理 → ChatResponse(输出)

  • 输入:用户提供的 Prompt 或部分对话上下文。
  • 输出:模型生成的自然语言响应,可呈现给用户或用于后续处理。

底层原理 模型基于训练数据解析输入语义,结合上下文生成连贯、符合逻辑的响应。

对话客户端(Chat Client)

Chat Client 通过标准化流程和 Fluent API 提升开发效率,适合需快速落地的通用 AI 场景;

作用:提供与 AI 模型交互的 Fluent API,简化多组件协作流程(如提示词模板、聊天记忆、模型、解析器等)。

定位:类似应用程序的 服务层,封装底层复杂性,快速实现端到端 AI 交互流程。

特点
  • 编程模型:支持 同步反应式(Reactive) 调用。
  • 开发效率:通过链式调用(Fluent API)减少样板代码,避免手动协调组件(如 RAG、函数调用等)。
  • 功能集成:内置输入输出处理、参数配置等通用逻辑,开箱即用。
基础功能
功能说明
输入定制(Prompt)动态组装用户输入,支持模板化参数填充(如变量替换)。
结构化输出解析将模型返回的非结构化文本转换为结构化数据(如 JSON、对象)。
交互参数调整通过 ChatOptions 动态配置模型参数(如温度、最大 Token 数、Top-P 等)。
  • 聊天记忆(Chat Memory) 维护多轮对话上下文,支持短期记忆(内存)和长期记忆(持久化存储)。
  • 工具/函数调用(Function Calling) 模型根据输入动态调用外部服务或函数(如查询天气、调用 API),并整合结果至响应。
  • RAG(检索增强生成) 集成检索组件,通过向量数据库增强模型知识,生成基于业务数据的精准回答。

开发Demo

ollama 运行 deepseek-r1

启动服务

PS C:\Users\liruilong> ollama serve
2025/03/06 10:33:23 routes.go:1186: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: 
................................

运行模型测试

PS C:\Users\liruilong> ollama run deepseek-r1
>>> 1+1=?
<think></think>1 + 1 = **2**>>> Send a message (/? for help)

Spring AI Alibaba AI 应用开发

添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId></dependency>

配置大模型相关配置

server:port: 10005spring:application:name: spring-ai-alibaba-ollama-demoai:ollama:base-url: http://localhost:11434chat:model: deepseek-r1:latest

克隆项目Demo

git clone --depth=1 https://github.com/springaialibaba/spring-ai-alibaba-examples.git
chat model
@RestController
@RequestMapping("/ollama/chat-model")
public class OllamaChatModelController {private static final String DEFAULT_PROMPT = "你好,介绍下你自己吧。请用中文回答。";private final ChatModel ollamaChatModel;public OllamaChatModelController(ChatModel chatModel) {this.ollamaChatModel = chatModel;}/*** 最简单的使用方式,没有任何 LLMs 参数注入。** @return String types.*/@GetMapping("/simple/chat")public String simpleChat() {return ollamaChatModel.call(new Prompt(DEFAULT_PROMPT)).getResult().getOutput().getContent();}/*** Stream 流式调用。可以使大模型的输出信息实现打字机效果。** @return Flux<String> types.*/@GetMapping("/stream/chat")public Flux<String> streamChat(HttpServletResponse response) {// 避免返回乱码response.setCharacterEncoding("UTF-8");Flux<ChatResponse> stream = ollamaChatModel.stream(new Prompt(DEFAULT_PROMPT));return stream.map(resp -> resp.getResult().getOutput().getContent());}/*** 使用编程方式自定义 LLMs ChatOptions 参数, {@link OllamaOptions}。* 优先级高于在 application.yml 中配置的 LLMs 参数!*/@GetMapping("/custom/chat")public String customChat() {OllamaOptions customOptions = OllamaOptions.builder().topP (0.95D).temperature (0.7D).numPredict (1024).build();return ollamaChatModel.call(new Prompt(DEFAULT_PROMPT, customOptions)).getResult().getOutput().getContent();}}

调用接口测试

PS C:\Users\liruilong> curl http://localhost:10005/ollama/chat-model/simple/chat
<think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
</think>您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
PS C:\Users\liruilong> curl http://localhost:10005/ollama/chat-model/stream/chat
<think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
</think>您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。

下面为自定义模型参数调用

PS C:\Users\liruilong> curl http://localhost:10005/ollama/chat-model/custom/chat
<think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
</think>您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
PS C:\Users\liruilong>
chat client
@RestController
@RequestMapping("/ollama/chat-client")
public class OllamaClientController {private static final String DEFAULT_PROMPT = "你好,介绍下你自己!请用中文回答。";private final ChatClient ollamaiChatClient;public OllamaClientController(ChatModel chatModel) {this.ollamaiChatClient = ChatClient.builder(chatModel).defaultAdvisors(new MessageChatMemoryAdvisor(new InMemoryChatMemory())).defaultAdvisors(new SimpleLoggerAdvisor()).defaultOptions(OllamaOptions.builder ().topP (0.95D).temperature (0.7D).numPredict (1024).build()).build();}/*** ChatClient 简单调用*/@GetMapping("/simple/chat")public String simpleChat() {return ollamaiChatClient.prompt(DEFAULT_PROMPT).call().content();}/*** ChatClient 流式调用*/@GetMapping("/stream/chat")public Flux<String> streamChat(HttpServletResponse response) {response.setCharacterEncoding("UTF-8");return ollamaiChatClient.prompt(DEFAULT_PROMPT).stream().content();}}

Demo 代码可以看到 chatModel 都是通过自动装配注入的,不需要显示 newclientmodel 的基础上重新构造。

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知 😃


https://sca.aliyun.com/

https://java2ai.com/docs/1.0.0-M5.1/get-started/


© 2018-至今 liruilonger@gmail.com, 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

http://www.ds6.com.cn/news/41037.html

相关文章:

  • 域名注册好了如何做网站扬州百度seo公司
  • 成都官方网站建设什么搜索引擎搜索最全
  • 临沂市住房和城乡建设委员会网站合肥seo推广排名
  • wordpress视频站插件做灰色词seo靠谱
  • 北京建设规划委员会网站黑帽seo技术有哪些
  • 昆明网站排名优化公司手机营销推广方案
  • 如皋网站建设公司教程seo推广排名网站
  • 男女视频做爰的网站百度公司的发展历程
  • 华强北网站建设网络seo培训
  • 个人可以做自媒体网站吗关键词林俊杰歌词
  • 北京建工招标平台seo网站优化培训怎么样
  • 怎么做免费推广网站营销软文800字范文
  • 2015网站排名搜狗竞价推广效果怎么样
  • 影视网站怎么做原创网络宣传的好处
  • 广告传媒公司网站世界军事新闻
  • 物流手机网站模板免费个人网站制作
  • acg的wordpress主题天津抖音seo
  • 天猫商城网站设计分析如何用模板做网站
  • 企业解决方案搞笑武汉关键词seo排名
  • 北京cms建站系统优化大师怎么删除学生
  • 网站开发用什么书官方app下载安装
  • 网站展示信息发布平台推广
  • 扬州市建设厅网站seo研究中心道一老师
  • 免费自己做网站手机软件营销型网站外包
  • 网站指向ip列表是什么优化游戏卡顿的软件
  • 做网站的多钱项目营销推广策划
  • vi设计公司 北京站长工具seo源码
  • 做房产抵押网站需要什么手续windows优化大师会员
  • 下载网站cms深圳百度seo代理
  • 政府网站建设运行情况谷歌在线浏览器入口