GLM-4V-9B新手入门:从零开始,10分钟搭建多模态AI应用
GLM-4V-9B新手入门从零开始10分钟搭建多模态AI应用想不想让电脑像人一样既能看懂图片里的内容又能跟你聊天讨论今天要介绍的GLM-4V-9B就是一个能同时理解图片和文字的“聪明大脑”。它只有90亿参数一张RTX 4090显卡就能跑起来但能力却相当惊人——在多项测试中甚至超过了GPT-4 Turbo这样的顶级模型。最吸引人的是它原生支持1120×1120的高分辨率图片输入这意味着表格里的小字、图表里的细节、照片中的纹理它都能看得清清楚楚。而且对中文支持特别好无论是识别中文图表还是回答中文问题表现都很出色。这篇文章就是为你准备的入门指南。我会带你从零开始用最简单的方式在10分钟内搭建起一个可用的GLM-4V-9B应用。不需要你懂复杂的深度学习理论也不需要你配置繁琐的环境跟着步骤走就行。1. 准备工作了解你需要什么在开始动手之前我们先看看需要准备些什么。放心要求并不高。1.1 硬件要求GLM-4V-9B对硬件的要求相当友好这也是它的一大优势。下面是不同配置下的需求最低配置能跑起来内存32GB以上显卡显存8GB以上支持CUDA系统LinuxDebian系列最好Windows和macOS也能用但可能需要额外配置推荐配置跑得流畅内存64GB显卡RTX 409024GB显存或同级别显卡系统Ubuntu 22.04关于显存的小知识如果用FP16精度全精度模型需要约18GB显存如果用INT4量化压缩版只需要约9GB显存量化会稍微降低一点精度但对大多数应用来说几乎感觉不到差别如果你手头没有这么强的显卡也不用担心。现在有很多云服务提供GPU租赁按小时计费搭建测试环境成本很低。1.2 软件环境软件方面就更简单了Python 3.10或更高版本PyTorch 2.0以上transformers库Hugging Face的模型库这些都可以用pip一键安装后面我会给出具体的安装命令。1.3 模型下载GLM-4V-9B是完全开源的你可以直接从Hugging Face下载。模型大小约18GBFP16版本如果网络条件好下载速度还是很快的。如果下载速度慢也可以从国内的镜像站下载很多高校和研究机构都提供了镜像。2. 快速部署10分钟搭建完成好了了解完需求我们现在开始动手。我会分步骤详细说明确保你能跟着做。2.1 第一步安装基础环境打开你的终端Linux/macOS或命令提示符Windows依次执行以下命令# 创建并进入项目目录 mkdir glm-4v-demo cd glm-4v-demo # 创建Python虚拟环境推荐避免包冲突 python -m venv venv # 激活虚拟环境 # Linux/macOS: source venv/bin/activate # Windows: venv\Scripts\activate # 安装PyTorch根据你的CUDA版本选择 # CUDA 11.8: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 或者CUDA 12.1: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 如果不用CUDACPU模式 pip install torch torchvision torchaudio # 安装transformers和其他依赖 pip install transformers pillow accelerate这里有几个小提示如果你不确定CUDA版本可以在终端输入nvidia-smi查看安装过程可能需要几分钟取决于你的网速如果遇到网络问题可以尝试使用国内镜像源比如清华源2.2 第二步下载模型模型下载有两种方式我推荐第一种更简单。方式一使用transformers自动下载推荐from transformers import AutoModelForCausalLM, AutoTokenizer import torch # 这会自动从Hugging Face下载模型 # 第一次运行需要一些时间模型大小约18GB model_name THUDM/glm-4v-9b print(开始下载模型请耐心等待...) tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( model_name, torch_dtypetorch.bfloat16, # 使用bfloat16精度节省显存 low_cpu_mem_usageTrue, trust_remote_codeTrue ).cuda().eval() # 加载到GPU并设置为评估模式 print(模型下载完成)方式二手动下载后加载如果自动下载太慢你可以先手动下载模型文件然后从本地加载# 假设你把模型下载到了 ./models/glm-4v-9b 目录 local_path ./models/glm-4v-9b tokenizer AutoTokenizer.from_pretrained(local_path, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( local_path, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, trust_remote_codeTrue ).cuda().eval()2.3 第三步编写第一个测试程序现在我们来写一个简单的测试程序看看模型能不能正常工作。创建一个新文件test_glm4v.py输入以下代码import torch from PIL import Image from transformers import AutoModelForCausalLM, AutoTokenizer import time # 设置设备 device cuda if torch.cuda.is_available() else cpu print(f使用设备: {device}) # 加载模型和分词器 print(加载模型中...) start_time time.time() tokenizer AutoTokenizer.from_pretrained(THUDM/glm-4v-9b, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( THUDM/glm-4v-9b, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, trust_remote_codeTrue ).to(device).eval() load_time time.time() - start_time print(f模型加载完成耗时: {load_time:.2f}秒) # 准备图片和问题 # 这里我们用一个网络图片URL作为示例你也可以用本地图片 image_url https://example.com/sample.jpg # 替换成你的图片URL # 或者用本地图片 # image_path your_image.jpg print(\n准备测试图片识别能力...) # 方法1使用网络图片 import requests from io import BytesIO response requests.get(image_url) image Image.open(BytesIO(response.content)).convert(RGB) # 方法2使用本地图片取消注释下面这行 # image Image.open(image_path).convert(RGB) # 准备问题 query 描述这张图片的内容 # 构建输入 inputs tokenizer.apply_chat_template( [{role: user, image: image, content: query}], add_generation_promptTrue, tokenizeTrue, return_tensorspt, return_dictTrue ) inputs inputs.to(device) # 生成设置 gen_kwargs { max_length: 500, # 最大生成长度 do_sample: True, # 使用采样 top_k: 50, # 只从概率最高的50个词中选 temperature: 0.7, # 温度参数控制随机性 } # 生成回答 print(生成回答中...) with torch.no_grad(): outputs model.generate(**inputs, **gen_kwargs) outputs outputs[:, inputs[input_ids].shape[1]:] # 只取生成的部分 response tokenizer.decode(outputs[0], skip_special_tokensTrue) print(\n *50) print(模型回答:) print(response) print(*50)运行这个程序python test_glm4v.py如果一切正常你会看到模型加载的进度然后它会分析你提供的图片并给出描述。3. 实际应用让GLM-4V-9B帮你做事模型跑起来了现在来看看它能做什么。GLM-4V-9B的能力远不止描述图片那么简单。3.1 基础功能演示让我们创建一个更完整的示例展示它的多种能力import torch from PIL import Image from transformers import AutoModelForCausalLM, AutoTokenizer import base64 from io import BytesIO class GLM4VAssistant: def __init__(self, model_pathTHUDM/glm-4v-9b): 初始化助手 self.device cuda if torch.cuda.is_available() else cpu print(f初始化GLM-4V-9B助手使用设备: {self.device}) # 加载模型 self.tokenizer AutoTokenizer.from_pretrained( model_path, trust_remote_codeTrue ) self.model AutoModelForCausalLM.from_pretrained( model_path, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, trust_remote_codeTrue ).to(self.device).eval() print(助手初始化完成) def process_image_query(self, image_path, question): 处理图片和问题 # 加载图片 image Image.open(image_path).convert(RGB) # 构建对话 messages [{ role: user, image: image, content: question }] # 准备输入 inputs self.tokenizer.apply_chat_template( messages, add_generation_promptTrue, tokenizeTrue, return_tensorspt, return_dictTrue ) inputs inputs.to(self.device) # 生成参数 gen_kwargs { max_length: 1000, do_sample: True, top_k: 50, temperature: 0.7, } # 生成回答 with torch.no_grad(): outputs self.model.generate(**inputs, **gen_kwargs) outputs outputs[:, inputs[input_ids].shape[1]:] response self.tokenizer.decode(outputs[0], skip_special_tokensTrue) return response def multi_turn_chat(self, image_path, conversation): 多轮对话 conversation格式: [ {role: user, content: 问题1, image: image1}, {role: assistant, content: 回答1}, {role: user, content: 问题2, image: image2}, ] # 如果有图片需要先处理 processed_messages [] for msg in conversation: if image in msg and isinstance(msg[image], str): # 如果是图片路径加载图片 image Image.open(msg[image]).convert(RGB) processed_msg msg.copy() processed_msg[image] image processed_messages.append(processed_msg) else: processed_messages.append(msg) # 准备输入 inputs self.tokenizer.apply_chat_template( processed_messages, add_generation_promptTrue, tokenizeTrue, return_tensorspt, return_dictTrue ) inputs inputs.to(self.device) # 生成参数 gen_kwargs { max_length: 1500, do_sample: True, top_k: 50, temperature: 0.7, } # 生成回答 with torch.no_grad(): outputs self.model.generate(**inputs, **gen_kwargs) outputs outputs[:, inputs[input_ids].shape[1]:] response self.tokenizer.decode(outputs[0], skip_special_tokensTrue) return response # 使用示例 if __name__ __main__: # 创建助手实例 assistant GLM4VAssistant() print(\n *60) print(示例1: 图片描述) print(*60) # 示例1: 简单图片描述 image_path example.jpg # 替换成你的图片路径 question 详细描述这张图片的内容 response assistant.process_image_query(image_path, question) print(f问题: {question}) print(f回答: {response}) print(\n *60) print(示例2: 图表分析) print(*60) # 示例2: 图表分析假设有一张图表图片 chart_image chart.png # 替换成你的图表图片 chart_question 分析这个图表告诉我主要趋势和关键数据 chart_response assistant.process_image_query(chart_image, chart_question) print(f问题: {chart_question}) print(f回答: {chart_response}) print(\n *60) print(示例3: 多轮对话) print(*60) # 示例3: 多轮对话 conversation [ { role: user, image: product.jpg, # 产品图片 content: 这是什么产品 }, { role: assistant, content: 这是一款智能手机从外观设计来看应该是高端机型。 }, { role: user, content: 它的屏幕尺寸大概是多少从图片能判断吗 # 注意这里没有新图片模型会记住之前的图片 } ] multi_response assistant.multi_turn_chat(product.jpg, conversation) print(对话历史:) for msg in conversation: print(f{msg[role]}: {msg.get(content, [图片])}) print(f最新回答: {multi_response})这个示例展示了GLM-4V-9B的三个核心能力图片内容描述能详细描述图片中的场景、物体、人物等图表数据分析能看懂图表分析趋势提取关键信息多轮对话能记住之前的对话内容进行连贯的交流3.2 实际应用场景GLM-4V-9B在实际工作中能帮我们做很多事情电商场景自动生成商品描述上传商品图片自动生成详细的商品介绍客服问答用户发来商品图片问问题自动回答尺寸、材质、使用方法等商品分类根据图片自动给商品分类内容创作图片配文给社交媒体图片自动生成吸引人的文案视频脚本根据场景图片生成视频脚本创意写作用图片作为灵感来源生成故事或诗歌教育学习作业辅导学生上传题目图片自动解答和讲解图表理解帮助学生理解复杂的统计图表实验指导根据实验装置图片给出操作步骤办公自动化文档处理识别扫描文档中的表格和图表会议纪要根据会议白板照片生成会议记录数据分析自动分析报表中的图表数据4. 进阶技巧提升使用效果基本的用法掌握了现在来看看如何让GLM-4V-9B发挥更好的效果。4.1 优化生成参数模型的回答质量很大程度上取决于生成参数。下面是一些常用的参数设置技巧def optimize_generation(question, image_path, modedetailed): 根据不同模式优化生成参数 mode可选: - detailed: 详细描述模式 - creative: 创意模式 - accurate: 精确模式 - fast: 快速模式 # 基础参数配置 base_config { detailed: { max_length: 800, do_sample: True, top_k: 30, temperature: 0.8, repetition_penalty: 1.1 }, creative: { max_length: 600, do_sample: True, top_k: 100, temperature: 1.2, repetition_penalty: 1.05 }, accurate: { max_length: 400, do_sample: False, # 使用贪婪搜索更确定 top_k: 1, temperature: 0.3, repetition_penalty: 1.2 }, fast: { max_length: 300, do_sample: True, top_k: 10, temperature: 0.5, repetition_penalty: 1.0 } } config base_config.get(mode, base_config[detailed]) # 这里可以添加具体的生成代码 return config # 使用示例 detailed_config optimize_generation(描述这张图片, image.jpg, detailed) print(详细描述模式配置:, detailed_config)参数解释max_length生成的最大长度根据需求调整temperature控制随机性值越高越有创意值越低越确定top_k只从概率最高的k个词中采样平衡质量和多样性repetition_penalty惩罚重复避免模型说车轱辘话4.2 提示词工程技巧好的提示词能让模型表现更好。下面是一些实用的提示词技巧def get_enhanced_prompts(image_type): 根据图片类型返回优化后的提示词模板 templates { product: { description: 请详细描述这张产品图片包括1. 产品名称和类型 2. 外观设计特点 3. 材质和颜色 4. 可能的功能特点 5. 适合的使用场景, qa: 基于这张产品图片请回答以下问题{question}。回答时要专业、准确如果不确定请说明。 }, chart: { description: 请分析这个图表内容包括1. 图表类型和标题 2. 横纵坐标含义 3. 数据趋势分析 4. 关键数据点 5. 可能的结论和建议, qa: 关于这个图表{question}。请基于图表数据回答引用具体数值。 }, scene: { description: 请描述这个场景包括1. 场景地点和环境 2. 主要人物或物体 3. 正在发生的活动 4. 氛围和情绪 5. 细节观察, qa: 对于这个场景{question}。请基于图片内容详细回答。 }, document: { description: 请识别这份文档内容包括1. 文档类型 2. 主要标题和章节 3. 关键信息点 4. 表格或图表内容 5. 整体总结, qa: 关于这份文档{question}。请准确提取文档信息回答。 } } return templates.get(image_type, { description: 请描述这张图片的内容, qa: {question} }) # 使用示例 product_prompts get_enhanced_prompts(product) print(产品图片描述提示词:, product_prompts[description]) print(产品图片问答提示词:, product_prompts[qa].format(question这个产品的主要卖点是什么))4.3 处理大图片和高分辨率GLM-4V-9B支持1120×1120的高分辨率但处理大图片时需要注意from PIL import Image def prepare_image_for_glm4v(image_path, max_size1120): 预处理图片适应GLM-4V-9B的输入要求 # 打开图片 image Image.open(image_path).convert(RGB) # 获取原始尺寸 width, height image.size # 计算缩放比例 if max(width, height) max_size: # 等比例缩放 if width height: new_width max_size new_height int(height * (max_size / width)) else: new_height max_size new_width int(width * (max_size / height)) # 高质量缩放 image image.resize((new_width, new_height), Image.Resampling.LANCZOS) # 可选转换为RGB格式确保兼容性 if image.mode ! RGB: image image.convert(RGB) print(f图片预处理完成: {width}x{height} - {image.size[0]}x{image.size[1]}) return image # 使用示例 processed_image prepare_image_for_glm4v(large_image.jpg)4.4 批量处理技巧如果需要处理多张图片可以使用批量处理提高效率import os from concurrent.futures import ThreadPoolExecutor class BatchProcessor: def __init__(self, assistant, max_workers2): self.assistant assistant self.max_workers max_workers def process_batch(self, image_question_pairs): 批量处理图片和问题 image_question_pairs: [(image_path1, question1), (image_path2, question2), ...] 返回: [(question1, answer1), (question2, answer2), ...] results [] def process_single(pair): image_path, question pair try: answer self.assistant.process_image_query(image_path, question) return (question, answer, success) except Exception as e: return (question, str(e), error) # 使用线程池并行处理 with ThreadPoolExecutor(max_workersself.max_workers) as executor: futures [executor.submit(process_single, pair) for pair in image_question_pairs] for future in futures: question, result, status future.result() results.append({ question: question, answer: result, status: status }) return results # 使用示例 if __name__ __main__: assistant GLM4VAssistant() processor BatchProcessor(assistant) # 准备批量任务 tasks [ (image1.jpg, 描述这张图片), (image2.jpg, 图片里有什么), (image3.jpg, 分析这个图表), ] print(开始批量处理...) results processor.process_batch(tasks) for i, result in enumerate(results): print(f\n任务 {i1}:) print(f问题: {result[question]}) print(f状态: {result[status]}) if result[status] success: print(f回答: {result[answer][:200]}...) # 只显示前200字符5. 常见问题与解决方案在实际使用中你可能会遇到一些问题。这里整理了一些常见问题和解决方法。5.1 显存不足问题问题运行模型时出现CUDA out of memory错误。解决方案使用量化版本# 使用4位量化显存需求减半 model AutoModelForCausalLM.from_pretrained( THUDM/glm-4v-9b, torch_dtypetorch.float16, load_in_4bitTrue, # 4位量化 low_cpu_mem_usageTrue, trust_remote_codeTrue ).cuda().eval()使用CPU卸载显存非常有限时from accelerate import init_empty_weights, load_checkpoint_and_dispatch # 先空权重初始化 with init_empty_weights(): model AutoModelForCausalLM.from_pretrained( THUDM/glm-4v-9b, torch_dtypetorch.float16, trust_remote_codeTrue ) # 然后分块加载 model load_checkpoint_and_dispatch( model, THUDM/glm-4v-9b, device_mapauto, max_memory{0: 10GB, cpu: 30GB} # 指定显存和内存分配 )减小图片尺寸# 在预处理时减小图片尺寸 def resize_image(image, max_dim768): width, height image.size if max(width, height) max_dim: # 等比例缩小 ratio max_dim / max(width, height) new_size (int(width * ratio), int(height * ratio)) image image.resize(new_size, Image.Resampling.LANCZOS) return image5.2 回答质量不佳问题模型的回答太简短、不准确或跑题。解决方案优化提示词# 不好的提示词 question 这是什么 # 好的提示词 question 请详细描述这张图片包括 1. 图片中的主要物体是什么 2. 它们的颜色、形状、大小 3. 场景的环境和背景 4. 可能正在发生的活动 5. 整体的氛围和感觉 请用中文回答回答要详细具体。调整生成参数# 增加生成长度和温度 gen_kwargs { max_length: 800, # 增加最大长度 do_sample: True, top_k: 50, temperature: 0.9, # 提高温度增加多样性 repetition_penalty: 1.2, # 增加重复惩罚 }使用多轮对话引导# 先问简单问题再问复杂问题 conversation [ {role: user, image: image, content: 图片里有什么}, {role: assistant, content: 图片里有一台笔记本电脑和一杯咖啡。}, {role: user, content: 请详细描述这个工作场景适合什么样的工作环境} ]5.3 处理速度慢问题模型推理速度慢特别是处理多张图片时。解决方案使用vLLM加速如果支持# vLLM可以显著提升推理速度 from vllm import LLM, SamplingParams llm LLM(modelTHUDM/glm-4v-9b) sampling_params SamplingParams(temperature0.7, top_k50, max_tokens500)批量处理# 一次处理多张图片 def batch_process(images, questions): # 将多张图片和问题组合 batch_inputs [] for img, q in zip(images, questions): batch_inputs.append([{role: user, image: img, contentvest: q}]) # 批量处理 outputs model.generate_batch(batch_inputs) return outputs缓存模型加载# 使用单例模式避免重复加载模型 class ModelCache: _instance None classmethod def get_model(cls): if cls._instance is None: print(首次加载模型...) cls._instance GLM4VAssistant() return cls._instance # 使用时 assistant ModelCache.get_model() # 第一次会加载之后直接返回缓存5.4 中文支持问题问题虽然GLM-4V-9B支持中文但有时中文回答不够流畅。解决方案明确指定中文question 请用中文详细描述这张图片的内容。要求1. 使用流畅的中文 2. 描述要具体详细 3. 分点说明提供中文示例few-shot learningconversation [ {role: user, image: example_image1, content: 请描述这张图片}, {role: assistant, content: 这是一张风景照片画面中有...}, {role: user, image: current_image, content: 请用同样的方式描述这张图片} ]后处理优化def improve_chinese_response(response): 优化中文回答 # 移除多余的英文标点 response response.replace( ., 。).replace( ,, ) # 确保以中文标点结尾 if response and response[-1] not in [。, , , ”, ]: response 。 return response6. 总结通过这篇文章你应该已经掌握了GLM-4V-9B的基本使用方法。让我们回顾一下重点核心收获部署简单只需要10分钟几行代码就能搭建起一个可用的多模态AI应用硬件友好单张RTX 4090显卡就能流畅运行显存要求相对较低能力强大在多项测试中表现优异特别是中文场景下的图表理解和OCR应用广泛从电商到教育从办公到创作都有实用价值使用建议对于新手先从简单的图片描述开始熟悉基本流程在实际应用中根据具体场景优化提示词和生成参数处理大量图片时考虑使用批量处理和缓存机制关注显存使用必要时使用量化或CPU卸载下一步学习方向如果你已经掌握了基础用法可以进一步探索将GLM-4V-9B集成到自己的应用中尝试fine-tuning让模型适应特定领域结合其他工具构建更复杂的多模态应用探索模型的高级功能如长文本理解和工具调用GLM-4V-9B作为一个开源的多模态模型为开发者提供了强大的视觉理解能力。无论你是想快速搭建一个原型还是开发商业应用它都是一个值得考虑的选择。最重要的是它让多模态AI技术变得触手可及不再是大公司的专利。现在你可以开始动手尝试了。从一张图片、一个问题开始体验多模态AI的魅力。如果在使用过程中遇到问题记得回来看第5部分的常见问题解决方案。祝你使用愉快获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻

STLM75温度传感器驱动库:C语言面向对象设计与工业级移植实践

STLM75温度传感器驱动库:C语言面向对象设计与工业级移植实践

STLM75温度传感器驱动库深度解析与工程实践指南1. 文档与库设计规范体系在嵌入式固件开发中,文档规范与代码架构并非辅助性内容,而是决定项目可维护性、跨平台复用性与团队协作效率的核心基础设施。本节所依据的AN3108技术文档(Doc ID 16793 …

2026/7/5 8:47:11 阅读更多 →
AI人体骨骼检测镜像评测:精度、速度与易用性全面分析

AI人体骨骼检测镜像评测:精度、速度与易用性全面分析

AI人体骨骼检测镜像评测:精度、速度与易用性全面分析 1. 引言:一个稳定、高效的姿态检测方案 在健身动作纠正、舞蹈教学、虚拟试衣乃至安防监控等领域,准确识别并分析人体姿态正变得越来越重要。然而,许多开发者或团队在尝试引入…

2026/7/4 1:50:00 阅读更多 →
WPF主题换肤指南:基于MergedDictionaries的样式热更新方案

WPF主题换肤指南:基于MergedDictionaries的样式热更新方案

WPF主题换肤实战:构建动态、可维护的UI样式架构 你是否曾接手过一个界面风格固化、难以调整的WPF项目?或者,你是否正在规划一个需要支持多套皮肤、甚至允许用户自定义主题的桌面应用?对于追求用户体验和产品灵活性的开发者而言&am…

2026/7/3 16:16:52 阅读更多 →

最新新闻

2026免费在线去水印软件推荐,主流工具对比实测教程

2026免费在线去水印软件推荐,主流工具对比实测教程

在日常办公、素材整理、个人学习的场景中,图片、短视频素材自带的水印、logo、文字遮挡,常常会影响素材观感与使用效果。对于普通个人用户而言,无需下载笨重的电脑客户端、不用付费开通会员,免费在线去水印软件是性价比最高的选择…

2026/7/5 8:46:29 阅读更多 →
DHDMS-Lang 自举编译器形式化验证

DHDMS-Lang 自举编译器形式化验证

(* ) ( DHDMS-Lang 自举编译器形式化验证 - 四大特性证明 ) ( https://www.dhdmslang.com/ ) ( 基于 DHDMS 数学原生体系 ) ( 作者:孙立佳 ) ( 迭代日期:2026.06.22 ) ( *) Require Import ZArith. Require Import List. Require Import Bool. Require…

2026/7/5 8:46:29 阅读更多 →
XUnity.AutoTranslator:5分钟搞定Unity游戏多语言翻译的终极方案

XUnity.AutoTranslator:5分钟搞定Unity游戏多语言翻译的终极方案

XUnity.AutoTranslator:5分钟搞定Unity游戏多语言翻译的终极方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而无法畅玩心仪的Unity游戏?XUnity.AutoTr…

2026/7/5 8:46:29 阅读更多 →
体验过市场口碑好的鱼缸工厂,实际效果究竟怎么样?

体验过市场口碑好的鱼缸工厂,实际效果究竟怎么样?

家人们,我一直都超爱养鱼,之前家里那个鱼缸用了没多久就出问题了,水质老是浑浊,还时不时漏水,搞得我特别闹心。所以我就想着换个新的,做了好多功课,最后选了小境同学家的鱼缸,毕竟它…

2026/7/5 8:44:29 阅读更多 →
2026图片去水印方法:手机电脑免费工具与在线网站、PS教程

2026图片去水印方法:手机电脑免费工具与在线网站、PS教程

在日常学习、素材整理、个人作品归档的场景中,图片水印往往会影响画面完整性,干扰视觉观感,不少用户都在寻找简单、高效、适配手机和电脑的图片去水印方式。2026年主流的图片去水印方案主要分为三大类:手机端免费工具、电脑端专业…

2026/7/5 8:44:29 阅读更多 →
AI建站工具避坑指南:高频问题与解决方案全解析

AI建站工具避坑指南:高频问题与解决方案全解析

技术越先进,顾虑就越多。搜“AI建站工具靠谱吗”的人,心里往往藏着十个八个问题。怕被坑、怕不好用、怕未来被套牢。这篇指南不回避任何尖锐问题,把用户最关心的十个核心顾虑摊开来谈,并给出客观的解答和避坑方案。Q1:…

2026/7/5 8:42:28 阅读更多 →

日新闻

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/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

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

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

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

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

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

2026/7/5 0:07:38 阅读更多 →

周新闻

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/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

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

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

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

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

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

2026/7/5 0:07:38 阅读更多 →

月新闻