当前位置: 首页 > article >正文

vLLM部署ERNIE-4.5-0.3B-PT高阶技巧:自定义stop_token与response_format控制

vLLM部署ERNIE-4.5-0.3B-PT高阶技巧自定义stop_token与response_format控制你是不是也遇到过这样的问题用vLLM部署了大模型调用起来很方便但生成的文本总是不太“听话”要么话说到一半就停了要么输出的格式乱七八糟完全不符合你的业务需求。今天我们就来聊聊如何让ERNIE-4.5-0.3B-PT这个轻量级但能力不俗的模型真正“听你指挥”。通过自定义stop_token和response_format这两个关键参数你可以精确控制模型输出的长度、格式和内容边界让AI生成的内容完美融入你的应用场景。1. 为什么需要控制模型输出在开始技术细节之前我们先搞清楚一个问题为什么要费这么大劲去控制模型的输出想象一下这些场景你正在开发一个客服机器人希望它每次回答都简洁明了不超过3句话你需要模型生成JSON格式的数据方便后续程序解析处理你希望模型在生成代码时遇到特定的注释标记就自动停止你想让模型写一首诗但必须遵循特定的韵律格式这些需求光靠调整温度temperature和最大生成长度max_tokens是远远不够的。stop_token和response_format就是专门为解决这些问题而设计的。stop_token告诉模型“看到这些标记就停下来”。就像给AI设置了一个停止信号确保它不会无休止地说下去。response_format告诉模型“请按照这个格式来回答”。就像给AI一个答题模板确保输出的内容结构清晰、易于处理。2. 环境准备与快速验证在深入高级技巧之前我们先确保你的环境已经正确部署。根据你提供的部署信息ERNIE-4.5-0.3B-PT已经通过vLLM成功部署并且可以通过Chainlit前端进行调用。2.1 验证模型服务状态首先确认模型服务已经正常运行# 查看模型服务日志 cat /root/workspace/llm.log如果看到类似下面的输出说明模型已经加载成功Loading model weights... Model loaded successfully on GPU 0 vLLM engine initialized API server started on port 80002.2 基础调用测试通过Chainlit前端进行一个简单的测试确保基础功能正常# 这是一个简单的测试脚本验证模型基础功能 import requests import json # vLLM API端点 url http://localhost:8000/v1/completions # 基础请求参数 headers {Content-Type: application/json} data { model: ernie-4.5-0.3b-pt, prompt: 你好请介绍一下你自己。, max_tokens: 100, temperature: 0.7 } # 发送请求 response requests.post(url, headersheaders, datajson.dumps(data)) result response.json() print(模型回复, result[choices][0][text])如果一切正常你应该能看到模型的基本回复。现在让我们进入正题。3. 掌握stop_token精确控制输出边界stop_token可能是vLLM中最实用但最容易被忽视的参数之一。它允许你指定一个或多个标记token当模型生成到这些标记时就会立即停止。3.1 基础用法让模型在合适的地方停下假设你正在开发一个问答系统希望模型的回答以句号结束并且不超过3句话import requests import json url http://localhost:8000/v1/completions prompt 用户问什么是人工智能 请用简洁的语言回答不超过3句话。 data { model: ernie-4.5-0.3b-pt, prompt: prompt, max_tokens: 150, temperature: 0.3, stop: [。, \n\n, ###] # 多个停止标记 } response requests.post(url, headersheaders, datajson.dumps(data)) result response.json() print(控制后的回复) print(result[choices][0][text])关键点解析stop参数接受一个列表可以包含多个停止标记当模型生成到任何一个停止标记时就会立即停止这里设置了三个停止标记句号、两个换行、三个井号3.2 高级技巧动态停止策略在实际应用中你可能需要更复杂的停止逻辑。比如在代码生成场景中你希望模型在遇到函数结束的右大括号时停止def generate_code_with_stop(description): 根据描述生成代码并在合适的位置停止 prompt f根据以下描述生成Python代码 描述{description} 代码 data { model: ernie-4.5-0.3b-pt, prompt: prompt, max_tokens: 300, temperature: 0.2, stop: [\n\n, if __name__, # 测试代码, ] # 代码相关的停止标记 } response requests.post(url, headersheaders, datajson.dumps(data)) return response.json()[choices][0][text] # 示例生成一个排序函数 code generate_code_with_stop(实现一个快速排序函数) print(生成的代码) print(code)3.3 实战案例对话系统的回合控制在对话系统中你希望模型在完成一轮回答后自动停止而不是继续自言自语class ConversationController: def __init__(self): self.conversation_history [] def add_message(self, role, content): 添加对话历史 self.conversation_history.append({role: role, content: content}) def generate_response(self, user_input): 生成回复并控制停止 self.add_message(user, user_input) # 构建对话历史 history_text \n.join([ f{msg[role]}: {msg[content]} for msg in self.conversation_history[-5:] # 只保留最近5轮 ]) prompt f对话历史 {history_text} assistant: data { model: ernie-4.5-0.3b-pt, prompt: prompt, max_tokens: 200, temperature: 0.7, stop: [\nuser:, \nUser:, ### 结束, 对话结束] # 对话相关的停止标记 } response requests.post(url, headersheaders, datajson.dumps(data)) assistant_response response.json()[choices][0][text].strip() self.add_message(assistant, assistant_response) return assistant_response # 使用示例 controller ConversationController() response controller.generate_response(今天天气怎么样) print(助手回复, response)4. 精通response_format让输出结构化如果说stop_token是控制“何时停止”那么response_format就是控制“如何输出”。这个功能在vLLM中通常通过系统提示词system prompt和输出模板来实现。4.1 基础模板固定格式输出最简单的用法是要求模型按照特定格式输出def generate_structured_response(question): 生成结构化的回答 system_prompt 请严格按照以下格式回答问题 问题[用户的问题] 答案[你的回答] 理由[简要说明理由] 示例[一个相关示例] 请确保每个部分都清晰标注。 full_prompt f{system_prompt}\n\n问题{question} data { model: ernie-4.5-0.3b-pt, prompt: full_prompt, max_tokens: 250, temperature: 0.3, stop: [\n\n, ###] # 配合停止标记确保格式完整 } response requests.post(url, headersheaders, datajson.dumps(data)) return response.json()[choices][0][text] # 测试结构化输出 result generate_structured_response(为什么天空是蓝色的) print(结构化回答) print(result)4.2 JSON格式输出让机器也能读懂在很多应用场景中我们需要模型输出JSON格式的数据方便程序解析def generate_json_response(query): 生成JSON格式的回答 system_prompt 你是一个数据提取助手。请根据用户的问题生成一个JSON对象。 JSON必须包含以下字段 - answer: 主要答案字符串 - confidence: 置信度0-1之间的浮点数 - sources: 相关信息来源数组 - timestamp: 当前时间戳字符串 请只输出JSON不要有其他内容。 data { model: ernie-4.5-0.3b-pt, prompt: f{system_prompt}\n\n用户问题{query}, max_tokens: 200, temperature: 0.1, # 低温度确保格式稳定 stop: [\n\n, ] # 确保不会有多余内容 } response requests.post(url, headersheaders, datajson.dumps(data)) response_text response.json()[choices][0][text].strip() # 尝试解析JSON验证格式是否正确 try: import json as json_module parsed json_module.loads(response_text) print(成功解析JSON, parsed) return parsed except: print(JSON解析失败原始响应, response_text) return {error: 格式解析失败, raw: response_text} # 测试JSON输出 json_result generate_json_response(北京的人口是多少)4.3 高级技巧动态模板生成有时候输出格式需要根据输入动态确定。我们可以让模型先确定格式再生成内容def adaptive_format_generation(user_request): 根据用户请求自适应生成格式 # 第一步让模型分析需要什么格式 format_prompt f分析以下用户请求确定最适合的输出格式 用户请求{user_request} 请从以下格式中选择最合适的一个 1. 简单文本适合简单问答 2. 分点列表适合步骤说明 3. 表格适合数据对比 4. 代码适合技术问题 5. JSON适合结构化数据 只输出格式编号和名称例如2. 分点列表 format_data { model: ernie-4.5-0.3b-pt, prompt: format_prompt, max_tokens: 50, temperature: 0.1, stop: [\n] } format_response requests.post(url, headersheaders, datajson.dumps(format_data)) selected_format format_response.json()[choices][0][text].strip() print(f选择的格式{selected_format}) # 第二步根据选择的格式生成内容 content_prompt f用户请求{user_request} 输出格式要求{selected_format} 请按照要求的格式生成回答 content_data { model: ernie-4.5-0.3b-pt, prompt: content_prompt, max_tokens: 300, temperature: 0.7 } content_response requests.post(url, headersheaders, datajson.dumps(content_data)) return content_response.json()[choices][0][text] # 测试自适应格式 result adaptive_format_generation(请比较Python和JavaScript的主要区别) print(自适应格式回答) print(result)5. stop_token与response_format的协同使用单独使用这两个功能已经很强大但当它们协同工作时才能真正发挥出威力。5.1 案例生成带格式的有限长度内容假设你需要模型生成一个产品描述要求是使用Markdown格式包含标题、要点列表和总结总长度不超过200字def generate_product_description(product_name, features): 生成格式规范、长度可控的产品描述 system_prompt f请为{product_name}生成产品描述。 要求 1. 使用Markdown格式 2. 必须包含以下部分 ## 产品概述 ## 主要特点使用无序列表 ## 适用场景 ## 总结 3. 总字数控制在200字以内 4. 在适当位置停止不要超过要求 prompt f{system_prompt} 产品特点{, .join(features)} 开始生成 data { model: ernie-4.5-0.3b-pt, prompt: prompt, max_tokens: 300, temperature: 0.5, stop: [## 结束, 字数统计, 200字, \n\n\n] # 多重停止条件 } response requests.post(url, headersheaders, datajson.dumps(data)) description response.json()[choices][0][text] # 后处理确保格式正确 if ## 总结 not in description: description \n\n## 总结\n以上就是该产品的主要介绍。 return description # 测试协同控制 features [高效节能, 智能控制, 易于安装, 长寿命] description generate_product_description(智能LED灯具, features) print(生成的产品描述) print(description) print(f描述长度{len(description)}字)5.2 案例对话历史的结构化管理在复杂的对话系统中我们需要同时控制格式和边界class StructuredChatbot: def __init__(self): self.history [] def format_history(self): 格式化对话历史 formatted [] for i, msg in enumerate(self.history[-3:]): # 只保留最近3轮 formatted.append(f{i1}. {msg[role]}: {msg[content]}) return \n.join(formatted) def chat(self, user_input): 结构化对话 self.history.append({role: 用户, content: user_input}) system_prompt 你是一个专业的客服助手。请按照以下格式回复 [思考过程]这部分不会显示给用户 [实际回复]这部分会显示给用户 请确保 1. 思考过程简洁明了 2. 实际回复友好专业 3. 如果问题无法回答请说明原因 4. 在[实际回复]后自动停止 prompt f{system_prompt} 对话历史 {self.format_history()} 用户最新问题{user_input} 开始回复 data { model: ernie-4.5-0.3b-pt, prompt: prompt, max_tokens: 250, temperature: 0.6, stop: [[思考过程], \n\n[, ###] # 精确控制停止位置 } response requests.post(url, headersheaders, datajson.dumps(data)) full_response response.json()[choices][0][text] # 提取实际回复部分 if [实际回复] in full_response: parts full_response.split([实际回复]) if len(parts) 1: actual_reply parts[1].strip() self.history.append({role: 助手, content: actual_reply}) return actual_reply # 如果格式不符合预期返回原始响应 self.history.append({role: 助手, content: full_response}) return full_response # 测试结构化对话 bot StructuredChatbot() reply bot.chat(我的订单状态如何查询) print(助手回复, reply)6. 实战技巧与最佳实践掌握了基本用法后我们来看看一些实战技巧和最佳实践。6.1 停止标记的选择策略选择有效的停止标记是一门艺术。以下是一些实用建议# 不同场景的停止标记配置 STOP_TOKEN_CONFIGS { qa: [。, , , \n\n], # 问答场景句子结束符 code: [\n\n, , # , if __name__], # 代码生成代码块结束 dialogue: [\n用户, \nUser, ###, 对话结束], # 对话用户发言开始 list: [\n\n, 总结, ### 结束], # 列表生成空行分隔 json: [}\n, ]\n, \n\n] # JSON生成结构结束 } def get_stop_tokens(scenario, custom_tokensNone): 获取适合场景的停止标记 base_tokens STOP_TOKEN_CONFIGS.get(scenario, [\n\n]) if custom_tokens: base_tokens.extend(custom_tokens) return list(set(base_tokens)) # 去重 # 使用示例 qa_stops get_stop_tokens(qa, [以上就是, 谢谢]) print(问答场景停止标记, qa_stops)6.2 格式控制的渐进式方法对于复杂的格式要求可以采用渐进式的方法def progressive_format_control(prompt, format_spec): 渐进式格式控制 # 第一步让模型理解格式要求 understanding_prompt f请理解以下格式要求 {format_spec} 请用一句话总结这个格式的核心要求 # 第二步生成符合格式的内容 generation_prompt f格式要求{format_spec} 请根据以下提示生成内容 {prompt} 请严格按照上述格式要求生成 # 可以分步调用模型也可以一次性完成 data { model: ernie-4.5-0.3b-pt, prompt: generation_prompt, max_tokens: 400, temperature: 0.3, stop: get_stop_tokens(general, [格式检查完成, 生成结束]) } response requests.post(url, headersheaders, datajson.dumps(data)) return response.json()[choices][0][text] # 使用示例 format_spec 输出必须包含 1. 标题## 开头 2. 3个要点每个要点以-开头 3. 总结段落 4. 总字数不超过150字 content progressive_format_control(介绍机器学习的基本概念, format_spec) print(渐进式生成的格式内容) print(content)6.3 错误处理与回退机制在实际应用中需要处理模型不按格式输出的情况def safe_generate_with_fallback(prompt, expected_format, max_retries3): 带错误处理的生成函数 for attempt in range(max_retries): try: data { model: ernie-4.5-0.3b-pt, prompt: f请按照以下格式回答{expected_format}\n\n问题{prompt}, max_tokens: 300, temperature: 0.5 if attempt 0 else 0.3, # 重试时降低温度 stop: [\n\n, 格式错误, 重新生成] } response requests.post(url, headersheaders, datajson.dumps(data)) result response.json()[choices][0][text] # 检查格式是否符合预期 if self.validate_format(result, expected_format): return result else: print(f第{attempt1}次尝试格式不符合要求正在重试...) except Exception as e: print(f第{attempt1}次尝试失败{e}) # 所有重试都失败返回简单格式 return f问题{prompt}\n回答抱歉无法生成符合格式的答案。 def validate_format(content, format_spec): 简单的格式验证 # 这里可以根据具体的格式要求实现验证逻辑 # 例如检查是否包含必要的部分 required_parts [标题, 要点, 总结] for part in required_parts: if part in format_spec and part not in content: return False return True7. 总结通过本文的讲解你应该已经掌握了vLLM部署ERNIE-4.5-0.3B-PT模型时如何使用stop_token和response_format来精确控制模型输出的高级技巧。让我们回顾一下关键要点7.1 核心收获stop_token的威力不仅仅是控制长度更是控制语义边界。通过精心选择停止标记你可以让模型在合适的地方“刹车”生成更符合预期的内容。response_format的灵活性无论是简单的文本格式还是复杂的JSON结构通过巧妙的提示词设计你都可以让模型输出结构化的内容大大提升后续处理的效率。协同工作的艺术当stop_token和response_format配合使用时你可以实现真正意义上的“精确控制”。模型不仅会按照你想要的格式输出还会在恰当的位置停止。7.2 实践建议从简单开始不要一开始就设计复杂的格式和停止条件。先从基础的需求开始逐步增加复杂度。充分测试不同的模型对停止标记和格式提示的敏感度不同。针对ERNIE-4.5-0.3B-PT建议多做一些测试找到最有效的配置。考虑容错在实际应用中模型不一定能100%按照你的要求输出。设计一些回退机制和错误处理逻辑是很有必要的。结合业务场景最好的停止标记和输出格式一定是与你的具体业务场景紧密相关的。多从用户的角度思考什么样的输出最有用。7.3 下一步探索掌握了这些基础技巧后你可以进一步探索动态停止策略根据生成内容动态调整停止条件多格式支持让模型能够根据输入自动选择最合适的输出格式格式验证与修正自动检测输出格式是否正确并进行修正批量处理优化在批量生成场景下如何高效地应用这些控制技巧记住技术是为人服务的。这些高级技巧的最终目的是让AI生成的内容更好地满足你的实际需求。多实践、多调整你会找到最适合自己场景的配置方案。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

vLLM部署ERNIE-4.5-0.3B-PT高阶技巧:自定义stop_token与response_format控制

vLLM部署ERNIE-4.5-0.3B-PT高阶技巧:自定义stop_token与response_format控制 你是不是也遇到过这样的问题:用vLLM部署了大模型,调用起来很方便,但生成的文本总是不太“听话”?要么话说到一半就停了,要么输…...

Nunchaku-FLUX.1-dev开源镜像免配置部署:消费级GPU一键启动WebUI

Nunchaku-FLUX.1-dev开源镜像免配置部署:消费级GPU一键启动WebUI 1. 前言:为什么你需要这个本地文生图方案? 如果你尝试过在线AI绘画平台,大概率会遇到这些问题:生成次数有限制、排队等待时间长、高级功能要付费、生…...

Gemma-3-270m实战落地:为制造业MES系统添加自然语言工单查询入口

Gemma-3-270m实战落地:为制造业MES系统添加自然语言工单查询入口 1. 引言:让MES系统听懂人话 想象一下这个场景:车间主任老张站在生产线旁,想快速了解"上个月华为订单P20型号还有多少未完成",传统MES系统需…...

C语言指针下(进阶):核心考点与高频面试题解析

指针篇(下):进阶核心 面试高频考点全解析指针的基础内容上手后,进阶部分才是掌握 C 语言核心、应对期末笔试和校招面试的关键。这篇把指针进阶的重点内容拆解清楚,搭配可直接运行的代码示例,没有晦涩的表述…...

【自定义控件】温度表/压力表仪表盘,纯GDI绘制多场景应用控件示例(很漂亮哦)

近期开发的自定义控件一览表,仅供学习参考2026.3.16 更新 20多种控件。刻度尺、带进度条刻度尺、仪表、温湿度表、加油面板、速度表、时钟等 一、控件1效果显示二、控件2展示(半圆形)功能(以最终效果为准,功能不断优化…...

基于BIP+qwenCode+BIPMCP的客户化开发最佳实践

基于BIPqwenCodeBIPMCP的客户化开发最佳实践 前言 本案例出于通用性考虑,使用BIP旗舰版演示,实际使用过程中旗舰版,高级版均可使用此方法 功能说明 本案例将结合BIP旗舰版低代码平台qwenCodeBIPMCP进行rest接口开发 相关资料 文档 启动本…...

GLM-5:当大模型学会“自己写代码“,从Vibe Coding到Agentic Engineering的跨越

GLM-5:当大模型学会"自己写代码",从Vibe Coding到Agentic Engineering的跨越 🎯 一句话总结:智谱AI联合清华大学推出744B参数的GLM-5模型,通过DeepSeek Sparse Attention(DSA)压缩注意…...

OpenClaw详细版配置教程

1. 简介 openClaw就是一个开源的AI助手项目,接下来介绍一下windows系统的本地部署教程。 2. 步骤 由于官方推荐在windows系统中使用WSL2运行openclaw。原因是windows也可以运行,但某些插件可能出现兼容性不足的问题,问题比较多;而…...

uniapp中 不铺满全屏滚动加载更多

uniapp中 滚动加载更多 搜索框的部分固定不动 下部分下拉加载更多添加 scroll-view<scroll-view v-if"list.length > 0" class"itempages" scroll-y"true" scrolltolower"loadMore" style"height: 63vh;"> <…...

Linux进程 --- 5(进程地址空间初识)

大家好&#xff01;今天我们将深入探讨进程地址空间的相关知识&#xff0c;同时也会解答之前文章中遗留的一些问题。相信通过这篇文章的学习&#xff0c;大家一定能有所收获&#xff01;历史问题引入在前面文章中我们介绍了fork函数&#xff0c;有如下的形式&#xff1a;pid_t …...

揭秘五轴数控磨床的坐标魔术:砂轮轴向如何随工件旋转?

在高端制造领域,五轴数控磨削机床是实现复杂曲面精密加工的核心装备。其魅力在于通过多轴联动,让砂轮与工件在三维空间中自由“共舞”,从而啃下叶轮、螺旋桨等硬骨头。然而,这场舞蹈的幕后指挥——坐标变换,却是一道让许多工程师头疼的数学谜题。今天,我们将深入拆解一个…...

Gitee本地项目上传及下载教程

1.Gitee仓库创建 ①登录Gitee官网&#xff0c;在首页右上角选择加号&#xff0c;点击新建仓库。 ②配置仓库 选择【初始化仓库】 ----【设置模板】----【选择分支模型】&#xff0c;其他的默认 注&#xff1a;【.gitignore一项&#xff0c;建议默认不选择状态】容易在本地项目上…...

Linux 进程控制(四)自主Shell命令行解释器.

目录 自主Shell命令行解释器 第1步 : 打印命令行字符串 第2步 : 从键盘中获取用户的字符串输入 第3步 : 解析命令行字符串 第4步 : 利用程序替换函数执行解析完的命令 第 5 步 : 内建命令的特殊处理 第6步 : 解析重定向命令 自主Shell命令行解释器 在前面学习完进程的创…...

在资源优化调度场景中,基于多源数据(如地磁/视频/雷达检测、浮动车GPS、手机信令、互联网地图API等)构建关联规则

在资源优化调度场景中&#xff0c;基于多源数据&#xff08;如地磁/视频/雷达检测、浮动车GPS、手机信令、互联网地图API等&#xff09;构建关联规则&#xff0c;可实现对城市交通系统的动态感知与协同优化。其核心逻辑包括&#xff1a;多源数据融合建模&#xff1a;通过时空对…...

基于VSG控制的MMC并网逆变器仿真模型(Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Ambari Metrics 是 Apache Ambari 提供的轻量级、嵌入式集群监控子系统,用于收集、聚合、存储和展示 Hadoop 生态组件

Ambari Metrics 是 Apache Ambari 提供的轻量级、嵌入式集群监控子系统&#xff0c;用于收集、聚合、存储和展示 Hadoop 生态组件&#xff08;如 HDFS、YARN、HBase、Kafka 等&#xff09;的关键性能指标&#xff08;Metrics&#xff09;。它基于时间序列数据库&#xff08;默认…...

Apache Hadoop 生态系统(或与其深度集成)的企业级大数据平台核心服务,常见于 Hortonworks Data Platform(HDP)、Cloudera Data Platform

Apache Hadoop 生态系统&#xff08;或与其深度集成&#xff09;的企业级大数据平台核心服务&#xff0c;常见于 Hortonworks Data Platform&#xff08;HDP&#xff09;、Cloudera Data Platform&#xff08;CDP&#xff09;等发行版中&#xff0c;各自承担关键职能&#xff1…...

手机短信误删!4 个实用恢复方法,一文看懂轻松

你是否有过这样的懊恼时刻&#xff1a;手滑删除了银行的验证码短信&#xff0c;或是亲友的珍贵问候&#xff0c;急需时才发现信息已消失无踪&#xff1f;其实&#xff0c;被删除的短信并不会立刻从手机中彻底清除&#xff0c;只是被系统标记为 “可覆盖空间”—— 这个特性为恢…...

每天了解几个MCP SERVER:工具百宝箱!200+应用集成,Composio 让 AI 连接一切

每天了解几个MCP SERVER&#xff1a;&#x1f527; Composio来源: https://docs.composio.dev/docs/mcp-overview简介 Composio MCP Server 提供200工具集成平台&#xff0c;让AI可以连接各种第三方应用和服务。 能做什么 工具集成&#xff1a;200应用集成工作流编排&#xff1…...

每天了解几个MCP SERVER:云端媒体库!AI 自动处理图片视频,Cloudinary 让媒体管理更简单

每天了解几个MCP SERVER&#xff1a;&#x1f5bc;️ Cloudinary来源: https://github.com/cloudinary/mcp-servers简介 Cloudinary MCP Server 提供云端图片管理和CDN服务&#xff0c;让AI可以进行图片上传、处理和优化。 能做什么 图片上传&#xff1a;上传图片和视频图片处理…...

每天了解几个MCP SERVER:极速分析神器!亿级数据秒级查询,ClickHouse 让大数据分析飞起

每天了解几个MCP SERVER&#xff1a;⚡ ClickHouse来源: https://github.com/ClickHouse/mcp-clickhouse简介 ClickHouse MCP Server 为AI Agent提供ClickHouse列式数据库的查询能力&#xff0c;以极高的性能分析大数据。 能做什么 SQL查询&#xff1a;执行高性能SQL查询实时分…...

刷题笔记:力扣第48题-旋转图像

1.拿到这道题目&#xff0c;第一反应是再创建一个新的矩阵&#xff0c;按照顺时针旋转90的方式遍历原来的矩阵&#xff0c;将旋转后的矩阵存入新矩阵中&#xff0c;输出即可。这种方法的时间复杂度和空间复杂度均为O(n2)。2.但本题不允许使用新的矩阵&#xff0c;这意味着一切修…...

OpenClaw使用教程 + 获取API + 踩坑

新手建议&#xff1a;如果研究不下去&#xff0c;直接用第三方的Oneclaw&#xff0c;字节、阿里、腾讯出品的第三方。 可以等一等&#xff0c;国产有替代。 别焦虑&#xff0c;没用&#xff0c;23年gpt&#xff0c;24年sora&#xff0c;25deepseek和agent&#xff0c;26开年o…...

免费查AI率完全攻略:5种不花钱的检测方法

免费查AI率完全攻略&#xff1a;5种不花钱的检测方法 写完论文之后最怕什么&#xff1f;不是导师让你改格式&#xff0c;而是交上去才发现AI率高得离谱。现在各高校对AI率查得越来越严&#xff0c;知网、维普、万方都上了AIGC检测模块&#xff0c;一旦被标记"疑似AI生成&q…...

免费降AI率软件排行:从白嫖到付费怎么选

免费降AI率软件排行&#xff1a;从白嫖到付费怎么选 写这篇文章的起因是&#xff0c;上个月有三个不同的朋友问了我同一个问题&#xff1a;“有没有免费降AI率的软件&#xff1f;” 一个是大四写毕业论文的&#xff0c;一个是在读研二准备投期刊的&#xff0c;还有一个是帮老板…...

毕业论文免费查AI率+降AI率一站式攻略

毕业论文免费查AI率降AI率一站式攻略 答辩季快到了&#xff0c;论文的事情一件接一件。查重过了还有AI检测&#xff0c;AI检测过了还有格式审查&#xff0c;感觉毕业比入学还难。 这篇文章解决一个具体问题&#xff1a;怎么用免费工具完成论文AI率的检测和修改。从"查出来…...

免费降ai工具实测:哪个免费额度最良心

免费降ai工具实测&#xff1a;哪个免费额度最良心 网上但凡说"免费"两个字的工具&#xff0c;十个里有八个是标题党。要么注册完发现免费额度只有100字&#xff0c;跟没有一样&#xff1b;要么做一堆任务才能解锁&#xff0c;转发三个群、邀请两个好友&#xff0c;折…...

HJ132 小红走网格

中等 通过率&#xff1a;31.75% 时间限制&#xff1a;1秒 空间限制&#xff1a;1024M 知识点数论 校招时部分企业笔试将禁止编程题跳出页面&#xff0c;为提前适应&#xff0c;练习时请使用在线自测&#xff0c;而非本地IDE。 描述 在二维平面坐标系中&#xff0c;小红初…...

2026 学术诚信必备!10 款 AI 论文查重工具盘点:查重 + AI 率双检测,告别毕业 / 投稿焦虑

又到本科毕设、期刊投稿的关键节点&#xff0c;「重复率飘红」「AI 率超标」成了悬在每一位学术人头顶的达摩克利斯之剑。传统查重工具只能检测文字重复&#xff0c;面对 AI 生成内容却束手无策&#xff1b;而专业 AI 检测又价格高昂、操作繁琐。 今天为大家整理了10 款兼顾查…...

在服务器上通过git仓库进行多开发者协同工作

本文旨在解决一个需求&#xff1a;在同一服务器上的若干个开发人员能够在自己的账户下面抓取和更新一个项目文件夹。1.首先是root权限创建git仓库&#xff1a;创建用于共享的裸仓库&#xff1a;git clone --bare 项目文件夹名 项目文件夹名.git创建用户组&#xff1a;sudo grou…...