Nanbeige4.1-3B无障碍服务:视障用户语音交互适配+简洁指令响应优化实践
Nanbeige4.1-3B无障碍服务视障用户语音交互适配简洁指令响应优化实践1. 引言当AI遇见无障碍想象一下一位视障朋友想要用手机查询天气、发送消息或者听一段新闻。传统的图形界面和触摸操作对他们来说就像隔着一堵墙。他们需要的是能“听懂”他们说话并且能用最直接的方式“回答”他们的智能助手。这就是我们今天要聊的话题如何让一个强大的AI模型变成一个真正好用的无障碍服务助手。我们选中的主角是Nanbeige4.1-3B一个只有30亿参数但在推理和对话上表现非常出色的小型开源语言模型。这篇文章我会带你一步步把一个标准的AI模型改造成一个专门为视障用户设计的语音交互服务。我们不仅会部署它还会重点做两件事语音交互适配让模型能更好地理解和响应来自语音的、口语化的指令。简洁指令响应优化让模型的回答更直接、更精炼避免冗长的解释让信息获取效率最大化。无论你是开发者还是对AI无障碍应用感兴趣的朋友这篇文章都会给你一个清晰、可落地的实践指南。让我们开始吧。2. 为什么选择Nanbeige4.1-3B在开始动手之前你可能想问市面上模型那么多为什么偏偏是它对于无障碍服务这个场景Nanbeige4.1-3B有几个独特的优势让它成为了一个绝佳的选择。2.1 核心优势小而精快而准无障碍服务尤其是语音交互对响应速度有很高的要求。用户说完话如果等待时间过长体验会大打折扣。Nanbeige4.1-3B的“小身材”在这里成了大优势。推理速度快3B的参数量在消费级GPU甚至高端CPU上都能实现极快的推理速度能满足实时语音交互的低延迟要求。优秀的指令遵循能力根据官方介绍它在“偏好对齐”上表现突出。简单说就是它很“听话”能很好地理解并执行用户的指令这对于需要精确控制输出格式的无障碍服务至关重要。支持长上下文8K的上下文长度足以处理多轮对话。视障用户可能会连续发出多个指令或者进行复杂的追问这个能力保证了对话的连贯性。完全开源这意味着我们可以完全掌控它根据无障碍服务的特殊需求进行深度定制和优化没有黑盒子的限制。2.2 场景契合度分析我们把它的能力拆解一下看看如何对应到无障碍服务的需求上模型能力无障碍服务需求如何应用强大的逻辑推理理解用户模糊或复杂的语音请求如“帮我找一下昨天那个关于医保的新闻”。用于解析用户意图关联上下文信息。工具调用支持连接外部服务如查询天气、发送邮件、控制智能家居。作为智能体的“大脑”指挥调用具体的API。优秀的指令遵循要求回答格式简洁、直接或者执行特定操作。通过系统提示词System Prompt严格约束输出风格。中英文支持服务不同语言用户。实现多语言无障碍交互。简单来说我们需要一个反应快、听得懂、能办事、好控制的模型Nanbeige4.1-3B恰好在这几个维度上取得了很好的平衡。3. 基础环境搭建与模型部署工欲善其事必先利其器。我们先把这个“大脑”安装和启动起来。3.1 环境准备确保你的服务器或电脑满足以下基本要求。如果你使用云服务选择带有GPU的实例会获得更好的体验。# 1. 检查Python版本需要3.8或以上 python3 --version # 2. 创建并激活一个独立的Python环境强烈推荐避免包冲突 conda create -n nanbeige-a11y python3.10 -y conda activate nanbeige-a11y # 如果你没有conda也可以用venv # python3 -m venv nanbeige-a11y-env # source nanbeige-a11y-env/bin/activate3.2 安装依赖接下来安装运行模型所需的核心库。# 安装PyTorch请根据你的CUDA版本选择以下为CUDA 11.8示例 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装Transformers和加速库 pip install transformers4.51.0 accelerate0.20.0 # 安装Gradio用于快速构建Web测试界面 pip install gradio # 安装额外的工具库用于后续优化 pip install pydub # 音频处理如果需要本地测试语音3.3 下载与加载模型假设模型已经按照提供的路径存放好了。我们写一个简单的脚本来验证模型是否能正常加载和对话。创建一个文件叫test_model.pyimport torch from transformers import AutoModelForCausalLM, AutoTokenizer # 注意模型路径请替换为你实际的存放位置 model_path /root/ai-models/nanbeige/Nanbeige4___1-3B print(正在加载分词器...) tokenizer AutoTokenizer.from_pretrained( model_path, trust_remote_codeTrue # 对于自定义模型通常需要这个参数 ) print(正在加载模型...这可能需要几分钟请耐心等待...) model AutoModelForCausalLM.from_pretrained( model_path, torch_dtypetorch.bfloat16, # 使用bfloat16节省显存 device_mapauto, # 自动分配模型层到GPU/CPU trust_remote_codeTrue ) print(模型加载成功) # 准备一个简单的对话 messages [ {role: user, content: 你好请用一句话介绍你自己。} ] # 将对话格式化为模型接受的输入 input_ids tokenizer.apply_chat_template( messages, return_tensorspt ).to(model.device) # 生成回复 print(正在生成回复...) with torch.no_grad(): outputs model.generate( input_ids, max_new_tokens150, # 限制生成长度 temperature0.7, # 创造性值越低越确定 top_p0.9, # 核采样控制多样性 do_sampleTrue ) # 解码并打印结果 response tokenizer.decode(outputs[0][len(input_ids[0]):], skip_special_tokensTrue) print(\n 模型回复 ) print(response) print(\n)运行这个脚本python test_model.py如果一切顺利你会看到模型的自我介绍。恭喜你模型的基础运行环境已经搭建完成接下来我们要开始为它注入“无障碍服务”的灵魂。4. 核心优化一语音交互指令适配视障用户通过语音输入其指令往往是口语化、碎片化甚至是不完整的。比如他们可能说“天气怎么样”而不是“请查询我当前所在城市的天气情况并播报”。我们的首要任务就是教模型更好地理解这种“人话”。4.1 设计专用的系统提示词System Prompt系统提示词是引导模型行为的最关键指令。我们将设计一个专门针对无障碍语音助手的提示词。创建一个新的Python脚本voice_assistant.py我们先定义核心的提示词import torch from transformers import AutoModelForCausalLM, AutoTokenizer class A11yVoiceAssistant: def __init__(self, model_path): self.tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) self.model AutoModelForCausalLM.from_pretrained( model_path, torch_dtypetorch.bfloat16, device_mapauto, trust_remote_codeTrue ) # 核心无障碍语音助手系统提示词 self.system_prompt 你是一个专为视障用户设计的语音助手名字叫“小南”。你的核心原则是 1. **理解口语化指令**用户会说“打开灯”、“念新闻”、“今天冷吗”等简短口语。你要能准确理解其意图。 2. **主动澄清模糊**如果用户指令模糊如“它”应主动询问确认如“您指的是刚才提到的新闻还是消息”。 3. **忽略无关细节**用户语音中可能包含“嗯”、“那个”等语气词或重复你要提取核心指令。 4. **响应准备**你的回复将直接转换为语音播报给用户因此要确保语言流畅、自然、适合收听。 请严格遵守以上原则。现在请开始帮助用户 def chat(self, user_input): # 构建完整的对话历史在实际应用中这里会包含多轮历史 messages [ {role: system, content: self.system_prompt}, {role: user, content: user_input} ] # 应用聊天模板并生成 input_ids self.tokenizer.apply_chat_template( messages, return_tensorspt ).to(self.model.device) with torch.no_grad(): outputs self.model.generate( input_ids, max_new_tokens256, temperature0.6, top_p0.95, do_sampleTrue, repetition_penalty1.1 # 轻微惩罚重复让回答更简洁 ) # 解码时只取模型新生成的部分 full_response self.tokenizer.decode(outputs[0], skip_special_tokensTrue) # 简单地从完整响应中提取助手回复实际应用可能需要更精确的解析 # 这里假设最后一段是助手回复 response_lines full_response.split(\n) for line in reversed(response_lines): if line.strip() and not line.startswith(用户:) and not line.startswith(User:): # 找到最后一个非空且不是用户输入的行 return line.strip() return full_response.split(self.system_prompt)[-1].strip() # 备选方案 # 使用示例 if __name__ __main__: assistant A11yVoiceAssistant(/root/ai-models/nanbeige/Nanbeige4___1-3B) test_queries [ 嗯...今天天气怎么样, 帮我给张三发个消息说晚上开会。, 它到了吗, # 模糊指代 念一下最新的科技新闻标题。 ] for query in test_queries: print(f用户: {query}) response assistant.chat(query) print(f助手: {response}\n)运行这个脚本你会看到模型已经开始尝试以“小南”的身份用更贴近语音助手的方式来回应用户。对于模糊指令“它到了吗”一个好的回答应该是追问进行澄清而不是胡乱猜测。4.2 实现指令归一化与意图识别增强版为了让模型更鲁棒我们可以在将用户输入交给模型之前先进行一层简单的预处理将常见的口语指令“归一化”成更清晰的表述。这相当于给模型加了一个“前处理插件”。我们在A11yVoiceAssistant类中添加一个方法class A11yVoiceAssistant: # ... __init__ 等代码不变 ... def _preprocess_input(self, user_input): 预处理用户输入进行简单的指令归一化 input_lower user_input.lower().strip() # 定义一个简单的映射规则在实际项目中这部分可以用更复杂的NLP模型或规则引擎 normalization_map { r今天(.*)天气: 查询今日天气, r明天(.*)天气: 查询明日天气, r现在几点了: 查询当前时间, r讲个笑话: 请求讲一个笑话, r打开(.*)灯: 控制智能家居开灯, r关闭(.*)灯: 控制智能家居关灯, r念(.*)新闻: 播报新闻, r发(.*)消息给: 发送即时消息, # 可以继续添加更多规则 } normalized_intent None for pattern, intent in normalization_map.items(): if re.search(pattern, input_lower): normalized_intent intent break # 如果识别到明确意图可以将其作为上下文的一部分增强给模型 # 这里我们选择不修改原始输入而是记录意图在构造prompt时使用 # 为了简单演示我们直接返回原输入但记录意图 self.last_detected_intent normalized_intent return user_input def chat(self, user_input): processed_input self._preprocess_input(user_input) # 在系统提示词中融入检测到的意图如果存在 effective_system_prompt self.system_prompt if hasattr(self, last_detected_intent) and self.last_detected_intent: effective_system_prompt f\n系统检测到用户意图可能为{self.last_detected_intent}请据此优先理解。 messages [ {role: system, content: effective_system_prompt}, {role: user, content: processed_input} ] # ... 后续生成代码不变 ...这个预处理模块虽然简单但能有效处理一些高度模式化的指令为模型理解提供额外线索特别是在语音识别可能出错的情况下增加了一层保障。5. 核心优化二简洁指令响应优化对于视障用户通过语音收听信息冗长的回答是一种负担。我们需要训练模型“长话短说”直接给出核心信息。5.1 优化生成参数与提示词约束生成参数直接影响输出的风格。我们已经在前面的chat方法中设置了一些参数max_new_tokens256,repetition_penalty1.1。我们可以进一步调整并强化提示词。修改system_prompt增加对简洁性的强制要求self.system_prompt 你是一个专为视障用户设计的语音助手名字叫“小南”。你的核心原则是 1. **理解口语化指令**用户会说“打开灯”、“念新闻”、“今天冷吗”等简短口语。你要能准确理解其意图。 2. **主动澄清模糊**如果用户指令模糊如“它”应主动询问确认如“您指的是刚才提到的新闻还是消息”。 3. **忽略无关细节**用户语音中可能包含“嗯”、“那个”等语气词或重复你要提取核心指令。 4. **响应准备**你的回复将直接转换为语音播报给用户。 5. **【强制简洁】你的回答必须极其简洁直接给出结果或执行确认避免任何解释性、介绍性、客套性语言。除非用户明确要求详细说明。** **简洁回答示例** - 用户“天气怎么样” - 助手“北京晴15到22度。” - 用户“给张三发消息说开会。” - 助手“消息已发送。” - 用户“现在几点” - 助手“下午3点20分。” - 用户“讲个笑话。” - 助手“为什么程序员分不清万圣节和圣诞节因为Oct 31 Dec 25。” 请严格遵守以上原则尤其是简洁性。现在请开始帮助用户同时调整生成参数鼓励更确定、更简短的输出with torch.no_grad(): outputs self.model.generate( input_ids, max_new_tokens150, # 进一步限制最大生成长度 temperature0.3, # 降低温度减少随机性让输出更确定、更简洁 top_p0.85, # 降低top-p进一步限制候选词范围 do_sampleTrue, repetition_penalty1.2, # 增加重复惩罚避免啰嗦 no_repeat_ngram_size3, # 禁止3个词的组合重复出现 early_stoppingTrue # 一旦生成结束标记就停止 )5.2 后处理精简模型输出即使有上述约束模型有时仍会输出多余内容。我们可以添加一个后处理步骤进行最终的精简。在chat方法中获取原始回复后添加一个后处理函数def _postprocess_response(self, raw_response): 后处理响应确保简洁性 # 1. 去除常见的冗余开头 redundant_prefixes [好的, 明白了, 根据您的问题, 您想问的是, 关于您提到的, 作为您的助手] for prefix in redundant_prefixes: if raw_response.startswith(prefix): raw_response raw_response[len(prefix):].lstrip() # 2. 如果回答以句号、问号、感叹号结束且长度适中直接返回 # 如果回答很长尝试提取第一句话通常是最核心的信息 if len(raw_response) 80: # 假设超过80字符算长回答 sentences raw_response.split(。) if sentences: # 返回第一句完整的话 core_response sentences[0] 。 # 如果第一句还是很长可能是没有句号的列举则截断 if len(core_response) 100: core_response raw_response[:100] ... return core_response # 3. 去除首尾空白 return raw_response.strip()然后在chat方法中在返回响应前调用它# ... 生成 outputs 并解码得到 full_response ... assistant_reply self._extract_assistant_reply(full_response) # 假设有这个提取方法 concise_reply self._postprocess_response(assistant_reply) return concise_reply通过提示词约束、生成参数调优、后处理这三板斧我们可以显著提升模型回复的简洁度和直接性。6. 构建完整的无障碍服务测试接口现在我们把优化后的模型封装成一个简单的Web服务方便测试。我们将使用Gradio快速搭建一个界面模拟语音输入文本模拟和语音输出文本转语音模拟。创建一个新文件app.pyimport gradio as gr from voice_assistant import A11yVoiceAssistant # 导入我们上面写的类 import time # 初始化助手 assistant A11yVoiceAssistant(/root/ai-models/nanbeige/Nanbeige4___1-3B) def respond(message, history): 处理用户消息并返回助手响应 # 模拟语音识别和处理延迟 time.sleep(0.5) # 调用我们的优化助手 bot_response assistant.chat(message) # 模拟语音播报的节奏逐句返回这里简化一次性返回 # 在实际中这里可以调用TTS接口 return bot_response # 模拟一些常见的无障碍指令按钮 common_commands [现在几点, 今天天气怎样, 有什么新闻, 讲个笑话, 打开客厅灯] # 构建Gradio界面 with gr.Blocks(titleNanbeige 无障碍语音助手测试平台) as demo: gr.Markdown(# Nanbeige4.1-3B 无障碍语音助手测试) gr.Markdown(这是一个为视障用户优化的语音交互界面模拟。您可以在下方输入框输入指令或点击常用指令按钮。) chatbot gr.Chatbot( label对话记录, height400, bubble_full_widthFalse, avatar_images(None, ) # 用户无头像助手用机器人头像 ) with gr.Row(): msg gr.Textbox( label请输入您的指令模拟语音输入, placeholder例如天气怎么样, scale4 ) submit_btn gr.Button(发送, variantprimary, scale1) with gr.Row(): for cmd in common_commands: gr.Button(cmd, sizesm).click( fnlambda ccmd: c, # 将按钮文本填入输入框 inputsNone, outputsmsg ) clear_btn gr.Button(清空对话) # 设置交互 def user(user_message, history): return , history [[user_message, None]] def bot(history): user_message history[-1][0] bot_message respond(user_message, history[:-1]) history[-1][1] bot_message return history msg.submit(user, [msg, chatbot], [msg, chatbot], queueFalse).then( bot, chatbot, chatbot ) submit_btn.click(user, [msg, chatbot], [msg, chatbot], queueFalse).then( bot, chatbot, chatbot ) clear_btn.click(lambda: None, None, chatbot, queueFalse) if __name__ __main__: # 在服务器上运行允许外部访问 demo.launch(server_name0.0.0.0, server_port7860, shareFalse)运行这个应用python app.py然后在浏览器中访问http://你的服务器IP:7860你就可以看到一个简单的聊天界面。尝试输入一些简短的口语化指令观察优化后的助手如何回应。点击常用指令按钮可以快速测试。7. 总结与展望通过以上步骤我们完成了一个针对视障用户语音交互场景的Nanbeige4.1-3B模型适配与优化实践。我们来回顾一下关键点7.1 实践要点回顾模型选型是基础Nanbeige4.1-3B凭借其小巧、快速、听话指令遵循好的特点非常适合作为实时无障碍服务的“大脑”。系统提示词是灵魂精心设计的提示词能够从根本上约束模型的行为模式使其理解口语化、模糊指令并强制输出简洁回答。预处理与后处理是保障在模型推理前后加入简单的规则引擎指令归一化、响应精简可以显著提升系统的鲁棒性和用户体验。生成参数需微调降低temperature、top-p设置repetition_penalty和no_repeat_ngram_size等参数是获得简洁、确定输出的有效技术手段。快速原型验证使用Gradio等工具能快速搭建测试界面验证优化效果加速开发迭代。7.2 未来优化方向这只是一个起点。一个成熟的无障碍AI服务还有很长的路要走与真实ASR/TTS集成替换文本模拟接入真实的语音识别ASR和文本转语音TTS服务形成完整闭环。上下文记忆与管理实现真正的多轮对话记住用户偏好和历史指令。工具调用集成将模型与查询天气、发送消息、控制家居等具体API连接让它从“聊天”走向“办事”。个性化与学习让模型能适应用户的语言习惯和常用指令越用越顺手。性能与成本优化探索模型量化、推理加速等技术在更低成本的硬件上提供服务。希望这个实践指南能为你打开一扇门。技术的价值在于解决真实世界的问题。用AI的力量消除数字鸿沟让每个人都能平等、便捷地获取信息与服务这是一件非常有意义的事情。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻

手把手教你用FireRedASR-AED-L做语音转文字

手把手教你用FireRedASR-AED-L做语音转文字

手把手教你用FireRedASR-AED-L做语音转文字 还在为语音转文字发愁吗?无论是会议录音、采访记录还是语音笔记,手动整理既费时又容易出错。今天带你用FireRedASR-AED-L这款强大的本地语音识别工具,轻松搞定各种音频转文字需求。 1. 什么是FireR…

2026/7/7 11:43:31 阅读更多 →
SpringBoot+Vue 大学生迎新系统管理平台源码【适合毕设/课设/学习】Java+MySQL

SpringBoot+Vue 大学生迎新系统管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着高等教育规模的不断扩大,高校迎新工作面临着越来越大的挑战。传统的迎新方式主要依赖人工操作,效率低下且容易出错,难以满足现代化管理的需求。特别是在新生信息登记、宿舍分配、缴费管理等环节,缺乏统一的信息化平台导致…

2026/5/17 7:21:09 阅读更多 →
零基础教程:VideoAgentTrek Screen Filter 一键部署与使用指南

零基础教程:VideoAgentTrek Screen Filter 一键部署与使用指南

零基础教程:VideoAgentTrek Screen Filter 一键部署与使用指南 你是不是经常需要处理大量的屏幕截图?比如,从一堆截图中找出特定的窗口、按钮或者界面元素,然后手动标注出来。这个过程不仅枯燥,还特别费时间。今天&am…

2026/5/17 2:22:10 阅读更多 →

最新新闻

终极小说下载器指南:轻松收藏全网小说,打造个人数字图书馆

终极小说下载器指南:轻松收藏全网小说,打造个人数字图书馆

终极小说下载器指南:轻松收藏全网小说,打造个人数字图书馆 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 在数字内容快速变化的今天,你是否曾因心…

2026/7/7 14:04:42 阅读更多 →
免费解锁Wand专业版:三步实现无限游戏修改体验

免费解锁Wand专业版:三步实现无限游戏修改体验

免费解锁Wand专业版:三步实现无限游戏修改体验 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 想要摆脱Wand免费版的2小时限制,享…

2026/7/7 14:04:42 阅读更多 →
安全触边是什么?主要具备哪些防撞特性与应用场景?

安全触边是什么?主要具备哪些防撞特性与应用场景?

安全触边是一种高效的防撞系统,主要用于提升机械设备的安全性。当它与障碍物接触时,会利用触压功能迅速向控制器发送信号,自动停止设备,显著降低意外夹伤风险。这一技术被广泛应用于多种设备中、包括AGV小车、轮胎成型机和自动门&…

2026/7/7 14:02:41 阅读更多 →
MC6470与PIC18F86K22的6DOF姿态控制实战

MC6470与PIC18F86K22的6DOF姿态控制实战

1. MC6470与PIC18F86K22的硬件协同架构解析MC6470作为一款6自由度惯性测量单元(6DOF IMU),其核心价值在于集成了三轴加速度计和三轴陀螺仪。与常见的MPU6050相比,MC6470的IC接口最高支持400kHz时钟频率,且内置的1024字节FIFO缓冲区在高速数据…

2026/7/7 14:02:41 阅读更多 →
无限制OCR技术解析:突破长文档处理瓶颈的流式架构与实践

无限制OCR技术解析:突破长文档处理瓶颈的流式架构与实践

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 你有没有遇到过这样的情况:在处理一份几十页的扫描文档时,OCR工具要么卡死,要么只能识别前几页&am…

2026/7/7 14:02:41 阅读更多 →
终极指南:在DSM 7.2.2上重新安装Video Station的完整解决方案

终极指南:在DSM 7.2.2上重新安装Video Station的完整解决方案

终极指南:在DSM 7.2.2上重新安装Video Station的完整解决方案 【免费下载链接】Video_Station_for_DSM_722 Script to install Video Station in DSM 7.2.2 and DSM 7.3 项目地址: https://gitcode.com/gh_mirrors/vi/Video_Station_for_DSM_722 还在为群晖D…

2026/7/7 14:00:41 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻