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

通义千问大模型Java调用,百炼

文章目录

  • 一、大模型服务平台[百炼](https://help.aliyun.com/zh/model-studio/getting-started)
  • 二、Java sdk调用与eventStream
  • 三、百炼平台其它

一、大模型服务平台百炼

百炼是阿里新出的一个大模型服务平台,聚合了多个千问大模型及其它一些大模型的调用,暴露了一个同一的http请求入口,调用接口需要申请一个apikey,不需apisecret用于计费,有免费额度,较小的模型很便宜,各语言可以直接拼接请求参数发起http调用,主流开发语言python,Java等还提供了SDK使用起来更方便。

二、Java sdk调用与eventStream

package com.example.demo.qianwen;import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import lombok.SneakyThrows;public class Main {@SneakyThrowspublic static void main(String[] args) {Generation gen = new Generation();Message systemMsg = Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build();Message userMsg = Message.builder().role(Role.USER.getValue()).content("Java udp代码案例?").build();GenerationParam param = GenerationParam.builder().model("qwen-turbo").apiKey("sk-f6a3b3**************") // 替换自己的.messages(Arrays.asList(systemMsg, userMsg)).resultFormat(GenerationParam.ResultFormat.MESSAGE).temperature(0.8f).incrementalOutput(true).build();// String content = gen.call(param).getOutput().getChoices().get(0).getMessage().getContent();gen.streamCall(param).blockingSubscribe(generationResult -> {System.out.println(generationResult.getOutput().getText());});}
}

这里获取模型推理结果有两种方式:call一次性获取全部结果与sreamCall流式获取数据。后者是比较常用的,因为模型推理往往需要数秒设置更长时间,推理出一点数据就先给用户展示,避免干等。这里持续往前端推送数据比不是websocket,而是利用了HTTP自带的一种更轻量的特性eventStream,用法比较类似websocket。如上代码只需要在streamCall回调函数中改为使用httpserverlet response对象将数据发送到前端即可(注意添加一个响应头Content-Type: text/event-stream;charset=UTF-8)
`1在这里插入图片描述
springboot web支持了http这种特性,往前端send数据调用SseEmitter 的方法即可,它会帮我们加上必要的响应头,如上代码streamCall回调函数中改为SseEmitter的send方法即可。

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;@RestController
public class SseController {private static final Map<Long, SseEmitter> emitters = new ConcurrentHashMap<>();private static final AtomicInteger eventId = new AtomicInteger(0);@GetMapping("/sse/events")public SseEmitter getEvents() {SseEmitter emitter = new SseEmitter(Long.MAX_VALUE);Long id = System.currentTimeMillis();emitters.put(id, emitter);// 发送初始事件sendToClient(emitter, "Welcome to the SSE example!");// 设置超时处理emitter.onTimeout(() -> emitters.remove(id));// 设置错误处理emitter.onCompletion(() -> emitters.remove(id));return emitter;}public void sendToClient(SseEmitter emitter, String message) {try {emitter.send(SseEmitter.event().id(String.valueOf(eventId.incrementAndGet())).name("sse").data(message));} catch (Exception e) {emitters.values().removeIf(ee -> ee.equals(emitter));}}
}

前端处理示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>SSE Example</title>
</head>
<body><h1>Server-Sent Events Demo</h1><ul id="events-list"></ul><script>// 创建EventSource实例const source = new EventSource('/sse/events');// 当接收到新的事件时source.onmessage = function(event) {// 解析接收到的数据const data = JSON.parse(event.data);// 在页面上显示数据displayEvent(data);};// 当发生错误时source.onerror = function(event) {console.error('Error occurred:', event);// 如果连接丢失,可以尝试重新连接// source.close(); // 关闭连接};// 显示事件数据function displayEvent(data) {const list = document.getElementById('events-list');const item = document.createElement('li');item.textContent = data.message;list.appendChild(item);}</script>
</body>
</html>

三、百炼平台其它

百炼平台文档非常齐全,这里主要再总结一下
//TODO

相关文章:

通义千问大模型Java调用,百炼

文章目录 一、大模型服务平台[百炼](https://help.aliyun.com/zh/model-studio/getting-started)二、Java sdk调用与eventStream三、百炼平台其它 一、大模型服务平台百炼 百炼是阿里新出的一个大模型服务平台&#xff0c;聚合了多个千问大模型及其它一些大模型的调用&#xf…...

新发现!一键管理所有远程会话的神器——1Remote

大家好&#xff0c;今天给大家介绍一款非常实用的工具——1Remote&#xff0c;这是一款现代化的个人远程会话管理器与启动器&#xff0c;让您的远程工作变得更加轻松高效&#xff01; 项目介绍 &#x1f680; 核心功能概览 多协议支持&#xff1a;1Remote支持RDP、SSH、VNC、…...

华为 HCIP 认证费用和报名资格

在当今竞争激烈的信息技术领域&#xff0c;华为 HCIP认证备受关注。它不仅能提升个人的技术实力与职业竞争力&#xff0c;也为企业选拔优秀人才提供了重要依据。以下将详细介绍华为 HCIP 认证的费用和报名资格。 一、HCIP 认证费用 华为HCIP认证的费用主要由考试费和培训费构成…...

Linux下载压缩包:tar.gz、zip、tar.bz2格式全攻略

在 Linux 中&#xff0c;下载各种格式的压缩包&#xff08;如 .tar.gz、.zip、.tar.bz2 等&#xff09;通常使用命令行工具如 wget 和 curl。 1. 使用 wget 下载压缩包 wget 是 Linux 中最常用的文件下载工具&#xff0c;支持 HTTP、HTTPS、FTP 等协议&#xff0c;可以直接从…...

运行PaddleOCR报错:requests.exceptions.SSLError: HTTPSconnectionPool……

文章目录 问题描述解决方法 问题描述 在运行以下代码时报错&#xff1a; ocr PaddleOCR(lang"en")解决方法 打开cmd&#xff0c;输入以下命令&#xff0c;查找Python解释器所在路径。 找到 Lib\site-packages\paddleocr\ppocr\utils\network.py&#xff0c;将代码…...

基于STM32L431小熊派设计的智能花盆(微信小程序+腾讯云IOT)(223)

文章目录 一、前言1.1 项目介绍【1】项目背景【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 系统框架图…...

CentOS 入门必备基础知识

CentOS&#xff08;Community ENTerprise Operating System&#xff09;是一个基于Red Hat Enterprise Linux&#xff08;RHEL&#xff09;的免费开源操作系统&#xff0c;广泛用于服务器环境。它以其稳定性、安全性和社区支持而闻名&#xff0c;对于初学者来说掌握一些基础知识…...

快速排序

一&#xff1a;基本思想 任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;右 子序列中所有元素均大于基准值&#xff0c;然后最左右子序列重复该过程&#xff0c;直到所有元…...

钢琴灯有必要买很贵的吗?五款值得入手的护眼灯分享

钢琴灯有必要买很贵的吗&#xff1f;首先在这里先回答一下众多家长们提出问题&#xff0c;护眼灯钢琴灯并不是越贵越好&#xff01;护眼灯钢琴灯这种比较大的电器虽然在生产中的用材用料存在一定的成本&#xff0c;但是并不是价格越贵的会越好&#xff0c;价格并不是决定产品质…...

C和指针:指针

内存和地址 程序视角看内存是一个大的字节数组&#xff0c;每个字节包含8个位&#xff0c;可以存储无符号值0至255,或有符号值-128至127。 多个字节可以合成一个字&#xff0c;许多机器以字为单位存储整数&#xff0c;每个字一般由2个或4个字节组成。 由于它们包含了更多的位&…...

paddle 分类网络

1.PaddlePaddlle强化学习及PARL框架 参考1 参考2 CPU版本安装 2.1 2.x版本安装 首先在anaconda下创建虚拟环境&#xff1a;可参考【1】Anaconda安装超简洁教程&#xff0c;瞬间学会&#xff01; 飞桨安装链接【开始使用_飞桨-源于产业实践的开源深度学习平台】 2 安装 con…...

计算机网络408考研 2022

https://zhuanlan.zhihu.com/p/695446866 1 1 1SDN代表软件定义网络。它是一种网络架构&#xff0c;旨在通过将网络控制平面从数据转发平面分离出来&#xff0c;从而实现网络的灵活性和可编程性。在SDN中&#xff0c;网络管理员可以通过集中式控制器 来动态管理网络流量&…...

2023级JavaScript与jQuery

第三课&#xff1a;JavaScript对象编程 一.预习笔记 1.Date对象 对象创建&#xff1a;var myDatenew Date() 输出显示当前日期的标准时间 对象创建&#xff1a;var myDatenew Date(“2024/09/14”) 对象创建&#xff1a;var myDatenew Date(2024,9,14) 当前对象创建时&…...

【C++】————IO流

作者主页&#xff1a; 作​​​​​​者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年9月9日 一、C语言的输入和输出 C语言中我们用到的最频繁的输入输出方式就是 scanf() 和 printf()。 scanf()&#xff1a;从标准输入设备&#xff08;键盘&#xff09;读…...

ESP8266连接到Blinker平台

ESP8266是一款常见的物联网开发板&#xff0c;因其支持WIFI且性能强大&#xff0c;收到了各类电子爱好者的喜爱&#xff0c;Blinker是一个非常适合初学者的物联网开发平台&#xff0c;借助Arduino开发环境&#xff0c;二者之间进行巧妙配合&#xff0c;很容易便可以完成物联网的…...

qwen2 VL 多模态图文模型;图像、视频使用案例

参考&#xff1a; https://huggingface.co/Qwen/Qwen2-VL-2B-Instruct 模型&#xff1a; export HF_ENDPOINThttps://hf-mirror.comhuggingface-cli download --resume-download --local-dir-use-symlinks False Qwen/Qwen2-VL-2B-Instruct --local-dir qwen2-vl安装&#x…...

ASPICE评估:汽车软件质量的守护神

随着汽车行业的快速发展&#xff0c;车载软件系统的复杂性和重要性日益凸显。为了确保汽车软件的质量和安全性&#xff0c; 汽车行业引入了ASPICE&#xff08;Automotive SPICE&#xff09;评估作为评价软件开发团队研发能力的重要工具。 本文将详细介绍ASPICE评估的概念、过…...

野生动物检测系统源码分享

野生动物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…...

【Hot100】LeetCode—75. 颜色分类

目录 1- 思路题目识别技巧 2- 实现⭐75. 颜色分类——题解思路 3- ACM 实现 原题链接&#xff1a;75. 颜色分类 1- 思路 题目识别 识别1 &#xff1a;给定三种类型数据&#xff0c;使得三种数据用一次遍历实现三种数据排序。 技巧 用两条线将数组分为三部分A 线左侧&#x…...

【物联网技术大作业】设计一个智能家居的应用场景

前言&#xff1a; 本人的物联网技术的期末大作业&#xff0c;希望对你有帮助。 目录 大作业设计题 &#xff08;1&#xff09;智能家居的概述。 &#xff08;2&#xff09;介绍智能家居应用。要求至少5个方面的应用&#xff0c;包括每个应用所采用的设备&#xff0c;性能&am…...

STM32移植LVGL图形库实战指南

1. LVGL图形库概述与STM32移植价值LittlevGL&#xff08;简称LVGL&#xff09;作为当前最受欢迎的嵌入式开源图形库之一&#xff0c;其设计哲学完美契合了资源受限的嵌入式环境。我在多个STM32项目中采用LVGL后发现&#xff0c;相比传统GUI方案&#xff0c;它具有三个显著优势&…...

N_m3u8DL-CLI-SimpleG:快速下载M3U8视频的终极指南

N_m3u8DL-CLI-SimpleG&#xff1a;快速下载M3U8视频的终极指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG N_m3u8DL-CLI-SimpleG是一个专门用于下载M3U8流媒体视频的开源工具…...

西门子SMART200 PLC梯形图,SR20,昆仑通态触摸屏组态画面,常压电热水锅炉比例模糊...

西门子SMART200 PLC梯形图&#xff0c;SR20&#xff0c;昆仑通态触摸屏组态画面&#xff0c;常压电热水锅炉比例模糊控制追目标温度&#xff0c;PLC源触摸屏源CAD原理图图纸全套常压电热水锅炉那种“冰火两重天”的加热体验谁懂&#xff1f;茶水间或者小烘干池边上&#xff0c;…...

Qwen3-14B日志分析教程:ELK栈收集推理请求、响应、错误全链路追踪

Qwen3-14B日志分析教程&#xff1a;ELK栈收集推理请求、响应、错误全链路追踪 1. 为什么需要日志分析 当你在私有化部署Qwen3-14B模型时&#xff0c;可能会遇到各种问题&#xff1a;为什么推理速度突然变慢了&#xff1f;为什么API返回了错误响应&#xff1f;哪些请求消耗了最…...

目录中不显示标题中间的软换行符Shift+Enter

文档中的标题过长时&#xff0c;通常使用ShiftEnter软换行符来给标题在合适的位置换行&#xff0c;以实现美观的排版效果。然而&#xff0c;插入软换行符会造成自动产生的目录中标题文本中间出现空格&#xff0c;如图所示&#xff1a;那么&#xff0c;如何让目录中不显示这个软…...

如何三步搞定iOS微信聊天记录完整导出:隐私保护与数据备份终极指南

如何三步搞定iOS微信聊天记录完整导出&#xff1a;隐私保护与数据备份终极指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 还在为无法永久保存重要微信对话而烦恼吗&…...

大模型风口已至!普通人如何逆袭拿高薪?学员真实案例告诉你答案!

在人工智能飞速发展的今天&#xff0c;大模型已成为科技行业的核心赛道&#xff0c;无数人渴望抓住这波风口实现职业跃迁。而我们的大模型学员&#xff0c;用一份份亮眼的 offer&#xff0c;交出了完美答卷&#xff01; &#x1f31f; 平凡起点&#xff0c;非凡逆袭 他们中有**…...

大模型Post-training实战:从新手到高手的进阶秘籍,收藏这份学习指南!

本文系统梳理了大语言模型&#xff08;LLM&#xff09;后训练&#xff08;Post-training&#xff09;的核心方法与最新进展&#xff0c;通过餐厅培训厨师的类比帮助读者建立直观理解。文章详细解析了监督微调&#xff08;SFT&#xff09;、基于人类反馈的强化学习&#xff08;R…...

广告发光字全科普

广告发光字全科普&#xff1a;从原理到类型&#xff0c;一篇看懂门头招牌的发光逻辑走在城市街头&#xff0c;从连锁品牌门头到商场导视、楼宇标识&#xff0c;随处可见夜晚自动亮起的广告发光字。它早已不是简单的霓虹灯&#xff0c;而是融合材料、工艺、光学与工程的成熟标识…...

新手福音:基于快马平台生成ubuntu安装openclaw零失败入门指南

作为一个刚接触Ubuntu的新手&#xff0c;第一次安装OpenClaw时简直被各种依赖报错折磨到怀疑人生。后来发现InsCode(快马)平台能直接生成带详细解释的安装指南&#xff0c;终于找到了救星。今天就把这个零失败的安装过程分享给大家。 认识OpenClaw 这个工具是Linux环境下超实用…...