蓝耘元生代|调用Deepseek API提升数据集多样性:数据增强实践

ops/2025/3/4 8:41:36/

文章目录

  • 一、什么是Deepseek?
  • 二、数据增强的必要性
  • 三、 注册并登录蓝耘智算平台
    • 准备数据集
    • 调用Deepseek API
  • 四、数据增强实战
  • 五、总结

在机器学习和深度学习领域,数据增强是一项非常重要的技术,尤其是在数据集较小的情况下。通过数据增强,我们可以通过对现有数据进行各种变换(如旋转、平移、缩放、剪裁等)来生成新的数据,从而提升模型的泛化能力和鲁棒性。在本文中,我们将介绍如何在蓝耘智算平台上使用Deepseek API进行数据增强。

一、什么是Deepseek?

DeepSeek 是一款以大规模预训练为基础的自然语言处理模型,旨在提供强大的语言理解和生成能力。它基于最前沿的 Transformer 架构,通过多层次的训练和优化,使得模型能够处理复杂的文本任务,如文本生成、情感分析、问答系统等。

二、数据增强的必要性

  1. 提升模型泛化能力:数据增强通过生成更多的训练样本,可以有效防止模型过拟合,提高模型在新数据上的表现。

  2. 解决数据不足问题:在样本量有限的情况下,数据增强能够通过变换、裁剪、旋转等方式生成更多样本,帮助模型学习更多的特征。

  3. 增强鲁棒性:增强手段如噪声添加、图像模糊、旋转等,有助于提升模型对噪声、变形等因素的适应能力,尤其在实际应用中具有更好的稳定性。

对于文本和图像:

  • 文本增强:通过同义词替换、随机插入或删除词语、调整句子结构回译法等手段,可以在不改变语义的情况下生成新的样本,增强模型的理解能力。
  • 图像增强:通过旋转、翻转、裁剪、颜色变化等手段,能增加图像数据的多样性,提高模型对各种场景的识别能力。# 三、如何在蓝耘智算平台上使用Deepseek API进行数据增强

三、 注册并登录蓝耘智算平台

我们在实现之后的案例前,首先注册一下
注册链接:https://cloud.lanyun.net/#/registerPage?promoterCode=5b9e82cbb1
在这里插入图片描述
注册之后,我们就可以来到主页面了
在这里插入图片描述
这样我们就完成平台的注册了

准备数据集

这里我们可以在网上下载一个文本数据集,这里我们下载一款命名实体识别常用的中文数据集(Resume),这里下载训练集即可
下载链接:https://www.modelscope.cn/datasets/iic/resume_ner
在这里插入图片描述
下面是数据集部分内容
在这里插入图片描述
我们的目标是数据增强,在本文也可以理解为数据扩充,数据集增加了,这样我们对于训练的效果在通常情况下也会更佳~

调用Deepseek API

在我们注册完事后,我们就可以采用平台的为我们提供的方法进行愉快的调用deepseek的API了,下面是具体步骤。
在这里插入图片描述
点击进入后,进可以进行对话了
在这里插入图片描述

  • 接入API:只需要获取API Key,用户就能调用相应的接口开始使用。API调用支持多种编程语言,包括Python、NodeJS和CURL,极大地提高了开发的灵活性。

在这里插入图片描述

官方不光提供简单的API KEY接入,此外,平台还提供了OpenAI兼容接口,开发者只需替换API URL和密钥配置,即可轻松将应用切换至DeepSeek R1/V3,保持高效、无缝的对接
在这里插入图片描述
第一种接入方式和大部分平台类似
在这里插入图片描述
第二种接入方式,官方提供了代码示例和文档介绍,还是十分用心的
在这里插入图片描述
接下来我们的实战采用的是第二种方式


四、数据增强实战

下面是具体的实战步骤

  • 读取中文数据:你需要读取你的 train.txt 数据文件。
  • 调用DeepSeek API进行翻译:将中文文本通过 DeepSeek API 翻译为英文。
  • 对英文文本进行翻译:将翻译得到的英文再通过 DeepSeek API 翻译回中文,从而增加新的数据。
  • 将翻译数据保存:保存扩充后的数据集。

这里我先将部分数据集里的内容转换为纯文本,代码如下

python"># 读取train.txt文件并提取纯文本
def extract_text_from_file(file_path):"""从文件中读取并提取纯文本,去除标注"""pure_text = []with open(file_path, 'r', encoding='utf-8') as file:for line in file:# 分离每一行的词和标签,去除标签部分word = line.split(" ")[0]  # 取每行的第一个词(去除标签)pure_text.append(word)# 将所有词连接成一个字符串,没有空格return "".join(pure_text)# 指定文件路径
file_path = 'train.txt'  # 这里是train.txt文件的路径
output_file_path = 'pure_text_output.txt'  # 输出文件路径# 提取纯文本
pure_text = extract_text_from_file(file_path)# 将纯文本保存到新的文件
with open(output_file_path, 'w', encoding='utf-8') as output_file:output_file.write(pure_text)print(f"纯文本已保存到 {output_file_path}")

之后我们就可以将纯文本的数据根据deepseek API调用进行转换了,代码如下:

python">import random
from openai import OpenAI# 构造 DeepSeek 客户端
client = OpenAI(api_key=" your API Key",  # 替换为你的 API keybase_url="https://maas-api.lanyun.net/v1",
)# 流式
stream = True# 定义翻译函数
def translate_text(text, target_language="en"):"""调用 DeepSeek API 进行翻译:中文 -> 英文 或 英文 -> 中文"""try:# 请求翻译chat_completion = client.chat.completions.create(model="/maas/deepseek-ai/DeepSeek-R1",messages=[{"role": "user","content": f"Translate the following text to {target_language}: {text}",}],stream=stream,)if stream:# 迭代流式返回内容translated_text = ""for chunk in chat_completion:# 打印思维链内容if hasattr(chunk.choices[0].delta, 'reasoning_content'):print(f"{chunk.choices[0].delta.reasoning_content}", end="")# 打印模型最终返回的contentif hasattr(chunk.choices[0].delta, 'content'):if chunk.choices[0].delta.content is not None and len(chunk.choices[0].delta.content) != 0:translated_text += chunk.choices[0].delta.contentprint(chunk.choices[0].delta.content, end="")  # 打印中间返回的内容return translated_text.strip()else:# 如果没有流式返回,直接返回翻译结果return chat_completion.choices[0].message.contentexcept Exception as e:print(f"翻译时发生错误: {e}")return None# 从文件中读取文本
def read_pure_text(file_path):"""从文件中读取纯文本"""with open(file_path, 'r', encoding='utf-8') as file:return file.read()# 保存转换后的文本到新文件
def save_augmented_data(augmented_data, output_file="augmented_train.txt"):"""保存转换后的数据到文件"""with open(output_file, 'w', encoding='utf-8') as file:for line in augmented_data:file.write(line + "\n")# 主程序
def main():# 从pure_text_output.txt读取文本file_path = 'pure_text_output.txt'  # 输入纯文本文件路径output_file_path = 'augmented_train.txt'  # 输出转换后的文件路径# 读取纯文本pure_text = read_pure_text(file_path)# 1. 中文 -> 英文print("\n翻译成英文:")english_text = translate_text(pure_text, target_language="en")print(f"\n英文翻译:{english_text}\n")# 2. 英文 -> 中文print("\n翻译回中文:")translated_chinese_text = translate_text(english_text, target_language="zh")print(f"\n中文翻译:{translated_chinese_text}\n")# 保存转换后的数据if translated_chinese_text:save_augmented_data([translated_chinese_text], output_file=output_file_path)print(f"转换后的数据已保存到 {output_file_path}")else:print("没有有效的翻译结果,文件未保存")if __name__ == "__main__":main()

下面是部分结果截图:
在这里插入图片描述
注意:内容可能不是完全正确,因为生成的文本中含有deepseek的思考内容,所以需要自行清洗

五、总结

本文介绍了如何在蓝耘智算平台上使用Deepseek API进行数据增强。数据增强通过对现有数据进行多种变换(如翻译、裁剪等),能够提升模型的泛化能力、解决数据不足问题,并增强模型的鲁棒性。具体步骤包括注册平台、准备数据集、调用Deepseek API进行文本翻译增强,以及保存增强后的数据。通过这种方法,可以有效扩充训练数据集,从而提高机器学习和深度学习模型的性能。

感兴趣的小伙伴可以交流,最后附上
注册链接:https://cloud.lanyun.net/#/registerPage?promoterCode=5b9e82cbb1


http://www.ppmy.cn/ops/162998.html

相关文章

利用DeepSeek-Kimi打通Excel与PPT的链条,自动生成数据分析报告

通过DeepSeek在Excel生成结构化的数据分析报告,再借助Kimi的PPT助手将报告自动转换为专业的PPT演示文稿,从而实现从数据到展示的一站式解决方案。 案例数据 1.一键生成数据分析报告 在下载并安装“Excel矩阵”后,我们启用DeepSeek的右侧对话…

《论云原生架构及其应用》审题技巧 - 系统架构设计师

论云原生架构及其应用论文写作框架 一、考点概述 “论云原生架构及其应用”这一论题,主要考察了考生对云原生技术及其架构原则的深入理解与实践应用。论题的核心在于云原生架构的概念、设计原则及其在软件开发项目中的具体应用。首先,考生需对云原生架…

从零搭建微服务项目Pro(第1-2章——Quartz实现定时任务模块优化)

前言: 在企业项目中,往往有定时任务发布的需求,比如每天晚9点将今日数据备份一次,或每月一号将上月的销售数据邮件发送给对应的工作人员。显然这些操作不可能是人工到时间点调用一次接口,需要编写专门的模块完成任务的…

使用 Java 更新 Word 文档中的图表数据-超详细

使用 Java 更新 Word 文档中的图表数据 在日常的工作中,尤其是在数据分析和报告自动化的场景中,可能会遇到需要定期更新 Word 文档中的图表数据的需求。比如,生成数据报告时,我们需要在图表中更新一些动态的数据值。今天&#xf…

PHP函数与类:面向对象编程实践指南

PHP函数与类:面向对象编程实践指南 PHP的面向对象编程(OOP)能力使其成为构建可维护、可扩展Web应用的重要工具。本文从函数封装到类设计,系统讲解PHP面向对象编程的核心概念与实践技巧。 一、函数:代码复用的基本单元…

Unity小功能实现:鼠标点击移动物体

1、功能描述 当玩家点击鼠标时,场景中的物体会移动到鼠标点击的位置。这个功能可以用于控制角色移动、放置物体等场景。 2、实现步骤 创建Unity项目:首先,打开Unity并创建一个新的3D项目。 添加3D物体:在场景中创建一个3D物体&am…

生成一个日期时间序列,从‘2024-12-03‘开始,每小时递增 oracle 转为达梦

-------------------------------生成一个日期时间序列,从2024-12-03开始,每小时递增---------------------------- ---原oracle : SELECT to_date(2024-12-03, yyyy-mm-dd) (ROWNUM - 1) / 24 data_time FROM dual CO…

无服务边缘融合架构:重新定义云原生应用边界

引言:零部署计算的革命突破 Airbnb迁移至LambdaEdge架构后,全球客房详情页渲染延迟降至35ms,冷启动时间缩至50ms以内。Stripe采用无服务边缘计算处理支付事务,成功将动态API响应P99延迟从210ms压缩至19ms。AWS官方基准显示&#…