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

网站打印模板制作网址查询服务器地址

网站打印模板制作,网址查询服务器地址,服装设计师需要什么学历,网站站内搜索怎么做一、对话模型(Chat Model)简介 1、对话模型(Chat Model) 对话模型(Chat Model)接收一系列消息(Message)作为输入,与模型 LLM 服务进行交互,并接收返回的聊天…

一、对话模型(Chat Model)简介

1、对话模型(Chat Model)

对话模型(Chat Model)接收一系列消息(Message)作为输入,与模型 LLM 服务进行交互,并接收返回的聊天消息(Chat Message)作为输出。

相比于普通的程序输入,模型的输入与输出消息(Message)支持纯字符文本,还支持包括语音、图片、视频等作为输入输出。

同时,在 Spring AI Alibaba 中,消息中还支持包含不同的角色,帮助底层模型区分来自模型、用户和系统指令等的不同消息。

Spring AI Alibaba 复用了 Spring AI 抽象的 Model API,并与通义系列大模型服务进行适配(如通义千问、通义万相等),目前支持纯文本聊天、文生图、文生语音、语音转文本等。

以下是框架定义的几个核心 API:

  • ChatModel,文本聊天交互模型,支持纯文本格式作为输入,并将模型的输出以格式化文本形式返回。
  • ImageModel,接收用户文本输入,并将模型生成的图片作为输出返回。
  • AudioModel,接收用户文本输入,并将模型合成的语音作为输出返回。

Spring AI Alibaba 支持以上 Model 抽象与通义系列模型的适配,并通过 spring-ai-alibaba-starter AutoConfiguration 自动初始化了默认实例,因此我们可以在应用程序中直接注入 ChatModel、ImageModel 等 bean,当然在需要的时候也可以自定义 Model 实例。

2、Chat Model

ChatModel API 让应用开发者可以非常方便的与 AI 模型进行文本交互,它抽象了应用与模型交互的过程,包括使用 Prompt 作为输入,使用 ChatResponse 作为输出等。

ChatModel 的工作原理是接收 Prompt 或部分对话作为输入,将输入发送给后端大模型,模型根据其训练数据和对自然语言的理解生成对话响应,应用程序可以将响应呈现给用户或用于进一步处理。

在这里插入图片描述

二、ChatModel使用

Spring AI Alibaba对话模型(Chat Model):https://java2ai.com/docs/1.0.0-M5.1/tutorials/chat-model/

1、编写 Controller接口

在普通 Controller Bean 中注入 ChatModel 实例,实现下面几个功能:

  • 简单调用
  • 流式调用
  • 自定义 LLMs ChatOptions 参数调用。
  • 查看 ChatResponse信息,打印token的信息。

在这里插入图片描述

@Slf4j
@RestController
@RequestMapping("/dashscope/chat-model")
public class DashScopeChatModelController {private static final String DEFAULT_PROMPT = "你好,介绍下你自己!";private final ChatModel dashScopeChatModel;/*** 使用如下的方式自动注入 ChatModel** @param chatModel*/public DashScopeChatModelController(ChatModel chatModel) {this.dashScopeChatModel = chatModel;}/*** 最简单调用方式,没有任何 LLMs 参数注入。*/@GetMapping("/simple/chat")public String simpleChat(String userInputPrompt) {if (StringUtils.isBlank(userInputPrompt)) {userInputPrompt = DEFAULT_PROMPT;}String aiOutput = dashScopeChatModel.call(new Prompt(userInputPrompt,DashScopeChatOptions.builder()// 指定使用的模型,默认使用 qwen-plus 模型.withModel(DashScopeApi.ChatModel.QWEN_PLUS.getModel()).build())).getResult().getOutput().getText();log.info("\n simpleChat --> userInputPrompt ={}, \n aiOutput = {}", userInputPrompt, aiOutput);return aiOutput;}/*** Stream 流式调用。* 可以使大模型的输出信息实现打字机效果。*/@GetMapping("/stream/chat")public Flux<String> streamChat(HttpServletResponse response, String userInputPrompt) {if (StringUtils.isBlank(userInputPrompt)) {userInputPrompt = DEFAULT_PROMPT;}// 避免接口返回乱码response.setCharacterEncoding("UTF-8");log.info("\n streamChat -->  userInputPrompt ={},", userInputPrompt);Flux<ChatResponse> stream = dashScopeChatModel.stream(new Prompt(userInputPrompt,DashScopeChatOptions.builder()// 指定使用的模型,默认使用 qwen-plus 模型.withModel(DashScopeApi.ChatModel.QWEN_PLUS.getModel()).build()));Flux<String> flux = stream.map(chatResponse -> chatResponse.getResult().getOutput().getText());return flux;}/*** 使用编程方式自定义 LLMs ChatOptions 参数,* {@link com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions}* 优先级高于在 application.yml 中配置的 LLMs 参数!*/@GetMapping("/customOptions/chat")public String customOptionsChat(String userInputPrompt) {if (StringUtils.isBlank(userInputPrompt)) {userInputPrompt = DEFAULT_PROMPT;}// 自定义 LLMs ChatOptions 参数DashScopeChatOptions customOptions = DashScopeChatOptions.builder()// 指定使用 qwen-turbo 模型.withModel(DashScopeApi.ChatModel.QWEN_TURBO.getModel()).withTopP(0.7).withTopK(50).withTemperature(0.8).build();//return dashScopeChatModel.call(new Prompt(userInputPrompt, customOptions)).getResult().getOutput().getText();/*** AI 模型的响应是一种由ChatResponse类型定义的丰富结构。* 它包含响应生成相关的元数据,同时它还可以包含多个子响应(称为Generation),每个子响应都有自己的元数据。* 元数据包括用于创建响应的令牌(token)数量信息(在英文中,每个令牌大约为一个单词的 3/4),了解令牌信息很重要,因为 AI 模型根据每个请求使用的令牌数量收费。**/ChatResponse chatResponse = dashScopeChatModel.call(new Prompt(userInputPrompt, customOptions));Usage usage = chatResponse.getMetadata().getUsage();Integer totalTokens = usage.getTotalTokens();log.info("\n customOptionsChat --> chatResponse = {}", usage);String aiOutput = chatResponse.getResult().getOutput().getText();log.info("\n customOptionsChat --> userInputPrompt ={}, totalTokens ={} \n aiOutput = {}", userInputPrompt, totalTokens, aiOutput);return aiOutput;}}

在这里插入图片描述

在这里插入图片描述

自定义 LLMs ChatOptions 参数调用,完整输出内容如下:

在人工智能(AI)时代,技术的发展日新月异,作为Java开发者,需要主动适应和拥抱变化,以保持竞争力。以下是一些关键的建议和方向:---### 1. **理解AI与Java的关系**- **Java与AI的结合**:虽然Java不是专门为AI设计的语言,但它在构建大规模分布式系统、后端服务和企业级应用方面表现出色。因此,许多AI项目可能会使用Java作为后端或基础设施的一部分。- **AI框架与工具**:熟悉一些基于Java的AI框架,例如:- **DL4J (Deeplearning4j)**:一个用于深度学习的Java库。- **Weka**:一个机器学习库,适合数据挖掘任务。- **Apache Mahout**:一个专注于机器学习的分布式计算框架。---### 2. **提升数据科学能力**- AI的核心是数据驱动的决策,因此掌握数据分析、数据处理和机器学习的基础知识至关重要。- 学习相关技能:- 数据清洗与预处理。- 统计学基础。- 常见的机器学习算法(如回归、分类、聚类等)。- 深度学习的基本概念。---### 3. **扩展技术栈**- **云平台**:随着AI项目的复杂性增加,云平台成为不可或缺的一部分。学习如何使用AWS、Azure或Google Cloud等平台来部署和管理AI模型。- **容器化与微服务**:熟悉Docker、Kubernetes等技术,以便更好地支持AI系统的可扩展性和可靠性。- **大数据技术**:AI通常需要处理海量数据,因此熟悉Hadoop、Spark等大数据技术非常重要。---### 4. **关注新兴领域**- **边缘计算**:AI模型正在向设备端迁移(例如IoT设备),学习如何在嵌入式系统中运行Java代码。- **自动化与DevOps**:AI项目需要高效的开发和运维流程,掌握CI/CD工具链(如Jenkins、GitLab CI)以及自动化测试技术。- **区块链与AI结合**:探索区块链技术如何增强AI的信任机制和数据隐私保护。---### 5. **学习新语言与工具**- 虽然Java仍然是主流语言之一,但为了应对AI领域的多样化需求,可以适当学习其他语言和技术:- Python:AI社区中最受欢迎的语言,拥有丰富的库(如TensorFlow、PyTorch)。- Kotlin:与Java无缝兼容,且语法更简洁。- JavaScript:如果涉及前端AI应用(如WebGL、TensorFlow.js)。---### 6. **培养软技能**- **沟通能力**:AI项目通常需要跨部门协作,良好的沟通能力有助于推动项目成功。- **创新思维**:尝试将AI技术与传统Java应用相结合,创造新的业务价值。- **终身学习**:技术更新迅速,保持好奇心和学习热情是长期发展的关键。---### 7. **参与开源社区**- 参与Java或AI相关的开源项目,不仅可以积累经验,还能扩大人脉圈。- GitHub是一个很好的起点,搜索与Java或AI相关的开源项目并贡献代码。---### 总结
AI时代对Java开发者既是挑战也是机遇。通过不断提升技术能力、扩展视野,并保持开放的心态,Java开发者完全可以在AI领域找到自己的定位。无论是继续深耕Java生态,还是结合AI技术开拓新方向,关键是紧跟趋势,持续学习和实践。如果你有具体的方向或问题,欢迎进一步讨论!

– 求知若饥,虚心若愚。

http://www.dtcms.com/wzjs/281896.html

相关文章:

  • 济南网络营销公司推荐怎么优化电脑系统
  • 做企业网站设谷歌独立站推广
  • 数据网站怎么做的如何做网销
  • 物流网站建设策划书怎么写网络营销方案设计范文
  • wordpress微现场seo推广怎么样
  • 洗化行业做网站域名注册网站哪个好
  • 聊天网站开发陕西新站seo
  • 公司网站建设方案书怎么写什么是交换链接
  • 海口做网站哪家好游戏推广员招聘
  • wordpress 首页打不开优化网站内容
  • 有没有交流做服装的网站seo 工具推荐
  • 哪个分销平台比较好天津seo实战培训
  • 做维修广告效最好是哪个网站吗百度seo整站优化
  • 东莞寮步做网站的有吗营销渠道策略
  • 惠州网站开发公司电话故事式的软文广告例子
  • 那个网站做的调查准确实训百度搜索引擎的总结
  • 免费个人简历优化seo报价
  • 永康网站建设专业公司做广告推广哪个平台好
  • 网站建设的财务分析小程序排名优化
  • 个人网站免费做互联网培训
  • 网站开发一个多少钱啊怎么优化一个网站关键词
  • 傻瓜式在线做网站互联网推广引流
  • 网站建设美化中期报告seo服务商排名
  • 网站建设人员任职要求培训课程有哪些
  • 网站建设与维护管理办法全面网络推广营销策划
  • 海外浏览器搜索引擎优化seo公司
  • 乌鲁木齐可以做网站的公司seo的理解
  • 微信网站响应式网站顶尖文案网站
  • 电商商城系统免费海淀区seo全面优化
  • web网站开发使用直播源重庆企业seo