TeleAI发布TeleChat2.5及T1正式版,双双开源上线魔乐社区!

5月12日,中国电信开源TeleChat系列四个模型,涵盖复杂推理和通用问答的多个尺寸模型,包括TeleChat-T1-35B、TeleChat-T1-115B、TeleChat2.5-35B和TeleChat2.5-115B,实测模型性能均有显著的性能效果。TeleChat系列模型基于昇思MindSpore+vLLM打造,现已上线魔乐社区,欢迎广大开发者下载体验!

开源链接:

https://modelers.cn/models/MindSpore-Lab/T1-35B

https://modelers.cn/models/MindSpore-Lab/T1-115B

https://modelers.cn/models/MindSpore-Lab/TeleChat2.5-35B

https://modelers.cn/models/MindSpore-Lab/TeleChat2.5-115B

01 模型介绍

1 TeleChat T1模型

T1 模型是 TeleChat 系列专注于复杂推理的模型,由中国电信人工智能研究院研发训练。该系列模型借助先进的思维推理和批判纠错能力,在下游复杂任务中有很好的表现。本次中国电信开源了 T1-35B 和 T1-115B 两款不同尺寸的模型,与同尺寸模型相比都具有较好的效果表现。

训练策略

采用课程学习贯穿全流程的后训练方案,循序渐进提升模型效果。

  • 微调阶段:将多任务数据集进行难度划分(根据模型推理正误比率判断),首先使用中低难度冷启动微调,然后使用RFT方式筛选中高难度数据进行持续微调进行效果提升;

  • 强化学习阶段:首先对数理逻辑、代码能力进行提升,采用难度渐进式课程学习方案进行能力强化;然后,基于指令遵循、安全、幻觉、Function Call等10多种混合通用任务进行持续强化,全面提升模型效果。

效果评测

Image

2 TeleChat2.5模型

TeleChat2.5 是 TeleChat 系列新版通用问答模型,由中国电信人工智能研究院(TeleAI)研发训练,包括了 TeleChat2.5-35B 与 TeleChat2.5-115B。TeleChat2.5 基于最新强化的 TeleBase2.5 系列模型进行训练,在理科、通用问答、Function Call等任务上有显著的效果提升。TeleChat2.5 的微调方法延续了 TeleChat2 系列,具体请参考 TeleChat2(https://github.com/Tele-AI/TeleChat2)。

训练策略

数据
  • 为了提高模型训练数据的数量和质量,TeleChat2.5 在训练过程中采用了大量理科学科和编程领域的合成数据。在合成过程中,为了减少错误信息的引入,主要以基于知识点或知识片段的教育类知识合成为主。

基础模型训练
  • TeleChat2.5 采用了多阶段课程学习策略,在训练过程中逐步提升理科和编程类高密度知识数据的比例。每个训练阶段都使用比前一阶段质量更高、难度更大的数据,以实现持续的模型优化。

  • 在最终训练阶段,为了平衡模型在各个维度的能力表现,选取了不同训练阶段效果较优的多个模型,并基于各模型的综合表现进行参数加权融合,其中权重分配与模型性能呈正相关。

后训练阶段

TeleChat2.5采用分阶段优化的模型训练策略:

  • 融合优化阶段:整合复杂推理与通用问答能力,针对语言理解、数理逻辑等薄弱任务进行解构重组。通过重构任务框架并融合多维度解题思路,生成优化后的通用答案集。此阶段答案长度会适度增加,并基于优化数据实施微调训练。

  • 能力强化阶段:针对数理逻辑与编程类任务,通过注入结构化解题思路,结合基于规则的强化学习奖励机制,显著提升模型对复杂任务的理解与处理能力。

  • 泛化提升阶段:面向安全合规、指令响应、函数调用、数学推理、代码生成等十余种任务类型进行系统性强化学习增强,全面提升模型的通用任务处理能力。

效果评测

Image

以下为手把手教程:(以T1-35B模型为例)

02 快速开始

T1-35B 推理至少需要1台(2卡)Atlas 800T A2(64G显存规格)服务器。昇思MindSpore提供了T1-35B 推理可用的Docker容器镜像,供开发者快速体验。

1 模型下载

社区

下载地址

魔乐社区

https://modelers.cn/models/MindSpore-Lab/T1-35B

执行以下命令为自定义下载路径/home/teleAI/T1-35B添加白名单:

export HUB_WHITE_LIST_PATHS=/home/teleAI/T1-35B

执行以下 Python 脚本从魔乐社区下载昇思 MindSpore 版本的 T1-35B 文件至指定路径 /home/teleAI/T1-35B (需提前pip安装openmind_hub库,相关参考文档可参考:openMind Hub Client使用教程(https://modelers.cn/docs/zh/openmind-hub-client/0.9/overview.html))。下载的文件包含模型代码、权重、分词模型和示例代码,占用约 67GB 的磁盘空间:

from openmind_hub import snapshot_download snapshot_download(    repo_id="MindSpore-Lab/T1-35B",    local_dir="/home/teleAI/T1-35B",    local_dir_use_symlinks=False,)

下载完成的模型文件夹目录结构如下:

T1-35B/    ├── config.json                               # 模型json配置文件    ├── configuration_telechat2.py    ├── generation_config.json    ├── generation_utils.py    ├── modeling_telechat2.py    ├── special_tokens_map.json    ├── tokenization_telechat2.py    ├── tokenizer.model                           # 词表model文件    ├── tokenizer_config.json                     # 词表配置文件    ├── model-000xx-of-000xx.safetensors          # 模型权重文件    └── model.safetensors.index.json              # 模型权重映射文件

注意事项:

  • /home/teleAI/T1-35B 可修改为容器可访问的自定义路径,确保该路径有足够的磁盘空间(约 67GB)。

  • 下载时间可能因网络环境而异,建议在稳定的网络环境下操作。

2 下载昇思 MindSpore 推理容器镜像

执行以下 Shell 命令,拉取昇思 MindSpore T1-35B 推理容器镜像:

docker pull swr.cn-central-221.ovaijisuan.com/mindformers/mindspore_telechat_t1:20250430

3 启动容器

执行以下命令创建并启动容器:

docker run -it -u 0 --ipc=host  --network host \
--name vllm_telechat_t1 \
--privileged \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /home/:/home \
swr.cn-central-221.ovaijisuan.com/mindformers/mindspore_telechat_t1:20250430 \
/bin/bash

注意:

  • 若模型下载目录不在 /home/ 路径下,需要在 docker run 命令中映射相关的路径(修改-v /home/:/home \),使容器可以访问对应路径中的文件;

  • 启动容器前,通过 npu-smi info 查看服务器状态,确保卡资源未被其他进程占用。

  • 后续所有操作均在容器中进行。

本文提供两种推理使用方式:服务化部署及离线推理,用户可按需使用。

03 服务化部署

说明: 在服务化部署模式下,启动一次vLLM推理服务后,可重复多次发送推理请求。

1 配置环境变量:

export MINDFORMERS_MODEL_CONFIG=/usr/local/Python-3.11/lib/python3.11/site-packages/research/telechat2/predict_telechat_35b.yaml

一键启动vLLM推理

在服务器上执行以下命令启动vLLM推理服务:

python3 -m vllm_mindspore.entrypoints vllm.entrypoints.openai.api_server --model "/home/teleAI/T1-35B" --port=8000 --trust_remote_code --tensor_parallel_size=2 --max-num-seqs=256 --max_model_len=8192 --max-num-batched-tokens=8192 --block-size=32 --gpu-memory-utilization=0.93

注意: 其中/home/teleAI/T1-35B需要修改为实际的模型目录
 

看到以下日志打印,说明vLLM推理服务启动成功:

INFO:     Started server process [xxxxx]INFO:     Waiting for application startup.INFO:     Application startup complete.

3 执行推理请求测试

执行以下命令发送推理请求进行测试:


curl http://localhost:8000/v1/completions
-H "Content-Type: application/json" -d '{"model": "/home/teleAI/T1-35B", "prompt": "<_system><_user>生抽与老抽的区别?<_bot><think>\n", "max_tokens": 2048, "temperature": 0.6, "repetition_penalty":1.05,"top_p":0.95
}'

推理请求报文配置注意事项:

  • model: 需要配置为实际的网络权重路径。

  • prompt: 模板需保持固定,以确保推理时能够生成 reason 过程。可将其中文字部分修改为其他的推理请求问题。

  • max_tokens:字段为推理输出最大token长度,可按需修改。

  • temperature:建议保持0.6不变

  • top_p:建议保持0.95不变

  • repetition_penalty:在推理通用任务时,建议使用1.05,可以有效减少重复生成现象;在推理数学、代码任务时,建议使用1.0。

推理结果:


嗯,用户问生抽和老抽的区别。首先,我得回忆一下这两种酱油的基本信息。生抽,我记得是用发酵后的酱油醅提取的,颜色比较浅,味道比较鲜。通常用来炒菜或者凉拌菜,增加鲜味。老抽的话,应该是用生抽再加入焦糖色或其他色素制成的,颜色更深,呈棕褐色,味道相对较咸,鲜味不如生抽明显。老抽的主要用途是给食物上色,比如在红烧肉类、卤味或者调色时使用,让菜肴看起来更有食欲。不过,可能有些细节需要确认。比如,老抽是否真的添加了焦糖色?不同品牌的做法是否一致?另外,生抽和老抽在酿造工艺上的具体区别是什么?是否都经过了发酵过程,只是提取的方式不同?还有,用户可能想知道在实际烹饪中如何合理使用这两种酱油,以达到最佳的味道和颜色效果。例如,在炒青菜时,只需用少量生抽提鲜;而在做红烧肉时,则需要在翻炒肉块后加入老抽,使肉块均匀上色,之后再加入生抽和其他调料继续炖煮,这样既能保证肉质的鲜嫩,又能使菜肴的颜色看起来非常诱人。总结一下,生抽和老抽的主要区别在于颜色、味道和使用场景。生抽颜色浅、味道鲜,主要用于提鲜和调色;老抽颜色深、味道咸,主要用于给食物上色,使菜肴看起来更加诱人。在实际烹饪中,合理搭配使用这两种酱油,可以显著提升菜肴的口感和视觉效果。
</think>生抽与老抽是常见的酱油种类,它们在颜色、味道和使用场景上有显著区别:### **1. 颜色差异**
- **生抽**:颜色较浅,呈红褐色或琥珀色。
- **老抽**:颜色更深,呈棕褐色或黑褐色,类似焦糖色。### **2. 味道差异**
- **生抽**:味道偏鲜,含较多氨基酸,常用于提鲜。
- **老抽**:味道偏咸,鲜味较弱,主要作用是上色。### **3. 使用场景差异**
- **生抽**:- 炒菜、凉拌菜(如青菜、豆腐、凉拌鸡等)。- 腌制食材(如腌黄瓜、泡菜等)。- 蘸食(如白灼虾、蒸鱼等)。- **老抽**:- 上色(如红烧类、卤味类、酱烧类等)。- 调色(如制作汤底、酱料,或需要深色的菜肴)。- 少量提味(虽然主要作用是上色,但少量使用可以增加菜肴的层次感)。### **4. 烹饪技巧**
- **生抽**:- 避免过量使用,以免掩盖食材本身的鲜味。- 在凉拌菜中,可先将生抽与香油、蒜末等混合,再淋在食材上,这样味道更均匀。- **老抽**:- 上色时,应早加入锅中,并翻炒均匀,使食材均匀上色。- 避免在收汁阶段加入老抽,否则可能导致颜色过深,且不易均匀分布。- 在制作红烧类菜肴时,可将老抽与生抽、糖、料酒等调味料提前调成汁,再倒入锅中与食材一同烧制,这样能更好地控制调味料的用量和火候,使菜肴的味道更加协调。### **总结**
生抽与老抽的核心区别在于**颜色深浅**和**味道鲜咸**。生抽颜色浅、味道鲜,主要用于提鲜和轻上色;老抽颜色深、味道咸,主要用于重上色和轻微提味。在烹饪实践中,合理搭配使用这两种酱油,能够显著提升菜肴的口感层次和视觉吸引力。

04 离线推理

说明:在离线推理模式下,无需事先启动推理服务,每次执行推理脚本均会单独执行推理过程输出结果。

1 配置环境变量:

export MINDFORMERS_MODEL_CONFIG=/usr/local/Python-3.11/lib/python3.11/site-packages/research/telechat2/predict_telechat_35b.yaml

执行以下离线推理python脚本:

import vllm_mindspore
from vllm import LLM, SamplingParams
from mindformers import AutoTokenizerif __name__ == "__main__":    model='/home/teleAI/T1-35B' # 指定模型路径tokenizer = AutoTokenizer.from_pretrained(model, trust_remote_code=True)sampling_params = SamplingParams(temperature=0.6, repetition_penalty=1.05, max_tokens=8192)llm = LLM(model=model, trust_remote_code=True, tensor_parallel_size=4)prompt = "生抽与老抽的区别?"messages = [{"role": "user", "content": prompt}]text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)outputs = llm.generate([text], sampling_params)for output in outputs:prompt = output.promptgenerated_text = output.outputs[0].textprint(f"Prompt: {prompt!r},
Generated text: {generated_text!r}")

脚本说明:

  • T1 系列模型在 chat template 中加入了<think>\n符号以确保推理时能够生成 reason 过程。推理脚本会自动在推理起始拼接<think>\n符号,此时输出结果会缺少开头的<think>\n符号。

  • model 需要配置为实际的模型路径。

  • sampling_params 推理参数配置:

    1、在推理数学、代码任务时,建议使用repetition_penalty=1.0, temperature=0.6, top_p=0.95的推理设置。

    2、在推理通用任务时,建议使用repetition_penalty=1.05, temperature=0.6, top_p=0.95的推理设置,可以有效减少重复生成现象。

  • prompt 可修改为其他推理问题。

3 推理结果

嗯,用户问生抽和老抽的区别。首先,我得确认自己对这两个调味品的了解是否正确。生抽,我记得主要是用于炒菜和凉拌的。它的颜色较浅,呈红褐色,味道比较咸,但带有一定的鲜味,因为通常含有谷氨酸钠(味精)。然后是老抽,主要用于给食物上色,比如红烧、卤味等。老抽的颜色更深,呈深红或黑红色。味道方面,老抽比生抽更咸,且鲜味相对较少,因为有些老抽可能不含味精,或者含量较低。接下来,用户可能还关心的是,这两种酱油在烹饪时的具体应用,以及它们对菜肴风味和色泽的影响。此外,可能还需要提到一些关于酱油制作的传统工艺,比如发酵时间、原料配比等,这些都会影响生抽和老抽的最终风味和质地。不过,在回答用户的问题时,需要保持回答的简洁性和针对性,避免过于冗长或偏离主题。因此,在总结生抽和老抽的区别时,应该重点突出它们在颜色、用途、风味等方面的不同,同时也可以简要提及它们在烹饪中的具体应用场景,以及它们对菜肴整体风味和视觉效果的影响。最后,在确保回答准确无误的基础上,可以用一种较为亲切和自然的方式将这些信息呈现给用户,让用户能够轻松理解并记住生抽和老抽之间的主要区别。
</think>生抽与老抽都是常见的酱油品种,但它们在颜色、用途、风味等方面有显著区别:
---### **1. 颜色差异**
- **生抽**:颜色较浅,呈红褐色或琥珀色。  
- **老抽**:颜色深,呈深红、黑红或接近黑色。  ---### **2. 用途差异**
- **生抽**:主要用于日常炒菜、凉拌、蘸食等,提鲜增香。  
- **老抽**:主要用于给菜肴上色,例如红烧、卤味、酱烧等,使菜品色泽更诱人。  ---### **3. 风味差异**
- **生抽**:味道较咸,但带有明显的鲜味(因含谷氨酸钠,即味精)。适合直接用于调味。  
- **老抽**:味道更咸,鲜味相对较弱(部分老抽可能不含味精)。由于主要用于上色,因此在调味时通常不会直接使用老抽,而是在出锅前少量淋入以增色。  ---### **4. 存储方式**
- 两种酱油均需存放在阴凉干燥处,避免高温和阳光直射,以免加速变质或损失风味。  ---### **总结对比表**
| 特性       | 生抽                     | 老抽                     |
|--------------|----------------------------|----------------------------|
| **颜色**   | 浅红褐色                 | 深红/黑红色            |
| **用途**     | 炒菜、凉拌、蘸食      | 上色(红烧、卤味等) |
| **风味**     | 咸鲜味,含味精           | 咸味为主,鲜味较弱       |
| **存储**     | 阴凉干燥处               | 同上                       |通过以上对比,可以清晰地理解生抽与老抽在烹饪中的不同角色和用途。

​​​​​​​昇思MindSpore AI框架将持续支持相关主流模型演进,并根据情况向全体开发者提供镜像与支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/83261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉2D定位引导一般步骤

机器视觉的2D定位引导是工业自动化中的核心应用,主要用于精确确定目标物体的位置(X, Y坐标)和角度(旋转角度θ),并引导机器人或运动机构进行抓取、装配、对位、检测等操作。其一般步骤可概括如下: 一、系统规划与硬件选型 明确需求: 定位精度要求(多少毫米/像素,多少…

儿童节快乐,聊聊数字的规律和同余原理

某年的6月1日是星期日。那么&#xff0c;同一年的6月30日是星期几&#xff1f; 星期是7天一个循环。所以说&#xff0c;这一天是星期几&#xff0c;7天之后同样也是星期几。而6月30日是在6月1日的29天之后&#xff1a;29 7 4 ... 1用29除以7&#xff0c;可以得出余数为1。而…

最佳实践|互联网行业软件供应链安全建设的SCA纵深实践方案

在数字化转型的浪潮中&#xff0c;开源组件已成为企业构建云服务与应用的基石&#xff0c;但其引入的安全风险也日益凸显。某互联网大厂的核心安全研究团队&#xff0c;通过深度应用软件成分分析&#xff08;SCA&#xff09;技术&#xff0c;构建了一套覆盖开源组件全生命周期管…

Docker Compose(容器编排)

目录 什么是 Docker Compose Docker Compose 的功能 Docker Compose 使用场景 Docker Compose 文件&#xff08;docker-compose.yml&#xff09; Docker Compose 命令清单 常见命令说明 操作案例 总结 什么是 Docker Compose docker-compose 是 Docker 官方的开源项…

【网络安全】轻量敏感路径扫描工具

订阅专栏,获取文末项目源码。 文章目录 工具简介工具特点项目结构使用方法1.环境准备2.配置目标URL3.运行扫描4.结果查看5.自定义扩展项目源码工具简介 该工具是一款基于Python的异步敏感路径扫描工具,用于检测目标网站是否存在敏感文件或路径泄露(如配置文件、密钥、版本控…

SpringAI+DeepSeek大模型应用开发实战

内容来自黑马程序员 这里写目录标题 认识AI和大模型大模型应用开发模型部署方案对比模型部署-云服务模型部署-本地部署调用大模型什么是大模型应用传统应用和大模型应用大模型应用 大模型应用开发技术架构 SpringAI对话机器人快速入门会话日志会话记忆 认识AI和大模型 AI的发…

高温炉制造企业Odoo ERP实施规划与深度分析报告

摘要 本报告旨在为高温炉生产企业提供一个基于Odoo 18平台的企业资源规划&#xff08;ERP&#xff09;系统实施的全面分析与规划。报告首先系统梳理了高温炉制造业独特的业务流程特点&#xff0c;随后详细映射了Odoo 18各核心模块功能与这些业务需求的匹配程度。重点分析了生产…

简述什么是全局锁?它的应用场景有哪些?

全局锁是数据库管理系统中的一种特殊锁机制&#xff0c;用于对整个数据库实例进行加锁&#xff0c;使数据库处于只读状态&#xff0c;阻止所有数据更新&#xff08;DML&#xff09;、数据定义&#xff08;DDL&#xff09;及更新类事务提交等操作。 其核心应用场景包括&#xf…

window 显示驱动开发-呈现开销改进(二)

对共享表面的纹理格式支持 驱动程序应支持共享资源和可共享的后台缓冲区&#xff0c;以使用 DXGI_FORMAT 枚举中的这些附加纹理格式&#xff1a; DXGI_FORMAT_A8_UNORMDXGI_FORMAT_R8_UNORMDXGI_FORMAT_R8G8_UNORMDXGI_FORMAT_BC1_TYPELESS\*DXGI_FORMAT_BC1_UNORMDXGI_FORMAT…

jenkins集成gitlab实现自动构建

jenkins集成gitlab实现自动构建 前面我们已经部署了Jenkins和gitlab&#xff0c;本文介绍将二者结合使用 项目源码上传至gitee提供公网访问&#xff1a;https://gitee.com/ye-xiao-tian/my-webapp 1、创建一个群组和项目 2、添加ssh密钥 #生成密钥 [rootgitlab ~]# ssh-keyge…

barker-OFDM模糊函数原理及仿真

文章目录 前言一、巴克码序列二、barker-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式 三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、barker-OFDM 模糊函数②、barker-OFDM 距离分辨率③、barker-OFDM 速度分辨率④、barker-OFDM 等高线图 四、资源自取 前言 本文进行 …

深入解析 Redis Cluster 架构与实现(一)

#作者&#xff1a;stackofumbrella 文章目录 Redis Cluster特点Redis Cluster与其它集群模式的区别集群目标性能hash tagsMutli-key操作Cluster Bus安全写入&#xff08;write safety&#xff09;集群节点的属性集群拓扑节点间handshake重定向与reshardingMOVED重定向ASK重定向…

linux centos 服务器性能排查 vmstat、top等常用指令

背景:项目上经常出现系统运行缓慢,由于数据库服务器是linux服务器,记录下linux服务器性能排查常用指令 vmstat vmstat介绍 vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这…

在IIS上无法使用PUT等请求

错误来源&#xff1a; chat:1 Access to XMLHttpRequest at http://101.126.139.3:11000/api/receiver/message from origin http://101.126.139.3 has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 其实我的后…

Python训练第四十一天

DAY 41 简单CNN 知识回顾 数据增强卷积神经网络定义的写法batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据特征图&#xff1a;只有卷积操作输出的才叫特征图调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. 输入 → 卷积层 →…

Linux线程同步实战:多线程程序的同步与调度

个人主页&#xff1a;chian-ocean 文章专栏-Linux Linux线程同步实战&#xff1a;多线程程序的同步与调度 个人主页&#xff1a;chian-ocean文章专栏-Linux 前言&#xff1a;为什么要实现线程同步线程饥饿&#xff08;Thread Starvation&#xff09;示例&#xff1a;抢票问题 …

5.2 初识Spark Streaming

在本节实战中&#xff0c;我们初步探索了Spark Streaming&#xff0c;它是Spark的流式数据处理子框架&#xff0c;具备高吞吐量、可伸缩性和强容错能力。我们了解了Spark Streaming的基本概念和运行原理&#xff0c;并通过两个案例演示了如何利用Spark Streaming实现词频统计。…

Go 即时通讯系统:日志模块重构,并从main函数开始

重构logger 上次写的logger.go过于繁琐&#xff0c;有很多没用到的功能&#xff1b;重构后只提供了简洁的日志接口&#xff0c;支持日志轮转、多级别日志记录等功能&#xff0c;并采用单例模式确保全局只有一个日志实例 全局变量 var (once sync.Once // 用于实现…

「数据采集与网络爬虫(使用Python工具)」【数据分析全栈攻略:爬虫+处理+可视化+报告】

- 第 103 篇 - Date: 2025 - 06 - 01 Author: 郑龙浩/仟墨 文章目录 「据采集与网络爬虫」【使用工具&#xff1a;Python】一 数据采集1 数据采集综述&#xff08;1&#xff09;基本介绍&#xff08;2&#xff09;数据目标源&#xff08;3&#xff09;采集方式&#xff08;4&am…

响应式系统与Spring Boot响应式应用开发

响应式系统概述 过去十年间,为应对移动和云计算的需求,软件行业通过改进开发流程来构建更稳定、健壮且灵活的软件系统。这种演进不仅服务于传统用户端(桌面/Web),还需支持多样化设备(手机、传感器等)。为应对这些挑战,多个组织共同制定了《响应式宣言》(2014年发布)…