ChatGLM-6B使用技巧:温度参数调节与多轮对话实战
ChatGLM-6B使用技巧温度参数调节与多轮对话实战如果你已经用上了ChatGLM-6B但总觉得对话效果时好时坏有时候回答太死板有时候又太天马行空那你来对地方了。今天我们不聊怎么部署那是入门第一步。我们要聊的是真正用好这个模型的核心技巧——怎么通过温度参数调节和多轮对话设计让ChatGLM-6B真正成为你的智能助手。很多人以为部署完就万事大吉结果用起来发现回答太短、前后矛盾、或者干脆答非所问。其实问题不在模型本身而在于你不知道怎么“调教”它。就像开车你知道怎么启动但不知道怎么换挡、怎么控制油门车当然开不好。这篇文章就是你的驾驶手册。我会用最直白的方式带你掌握两个最关键的控制杆温度参数和多轮对话设计。看完你就能让ChatGLM-6B的回答更符合你的需求无论是写代码、做分析还是日常聊天。1. 温度参数控制AI的“想象力”温度参数可能是ChatGLM-6B里最容易被忽略但影响最大的一个设置。简单说它决定了AI回答的“随机性”程度。1.1 温度参数到底是什么想象一下你问AI“今天天气怎么样”低温度比如0.1AI会选它认为最靠谱、最标准的答案比如“根据天气预报今天晴转多云气温20-25度。”——很准确但可能有点无聊。高温度比如1.0AI会更有“创意”可能回答“哇今天阳光超好适合出去散步记得涂防晒哦”——更生动但可能不够严谨。温度参数在技术上控制的是AI选择下一个词时的随机性。温度越低AI越倾向于选择概率最高的词温度越高它越愿意尝试概率稍低但更有趣的词。1.2 不同温度的实际效果对比让我们用同一个问题看看不同温度下ChatGLM-6B的回答有什么不同。问题“写一句关于春天的诗。”# 不同温度参数的API调用示例 import requests api_url http://你的服务器地址:7860 # 替换为你的实际地址 prompts [ {prompt: 写一句关于春天的诗, temperature: 0.1, max_length: 50}, {prompt: 写一句关于春天的诗, temperature: 0.7, max_length: 50}, {prompt: 写一句关于春天的诗, temperature: 1.0, max_length: 50} ] for i, params in enumerate(prompts): response requests.post(api_url, jsonparams) if response.status_code 200: result response.json() print(f温度 {params[temperature]} 的回答) print(result[response]) print(- * 50)实际效果对比温度值典型回答风格适合场景0.1-0.3保守、准确、重复性高代码生成、事实问答、技术文档0.4-0.7平衡、自然、有一定创意日常对话、内容创作、分析报告0.8-1.0创意、多样、可能跑偏诗歌创作、故事编写、头脑风暴1.3 如何选择最佳温度没有“最好”的温度只有“最适合”的温度。关键看你要用它做什么场景一写代码或技术问答推荐温度0.1-0.3# 低温度写代码示例 code_prompt { prompt: 用Python写一个快速排序函数, temperature: 0.2, # 低温度确保代码准确 max_length: 300 }低温度能保证生成的代码语法正确、逻辑严谨不会出现奇怪的变量名或错误逻辑。场景二创意写作或故事生成推荐温度0.7-0.9# 高温度创意写作示例 story_prompt { prompt: 写一个关于人工智能帮助老人的温馨小故事开头, temperature: 0.8, # 高温度激发创意 max_length: 200 }高温度能让故事更有新意避免老套的开头。场景三日常对话或问题解答推荐温度0.5-0.7# 中等温度日常对话示例 chat_prompt { prompt: 解释一下机器学习中的过拟合是什么意思, temperature: 0.6, # 平衡准确性和可读性 max_length: 150 }中等温度既能保证解释的准确性又能让回答更自然易懂。1.4 温度调节的实用技巧技巧一动态调整温度不要固定一个温度值。根据对话进程动态调整def dynamic_temperature_setting(conversation_type): 根据对话类型动态设置温度 temperature_map { technical: 0.3, # 技术问题低温度 creative: 0.8, # 创意问题高温度 casual: 0.6, # 日常聊天中温度 analysis: 0.4 # 分析问题偏低温度 } return temperature_map.get(conversation_type, 0.7) # 使用示例 question 帮我分析这段代码的时间复杂度 conversation_type technical # 根据问题判断类型 temp dynamic_temperature_setting(conversation_type)技巧二温度与top_p配合使用top_p是另一个重要参数核采样通常与温度一起调节# 温度和top_p的常见组合 parameter_combinations { 严谨模式: {temperature: 0.2, top_p: 0.9}, 平衡模式: {temperature: 0.6, top_p: 0.92}, 创意模式: {temperature: 0.9, top_p: 0.95} } # 选择创意模式 params parameter_combinations[创意模式] response_data { prompt: 你的问题, temperature: params[temperature], top_p: params[top_p], max_length: 200 }技巧三根据回答长度调整温度短回答100字可以用稍高温度0.7-0.9让回答更生动长回答300字建议用较低温度0.3-0.5保持内容连贯性2. 多轮对话让AI记住上下文多轮对话是ChatGLM-6B的强项但用不好就会变成“金鱼记忆”——问完就忘。正确的多轮对话设计能让AI真正理解对话的上下文给出连贯、准确的回答。2.1 多轮对话的基本原理ChatGLM-6B的多轮对话不是真的“记住”了所有内容而是通过历史记录history来实现的。每次对话你都需要把之前的对话历史传给AI它才能基于上下文回答。# 多轮对话的基本结构 conversation_history [] # 初始化空的历史记录 # 第一轮对话 first_prompt { prompt: 我想学习Python应该从哪里开始, history: conversation_history, # 当前是空的 temperature: 0.6, max_length: 150 } # 发送请求并获取回答后更新历史记录 # 假设response是API返回的结果 conversation_history response[history] # 更新为新的历史记录 # 第二轮对话基于之前的对话 second_prompt { prompt: 那数据分析方面呢, # 这里的“那”指的是Python history: conversation_history, # 包含第一轮对话 temperature: 0.6, max_length: 150 }2.2 多轮对话的常见问题与解决问题一历史记录太长导致性能下降ChatGLM-6B能处理的上下文长度有限通常是2048个token。历史记录太大会让响应变慢甚至出错。解决方案智能截断历史def truncate_history(history, max_turns10): 保留最近N轮对话截断早期历史 if len(history) max_turns * 2: # 每轮包含用户和AI两条记录 return history # 只保留最近max_turns轮 return history[-(max_turns * 2):] # 在每轮对话前调用 conversation_history truncate_history(conversation_history, max_turns8)问题二AI忘记关键信息有时候聊着聊着AI就忘了之前约定的重要信息。解决方案关键信息重注入def reinforce_key_info(history, key_info): 在历史记录中强化关键信息 # key_info格式[(角色, 内容), ...] reinforced_history list(history) # 如果历史记录较长在中间插入关键信息提醒 if len(reinforced_history) 6: # 在历史记录中后部插入提醒 insert_position max(4, len(reinforced_history) - 4) for role, content in reversed(key_info): reinforced_history.insert(insert_position, [role, content]) return reinforced_history # 使用示例 key_information [ (用户, 我的名字是张三), (AI, 明白了我会称呼你为张三) ] conversation_history reinforce_key_info(conversation_history, key_information)问题三对话偏离主题多轮对话容易跑题特别是温度设得比较高的时候。解决方案主题锚点检查def check_topic_drift(current_query, original_topic, history): 检查对话是否偏离原始主题 # 简单的关键词匹配实际可以更复杂 topic_keywords original_topic.lower().split() query_lower current_query.lower() # 计算当前查询与主题的相关性 keyword_matches sum(1 for keyword in topic_keywords if keyword in query_lower) relevance_score keyword_matches / len(topic_keywords) if topic_keywords else 0 # 如果相关性太低提醒AI if relevance_score 0.3 and len(history) 4: return f当前问题{current_query}\n提醒我们正在讨论{original_topic} return current_query # 使用示例 original_topic Python学习路线 current_question 那数据分析方面呢 # 检查是否偏离主题 adjusted_question check_topic_drift(current_question, original_topic, conversation_history)2.3 多轮对话的最佳实践实践一明确对话角色告诉AI它应该扮演什么角色这能显著提升对话质量。def setup_conversation_role(role_description): 设置AI的对话角色 system_prompt f你是一个{role_description}。 请根据这个角色定位来回答我的问题。 return system_prompt # 使用示例 role 专业的Python编程导师擅长用简单易懂的方式解释复杂概念 system_message setup_conversation_role(role) # 将系统消息作为第一轮对话 conversation_history [[system_message, 好的我将以Python编程导师的身份为您提供帮助。]]实践二结构化多轮对话对于复杂的多轮对话如技术咨询、学习辅导采用结构化的方式class StructuredConversation: def __init__(self, topic, max_rounds10): self.topic topic self.history [] self.max_rounds max_rounds self.current_round 0 def add_exchange(self, user_input, ai_response): 添加一轮对话交换 if self.current_round self.max_rounds: # 达到最大轮数清理早期历史 self.history self.history[2:] # 移除最早的一轮 self.history.append([用户, user_input]) self.history.append([AI, ai_response]) self.current_round 1 def get_context_summary(self): 生成对话上下文摘要 if len(self.history) 4: return 新对话开始 # 提取最近几轮的关键信息 recent_exchanges self.history[-6:] # 最近3轮 summary f对话主题{self.topic}\n最近讨论 for i in range(0, len(recent_exchanges), 2): if i1 len(recent_exchanges): user_msg recent_exchanges[i][1][:50] ... if len(recent_exchanges[i][1]) 50 else recent_exchanges[i][1] summary f\n- 用户{user_msg} return summary # 使用示例 conv StructuredConversation(Python入门学习, max_rounds15) conv.add_exchange(我想学Python怎么开始, 建议从基础语法开始比如变量、数据类型...) # ... 更多对话轮次 context_summary conv.get_context_summary() # 用于调试或记录实践三对话状态跟踪对于需要多步骤完成的任务跟踪对话状态class ConversationStateTracker: def __init__(self): self.state { current_topic: None, completed_steps: [], pending_questions: [], user_preferences: {} } def update_state(self, user_input, ai_response): 根据对话更新状态 # 检测是否开始新话题 if 我想了解 in user_input or 怎么学习 in user_input: topic self.extract_topic(user_input) if topic: self.state[current_topic] topic self.state[completed_steps] [话题开始] # 检测用户偏好示例学习速度 if 简单点 in user_input or 详细点 in user_input: if 简单点 in user_input: self.state[user_preferences][detail_level] simple else: self.state[user_preferences][detail_level] detailed return self.state def extract_topic(self, text): 从文本中提取话题关键词 # 简单的关键词提取实际可以用更复杂的方法 keywords [Python, 机器学习, 数据分析, 网站开发, 自动化] for keyword in keywords: if keyword in text: return keyword return None # 使用示例 tracker ConversationStateTracker() # 在每轮对话后更新状态 current_state tracker.update_state(user_input, ai_response)3. 温度与多轮对话的协同优化单独调节温度或设计多轮对话还不够真正的技巧在于让它们协同工作。3.1 根据对话阶段调整温度对话的不同阶段需要不同的温度设置def adaptive_temperature_by_stage(conversation_stage, history_length): 根据对话阶段自适应调整温度 # 定义不同阶段的温度策略 stage_strategies { opening: 0.7, # 开场中等温度自然友好 deep_dive: 0.4, # 深入讨论较低温度保持专注 brainstorming: 0.9, # 头脑风暴高温度激发创意 summarizing: 0.3, # 总结阶段低温度准确简洁 casual_chat: 0.8 # 随意聊天较高温度轻松活泼 } # 根据历史长度和内容判断当前阶段 if history_length 2: stage opening elif 总结一下 in history[-1][0] if history else False: stage summarizing elif 有什么创意 in history[-1][0] if history else False: stage brainstorming else: # 默认根据历史长度判断 if history_length 6: stage deep_dive else: stage casual_chat return stage_strategies.get(stage, 0.6) # 使用示例 current_stage adaptive_temperature_by_stage(conversation_history) temperature current_stage[temperature]3.2 多轮对话中的温度渐变随着对话深入逐渐调整温度def gradual_temperature_adjustment(base_temp, history_length, conversation_depth): 根据对话深度逐渐调整温度 # 基础调整对话越长温度稍微降低以保持一致性 length_adjustment -0.1 * min(history_length / 20, 1) # 最多降低0.1 # 深度调整讨论越深入温度越低以保持严谨 depth_adjustment -0.2 * min(conversation_depth / 5, 1) # 最多降低0.2 # 最终温度确保在合理范围内 final_temp base_temp length_adjustment depth_adjustment final_temp max(0.1, min(1.0, final_temp)) # 限制在0.1-1.0之间 return round(final_temp, 2) # 使用示例 base_temperature 0.7 history_len len(conversation_history) depth calculate_conversation_depth(conversation_history) # 需要自定义深度计算函数 adjusted_temp gradual_temperature_adjustment(base_temperature, history_len, depth)3.3 实战案例技术咨询对话系统让我们看一个完整的例子结合温度调节和多轮对话设计构建一个技术咨询系统class TechnicalAdvisor: def __init__(self, api_url): self.api_url api_url self.conversation_history [] self.conversation_context { topic: None, expertise_level: beginner, # beginner/intermediate/advanced current_subtopic: None, answered_questions: [], preferred_detail: balanced # simple/balanced/detailed } def send_query(self, user_query): 处理用户查询并获取AI响应 # 1. 更新对话上下文 self.update_context(user_query) # 2. 根据上下文确定温度 temperature self.determine_temperature() # 3. 准备请求数据 request_data { prompt: user_query, history: self.conversation_history, temperature: temperature, top_p: 0.9, max_length: self.determine_max_length() } # 4. 发送请求 response requests.post(self.api_url, jsonrequest_data) if response.status_code 200: result response.json() ai_response result[response] # 5. 更新历史记录 self.conversation_history.append([用户, user_query]) self.conversation_history.append([AI, ai_response]) # 6. 维护历史记录长度 self.manage_history_length() return ai_response else: return f请求失败状态码{response.status_code} def update_context(self, user_query): 根据用户查询更新对话上下文 # 检测话题变化 if self.conversation_context[topic] is None: # 尝试从查询中提取主题 detected_topic self.detect_topic(user_query) if detected_topic: self.conversation_context[topic] detected_topic # 检测用户水平 level_keywords { beginner: [新手, 入门, 基础, 第一次], advanced: [高级, 优化, 源码, 底层] } for level, keywords in level_keywords.items(): if any(keyword in user_query for keyword in keywords): self.conversation_context[expertise_level] level break def determine_temperature(self): 根据对话上下文确定温度值 base_temps { beginner: 0.6, # 对新手中等温度友好易懂 intermediate: 0.5, # 对中级稍低温度保持准确 advanced: 0.4 # 对高级较低温度严谨专业 } base_temp base_temps.get(self.conversation_context[expertise_level], 0.6) # 根据对话历史长度微调 history_len len(self.conversation_history) if history_len 10: # 长对话降低温度以保持一致性 base_temp max(0.3, base_temp - 0.1) return base_temp def determine_max_length(self): 根据上下文确定回答最大长度 detail_levels { simple: 100, balanced: 200, detailed: 400 } return detail_levels.get(self.conversation_context[preferred_detail], 200) def manage_history_length(self): 管理历史记录长度避免过长 max_history_items 20 # 最多保存10轮对话每轮2条 if len(self.conversation_history) max_history_items: # 保留最近的历史但确保不截断正在讨论的话题 self.conversation_history self.conversation_history[-max_history_items:] def detect_topic(self, text): 从文本中检测技术话题 topics { Python: [python, 蟒蛇], 机器学习: [机器学习, ml, machine learning], 数据分析: [数据, 分析, data analysis], Web开发: [网页, 网站, web, 前端, 后端] } text_lower text.lower() for topic, keywords in topics.items(): if any(keyword in text_lower for keyword in keywords): return topic return None # 使用示例 advisor TechnicalAdvisor(http://localhost:7860) # 模拟对话流程 responses [] responses.append(advisor.send_query(我想学习Python应该从哪里开始)) responses.append(advisor.send_query(变量和数据类型这些基础我大概知道想深入学函数)) responses.append(advisor.send_query(那面向对象编程呢对我来说有点难理解))4. 高级技巧与故障排除4.1 温度参数的副作用及应对副作用一高温度导致回答不一致现象同样的提问每次回答都不一样解决对于需要一致性的场景使用低温度0.1-0.3或固定随机种子# 如果需要完全一致的结果使用最低温度 consistent_params { prompt: 你的问题, temperature: 0.1, # 最低温度确保一致性 top_p: 0.9, max_length: 200 }副作用二低温度导致回答呆板现象回答总是那几个套路缺乏新意解决适当提高温度或结合其他参数调节# 在低温度下增加多样性的技巧 diversity_params { prompt: 你的问题, temperature: 0.3, # 仍然较低 top_p: 0.95, # 但提高top_p增加多样性 repetition_penalty: 1.1, # 重复惩罚避免重复内容 max_length: 200 }4.2 多轮对话的记忆优化技巧一关键信息摘要在长对话中定期生成摘要帮助AI记住重点def create_conversation_summary(history, max_items6): 从历史记录中创建对话摘要 if len(history) 4: return 对话刚刚开始 # 提取关键信息点 summary_points [] # 查找用户的重要声明或要求 for i in range(0, len(history), 2): if i len(history): user_msg history[i][1] # 简单判断是否重要实际可以用更复杂的方法 if len(user_msg) 20 and (需要 in user_msg or 要求 in user_msg or 重要 in user_msg): summary_points.append(f用户要求{user_msg[:50]}...) # 限制摘要长度 if len(summary_points) max_items: summary_points summary_points[:max_items] if not summary_points: return 正在进行一般性对话 return 对话摘要\n \n.join(summary_points) # 在对话中定期插入摘要 if len(conversation_history) % 8 0: # 每4轮对话后 summary create_conversation_summary(conversation_history) # 可以将摘要作为系统消息插入历史技巧二对话焦点维护确保对话不偏离太远def maintain_conversation_focus(current_query, history, main_topic): 维护对话焦点防止过度偏离 # 计算当前查询与主题的相关性 def calculate_relevance(query, topic): query_words set(query.lower().split()) topic_words set(topic.lower().split()) if not query_words: return 0 return len(query_words.intersection(topic_words)) / len(query_words) relevance calculate_relevance(current_query, main_topic) # 如果相关性太低且对话历史较长 if relevance 0.2 and len(history) 4: # 温和地引导回主题 focused_query f{current_query}关于{main_topic}你有什么建议 return focused_query return current_query4.3 性能优化建议建议一批量处理对话如果需要处理多个相关对话考虑批量处理def batch_process_conversations(queries, api_url, temperature0.6): 批量处理多个相关查询 results [] history [] # 共享历史记录 for query in queries: data { prompt: query, history: history, temperature: temperature, max_length: 150 } response requests.post(api_url, jsondata) if response.status_code 200: result response.json() results.append(result[response]) # 更新共享历史 history.append([用户, query]) history.append([AI, result[response]]) else: results.append(f错误{response.status_code}) return results # 使用示例 related_queries [ Python里列表和元组有什么区别, 那什么时候该用列表什么时候该用元组, 字典和集合又有什么不同 ] batch_results batch_process_conversations(related_queries, http://localhost:7860)建议二缓存常用回答对于常见问题可以缓存结果提高响应速度class ResponseCache: def __init__(self, max_size100): self.cache {} self.max_size max_size self.access_count {} def get_cached_response(self, query, temperature): 获取缓存的响应 cache_key f{query}_{temperature} if cache_key in self.cache: self.access_count[cache_key] self.access_count.get(cache_key, 0) 1 return self.cache[cache_key] return None def cache_response(self, query, temperature, response): 缓存响应 cache_key f{query}_{temperature} # 如果缓存已满移除最少使用的 if len(self.cache) self.max_size: least_used min(self.access_count.items(), keylambda x: x[1])[0] del self.cache[least_used] del self.access_count[least_used] self.cache[cache_key] response self.access_count[cache_key] 1 # 使用示例 cache ResponseCache(max_size50) def get_ai_response(query, temperature0.6): # 先检查缓存 cached cache.get_cached_response(query, temperature) if cached: return cached # 没有缓存调用API response call_chatglm_api(query, temperature) # 缓存结果只缓存常见问题 if is_common_question(query): # 需要自定义判断函数 cache.cache_response(query, temperature, response) return response5. 总结通过本文的讲解你应该已经掌握了ChatGLM-6B的两个核心使用技巧温度参数调节和多轮对话设计。让我们快速回顾一下关键点温度参数的核心要点温度不是固定的根据任务类型动态调整技术问题用低温0.1-0.3创意任务用高温0.7-1.0温度影响多样性低温确保准确一致高温激发创意多样配合其他参数使用温度与top_p、重复惩罚等参数协同工作效果更好多轮对话的设计要点历史记录是关键正确维护和传递对话历史AI才能理解上下文避免历史过长定期清理或摘要早期对话保持性能结构化对话流程明确角色、跟踪状态、维护焦点实践建议从默认值开始温度0.7top_p 0.9是个不错的起点观察调整根据AI的回答质量微调参数找到最佳组合场景化配置为不同使用场景保存不同的参数配置持续优化随着对话进行动态调整参数记住没有一套参数适合所有场景。最好的方法是了解原理 → 小范围测试 → 观察效果 → 调整优化。ChatGLM-6B是一个强大的工具但工具的效果取决于使用者的技巧。现在去实践这些技巧让你的ChatGLM-6B对话体验提升一个档次吧获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻

通义千问3-VL-Reranker-8B处理医学文献的惊艳效果

通义千问3-VL-Reranker-8B处理医学文献的惊艳效果

通义千问3-VL-Reranker-8B处理医学文献的惊艳效果 如果你在医学研究或者临床工作中,经常需要从海量的文献里找到最相关的那几篇,那你肯定知道这活儿有多费劲。关键词搜不准,摘要看了半天发现不沾边,一篇篇读下来,半天…

2026/5/17 5:48:29 阅读更多 →
三相VIENNA整流器滞环控制实战:MATLAB仿真避坑指南(附完整代码)

三相VIENNA整流器滞环控制实战:MATLAB仿真避坑指南(附完整代码)

三相VIENNA整流器滞环控制实战:MATLAB仿真避坑指南(附完整代码) 最近在实验室复现一个三相VIENNA整流器的项目,目标是实现高功率因数和低谐波失真。最初我选择了经典的滞环控制方案,本以为凭借扎实的理论基础能快速搞定…

2026/7/3 19:40:56 阅读更多 →
GLM-4-9B-Chat-1M部署教程:3步完成Linux服务器GPU环境配置

GLM-4-9B-Chat-1M部署教程:3步完成Linux服务器GPU环境配置

GLM-4-9B-Chat-1M部署教程:3步完成Linux服务器GPU环境配置 想快速在Linux服务器上部署支持百万字长文本的GLM-4-9B-Chat-1M大模型?这篇教程将手把手带你完成从环境配置到模型推理的全过程,无需复杂操作,跟着做就行。 最近智谱AI开…

2026/5/17 5:48:26 阅读更多 →

最新新闻

分钟级股票因子挖掘与组合优化Python工具包:含遗传算法筛选、强化学习调参和完整回测分析

分钟级股票因子挖掘与组合优化Python工具包:含遗传算法筛选、强化学习调参和完整回测分析

本文还有配套的精品资源,点击获取 简介:这个Python工具包专为高频量化研究设计,能基于分钟行情数据自动计算流动性、波动率、订单流不平衡等常见高频因子。内置标准化、MAD去极值、行业市值中性化等预处理流程,支持XGBoost特征…

2026/7/5 9:50:44 阅读更多 →
2026高价值手机横评:5款现货真机实测与场景化选购指南

2026高价值手机横评:5款现货真机实测与场景化选购指南

1. 开学季与职场焕新:2026年真实可购的5款高价值手机深度横评我是做了十年数码产品实测的老张,不是带货博主,没签过任何品牌年度合约,手头常年备着23台主力机(从千元入门到万元旗舰),每天在实验…

2026/7/5 9:50:43 阅读更多 →
C#工业视觉检测工具:WinForms界面下用YOLOv8 ONNX实时识别安全帽、手套和反光马甲(兼容Baumer等相机SDK)

C#工业视觉检测工具:WinForms界面下用YOLOv8 ONNX实时识别安全帽、手套和反光马甲(兼容Baumer等相机SDK)

本文还有配套的精品资源,点击获取 简介:一款开箱即用的C# WinForms工业视觉检测工具,专为工厂产线、工地出入口和巡检通道设计,支持实时识别工人是否佩戴安全帽、手套、反光马甲等关键防护装备。底层基于YOLOv8n模型的ONNX格式…

2026/7/5 9:48:43 阅读更多 →
Ubuntu原生安装Claude code

Ubuntu原生安装Claude code

一、无需 Node.js,会自动在后台更新: curl -fsSL https://claude.ai/install.sh | bash二、添加到系统环境变量 echo export PATH"$HOME/.local/bin:$PATH" >> ~/.bashrc source ~/.bashrc三、验证 claude --version claude doctor

2026/7/5 9:46:43 阅读更多 →
Python测试实战指南:从assert到pytest,构建高质量代码防线

Python测试实战指南:从assert到pytest,构建高质量代码防线

1. 项目概述 如果你已经能用Python写出一些功能性的代码,比如一个计算器、一个简单的爬虫,或者一个数据处理脚本,那么恭喜你,你已经迈出了第一步。但接下来,你可能会遇到一个所有开发者都无法回避的“灵魂拷问”&#…

2026/7/5 9:44:42 阅读更多 →
性能测试全流程解析:从核心指标到JMeter、Locust实战调优

性能测试全流程解析:从核心指标到JMeter、Locust实战调优

1. 性能测试:从“能用”到“好用”的必经之路 在软件研发的江湖里,性能测试常常被新手视为“玄学”,被老手当作“压箱底的绝活”。很多团队在项目初期疯狂赶工,功能测试一过就急着上线,结果一到活动大促或者用户量稍微…

2026/7/5 9:42:41 阅读更多 →

日新闻

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 阅读更多 →

月新闻