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

AIGC:阿里开源大模型通义千问部署与实战

1 引言

通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。同时,在Qwen-7B的基础上,我们使用对齐机制打造了基于大语言模型的AI助手Qwen-7B-Chat。相较于最初开源的Qwen-7B模型,我们现已将预训练模型和Chat模型更新到效果更优的版本。本仓库为Qwen-7B预训练模型的仓库。

体验地址:https://modelscope.cn/studios/qwen/Qwen-7B-Chat-Demo/summary

代码地址:https://github.com/QwenLM/Qwen

通义千问-7B(Qwen-7B)主要有以下特点:

  •  大规模高质量训练语料:使用超过2.4万亿tokens的数据进行预训练,包含高质量中、英、多语言、代码、数学等数据,涵盖通用及专业领域的训练语料。通过大量对比实验对预训练语料分布进行了优化。
  • 强大的性能:Qwen-7B在多个中英文下游评测任务上(涵盖常识推理、代码、数学、翻译等),效果显著超越现有的相近规模开源模型,甚至在部分指标上相比更大尺寸模型也有较强竞争力。具体评测结果请详见下文。
  • 覆盖更全面的词表:相比目前以中英词表为主的开源模型,Qwen-7B使用了约15万大小的词表。该词表对多语言更加友好,方便用户在不扩展词表的情况下对部分语种进行能力增强和扩展。

2 通义千问介绍

2.1 介绍

我们开源了Qwen(通义千问)系列工作,当前开源模型的参数规模为18亿(1.8B)、70亿(7B)、140亿(14B)和720亿(72B)。本次开源包括基础模型Qwen,即Qwen-1.8B、Qwen-7B、Qwen-14B、Qwen-72B,以及对话模型Qwen-Chat,即Qwen-1.8B-Chat、Qwen-7B-Chat、Qwen-14B-Chat和Qwen-72B-Chat。模型链接在表格中,请点击了解详情。同时,我们公开了我们的技术报告,请点击上方论文链接查看。

当前基础模型已经稳定训练了大规模高质量且多样化的数据,覆盖多语言(当前以中文和英文为主),总量高达3万亿token。在相关基准评测中,Qwen系列模型拿出非常有竞争力的表现,显著超出同规模模型并紧追一系列最强的闭源模型。此外,我们利用SFT和RLHF技术实现对齐,从基座模型训练得到对话模型。Qwen-Chat具备聊天、文字创作、摘要、信息抽取、翻译等能力,同时还具备一定的代码生成和简单数学推理的能力。在此基础上,我们针对LLM对接外部系统等方面针对性地做了优化,当前具备较强的工具调用能力,以及最近备受关注的Code Interpreter的能力和扮演Agent的能力。我们将各个大小模型的特点列到了下表。

在这个项目中,你可以了解到以下内容

  • 快速上手Qwen-Chat教程,玩转大模型推理
  • 量化模型相关细节,包括GPTQ和KV cache量化
  • 推理性能数据,包括推理速度和显存占用
  • 微调的教程,帮你实现全参数微调、LoRA以及Q-LoRA
  • 部署教程,以vLLM和FastChat为例
  • 搭建Demo的方法,包括WebUI和CLI Demo
  • 搭建API的方法,我们提供的示例为OpenAI风格的API
  • 更多关于Qwen在工具调用、Code Interpreter、Agent方面的内容
  • 长序列理解能力及评测
  • 使用协议

2.2 新闻

  • 2023.11.30 🔥 我们推出 Qwen-72B 和 Qwen-72B-Chat,它们在 3T tokens上进行训练,并支持 32k 上下文。同时也发布了 Qwen-1.8B 和 Qwen-1.8B-Chat。我们还增强了 Qwen-72B-Chat 和 Qwen-1.8B-Chat 的系统指令(System Prompt)功能,请参阅示例文档。此外,我们还对昇腾910以及海光DCU实现了推理的支持,详情请查看ascend-supportdcu-support文件夹。
  • 2023年10月17日 我们推出了Int8量化模型Qwen-7B-Chat-Int8和Qwen-14B-Chat-Int8。
  • 2023年9月25日 在魔搭社区(ModelScope)和Hugging Face推出Qwen-14B和Qwen-14B-Chat模型,并开源 qwen.cpp 和 Qwen-Agent。Qwen-7B和Qwen-7B-Chat的代码和模型也同步得到更新。请使用最新的代码和模型!
    • 相比原版Qwen-7B,新版用了更多训练数据(从2.2T增加到2.4T tokens),序列长度从2048扩展至8192。整体中文能力以及代码能力均有所提升。
  • 2023年9月12日 支持Qwen-7B和Qwen-7B-Chat的微调,其中包括全参数微调、LoRA以及Q-LoRA。
  • 2023年8月21日 发布Qwen-7B-Chat的Int4量化模型,Qwen-7B-Chat-Int4。该模型显存占用低,推理速度相比半精度模型显著提升,在基准评测上效果损失较小。
  • 2023年8月3日 在魔搭社区(ModelScope)和Hugging Face同步推出Qwen-7B和Qwen-7B-Chat模型。同时,我们发布了技术备忘录,介绍了相关的训练细节和模型表现。

2.3 评测表现

Qwen系列模型相比同规模模型均实现了效果的显著提升。我们评测的数据集包括MMLU、C-Eval、 GSM8K、 MATH、HumanEval、MBPP、BBH等数据集,考察的能力包括自然语言理解、知识、数学计算和推理、代码生成、逻辑推理等。Qwen-72B在所有任务上均超越了LLaMA2-70B的性能,同时在10项任务中的7项任务中超越GPT-3.5.

ModelMMLUC-EvalGSM8KMATHHumanEvalMBPPBBHCMMLU
5-shot5-shot8-shot4-shot0-shot3-shot3-shot5-shot
LLaMA2-7B46.832.516.73.312.820.838.231.8
LLaMA2-13B55.041.429.65.018.930.345.638.4
LLaMA2-34B62.6-42.26.222.633.044.1-
ChatGLM2-6B47.951.732.46.5--33.7-
InternLM-7B51.053.431.26.310.414.037.051.8
InternLM-20B62.158.852.67.925.635.652.559.0
Baichuan2-7B54.756.324.65.618.324.241.657.1
Baichuan2-13B59.559.052.810.117.130.249.062.0
Yi-34B76.381.867.915.926.238.266.482.6
XVERSE-65B70.868.660.3-26.3---
Qwen-1.8B45.356.132.32.315.214.222.352.1
Qwen-7B58.263.551.711.629.931.645.062.2
Qwen-14B66.372.161.324.832.340.853.471.0
Qwen-72B77.483.378.935.235.452.267.783.6

对于以上所有对比模型,我们列出了其官方汇报结果与OpenCompass结果之间的最佳分数。

更多的实验结果和细节请查看我们的技术备忘录。点击这里。

2.4 推理性能

这一部分将介绍模型推理的速度和显存占用的相关数据。下文的性能测算使用 此脚本 完成。

我们测算了BF16、Int8和Int4模型在生成2048个token时的平均推理速度(tokens/s)和显存使用。结果如下所示:

Model SizeQuantizationSpeed (Tokens/s)GPU Memory Usage
1.8BBF1654.094.23GB
Int855.563.48GB
Int471.072.91GB
7BBF1640.9316.99GB
Int837.4711.20GB
Int450.098.21GB
14BBF1632.2230.15GB
Int829.2818.81GB
Int438.7213.01GB
72BBF168.48144.69GB (2xA100)
Int89.0581.27GB (2xA100)
Int411.3248.86GB
72B + vLLMBF1617.602xA100

评测运行于单张A100-SXM4-80G GPU(除非提到使用2xA100),使用PyTorch 2.0.1、CUDA 11.8和Flash-Attention2。(72B + vLLM 使用 PyTorch 2.1.0和Cuda 11.8.)推理速度是生成2048个token的速度均值。

注意:以上Int4/Int8模型生成速度使用autogptq库给出,当前AutoModelForCausalLM.from_pretrained载入的模型生成速度会慢大约20%。我们已经将该问题汇报给HuggingFace团队,若有解决方案将即时更新。

我们还测量了不同上下文长度、生成长度、Flash-Attention版本的推理速度和 GPU 内存使用情况。可以在 Hugging Face 或 ModelScope 上的相应的模型介绍页面找到结果。

3 大模型部署与实战

3.1 conda环境准备

conda环境准备详见:annoconda

3.2 运行环境构建

git clone https://github.com/fishaudio/Bert-VITS2
cd Bert-VITS2conda create -n vits2 python=3.9
conda activate vits2pip install -r requirements.txt
pip install gradio
pip install mdtex2html

3.3 预训练模型下载

Qwen-7B模型:https://huggingface.co/Qwen/Qwen-7B/tree/main

也可以使用git下载,下载文成后,存储到根目录的Qwen文件夹下,如下所示:

(qwen) [root@localhost Qwen]# ll Qwen/Qwen-7B-Chat/
总用量 15083460
-rw-r--r-- 1 root root       8404 12月 20 10:51 cache_autogptq_cuda_256.cpp
-rw-r--r-- 1 root root      51991 12月 20 10:51 cache_autogptq_cuda_kernel_256.cu
-rw-r--r-- 1 root root        911 12月 20 10:51 config.json
-rw-r--r-- 1 root root       2345 12月 20 10:51 configuration_qwen.py
-rw-r--r-- 1 root root       1924 12月 20 10:51 cpp_kernels.py
-rw-r--r-- 1 root root        273 12月 20 10:51 generation_config.json
-rw-r--r-- 1 root root 1964066488 12月 20 10:52 model-00001-of-00008.safetensors
-rw-r--r-- 1 root root 2023960808 12月 20 10:53 model-00002-of-00008.safetensors
-rw-r--r-- 1 root root 2023960816 12月 20 10:54 model-00003-of-00008.safetensors
-rw-r--r-- 1 root root 2023960848 12月 20 10:55 model-00004-of-00008.safetensors
-rw-r--r-- 1 root root 2023960848 12月 20 10:57 model-00005-of-00008.safetensors
-rw-r--r-- 1 root root 2023960848 12月 20 10:58 model-00006-of-00008.safetensors
-rw-r--r-- 1 root root 2023960848 12月 20 10:59 model-00007-of-00008.safetensors
-rw-r--r-- 1 root root 1334845784 12月 20 10:59 model-00008-of-00008.safetensors
-rw-r--r-- 1 root root      55563 12月 20 10:59 modeling_qwen.py
-rw-r--r-- 1 root root      19547 12月 20 10:59 model.safetensors.index.json
-rw-r--r-- 1 root root      14604 12月 20 10:59 qwen_generation_utils.py
-rw-r--r-- 1 root root    2561218 12月 20 10:59 qwen.tiktoken
-rw-r--r-- 1 root root       9618 12月 20 10:59 tokenization_qwen.py
-rw-r--r-- 1 root root        174 12月 20 10:59 tokenizer_config.json

3.4 运行模型

修改web_demo.py中的代码

    parser.add_argument("--server-name", type=str, default="127.0.0.1",help="Demo server name.")修改为:(改为本地局域网地址)parser.add_argument("--server-name", type=str, default="192.168.1.150",help="Demo server name.")

运行web

python web_demo.py

启动界面如下:

4 Qwen能力测试

4.1 知识问答

问题:按照你认为的顺序列出中国古代最著名的都城,不超过10个

Qwen-Chat: 中国古代最著名的都城有:长安(西安)、洛阳、南京、开封、杭州、北京、成都、南京、上海。

问题:冬是24节气中的哪个节气

Qwen-Chat: 立冬是农历二十四节气之一,斗柄指向西北,太阳黄经达225°,于每年公历11月7-8日之间交节。此时,北斗七星已由夏季星空移到冬季星空。由于太阳直射南半球,北半球昼短夜长,天气也逐渐转冷,开始进入冬季。农业生产上,需要做好农作物的越冬防冻工作;同时人们也开始着手准备冬季的取暖设备,并储备足够的过冬食物。

问题:背诵24节气,并支出立夏是哪个节气

24节气是中国古代劳动人民根据太阳在黄道上的位置,把一年划分为24等份,每份为一个节气,始于立春,终于大寒,每个节气分别有3天(干支计法)或4天(太阳记时法)。以下是24节气名称及其对应日期:<br>1. 立春:每年公历2月3-5日<br>2. 雨水:每年公历2月18-20日<br>3. 惊蛰:每年公历3月5-7日<br>4. 春分:每年公历3月20-22日<br>5. 清明:每年公历4月4-6日<br>6. 谷雨:每年公历4月19-21日<br>7. 立夏:每年公历5月5-7日<br>8. 小满:每年公历5月20-22日<br>9. 芒种:每年公历6月5-7日<br>10. 夏至:每年公历6月21-22日<br>11. 小暑:每年公历7月6-8日<br>12. 大暑:每年公历7月22-24日<br>13. 立秋:每年公历8月7-9日<br>14. 处暑:每年公历8月22-24日<br>15. 白露:每年公历9月7-9日<br>16. 秋分:每年公历9月22-24日<br>17. 寒露:每年公历10月8-9日<br>18. 霜降:每年公历10月23-24日<br>19. 立冬:每年公历11月7-8日<br>20. 小雪:每年公历11月22-23日<br>21. 大雪:每年公历12月7-8日<br>22. 冬至:每年公历12月21-23日<br>23. 小寒:每年公历1月5-7日<br>24. 大寒:每年公历1月20-22日

4.2 文本生成

问题:写一遍200字的描述月亮的散文

Qwen-Chat: 月亮,那宁静而神秘的自然现象,它不仅是夜晚最明亮的星体,也是人类内心深处的象征。月亮以其独特的光芒照亮了黑夜,让世界变得温柔而浪漫。它不仅带给我们光明,还给了我们许多故事和传说,让我们对宇宙充满了好奇与敬畏之心。无论是在东方还是西方,月亮都是文化中不可或缺的一部分,它给我们的生活带来了无尽的乐趣和启示。月亮的存在使我们感到温暖和安慰,让我们在黑暗中找到了希望和力量。月亮,你是那么的美丽,那么的神秘,你让人们在你的光辉下感到无比幸福和安宁。

4.3 数理逻辑

问题:一堆土豆,原来每次运9吨,12次才能运完,现在每次运11吨,多少次可以运完

Qwen-Chat: 设原来堆土豆的重量为x吨,则每次运输9吨,需要12次才能运输完毕。可得:x = 9 * 12<br>而现在每次运输11吨,所以需要运输的次数为:x / 11 = 12次<br>因此,现在需要12次就可以将全部土豆运完。

4.4 语言理解

问题:请总结塞万提斯的作品--《唐吉坷德》的主要内容和中心思想

Qwen-Chat: 《唐吉诃德》是西班牙作家塞万提斯的一部经典小说,它的主要情节是关于一个名叫唐吉诃德的乡村骑士,他误以为自己是一名英勇的骑士,开始了一系列荒谬而又滑稽的行为。在这个过程中,他遇到了各种各样的人物,包括他的朋友桑丘、一位富商和他的家臣,以及各种骗子和恶棍。<br>这部小说的核心思想是对现实主义文学的一种挑战,同时也反映了当时社会的一些问题,如愚昧无知、贪欲横行和道德败坏。唐吉诃德的行为虽然荒诞,但却是对社会现状的一种讽刺和批评。此外,小说还探讨了一些深刻的主题,如爱情、友情、家庭、权力和正义等。<br>总的来说,《唐吉诃德》是一部充满幽默和智慧的作品,通过主角唐吉诃德的经历,作者向读者传达了一个重要的信息:人类不应该被虚幻的理想所迷惑,而是应该勇敢面对现实,追求真理和正义。

4.5 常识问题

问题:树上有9只鸟,猎人开一枪打死了一只,树上还剩几只鸟

Qwen-Chat: 如果树上原来有9只鸟,猎人开一枪打死了一只,那么树上剩下的鸟应该是8只。因为当一只鸟被打死后,其他鸟会受到影响,可能会受到惊吓或者逃跑,导致剩下的鸟的数量减少。但是,在这个问题中,由于没有提供更多信息,所以无法确定最后剩下的鸟的数量是否会少于8只。

4.6 代码生成

问题:请用python编写一个冒泡排序算法,带测试例子

Qwen-Chat: 
```python
def bubble_sort(arr):n = len(arr)# 遍历所有数组元素for i in range(n):# Last i elements are already in placefor j in range(0, n-i-1):# traverse the array from 0 to n-i-1# Swap if the element found is greater than the next elementif arr[j] > arr[j+1] :arr[j], arr[j+1] = arr[j+1], arr[j]return arr
```以下是使用这个函数进行测试的例子:```python
arr = [64, 34, 25, 12, 22, 11, 90]
print("Given array is")
print(arr)sorted_arr = bubble_sort(arr)print("\nSorted array is")
print(sorted_arr)
```输出将是:```
Given array is
[64, 34, 25, 12, 22, 11, 90]Sorted array is
[11, 12, 22, 25, 34, 64, 90]
``` 在这个例子中,我们首先定义了一个未排序的数组。然后,我们调用了bubble_sort函数来对数组进行排序,并将结果存储在sorted_arr变量中。最后,我们打印出原始数组和排序后的数组。

4.7 医疗问题

问题:乳腺癌发病的原因是什么

Qwen-Chat: 乳腺癌是一种恶性肿瘤,其发病原因可能是多种因素共同作用的结果,包括遗传因素、环境因素和生活方式因素等。<br>1. 遗传因素:家族中有乳腺癌病史的人,患乳腺癌的风险比其他人高。研究发现,大约20%的乳腺癌病例是由遗传因素引起的。<br>2. 环境因素:环境污染、辐射暴露、内分泌失调等因素都可能导致乳腺癌的发生。例如,长期接触有害化学物质,如石棉、苯等,或暴露于放射线中,都可能增加患乳腺癌的风险。<br>3. 生活方式因素:不健康的生活方式也可能增加患乳腺癌的风险。例如,长期吸烟、饮酒、缺乏运动、饮食不均衡等都可能导致乳腺癌的发生。<br>4. 其他因素:包括年龄、性别、初潮年龄、绝经年龄、激素替代疗法等也可能影响乳腺癌的发生率。<br>需要注意的是,这些因素单独或组合起来并不能保证一定会发生乳腺癌,而且这些因素的影响程度也会因个体差异而有所不同。因此,预防乳腺癌的关键在于改变不良生活习惯,定期体检,并积极治疗早期疾病。

4.8 内容总结

问题:对以下内容做个总结:今天一放学,我和同学一起蹦蹦跳跳地回家。因为,今天是美好的圣诞节平安夜。一回家,爸爸就告诉我今天在国际大厦吃饭。我听了,高兴得一蹦三尺高。等妈妈一回家,我和爸爸就拉着妈妈出门去吃饭。一路上,我看到今晚行人的脸上都洋溢着笑脸,给人一种祥和,温馨的感觉。走到国际大厦的门口就感觉到一股暖流,玻璃门外寒风刺骨,推门进入温暖如春。大厦里的圣诞老人不停地向我们招手。圣诞树那翠绿的树枝上面挂满了千盏万盏五彩缤纷的彩灯。一闪一闪地眨着闪亮的眼睛。一进大厦,我就直奔2楼,西餐厅里回旋着一首圣诞歌,歌声悠扬,让心情舒畅。墙上挂着一张和蔼可亲的圣诞老人的照片。我和爸爸,妈妈还有叔叔阿姨坐在一张桌子上,大家好像一个大家庭。没过多长时间,那些美味可口的菜就来了。一见那香喷喷的鸭肉,我再也控制不住自己,狼吞虎咽地吃起来。等我吃完这些可口以后,贪玩的我和许多小朋友在国际大厦跑来跑去,跑上跑下,一会儿去看那和蔼可亲的圣诞老人,一会儿去看那些五彩缤纷光芒的圣诞树。圣诞节是一个收礼物的好节日。小时候的我总是梦想有一天圣诞老人能到我家,送我美好的圣诞礼物。长大了,我知道小时候那些礼物都是爸爸妈妈送的。今天的圣诞节,我缠着爸爸妈妈给我礼物。妈妈笑着告诉我。妈妈笑着告诉我:“明天早上你醒来,圣诞老人的了礼物就回送到。”虽然我知道礼物是爸爸妈妈送的,但是晚上,我仍然拿了一双袜子放在床头上。早上醒来,我发现袜子里塞着一张35元的书卡,我太高兴了,在床上跳着喊到:“圣诞老人万岁!”我拿着书卡去上学,去向同学们炫耀炫耀。

Qwen-Chat: 好的,您的概括是:<br>这篇文章描述了作者在圣诞节那天的经历。那天放学后,作者和同学一起回家,然后在家中得知晚上要去国际大厦吃饭,十分开心。他们在路上看到了人们的笑容,感到祥和温馨。走进国际大厦后,他们去了2楼的西餐厅吃饭,听到了优美的圣诞歌曲,看到了圣诞老人的照片。晚餐结束后,他们和许多人一起玩耍,看圣诞树,度过了一个快乐的圣诞节。

5 代码调用qwen

from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig# Model names: "Qwen/Qwen-7B-Chat", "Qwen/Qwen-14B-Chat"
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat",device_map="auto",trust_remote_code=True
).eval()# Specify hyperparameters for generation. But if you use transformers>=4.32.0, there is no need to do this.
# model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)# 1st dialogue turn
response, history = model.chat(tokenizer, "你好", history=None)
print(response)# 2nd dialogue turn
response, history = model.chat(tokenizer, "肿瘤居家营养应该注意什么?", history=history)
print(response)# 3rd dialogue turn
response, history = model.chat(tokenizer, "居家期间肌肉减少怎么办?", history=history)
print(response)

运行代码输出

你好!有什么我能帮助你的吗?
肿瘤患者在居家期间需要注意以下几点:1. 饮食均衡:饮食应多样化,保持均衡营养,多吃新鲜蔬菜和水果、高蛋白食物(如瘦肉、鱼虾等)。2. 注意营养补充:如有需要,可以考虑适当补充维生素、矿物质、膳食纤维等。3. 控制饮食热量:由于肿瘤治疗过程中可能需要进行化疗或放疗,因此应注意控制饮食热量,避免摄入过多的脂肪和糖分。4. 定时定量进餐:定时定量进餐有助于维持身体健康,并帮助更好地管理食欲。5. 增加水分摄入:癌症患者往往会出现恶心、呕吐等症状,因此需要增加水分摄入以维持身体水分平衡。在居家期间,由于长时间缺乏运动,很容易出现肌肉减少的问题。为了改善这种情况,你可以尝试以下几种方法:1. 定期运动:可以尝试做一些简单的家庭运动,例如散步、慢跑、瑜伽等,每天坚持锻炼一段时间。2. 合理膳食:注意补充蛋白质和维生素,可以多食用一些瘦肉、鱼虾、蛋类等高蛋白食物,以及绿叶蔬菜和水果等富含维生素的食物。3. 适当休息:合理安排休息时间,尽量避免熬夜,保证充足的睡眠。4. 调整心态:保持良好的心态,避免过度焦虑和紧张,这对缓解肌肉减少也有很大帮助。5. 寻求专业建议:如果你发现肌肉减少的情况严重,建议寻求专业的医疗建议,以便及时采取适当的治疗措施。

相关文章:

AIGC:阿里开源大模型通义千问部署与实战

1 引言 通义千问-7B&#xff08;Qwen-7B&#xff09;是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样&#xff0c;覆盖广泛&#xff0c;包括大量网络文本、专业书籍…...

Java小案例-Java实现人事管理系统

前言 《人事管理系统》该项目采用技术jsp、Struts2、Mybatis、dwr、tomcat服务器、mysql数据库 开发工具eclipse/idea。 【项目使用技术】 Struts2Mybatisdwrjqueryjscss等技术 前端使用技术&#xff1a;JSP, dwr、jquery、js、css等 后端使用技术&#xff1a;Struts2Myba…...

Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…...

如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用

Base 是 Coinbase 使用 OP Stack 开发的最新以太坊第 2 层&#xff08;L2&#xff09;网络&#xff0c;用于解决以太坊等主要区块链面临的可扩展性和成本挑战。Coinbase 将其描述为“安全、低成本、对开发人员友好的以太坊 L2&#xff0c;旨在将下一个 10 亿用户带入 Web3”。B…...

【Chrome】ERR_SSL_PROTOCOL_ERROR问题

文章目录 前言一、下载二、使用步骤总结 前言 Edge升级最新版后&#xff0c;有的https访问不了&#xff0c;报如下错误 发现新版Chrome以及Chromium内核访问nginx ssl时报错&#xff0c;顺着这个思路接着查看到大佬的结论&#xff1a;服务器nginx使用的openssl版本过低&#…...

Codeforces Round 916 (Div. 3)(E:贪心 F贪心dfs G tarjan+topsort +线段树优化建图)

A&#xff1a;直接暴力统计每个字符的次数是否达标即可 #include<bits/stdc.h> using namespace std; const int N 3e510,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; typedef unsigned long long ULL;const long l…...

eNSP错误40,原因三:windows10自带虚拟化软件Hyper-V

问题描述 Hyper-V软件与VirtualBox不兼容&#xff0c;一旦开启Hyper-V的话eNSP的路由器就会无法开启&#xff0c;显示ERROR 40 原理 大家注意看hypervisor的两种类型&#xff1a; 左边的是开启hypervisor的Type-1&#xff0c;hypervisor在启用的时候&#xff0c;宿主机也相…...

Maven将Jar包打入本地仓库

Maven将Jar包打入本地仓库 Maven将Jar包打入本地仓库嘚吧嘚下载Maven配置Maven新建MAVEN_HOME编辑Path验证Maven配置 Jar包打入Maven仓库 Maven将Jar包打入本地仓库 嘚吧嘚 最近项目用到一个Jar包&#xff0c;不能从远程仓库拉取&#xff0c;只有一个Jar包&#xff0c;所以需…...

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

本系列将分成三个部分&#xff0c;您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana&#xff0c;以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具&#x…...

Observability:捕获 Elastic Agent 和 Elasticsearch 之间的延迟

在现代 IT 基础设施的动态环境中&#xff0c;高效的数据收集和分析至关重要。 Elastic Agent 是 Elastic Stack 的关键组件&#xff0c;通过促进将数据无缝摄取到 Elasticsearch 中&#xff0c;在此过程中发挥着至关重要的作用。 然而&#xff0c;显着影响此过程整体有效性的关…...

Ubuntu 常用命令之 less 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 less命令是一个在Unix和Unix-like系统中用于查看文件内容的命令行工具。与more命令相比&#xff0c;less命令提供了更多的功能和灵活性&#xff0c;例如向前和向后滚动查看文件&#xff0c;搜索文本&#xff0c;查看长行等。 les…...

探索Node.js包管理器npm:介绍与使用指南

引言&#xff1a; 在现代软件开发中&#xff0c;包管理器已经成为了不可或缺的工具。它们简化了软件的安装、升级和管理过程&#xff0c;使得开发者能够更加高效地构建项目。而作为Node.js的官方包管理器&#xff0c;npm&#xff08;Node Package Manager&#xff09;无疑是最受…...

探讨APP自动化测试工具的重要性

随着移动应用市场的蓬勃发展&#xff0c;企业对于保证其移动应用质量和用户体验的需求日益迫切。在这一背景下&#xff0c;APP自动化测试工具正变得越来越重要&#xff0c;成为企业成功的关键组成部分。本文将探讨APP自动化测试工具对企业的重要性&#xff0c;并为您解析其在提…...

el-date-picker日期时间插件只允许选择年月日小时并做可选择范围限制(精确到小时的范围)

一、首先明确下这个需求 1、要求只能选择年月日时,不要分钟和秒 2、根据后台返回的开始时间和天数设置可选择的开始时间和结束时间范围(包含小时)比如后台返回的开始时间是2023-12-20 13:24:30,天数365天,那么我们需要限制当前可选日期为2023-12-20 14时(不能选小于13:2…...

在MongoDB中使用数组字段和子文档字段进行索引

本文主要介绍在MongoDB使用数组字段和子文档字段进行索引。 目录 MongoDB的高级索引一、索引数组字段二、索引子文档字段 MongoDB的高级索引 MongoDB是一个面向文档的NoSQL数据库&#xff0c;它提供了丰富的索引功能来加快查询性能。除了常规的单字段索引之外&#xff0c;Mong…...

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字

目录 一、网络编程的概念 1&#xff09;什么是网络编程&#xff1f; 2&#xff09;网络编程中的基本概念 1> 收发端 2> 请求和响应 3> 客户端和服务端 二、Socket套接字 1&#xff09;什么是“套接字”&#xff1f; 2&#xff09;Socket套接字的概念 3&…...

【计算机系统结构实验】实验2 流水线中的冲突实验

2.1 实验目的 加深对计算机流水线基本概念的理解&#xff1b; 理解MIPS结构如何用5段流水线来实现&#xff0c;理解各段的功能和基本操作&#xff1b; 加深对结构冲突/数据冲突/控制冲突的理解&#xff1b; 进一步理解解决数据冲突的方法&#xff0c;掌握如何应用定向技术来…...

conda环境下执行conda命令提示无法识别解决方案

1 问题描述 win10环境命令行执行conda命令&#xff0c;报命令无法识别&#xff0c;错误信息如下&#xff1a; PS D:\code\cv> conda activate pt conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&a…...

链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)

上篇文章简述讲解了链表的基本概念并且实现了无头单向不循环链表&#xff1a;链接未来&#xff1a;深入理解链表数据结构&#xff08;一.c语言实现无头单向非循环链表&#xff09;-CSDN博客 那今天接着给大家带来带头双向循环链表的实现&#xff1a; 文章目录 一.项目文件规划…...

论文笔记 | Nature 2023 FunSearch:利用大语言模型在数学科学领域探索新的发现

文章目录 一、前言二、主要内容三、总结🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 科学中有许多难以解决的问题,这些问题难以获得确切解答,但却相对容易进行验证。在数学和计算机科学领域,这类问题被称为 NP 完全优化问题(NP-complete optimization pr…...

JavaScript 对象和 JSON 字符串的区别

JavaScript 对象和 JSON 字符串是两种不同的数据表示形式&#xff0c;它们有以下区别&#xff1a; 语法格式&#xff1a;JavaScript 对象是 JavaScript 语言中的一种数据类型&#xff0c;使用花括号 {} 包裹&#xff0c;属性和值之间使用冒号 : 分隔&#xff0c;并且使用逗号 …...

基于 Flink SQL 和 Paimon 构建流式湖仓新方案

目录 1. 数据分析架构演进 2. Apache Paimon 3. Flink + Paimon 流式湖仓 Consumer 机制 Changelog 生成​编辑...

MFC静态链接+libtiff静态链接提示LNK2005和LNK4098

编译报错 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_infoAAEABV0Z) 已经在 libcmtd.lib(typinfo.obj) 中定义 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "pr…...

桶装水送水小程序:提升服务质量的利器

随着移动互联网的发展&#xff0c;越来越多的消费者通过手机在线购物和订购商品。如果你是一名桶装水供应商&#xff0c;想要拓展线上业务&#xff0c;那么开发一个桶装水微信小程序将是一个明智的选择。本文将指导你从零开始开发一个桶装水微信小程序&#xff0c;让你轻松完成…...

深度学习在训练什么,什么是模型

深度学习是机器学习的一个分支&#xff0c;它主要通过使用称为神经网络的复杂结构来学习数据的表征。在深度学习中&#xff0c;"训练"和"模型"是两个核心概念。 训练 在深度学习中&#xff0c;"训练"是指用数据来训练一个神经网络。这个过程涉…...

Andorid 使用bp或者mk编译C文件生成so

在Aosp源码里编译C文件生成so 使用mk编译 文件夹列表 CMkDemo/Android.mk CMkDemo/cpp/SerialPort.c CMkDemo/cpp/SerialPort.hAndroid.mk 内容如下 LOCAL_PATH: $(call my-dir) include $(CLEAR_VARS)LOCAL_MODULE_TAGS : optional# All of the source files that we will…...

只更新软件,座椅为何能获得加热功能?——一文读懂OTA

2020年&#xff0c;特斯拉发布过一次OTA更新&#xff0c;车主可以通过这次系统更新获得座椅加热功能。当时&#xff0c;这则新闻震惊了车圈和所有车主&#xff0c;彼时的大家还没有把汽车当作可以“升级”的智能设备。 如今3年过去了&#xff0c;车主对各家车企的OTA升级早已见…...

EfficientDet:Scalable and Efficient Object Detection中文版 (BiFPN)

EfficientDet: Scalable and Efficient Object Detection EfficientDet&#xff1a;可扩展和高效的目标检测 摘要 模型效率在计算机视觉中变得越来越重要。本文系统地研究了用于目标检测的神经网络架构设计选择&#xff0c;并提出了几个关键的优化方法来提高效率。首先&…...

视频监控技术经历了哪些发展阶段?视频监控技术未来趋势展望

随着城市经济的发展和进步&#xff0c;视频监控也已经应用在人们衣食住行的方方面面&#xff0c;成为社会主体的一个重要组成部分。随着视频监控的重要性越来越凸显&#xff0c;大家对视频监控技术的发展也非常关注。今天我们来简单阐述一下&#xff0c;视频监控技术经历的几个…...

德人合科技 | 设计公司文件加密系统——天锐绿盾自动智能透明加密防泄密系统

设计公司文件加密系统——天锐绿盾自动智能透明加密防泄密系统 PC端访问地址&#xff1a; www.drhchina.com 一、背景介绍 设计公司通常涉及到大量的创意作品、设计方案、客户资料等重要文件&#xff0c;这些文件往往包含公司的核心价值和商业机密。因此&#xff0c;如何确保…...

盐城企业做网站/张雪峰谈广告学专业

首页 > 编程技术 > 网络编程 > 正文Linux Serial Programming HOWTO - 串口通讯编程http://www.fanqiang.com (2001-05-02 11:07:12) by Peter H. Baumann, Peter.Baumanndlr.de 译者: 曾元佑 yytsengms16.hinet.net v1.0, 22 一月 1998 ---------------------------…...

asp伪静态网站如何做筛选/网站标题seo外包优化

承接上文&#xff1a; Docker进阶篇教程&#xff0c;docker-compose, docker swarm, 弹性、扩缩容 Docker进阶篇教程9. 体会swarm弹性、扩缩容9.1 理解扩缩容9.2 docker service命令9.3 理解灰度发布9.4 replicas 3个副本测试9.5 replicas 10个副本测试9.6 scale命令扩缩容1…...

网站开发设计工具/网站关键词排名分析

对于该教程而言&#xff0c;缺少了删除已存在的电影记录的功能。因此&#xff0c;我在这里给出删除功能的代码供大家参考学习。 另外&#xff0c;需要注意的是要为VS2008打上SP1服务包&#xff0c;不然就不能使用ADO.NET Entity Data Model功能了。附按本教程制作的MovieDataba…...

前端开发中英文网站怎么做/官方百度app下载安装

#Android应用界面开发 第三章学习 第三部分 异步处理中使用AsyncTask踩过的坑 AsyncTask是Android提供的工具之一&#xff0c;可以简单方便地用于子线程更新UI&#xff0c;他也是个抽象类&#xff0c;使用时需要重写其方法&#xff0c;根据定义时传入的3个参数类型来判断重写哪…...

明年做哪个网站致富/网站建设合同模板

JPA系列&#xff08;一&#xff09;&#xff1a;Spring Jpa Specification 使用示例 JPA系列&#xff08;二&#xff09;&#xff1a;jpa的查询方法 Jpa系列&#xff08;三&#xff09;&#xff1a;SpringBoot Jpa 的表关系维护 JPA系列&#xff08;四&#xff09;&#xff…...

河口企业网站开发公司/百度网盘官方下载

python怎么打开文件模式python的open打开的是哪里的文件啊python 读取文件&#xff0c;怎么打开&#xff1f;.py文件无法用python打开我系统里装有python 2.7,在双击.py文件时为什么弹应该是没有设置环境变量的缘故&#xff1a; 右击【我的电脑】【属性】-【高级】-【环境变量】…...