51题

在大模型应用开发中,以下代码用于实现用户输入的敏感词过滤,请问存在哪些问题?

Python
def filter_sensitive_words(text):
    sensitive_words = ["敏感词1", "敏感词2", "敏感词3"]
    for word in sensitive_words:
        if word in text:
            text = text.replace(word, "*")
    return text

A. 未考虑敏感词的大小写变体(如“敏感词1”和“敏感词1”)

B. 替换逻辑存在漏洞,可能导致部分敏感词遗漏(如叠词敏感词)

C. 敏感词列表硬编码,不便于动态更新和维护

D. 未处理文本为空的异常情况

E. 替换符号固定为“*”,无法适配不同场景的脱敏需求

答案:ACDE

解析:A. 代码未对文本和敏感词做大小写归一化处理,若用户输入大写/混合大小写的敏感词(如“敏感词1”),会因匹配失败无法过滤;C. 敏感词列表直接写在函数内部,新增/删除敏感词需修改代码,维护成本高,应存储在配置文件/数据库中实现动态更新;D. 若输入text为None或空字符串,调用text.replace()会抛出AttributeError,未做异常捕获;E. 固定用“”替换,无法满足不同场景的脱敏需求(如部分脱敏“敏词1”);B. 错误,基础替换逻辑对普通敏感词(含叠词)均能生效,不存在遗漏漏洞。

52题

关于大模型的 Few-shot 提示方法,以下描述正确的有哪些?

A. 核心是通过提供少量示例,引导模型理解任务要求

B. 示例数量越多越好,能显著提升模型效果

C. 示例需具备代表性,覆盖任务的核心场景

D. 适用于模型难以直接理解的复杂任务

E. 示例格式无需统一,模型可自动适配

答案:ACD

解析:A. Few-shot(少样本)提示的核心逻辑是利用3-5个高质量示例,让模型快速感知任务的输入输出模式;C. 示例需覆盖任务核心场景,才能让模型全面理解任务边界,避免片面学习;D. 对于规则复杂、语义模糊的任务(如复杂意图分类),仅靠文字描述难以让模型理解,Few-shot示例能直观展示逻辑,提升任务适配度;B. 错误,示例数量并非越多越好,过多示例会占用上下文窗口,导致模型注意力分散;E. 错误,示例格式必须统一,否则会混淆模型对任务格式的认知,降低效果。

53题

使用 LlamaIndex 加载 Excel 格式的文档时,应选择哪个 Loader?

A. SimpleDirectoryReader

B. ExcelLoader

C. PDFLoader

D. TextLoader

答案:B

解析:LlamaIndex 的 Loader 需与文档格式精准匹配;B. ExcelLoader 是专门用于加载 Excel 格式文档(.xlsx、.xls)的组件,能正确解析表格的行列数据并保留结构;A. SimpleDirectoryReader 是通用目录加载器,需配合对应格式 Loader 使用,并非专门加载 Excel;C. PDFLoader 仅用于加载 PDF 文档;D. TextLoader 仅用于加载纯文本文件,因此 B 正确。

54题

以下代码用于大模型微调的数据加载,请问代码的功能是什么?

Python
import json

def load_finetune_data(data_path):
    data = []
    with open(data_path, "r", encoding="utf-8") as f:
        for line in f:
            line = line.strip()
            if not line:
                continue
            json_data = json.loads(line)
            data.append({
                "input": json_data["prompt"],
                "output": json_data["response"]
            })
    return data

A. 加载 CSV 格式的微调数据,转换为列表格式

B. 加载 JSON 行格式的微调数据,提取输入输出对

C. 加载文本格式的微调数据,进行数据清洗

D. 加载 Excel 格式的微调数据,生成字典列表

答案:B

解析:代码核心逻辑是读取“JSON 行格式”文件(每行一个独立 JSON 字符串);逐行读取后跳过空行,通过json.loads(line)解析单行 JSON,提取prompt作为模型输入、response作为模型输出,最终组装为[{"input": "...", "output": "..."}]格式的列表返回;A. 无 CSV 解析逻辑(如csv.reader);C. 数据清洗(strip()、跳过空行)是次要操作,核心是提取输入输出对;D. 无 Excel 解析逻辑,因此 B 正确。

55题

在大模型 API 调用中,以下哪些参数用于控制输出内容的长度?

A. temperature

B. max_tokens

C. top_p

D. max_length

E. stop

答案:BDE

解析:B. max_tokens 是主流大模型 API 控制输出长度的核心参数,指定输出的最大 token 数量(如设置为 500 则最多生成 500 个 token);D. 部分 API 用max_length直接限制输出文本的字符/ token 长度;E. stop 参数通过设置停止符(如“###”“\n”),模型生成到停止符时立即终止,间接控制输出长度;A. temperature、C. top_p 仅控制输出随机性,与长度无关,因此 BDE 正确。

56题

以下哪些属于 RAG 系统中常见的文档预处理操作?

A. 文档格式转换(如 PDF 转文本)

B. 文本去重和错别字修正

C. 模型参数调优

D. 文本切片(Chunking)

E. 向量数据库索引构建

答案:ABD

解析:文档预处理是 RAG 系统“数据准备”阶段的核心,目标是将原始文档转换为模型可处理的格式;A. 格式转换能将非结构化的 PDF/图片等转换为纯文本,是预处理基础;B. 去重和纠错可提升数据质量,避免冗余/错误信息干扰检索;D. 文本切片能适配模型上下文窗口长度,拆分出语义完整的小片段;C. 模型参数调优属于“生成”环节;E. 索引构建属于“检索”环节,均不属于预处理,因此 ABD 正确。

57题

以下代码用于实现大模型的流式输出,请问存在哪些问题?

Python
def stream_llm_output(prompt):
    response = llm_client.chat.completions.create(
        model="qwen-max",
        messages=[{"role": "user", "content": prompt}],
        stream=False
    )
    for chunk in response:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="", flush=True)

A. 未设置 stream=True,无法实现流式输出

B. 循环遍历 response 的方式错误

C. 未处理 API 调用异常

D. 模型参数设置错误,应使用 stream=True 参数

答案:ACD

解析:A/D. 大模型 API 实现流式输出的核心是设置stream=True,代码中stream=False会让 API 返回完整响应而非逐段流式 chunk,是核心错误;C. 代码未添加try-except块,若 API 调用失败(如网络中断、Key 无效)会直接抛出异常,导致程序崩溃;B. 错误,若stream=True正确设置,循环遍历response的方式是流式输出的标准写法,因此 ACD 正确。

58题

关于大模型应用的用户数据安全,以下哪些做法是正确的?

A. 收集用户数据前获得用户明确授权

B. 对收集的用户敏感信息进行加密存储

C. 将用户数据直接用于大模型微调,提升模型效果

D. 数据使用完毕后及时删除,避免长期留存

E. 公开分享用户数据用于学术研究

答案:ABD

解析:A. 符合《个人信息保护法》,用户数据收集需遵循“告知-同意”原则,明确告知数据用途;B. 对敏感信息(手机号、身份证号、隐私内容)加密存储(如 AES 加密),能防止数据泄露;D. 遵循“数据最小留存”原则,使用完毕后及时删除,减少泄露风险;C. 错误,未经用户同意将数据用于微调违反隐私规定;E. 错误,公开分享用户数据会严重侵犯隐私,即使学术研究也需脱敏+授权,因此 ABD 正确。

59题

使用 LangChain 构建多轮对话应用时,以下哪个组件用于存储对话历史?

A. ConversationBufferMemory

B. LLMChain

C. PromptTemplate

D. Retriever

答案:A

解析:LangChain 中Memory类专门用于存储对话历史;A. ConversationBufferMemory 是基础的对话历史存储组件,能完整保留所有用户-模型的对话内容,为多轮对话提供上下文支持;B. LLMChain 用于串联模型和提示词,执行生成任务;C. PromptTemplate 用于构建提示词模板;D. Retriever 用于检索相关文档,均无对话历史存储功能,因此 A 正确。

60题

以下哪些指标可用于评估 RAG 系统的检索效果?

A. 精确率(Precision):检索到的相关文档占所有检索文档的比例

B. 困惑度(Perplexity):衡量模型生成文本的流畅度

C. 召回率(Recall):检索到的相关文档占所有相关文档的比例

D. F1 值:综合精确率和召回率的调和平均数

E. BLEU 分数:衡量生成文本与参考文本的相似度

答案:ACD

解析:检索效果评估核心关注“结果的相关性和完整性”;A. 精确率衡量检索结果的精准度(越少无关文档越好);C. 召回率衡量检索结果的完整性(越多相关文档越好);D. F1 值 = 2*(精确率*召回率)/(精确率+召回率),综合评估检索效果;B. 困惑度、E. BLEU 分数均用于评估模型生成内容的质量,与检索效果无关,因此 ACD 正确。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐