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

【人工智能深度学习应用】妙笔API最佳实践

AI妙笔是一款以文本创作为主、多模态为辅的生成式创作大模型产品,专门为传媒、政务等特定的行业和组织提供行业化的内容创作辅助。它具备深度的行业知识,能够生成高质量的专业内容,能覆盖各行业常见的文体类型,写作文体丰富多样,包括时政稿件、时事评论、视频脚本、报告、请示、通知、方案、复函等。AI妙笔通过人工智能技术提升创作效率,帮助用户节省时间和精力,并提供准确、专业的内容,满足不同行业组织的需求。

本文提供妙笔写作链路 API的几个最佳实践,帮助您快速入门并开发您自己的业务应用。

前提条件

  • 已开通服务

  • 获取WorkSpaceId 获取Workspace ID

  • 引入妙笔SDK 注意获取最新SDK版本

<dependency><groupId>com.aliyun</groupId><artifactId>alibabacloud-aimiaobi20230801</artifactId><version>1.0.11</version>
</dependency>

1、实现直接生成文章

基于妙笔提供的API,本节通过直接生成文章场景来帮助您熟悉API的使用。

生成调用demo如下:

package com.aliyun.sdk.service.aimiaobi20230801;import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.gateway.pop.Configuration;
import com.aliyun.sdk.gateway.pop.auth.SignatureVersion;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunWritingRequest;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunWritingResponseBody;import com.google.gson.Gson;
import darabonba.core.ResponseIterable;
import darabonba.core.ResponseIterator;
import darabonba.core.client.ClientOverrideConfiguration;import java.util.ArrayList;import java.util.List;/*** packageName com.dayouz.lightapp** @author dayouz* @version JDK 8* @className runStyleWriting* @date 2024/8/13* @description 直接写作demo*/
public class RunWritingTest {public static void main(String[] args) {StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder().accessKeyId(Constant.accessKeyId).accessKeySecret(Constant.accessKeySecret).build());AsyncClient client = AsyncClient.builder().region("cn-beijing").credentialsProvider(provider).serviceConfiguration(Configuration.create().setSignatureVersion(SignatureVersion.V3)).overrideConfiguration(ClientOverrideConfiguration.create().setProtocol("HTTPS").setEndpointOverride("aimiaobi.cn-beijing.aliyuncs.com")).build();//写作时的文体、篇幅、输出语言等控制参数List<RunWritingRequest.Tags> tags = new ArrayList<>();//构建语言为中文tags.add(RunWritingRequest.Tags.builder().tag("language").keyword("zh-CN").build());//构建文章篇幅字数300字左右tags.add(RunWritingRequest.Tags.builder().tag("gcNumberSizeTag").keyword("300字").build());//构建生成文章数量为1篇tags.add(RunWritingRequest.Tags.builder().tag("gcNumber").keyword("1").build());//构建写作文体为新闻评论tags.add(RunWritingRequest.Tags.builder().tag("writingStyle").keyword("新闻评论").build());RunWritingRequest request = RunWritingRequest.builder().workspaceId(Constant.workspaceId).prompt("写一篇关于国足对战日本0:7 失败的报道").writingConfig(RunWritingRequest.WritingConfig.builder()//设置传媒领域的写作.domain("media")//设置为自动补充素材,通过互联网检索.useSearch(true)//设置写作时的文体、篇幅、输出语言等控制参数.tags(tags).build()).build();ResponseIterable<RunWritingResponseBody> x = client.runWritingWithResponseIterable(request);ResponseIterator<RunWritingResponseBody> iterator = x.iterator();while (iterator.hasNext()) {System.out.println("----event----");RunWritingResponseBody event = iterator.next();System.out.println(new Gson().toJson(event));}System.out.println("ALL***********************");System.out.println("请求成功的请求头值:");System.out.println(x.getStatusCode());System.out.println(x.getHeaders());}
}

2、分步骤创作文章

package org.example.miaobi;import com.alibaba.fastjson2.JSONObject;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.gateway.pop.Configuration;
import com.aliyun.sdk.gateway.pop.auth.SignatureVersion;
import com.aliyun.sdk.service.aimiaobi20230801.AsyncClient;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunStepByStepWritingRequest;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunStepByStepWritingResponseBody;
import darabonba.core.ResponseIterable;
import darabonba.core.client.ClientOverrideConfiguration;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;@Slf4j
public class RunStepByStepWritingTest {public static AsyncClient asyncClient() {//accessKeyIdString accessKeyId = System.getenv("accessKeyId");//accessKeySecretString accessKeySecret = System.getenv("accessKeySecret");//域名:aimiaobi.cn-hangzhou.aliyuncs.comString domain = System.getenv("domain");return AsyncClient.builder().credentialsProvider(StaticCredentialProvider.create(Credential.builder().accessKeyId(accessKeyId).accessKeySecret(accessKeySecret).build())).serviceConfiguration(Configuration.create().setSignatureVersion(SignatureVersion.V3)).overrideConfiguration(ClientOverrideConfiguration.create().setProtocol("HTTPS").setEndpointOverride(domain)).build();}@Testpublic void runStepByStepWriting() {AsyncClient asyncClient = asyncClient();String workspaceId = System.getenv("WorkspaceId");String prompt = "中美关系如何破局";//大纲生成OutlineGenerateResult result = runOutlineGenerateResult(asyncClient, workspaceId, prompt);//判断是否成功失败if (result.latestResponse == null || result.latestResponse.getHeader().getErrorCode() != null || result.latestResponse.getHeader().getErrorMessage() != null) {log.error("runStepByStepWriting|runOutlineGenerateResult error:{}", JSONObject.toJSONString(result.latestResponse));return;}log.info("latestResponse:{}", JSONObject.toJSONString(result.latestResponse));log.info("searchQuery:{}", result.searchQuery);log.info("articles:{}", result.articles != null ? result.articles.stream().map(x -> {return String.format("%s:%s", x.getTitle(), x.getUrl());}).collect(Collectors.joining(",")) : null);log.info("miniDoc:{}", JSONObject.toJSONString(result.miniDoc));log.info("outlines:{}", JSONObject.toJSONString(result.outlines));List<String> miniDoc = result.miniDoc;List<String> outlines = result.outlines;//生成摘编SummarizationResult summarizationResult = runSummarizationGenerate(outlines, asyncClient, workspaceId, miniDoc, prompt);//判断是否成功失败if (summarizationResult.latestResponse == null || summarizationResult.latestResponse.getHeader().getErrorCode() != null || summarizationResult.latestResponse.getHeader().getErrorMessage() != null) {log.error("runStepByStepWriting|runSummarizationGenerate|error:{}", JSONObject.toJSONString(summarizationResult.latestResponse));return;}List<RunStepByStepWritingRequest.Outlines> outlineList = outlines.stream().map(x -> {return RunStepByStepWritingRequest.Outlines.builder().outline(x).build();}).collect(Collectors.toList());//生成文章RunWritingResult runWritingResult = runWriting(asyncClient, workspaceId, prompt, miniDoc, outlineList, summarizationResult.cachedSummarization);//判断是否成功失败if (runWritingResult.latestResponse == null || runWritingResult.latestResponse.getHeader().getErrorCode() != null || runWritingResult.latestResponse.getHeader().getErrorMessage() != null) {log.error("runStepByStepWriting|runSummarizationGenerate|error:{}", JSONObject.toJSONString(runWritingResult.latestResponse));return;}RunStepByStepWritingResponseBody.Output output = runWritingResult.latestResponse.getPayload().getOutput();//最终输出的正文String text = output.getText();log.info("最终输出的正文:{}", text);}public static class RunWritingResult {public final RunStepByStepWritingResponseBody latestResponse;public RunWritingResult(RunStepByStepWritingResponseBody latestResponse) {this.latestResponse = latestResponse;}}private static RunWritingResult runWriting(AsyncClient asyncClient, String workspaceId, String prompt, List<String> miniDoc, List<RunStepByStepWritingRequest.Outlines> outlineList, List<String> cachedSummarization) {ResponseIterable<RunStepByStepWritingResponseBody> iterable = asyncClient.runStepByStepWritingWithResponseIterable(RunStepByStepWritingRequest.builder().workspaceId(workspaceId).prompt(prompt).referenceData(RunStepByStepWritingRequest.ReferenceData.builder().miniDoc(miniDoc).outlines(outlineList).summarization(cachedSummarization).build()).writingConfig(RunStepByStepWritingRequest.WritingConfig.builder().step("Writing").build()).build());RunStepByStepWritingResponseBody latestResponse = null;//写作输出for (RunStepByStepWritingResponseBody item : iterable) {log.info("item:{}", JSONObject.toJSONString(item));latestResponse = item;}return new RunWritingResult(latestResponse);}public static class SummarizationResult {public final List<String> cachedSummarization;public final RunStepByStepWritingResponseBody latestResponse;public SummarizationResult(List<String> cachedSummarization, RunStepByStepWritingResponseBody latestResponse) {this.cachedSummarization = cachedSummarization;this.latestResponse = latestResponse;}}private static SummarizationResult runSummarizationGenerate(List<String> outlines,AsyncClient asyncClient,String workspaceId,List<String> miniDoc,String prompt) {List<RunStepByStepWritingRequest.Outlines> outlineList = outlines.stream().map(x -> {return RunStepByStepWritingRequest.Outlines.builder().outline(x).build();}).collect(Collectors.toList());ResponseIterable<RunStepByStepWritingResponseBody> iterable = asyncClient.runStepByStepWritingWithResponseIterable(RunStepByStepWritingRequest.builder().workspaceId(workspaceId).prompt(prompt).referenceData(RunStepByStepWritingRequest.ReferenceData.builder().miniDoc(miniDoc).outlines(outlineList).build()).writingConfig(RunStepByStepWritingRequest.WritingConfig.builder().step("MiniDocSummary").build()).build());List<String> cachedSummarization = null;RunStepByStepWritingResponseBody latestResponse = null;for (RunStepByStepWritingResponseBody responseBody : iterable) {latestResponse = responseBody;RunStepByStepWritingResponseBody.Output output = responseBody.getPayload().getOutput();if (output != null && output.getExtraOutput() != null && output.getExtraOutput().getSummarization() != null) {cachedSummarization = output.getExtraOutput().getSummarization();}}return new SummarizationResult(cachedSummarization, latestResponse);}private static OutlineGenerateResult runOutlineGenerateResult(AsyncClient asyncClient, String workspaceId, String prompt) {//生成大纲ResponseIterable<RunStepByStepWritingResponseBody> iterable = asyncClient.runStepByStepWritingWithResponseIterable(RunStepByStepWritingRequest.builder().workspaceId(workspaceId).prompt(prompt).writingConfig(RunStepByStepWritingRequest.WritingConfig.builder().step("OutlineGenerate").build()).build());//检索的QueryString searchQuery = null;//检索的文章List<RunStepByStepWritingResponseBody.Articles> articles = null;//排序好的文章切片List<String> miniDoc = null;//生成的大纲List<String> outlines = null;RunStepByStepWritingResponseBody latestResponse = null;for (RunStepByStepWritingResponseBody response : iterable) {latestResponse = response;if (articles == null) {articles = response.getPayload().getOutput().getArticles();}if (miniDoc == null) {miniDoc = response.getPayload().getOutput().getMiniDoc();}//检索后的queryif (searchQuery == null) {searchQuery = response.getPayload().getOutput().getSearchQuery();}//大纲生成结束if ("task-outline-end".equals(response.getHeader().getEvent())) {outlines = Arrays.asList(response.getPayload().getOutput().getText().split("\n"));}}return new OutlineGenerateResult(searchQuery, articles, miniDoc, outlines, latestResponse);}private static class OutlineGenerateResult {public final String searchQuery;public final List<RunStepByStepWritingResponseBody.Articles> articles;public final List<String> miniDoc;public final List<String> outlines;public final RunStepByStepWritingResponseBody latestResponse;public OutlineGenerateResult(String searchQuery, List<RunStepByStepWritingResponseBody.Articles> articles, List<String> miniDoc, List<String> outlines, RunStepByStepWritingResponseBody latestResponse) {this.searchQuery = searchQuery;this.articles = articles;this.miniDoc = miniDoc;this.outlines = outlines;this.latestResponse = latestResponse;}}
}

3、AI工具箱

AI工具箱包括内容续写、摘要生成、标题生成、内容缩写、内容扩写、关键词抽取等功能,最新实时能力可参考妙笔写作页面的AI工具箱。本节通过实现摘要生成场景来帮助您熟悉API的使用。

生成调用demo如下:

package com.aliyun.sdk.service.aimiaobi20230801;import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.gateway.pop.Configuration;
import com.aliyun.sdk.gateway.pop.auth.SignatureVersion;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunSummaryGenerateRequest;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunSummaryGenerateResponseBody;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunWritingRequest;
import com.aliyun.sdk.service.aimiaobi20230801.models.RunWritingResponseBody;
import com.google.gson.Gson;
import darabonba.core.ResponseIterable;
import darabonba.core.ResponseIterator;
import darabonba.core.client.ClientOverrideConfiguration;import java.util.ArrayList;
import java.util.List;/*** packageName com.dayouz.lightapp** @author dayouz* @version JDK 8* @className runStyleWriting* @date 2024/8/13* @description 摘要生成Demo*/
public class RunSummaryGenerateTest {public static void main(String[] args) {StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder().accessKeyId(Constant.accessKeyId).accessKeySecret(Constant.accessKeySecret).build());AsyncClient client = AsyncClient.builder().region("cn-beijing").credentialsProvider(provider).serviceConfiguration(Configuration.create().setSignatureVersion(SignatureVersion.V3)).overrideConfiguration(ClientOverrideConfiguration.create().setProtocol("HTTPS").setEndpointOverride("aimiaobi.cn-beijing.aliyuncs.com")).build();//写作时的文体、篇幅、输出语言等控制参数List<RunWritingRequest.Tags> tags = new ArrayList<>();//构建语言tags.add(RunWritingRequest.Tags.builder().tag("language").keyword("zh-CN").build());//构建文章篇幅tags.add(RunWritingRequest.Tags.builder().tag("gcNumberSizeTag").keyword("300字").build());//构建生成文章数量tags.add(RunWritingRequest.Tags.builder().tag("gcNumber").keyword("2").build());//构建写作文体tags.add(RunWritingRequest.Tags.builder().tag("writingStyle").keyword("新闻评论").build());RunSummaryGenerateRequest request = RunSummaryGenerateRequest.builder().workspaceId(Constant.workspaceId).prompt("请为上述内容生成一段摘要,字数在100~200字以内。").content("云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。").build();ResponseIterable<RunSummaryGenerateResponseBody> x = client.runSummaryGenerateWithResponseIterable(request);ResponseIterator<RunSummaryGenerateResponseBody> iterator = x.iterator();while (iterator.hasNext()) {System.out.println("----event----");RunSummaryGenerateResponseBody event = iterator.next();System.out.println(new Gson().toJson(event));}System.out.println("ALL***********************");System.out.println("请求成功的请求头值:");System.out.println(x.getStatusCode());System.out.println(x.getHeaders());}
}

相关文章:

【人工智能深度学习应用】妙笔API最佳实践

AI妙笔是一款以文本创作为主、多模态为辅的生成式创作大模型产品&#xff0c;专门为传媒、政务等特定的行业和组织提供行业化的内容创作辅助。它具备深度的行业知识&#xff0c;能够生成高质量的专业内容&#xff0c;能覆盖各行业常见的文体类型&#xff0c;写作文体丰富多样&a…...

SOMEIP_ETS_150: SD_Send_triggerEventUINT8Multicast_Eventgroup_6

测试目的&#xff1a; 验证DUT在Tester订阅事件组后&#xff0c;能够响应Tester触发的triggerEventUINT8Multicast方法&#xff0c;并将TestEventUINT8Multicast事件发送到订阅请求中端点选项指定的IP地址和端口。 描述 本测试用例旨在确保DUT能够正确处理事件组的订阅请求&…...

【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和常规型数字格式的区别

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和…...

Vxe UI vue vxe-table vxe-text-ellipsis 如何实现单元格多行文本超出、多行文本溢出省略

Vxe UI vue vxe-table 如何实现单元格多行文本超出、多行文本溢出省略 代码 配合 vxe-text-ellipsis 组件实现多行文本溢出省略 <template><div><vxe-grid v-bind"gridOptions"><template #defaultAddress"{ row }"><vxe-te…...

FFmpeg源码:avio_feof函数分析

AVIOContext结构体和其相关的函数分析&#xff1a; FFmpeg源码&#xff1a;avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析 FFmpeg源码&#xff1a;read_packet_wrapper、fill_buffer函数分析 FFmpeg源码&#xff1a;avio_read函数分析 FFmpeg源码&#xff…...

各省-城镇化率(2001-2022年)

数据收集各省-城镇化率&#xff08;2001-2022年&#xff09;.zip资源-CSDN文库https://download.csdn.net/download/2401_84585615/89465885 相关指标&#xff1a; 包括省份、年份、年末总人口数(万人)、年末城镇人口数(万人)、城镇化率等。 数据集构建&#xff1a; 数据集通…...

飞创龙门双驱XYZ直线模组高精度应用实例

飞创龙门双驱XYZ直线模组集超精密定位、高动态响应和灵活配置于一体&#xff0c;适用于电子制造行业&#xff08;点胶、组装、检测&#xff09;、半导体圆晶加工、芯片封装、激光切割、激光焊接、数控机床、精密检测及科研实验等&#xff0c;满足高精度、高动态的三维定位需求&…...

Prompt 初级版:构建高效对话的基础指南

Prompt 初级版&#xff1a;构建高效对话的基础指南 文章目录 Prompt 初级版&#xff1a;构建高效对话的基础指南一 “标准”提示二 角色提示三 多范例提示四 组合提示五 规范化提示 本文介绍了提示词的基础概念与不同类型&#xff0c;帮助用户更好地理解如何在对话中构建有效的…...

餐饮重点企业在AI领域的布局,看方大的AI实践

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 AI已经被应用在餐饮餐厨行业的哪些方面&am…...

Axure PR 9 开关切换 设计交互

大家好&#xff0c;我是大明同学。 这期内容&#xff0c;我们来探讨Axure开关按钮设计与交互技巧​。 创建切换开关所需的元件 1.打开一个新的 RP 文件并在画布上打开 Page 1。 2.将“圆形”元件拖到画布上&#xff0c;在样式窗格中将高度和宽度设置为35&#xff0c;线段宽度…...

ruoyi-python 若依python版本部署及新增模块

ruoyi spring版本支持一键导出前后端代码&#xff0c;且b站上有很多教程&#xff0c;但是发现python版本的教程并不多&#xff0c;于是自己尝试创建一个简易的CRUD模块 1.各版本bug 主要尝试了1.1.2版本和vue2的版本&#xff0c;链接如下&#xff1a; v1.1.2 vue2 两个版本…...

【理论】负载均衡

目录 1. 定义2. 主要作用3. 实现方法4. 实现原理 1. 定义 负载均衡&#xff08;Load Balancing&#xff09;将网络流量、请求等输入分发到后端服务器&#xff0c;为后端服务器提供负载均衡&#xff0c;实现高可用和容错。 2. 主要作用 1. 高并发 通过将请求均匀分配到多个服务…...

流行前端框架Vue.js详细学习要点

Vue.js是一款流行的JavaScript前端框架&#xff0c;用于构建用户界面&#xff0c;特别是在构建交互式Web应用程序时表现出色。以下是Vue.js详细学习的一些要点&#xff1a; 1. Vue.js基础 定义与特点&#xff1a;Vue.js是一款渐进式JavaScript框架&#xff0c;提供响应式数据…...

Java.数据结构.TreeMap

一、什么是TreeMap TreeMap是Java集合框架中的一部分&#xff0c;并且基于红黑树数据结构。这说明TreeMap能够高效地执行键值对的存储、检索、排序等操作。 二、TreeMap的特点 有序性&#xff1a;TreeMap会根据键的自然顺序进行排序&#xff0c;当然&#xff0c;你也可以通过…...

什么是托管安全信息和事件管理 SIEM?

什么是 SIEM&#xff1f; 安全信息和事件管理 ( SIEM ) 解决方案最初是一种集中式日志聚合解决方案。SIEM 解决方案会从整个组织网络中的系统收集日志数据&#xff0c;使组织能够从单一集中位置监控其网络。 随着时间的推移&#xff0c;SIEM解决方案已发展成为一个完整的威胁…...

vscode安装及c++配置编译

1、VScode下载 VS Code官网下载地址&#xff1a;Visual Studio Code - Code Editing. Redefined。 2、安装中文插件 搜索chinese&#xff0c;点击install下载安装中文插件。 3、VS Code配置C/C开发环境 3.1、MinGW-w64下载 VS Code是一个高级的编辑器&#xff0c;只能用来写代…...

JavaScript使用渐变来美化对象!

我们的目标是渐变&#xff01;渐变&#xff01; 首先了解&#xff0c;渐变分为线性渐变和径向渐变&#xff0c;线性渐变可以是从左上角到右下角的渐变&#xff0c;径向渐变是从中心向外的渐变。 JavaScript中实现渐变可以使用addColorStop的方法&#xff0c;例如创建一个线性渐…...

Linux之实战命令24:od应用实例(五十八)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…...

【CKA】一、基于角色的访问控制-RBAC

1、基于角色的访问控制-RBAC 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 这道题就三条命令&#xff0c;建议直接背熟就行。 也可以查看帮助 kubectl create clusterrole -h kubectl create serviceaccount -h kubectl create rolebinding -h 注意&#xff1a; 1、资…...

【华为HCIP实战课程三】动态路由OSPF的NBMA环境建立邻居及排错,网络工程师

一、NBMA环境下的OSPF邻居建立问题 上节我们介绍了NBMA环境下OSPF邻居建立需要手动指定邻居,因为NBMA环境是不支持广播/组播的 上一节AR1的配置: ospf 1 peer 10.1.1.4 //手动指定邻居的接口地址,而不是RID peer 10.1.1.5 area 0.0.0.0 手动指定OSPF邻居后抓包查看OSP…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...