2025 一带一路暨金砖国家技能发展与技术创新大赛 【首届 DeepSeek 大模型及行业 AI 应用开发赛项】 赛项编号: BRICS2025-ST-034文档类型: 样题(选拔赛)竞赛时间: 3 小时参赛形式: 双人团队
制定单位:
金砖国家工商理事会技能发展、应用技术与创新中方工作组
一带一路暨金砖国家技能发展与技术创新大赛组委会
竞赛技术委员会专家组
制定日期: 2025 年 5 月
📋 项目概述
序号
阶段名称
完成时间
1
第一阶段:理论测试
60 分钟
2
第二阶段:行业 AI 系统开发
120 分钟
第一阶段:理论测试
📝 一、单选题(共 50 题)
在 DeepSeek 大模型开发中,以下哪种 Python 库常用于数据处理和分析?
以下哪项属于 RAG(检索增强生成)的核心步骤?
若要存储和查询结构化数据,以下哪种数据库系统较为合适?
数据采集方法中,通过编写程序自动获取网页数据的方式是?
以下哪种算法属于模型训练中的优化算法?
在深度学习中,Transformer 架构的核心组件是?
若要对图像进行处理和计算机视觉的基础操作,Python 中常用的库是?
以下哪个工具常用于大模型的集成和部署?
DeepSeek 大模型对硬件资源的需求,以下说法正确的是?
使用 Anaconda 创建独立虚拟环境的主要目的是?
以下关于 DeepSeek 与 GPT 系列模型在架构上的关键区别描述,最准确的是?
在使用 RAG 进行文档问答系统开发时,以下哪个操作最可能导致检索结果相关性下降?
当利用 Python 进行数据采集时,以下哪种场景适合使用 Selenium 而非网络爬虫框架?
在模型训练过程中,以下哪种超参数调整方式会导致模型出现”梯度消失”问题?
关于 Milvus 与 Faiss 在向量检索中的应用,以下说法正确的是?
在使用 Langchain 构建知识图谱问答系统时,以下哪个组件用于解析自然语言问题为 SPARQL 查询语句?
当对非结构化文本数据进行清洗时,以下哪项操作会破坏文本语义完整性?
在 DeepSeek 大模型部署过程中,以下哪种硬件配置组合能实现最佳性价比?
关于 Anaconda 虚拟环境与 Docker 容器,以下描述正确的是?
在使用 PyTorch 训练神经网络时,以下哪个函数用于计算交叉熵损失?
在使用 PyTorch 搭建一个简单的卷积神经网络(CNN)进行图像分类时,以下代码片段缺少关键层定义。请选择正确的代码补全空白处,实现一个包含卷积层、池化层和全连接层的网络结构。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import torchimport torch.nn as nnclass SimpleCNN (nn.Module): def __init__ (self ): super (SimpleCNN, self ).__init__() self .conv1 = nn.Conv2d(3 , 16 , kernel_size=3 , padding=1 ) self .pool = nn.MaxPool2d(2 , 2 ) self .fc1 = nn.Linear(______, 128 ) self .fc2 = nn.Linear(128 , 10 ) def forward (self, x ): x = self .pool(torch.relu(self .conv1(x))) x = x.view(-1 , ______) x = torch.relu(self .fc1(x)) x = self .fc2(x) return x
下表对 Milvus 和 MariaDB 在 AI 应用中的特性进行了对比,其中描述错误的一项是?
对比项目
Milvus
MariaDB
数据类型支持
主要存储向量数据,适合非结构化数据的特征表示
存储结构化数据,如关系型表格
查询方式
基于向量相似度检索
基于 SQL 语句进行数据查询
性能优势
在大规模向量检索场景下效率高
在事务处理和结构化数据查询方面表现出色
数据更新频率
适合频繁更新向量数据
不适合频繁更新数据
在开发一个结合 DeepSeek 大模型和计算机视觉技术的智能安防系统时,需要实现对监控视频中的异常行为进行检测,并通过 DeepSeek 生成处理建议。以下技术流程排列正确的是?
在使用随机梯度下降(SGD)算法训练神经网络模型时,学习率(learning rate)参数设置过大,可能会导致以下哪种情况?
某公司希望利用 Langchain、DeepSeek 和 Milvus 开发一个智能法律咨询系统,以下关于各技术分工描述错误的是?
关于 Bert 和 Transformer 的关系,以及 DeepSeek 对其架构的应用,以下说法正确的是?
若要部署一个 DeepSeek 大模型,同时满足高并发的推理请求,以下硬件资源配置方案最合理的是?
以下是使用 scikit-learn 库进行数据挖掘和模型训练的流程描述,其中存在错误的一项是?
针对”利用 AI 技术实现电商平台商品评论的情感分析和热点提取”这一需求,以下技术方案中最全面且合理的是?
下列关于”生成式 AI”与”判别式 AI”的概念描述,正确的是?
在 AI 应用开发中,”数据增强”与下列哪个概念的关联最为紧密?
以下哪个场景最适合应用”迁移学习”概念?
关于”Transformer 架构中的注意力机制”,下列说法错误的是?
下列对”结构化数据”和”非结构化数据”的描述,正确的是?
“超参数调优”与以下哪个 AI 开发环节直接相关?
在”利用 AI 技术对古籍文献进行语义检索”场景中,最关键的概念应用是?
“监督学习”和”无监督学习”的主要区别在于?
关于”大模型的涌现能力”,下列说法正确的是?
DeepSeek 大模型首次公开亮相的年份是?
Milvus 向量数据库默认使用的向量索引类型是?
在 scikit-learn 的决策树模型中,min_samples_split 参数的含义是?
Bert 模型中,基础版本的隐藏层数量是多少?
Anaconda 创建虚拟环境时,默认使用的 Python 版本是?
Adam 优化算法结合了哪两种优化算法的优点?
Streamlit 库主要用于实现 AI 应用的哪方面功能?
RAG 在 AI 领域的全称是?
DeepSeek 大模型的核心优势之一是?
在 Python 的 Pandas 库中,用于读取 CSV 文件的函数是?
某企业要开发一个智能文档处理系统,需对大量合同文档进行语义检索与关键信息提取,以下工具组合中最合理的是?
在训练一个大规模图像分类模型时,分别使用批量梯度下降(BGD)和随机梯度下降(SGD)算法,以下关于两者在该场景下表现的分析,正确的是?
💡 二、多选题(共 25 题)
以下关于 Python 在 DeepSeek 大模型开发中的应用,说法正确的有( )
在运用 Langchain 进行 AI 应用开发时,可实现的功能包括( )
关于数据库系统在 AI 应用中的选择与使用,下列说法正确的是( )
数据采集过程中,常用的工具和方法有( )
数据预处理对于 AI 模型训练至关重要,以下属于数据预处理操作的有( )
深度学习基础理论中,常见的神经网络架构有( )
在模型训练过程中,以下哪些方法可以用于超参数调优?( )
以下机器学习库中,可用于构建和训练机器学习模型的有( )
关于 DeepSeek、通义千问等大模型对硬件资源的需求,说法正确的有( )
以下关于大模型集成工具的描述,正确的有( )
关于 Prompt 工程在 DeepSeek 大模型应用中的作用,以下表述正确的有( )
在使用 RAG(检索增强生成)技术时,可能涉及的操作包括( )
以下关于数据清洗中去重操作的说法,正确的有( )
在深度学习模型训练中,优化算法的选择会影响训练效果,以下关于优化算法的描述,正确的有( )
关于 Scikit-learn 库在机器学习中的应用,下列说法正确的是( )
在计算机视觉任务中,OpenCV 库的常见应用包括( )
若要搭建一个基于 DeepSeek 的智能客服系统,需要考虑的方面有( )
在大模型运行环境方面,以下描述正确的有( )
当在 AI 应用开发中涉及多模态数据时,需要处理的内容包括( )
关于 DeepSeek 大模型与传统机器学习模型的区别,以下说法正确的是( )
在使用 Langchain 构建 AI 应用时,其提供的实用功能模块包括( )
对于数据采集过程中的网络爬虫技术,以下描述正确的有( )
在数据预处理环节,针对文本数据的清洗操作通常包括( )
在深度学习模型的训练过程中,以下哪些方法可以用于防止过拟合?( )
关于自然语言处理中的词向量表示,以下说法正确的是( )
✅ 三、判断题(共 25 题)
使用 Python 的 Pandas 库的 read_csv() 函数读取 CSV 格式数据集时,会自动处理数据中的缺失值。( )
在使用 Langchain 优化与 DeepSeek 的交互时,load_memory 函数可以直接加载外部知识库,增强模型回答的专业性。( )
MariaDB 作为关系型数据库,不适合存储 AI 模型训练过程中的超参数配置记录。( )
分布式爬虫通过多台机器协同工作,能够提高数据采集的速度和效率。( )
在数据预处理中,对非结构化文本数据去除停用词后,可直接将剩余词语作为模型输入。( )
L1 正则化通过约束参数的平方和,防止深度学习模型过拟合。( )
PyTorch 采用静态计算图,在模型部署方面比 TensorFlow 更具优势。( )
在部署 DeepSeek 大模型时,增加内存容量可以确保模型参数和中间计算结果能够快速存取。( )
使用 conda env export 命令将 Anaconda 虚拟环境配置导出为 YAML 文件后,在不同操作系统之间迁移虚拟环境无需重新安装任何依赖包。( )
在 Streamlit 开发大模型应用界面时,st.cache 装饰器可对所有函数进行缓存,无任何限制条件。( )
随机梯度下降(SGD)每次更新使用全部样本,训练过程更稳定,但计算量大。( )
Milvus 在处理大规模非结构化数据特征向量时,检索效率比关系型数据库低。( )
数据增强技术只能通过增加数据量来提高模型泛化能力,不能作为一种正则化手段。( )
在使用 Scrapy 框架编写网络爬虫时,Item 类用于定义要采集的数据结构。( )
通过调整 Prompt 的结构和内容,无法提升 DeepSeek 大模型的推理能力。( )
当 AI 项目需要频繁进行事务操作时,Milvus 比 MariaDB 更适合作为数据库选型。( )
词嵌入技术(如 Word2Vec、BERT Embeddings)不能将非结构化文本转换为向量表示。( )
在深度学习模型训练中,学习率设置过小会导致模型在训练时无法收敛,出现振荡现象。( )
仅复制 Anaconda 虚拟环境文件夹,就能保证在其他机器上正常使用该虚拟环境。( )
在设计推荐系统时,不能同时使用关系型数据库和 Milvus 向量数据库。( )
DeepSeek 大模型只能处理文本数据,无法应用于图像、音频等多模态场景。( )
在使用 RAG(检索增强生成)技术时,不需要对文档数据进行向量化处理。( )
批量梯度下降(BGD)算法在训练大规模数据集时,比随机梯度下降(SGD)算法收敛速度更快。( )
使用 Scikit-learn 库进行机器学习模型训练时,不需要对数据进行标准化处理。( )
在 AI 应用开发中,数据标注的准确性对模型训练结果没有影响。( )
🎉 第一阶段理论测试整理完毕 | 📊 共 100 题 (单选题 50 题 + 多选题 25 题 + 判断题 25 题)
第二阶段:行业 AI 系统开发
🤖 一、AI 聊天助手开发 1. 背景与需求 在数字化浪潮席卷全球的今天,人工智能技术正在深刻改变着人们的生活方式。某知名科技公司”未来智能”正在开发新一代智能客服系统,旨在为全球用户提供更智能、更人性化的服务体验。作为公司的技术负责人,你被委以重任:开发一个基于 DeepSeek 大语言模型的智能聊天助手原型。这个助手不仅要能够理解用户的意图,还要能够提供专业、准确、富有同理心的回答。
在开发过程中,你需要考虑多轮对话的连贯性、响应速度、用户体验等多个维度,确保这个聊天助手能够真正帮助用户解决问题,提升服务体验。你的目标是打造一个既智能又温暖的 AI 助手,让它成为连接用户与服务的桥梁,为用户带来全新的交互体验。
2. 技术要点
使用 Streamlit 构建直观的用户界面
集成 DeepSeek API 实现智能对话
实现多轮对话的上下文管理
优化响应速度和用户体验
确保对话的连贯性和准确性
3. DeepSeek 聊天助手流程图
初始化阶段 :加载环境变量 → 初始化 OpenAI 客户端(配置 DeepSeek API)→ 设置 Streamlit 页面配置 → 初始化会话状态,添加系统消息
用户界面 :显示聊天历史记录 → 提供用户输入框 → 显示清除聊天按钮
对话流程 :用户输入问题 → 将用户消息添加到历史记录 → 调用 DeepSeek API 获取响应 → 显示 AI 响应 → 将 AI 响应添加到历史记录
清除功能 :点击清除按钮 → 重置聊天历史(保留系统消息)→ 返回初始状态
4. 主要流程说明
初始化阶段 :加载环境变量、初始化 OpenAI 客户端(配置 DeepSeek API)、设置 Streamlit 页面配置、初始化会话状态,添加系统消息
用户界面 :显示聊天历史记录、提供用户输入框、显示清除聊天按钮
对话流程 :用户输入问题 → 将用户消息添加到历史记录 → 调用 DeepSeek API 获取响应 → 显示 AI 响应 → 将 AI 响应添加到历史记录
清除功能 :点击清除按钮 → 重置聊天历史(保留系统消息)→ 返回初始状态
5. 题目要求 请你在实操环境的 IDE 中调试下面代码,运行成功后,在聊天助手中输入:“我是xxx,请你以我的名字写首藏头诗” ;把包括回复的截图提交作答。
6. 参考代码(已修复 🛠️)
原始代码存在多处 bug:缺少 from openai import OpenAI 导入、load_dotenv() 调用异常、字典键名含多余空格、model 参数拼写错误、聊天历史显示逻辑缺失等。以下为修复后可正常运行的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 import streamlit as stimport osfrom dotenv import load_dotenvfrom openai import OpenAIload_dotenv() client = OpenAI( api_key=os.getenv("DEEPSEEK_API_KEY" ), base_url="https://api.deepseek.com" ) st.set_page_config( page_title="DeepSeek 聊天助手" , page_icon="🤖" , layout="wide" ) if "messages" not in st.session_state: st.session_state.messages = [ {"role" : "system" , "content" : "你是一个有帮助的 AI 助手" } ] st.title("🤖 DeepSeek 聊天助手" ) for message in st.session_state.messages: if message["role" ] != "system" : with st.chat_message(message["role" ]): st.markdown(message["content" ]) if prompt := st.chat_input("请输入您的问题" ): st.session_state.messages.append({"role" : "user" , "content" : prompt}) with st.chat_message("user" ): st.markdown(prompt) with st.chat_message("assistant" ): with st.spinner("思考中..." ): response = client.chat.completions.create( model="deepseek-chat" , messages=st.session_state.messages, temperature=0.7 , max_tokens=1000 , stream=False ) ai_response = response.choices[0 ].message.content st.markdown(ai_response) st.session_state.messages.append( {"role" : "assistant" , "content" : ai_response} ) if st.button("清除聊天历史" ): st.session_state.messages = [ {"role" : "system" , "content" : "你是一个有帮助的 AI 助手" } ]
🔧 代码修复对照表
行号
原始代码问题
修复方式
1
缺少 from openai import OpenAI 导入
添加导入语句
3
load_dotenv () 注释与代码粘连
拆分为独立语句
4-6
api_key= 和 base_url= 参数为空
使用 os.getenv() 和正确 URL
多处
字典键含多余空格(如 "role ")
统一清理为 "role"
17
model="deep seek-chat " 拼写错误
修正为 "deepseek-chat"
2
缺少聊天历史显示循环
添加 for message in ... 循环
末尾
响应赋值语句断行
合并为单行
💰 二、青少年零花钱管理应用开发 1. 背景 在当今数字化时代,培养青少年的理财意识和消费习惯变得越来越重要。零花钱是孩子们接触金钱管理的第一步,通过合理记录和分析零花钱的使用情况,可以帮助他们建立正确的消费观念和理财意识。然而,目前市面上针对青少年的零花钱管理工具往往过于复杂或不够直观,无法满足他们的实际需求。
2. 需求 请基于 Streamlit 框架开发一个简单易用的零花钱管理应用,要求:
实现基本的零花钱记录功能,包括:日期、金额、类别、描述等信息
提供直观的数据可视化展示,帮助用户了解自己的支出分布
界面设计要简洁友好,适合青少年使用
代码结构清晰,注释完整
考虑用户体验,添加适当的交互反馈
3. 参考技术栈
技术
用途
Streamlit
前端框架
Pandas
数据处理
Plotly
数据可视化
Python
开发语言
4. 零花钱管理应用流程图
应用启动 :应用启动 → 检查是否有交易记录 → 根据检查结果显示相应界面
数据录入流程 :添加新交易 → 输入交易信息(日期、金额、类别、描述)→ 保存交易数据
数据展示流程 :更新交易记录表格 → 更新支出类别分布饼图 → 显示最新数据
循环流程 :用户可以选择继续添加新交易或结束使用应用
5. 主要功能流程说明
应用启动流程 :应用启动 → 检查是否有交易记录 → 根据检查结果显示相应界面
数据录入流程 :添加新交易 → 输入交易信息(日期、金额、类别、描述)→ 保存交易数据
数据展示流程 :更新交易记录表格 → 更新支出类别分布饼图 → 显示最新数据
循环流程 :用户可以选择继续添加新交易或结束使用应用
6. 题目要求 请你在实操环境的 IDE 中调试下面代码,运行成功后,添加类数据:
序号
类别
金额
1
文具
10 元
2
零食
10 元
把包括增加的交易记录与支出分析图表(饼图)截图提交。
7. 参考代码(已修复 🛠️)
原始代码存在多处 bug:st.date_input 缺失函数名、st.number_input 变量名不完整、pd.DataFrame() 未传入数据、会话状态初始化缺失、with st.sidebar: 缩进错误等。以下为修复后可正常运行的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 import streamlit as stimport pandas as pdimport plotly.express as pxfrom datetime import datetimest.set_page_config( page_title="零花钱分析师" , page_icon="💰" , layout="wide" ) st.title("💰 零花钱分析师" ) st.markdown("### 记录你的零花钱使用情况" ) if "transactions" not in st.session_state: st.session_state.transactions = [] with st.sidebar: st.header("添加新交易" ) date = st.date_input("日期" , datetime.now()) amount = st.number_input("金额" , min_value=0.0 , step=0.01 ) category = st.selectbox( "类别" , ["零食" , "文具" , "玩具" , "游戏" , "其他" ] ) description = st.text_input("描述" ) if st.button("添加交易" ): new_transaction = { "日期" : date, "金额" : amount, "类别" : category, "描述" : description } st.session_state.transactions.append(new_transaction) st.success("交易添加成功!" ) if st.session_state.transactions: df = pd.DataFrame(st.session_state.transactions) st.subheader("交易记录" ) st.dataframe(df) st.subheader("支出分析图表" ) fig_category = px.pie( df, values="金额" , names="类别" , title="支出类别分布" ) st.plotly_chart(fig_category) else : st.info("还没有添加任何交易记录,请在左侧添加你的第一笔交易!" ) st.markdown("---" ) st.markdown("### 使用提示" ) st.markdown(""" 1. 在左侧添加你的每一笔支出 2. 查看图表了解你的支出类别分布 """ )
🔧 代码修复对照表
行号
原始代码问题
修复方式
6
st.("日期", ...) 函数名缺失
修正为 st.date_input("日期", ...)
7
st("金额", ...) 变量名不完整
修正为 st.number_input("金额", ...)
15
st.session_state.transactions 未初始化
添加空列表 [] 初始化
4
pd.DataFrame() 未传入数据
传入 st.session_state.transactions
13
with st.sidebar: 缩进位置错误
移到 if 块外部
18
字典键名含多余空格
统一清理为规范键名
19
缺少用户操作反馈
添加 st.success() 提示
📊 文档整理完毕 | 共 100 题 (单选 50 + 多选 25 + 判断 25)+ 2 道实操编程题 (含修复代码)
来源: BRICS2025-ST-034 — 2025 一带一路暨金砖国家技能发展与技术创新大赛之首届 DeepSeek 大模型及行业 AI 应用开发赛项样题(选拔赛)
🔗 相关文档 2025-2026广东省职业技能大赛云计算赛项知识点清单 |
2025-2026学年广东省职业院校学生专业技能大赛云计算应用赛题总结 |
云计算基础概念 |
OpenStack 概述