大语言模型驱动参数化设计:ChatGPT与Grasshopper集成实战

news2026/5/5 10:47:15
1. 项目概述当参数化设计遇上大语言模型如果你是一名建筑师、设计师或者任何在Rhino和Grasshopper环境中工作的创意人士那么你肯定对“参数化设计”这个概念不陌生。通过定义一系列参数和逻辑关系我们可以创建出能够响应变化、形态复杂的模型。但这个过程往往伴随着大量的手动调整和反复试错尤其是在面对一个复杂的城市街区模型时调整每个建筑的体量、屋顶形态、开窗方式可能意味着要拖动几十个甚至上百个滑块。有没有一种更直观、更接近人类思考方式的方法来控制这些参数呢这正是“SerjoschDuering/chatGPTinGrasshopper”这个项目试图探索和回答的问题。这个项目的核心是将以ChatGPT为代表的大语言模型LLMs无缝集成到Grasshopper的可视化编程工作流中。它不是一个简单的“聊天机器人”而是一个功能强大的“设计协作者”。想象一下你不再需要精确地记住每个参数滑块控制什么而是可以直接对模型说“把北侧的建筑高度降低一些让阳光能照进广场”或者上传一张你心仪的街区照片然后说“参考这张图的街道尺度调整我们模型的建筑密度和退线。” 这个项目通过一系列精心设计的Grasshopper脚本组件将这种自然语言的指令甚至是图像中的视觉信息直接转化为驱动参数化模型的精确数据。我最初接触这个项目时最吸引我的不是它“能用AI”的噱头而是它解决了一个非常实际的痛点降低了参数化设计的操作门槛和思维负担。设计师可以将更多精力放在设计意图和美学判断上而将繁琐的参数映射和数值调整交给AI来理解和执行。这不仅仅是自动化更是一种人机交互范式的转变。接下来我将从项目架构、核心组件、实操细节到避坑经验为你完整拆解如何在自己的Grasshopper环境中搭建并运用这套强大的工具链。2. 核心架构与工具链解析2.1 技术栈总览从指令到模型的桥梁整个项目的技术栈可以看作一座连接“人类自然语言”与“机器参数化模型”的桥梁。理解这座桥梁的每一部分是灵活运用和后续自定义扩展的关键。前端用户输入侧自然语言/图像输入这是起点。用户通过文本面板输入指令或通过截图工具如CaptureViewportToFile获取Rhino视口图像。Grasshopper脚本组件Python/GHPython这是所有魔法发生的地方。项目提供了多个.ghpy文件这些是预写好的Python脚本封装了与外部API通信的核心逻辑。中端处理与通信层OpenAI API (ChatGPT GPT-4V)项目的核心引擎。文本指令由标准的ChatGPT API处理图像信息则由GPT-4VVision模型解析。API调用返回结构化的文本通常是JSON格式其中包含了从指令中解析出的设计意图和具体参数值。可选扩展层Replicate API (Stable Diffusion)用于“文生图”或“图生图”的AI渲染。当参数化模型生成后可以结合描述性提示词调用Stable Diffusion生成风格化的渲染图实现从参数到意象的快速可视化。Speckle Hugging Face Spaces这是一个非常巧妙的“移动端输入”解决方案。通过一个部署在Hugging Face上的Gradio网页应用你可以在手机或平板上输入文本或上传图片。这些数据通过Speckle一个开源的数据协作平台的流Stream和分支Branch机制近乎实时地推送到Grasshopper中实现了跨设备的输入捕获。n8n工作流自动化项目后期引入的更强大、更通用的集成方案。n8n是一个图形化的自动化工具可以连接超过400种服务。在这里它扮演了一个“超级路由器”和“逻辑处理器”的角色。Grasshopper只需通过一个简单的Webhook调用触发n8n中的复杂工作流这个工作流可以串联多个AI Agent支持持久化记忆和工具调用、处理数据、调用其他API最后将结果返回给Grasshopper。这极大地扩展了集成的边界不再局限于OpenAI。后端Grasshopper执行侧JSON解析从API返回的文本中通过Python的json库提取出关键数值。参数映射与模型驱动解析出的数值被赋予到对应的Grasshopper参数滑块或运算器上从而驱动预设的参数化模型如示例中的城市街区模型发生变化。可视化反馈更改后的模型在Rhino视口中实时更新。如果安装了Javid插件还可以将生成的AI图像直接在Grasshopper画布中显示。2.2 为什么选择这样的架构这种架构设计体现了清晰的解耦思想每层各司其职带来了几个显著优势灵活性核心的AI能力由外部API提供这意味着你可以随时更换可能更强大或更经济的模型例如在n8n中轻松切换至Claude或Gemini而无需重写Grasshopper内部的复杂逻辑。可维护性将API调用、错误处理、数据解析封装在独立的Python脚本组件中使得主设计逻辑Grasshopper定义保持干净。当API更新或需要调整提示词Prompt时只需修改对应的脚本即可。扩展性正如项目所展示的从最初的OpenAIReplicate到加入Speckle实现移动输入再到引入n8n支持任意复杂工作流整个系统可以像搭积木一样不断添加新功能而基础框架不变。低门槛设计师无需精通AI模型训练或复杂的后端开发。他们只需要理解如何配置API密钥、如何连接输入输出以及如何撰写有效的提示词就能利用最前沿的AI能力。注意成本与隐私考量。这套架构严重依赖外部API服务这意味着会产生使用费用OpenAI、Replicate按Token或次数计费。在设计工作流时需考虑调用频率和成本控制。同时你的设计图像和提示词会被发送到第三方服务器如果涉及高度机密或未公开的设计方案需要评估相关风险。对于敏感项目可以考虑在n8n中部署本地或私有化的大模型。3. 环境准备与核心组件详解3.1 基础环境搭建在开始任何有趣的操作之前我们需要一个稳定运行的基础环境。这不仅仅是安装软件更是理解各个组件如何协同工作的第一步。1. 核心软件安装Rhino 7 Grasshopper这是项目的根基。确保你安装的是Rhino 7或更新版本因为某些API组件和语法可能依赖于特定版本。Grasshopper作为内置插件通常随Rhino一起安装。Python组件支持Grasshopper默认支持使用C#或VB.NET编写脚本组件但本项目大量使用Python。你需要确保已安装Rhino的Python脚本编辑组件通常称为GHPython。在Grasshopper画布中通过搜索Python Script可以找到它。首次使用可能需要Rhino自动配置Python环境。2. 关键插件准备Javid这是一个非常轻量但好用的插件用于在Grasshopper中显示位图图像。当调用Stable Diffusion生成效果图或需要预览从外部获取的参考图片时Javid组件可以将其直接显示在画布上提供即时视觉反馈。你可以从Food4Rhino网站免费下载并安装。3. API账户与令牌获取这是整个项目能运转起来的“燃料”。你需要准备相应的API密钥。OpenAI API Key访问 OpenAI平台 注册或登录。点击右上角个人头像进入“View API keys”。点击“Create new secret key”为其命名例如“Grasshopper_Dev”然后复制生成的密钥。此密钥只显示一次请立即妥善保存。你需要为账户充值添加付款方式并购买额度否则API调用会因额度不足而失败。OpenAI的计费基于Token消耗对于设计指令解析这类任务单次成本通常极低。可选Replicate API Token 如果你需要用到AI渲染功能则需要此Token。访问 Replicate 注册。点击右上角头像进入“API Tokens”。生成并复制Token。Replicate通常需要绑定信用卡它按模型推理次数和规格计费。可选Speckle 配置 如果你想体验从手机网页输入控制Grasshopper需要设置Speckle。在Speckle官网注册并登录。创建一个新的“Stream”数据流可以命名为“GH-AI-Input”。在该Stream下创建一个新的“Branch”分支例如命名为“mobile-input”。在Stream页面的“Settings”中创建一个具有“写”权限的API Token。记录下三样东西Stream ID、Branch名称、API Token。可选Hugging Face Spaces 部署 这是提供手机端网页界面的部分。登录Hugging Face。访问项目提供的 示例Space 。点击右上角“Duplicate this Space”将其复制到你自己的账户下。在你复制的Space的“Settings”中找到“Variables and secrets”。将之前记录的SpeckleBranch名和Stream ID填入对应的公共变量Public Variables中。将SpeckleAPI Token填入私密变量Secrets中。回到“App”标签页等待应用重建完成。现在你可以通过生成的专属URL在手机浏览器中访问这个输入界面了。3.2 核心脚本组件拆解下载项目仓库后你会看到几个关键的.ghpyGrasshopper Python脚本文件和示例.ghGrasshopper定义文件。理解每个脚本的职责是进行自定义修改的前提。call_chatgpt.py/call_chatgpt_vision.py这是与OpenAI通信的核心。它们使用requests库向OpenAI的接口发送HTTP POST请求。其内部逻辑通常包含构建请求头包含Authorization: Bearer YOUR_API_KEY。组装消息体这是提示工程Prompt Engineering的关键所在。消息体是一个JSON数组通常以系统指令systemrole开头定义AI的“角色”例如“你是一个专业的城市规划助手”。然后是用户指令userrole其中包含了我们从Grasshopper传入的文本问题以及对于Vision版本还会以Base64格式编码图像数据。发送请求与处理响应脚本会解析返回的JSON提取出AI回复的文本内容。一个高级技巧是在提示词中明确要求AI以JSON格式回复这样我们在Grasshopper中可以直接解析出结构化的数据。parse_json.pyAI回复的文本如果是JSON格式需要被转换为Grasshopper能用的数据。这个脚本使用json.loads()函数将文本字符串转换为Python字典或列表然后根据预设的键名如building_height,roof_angle提取出对应的数值并输出给Grasshopper的后续参数。capture_viewport.py这个脚本负责捕获当前Rhino视口的画面。它调用Rhino内部的Rhino.Render相关方法将视口渲染为指定尺寸的位图然后通常将其保存为临时文件或直接转换为Base64字符串以便嵌入到发送给GPT-4V的请求中。call_stable_diffusion.py与Replicate API通信的脚本。它将来自ChatGPT生成的描述性提示词和/或参数化模型导出的图像作为输入调用Stable Diffusion模型如stability-ai/sdxl生成新的图像。返回的是生成图片的URL脚本会将其下载并转换为可在Grasshopper中显示的位图数据。与n8n集成的组件这是项目后期提供的更优方案。你不再需要直接编写调用各种API的复杂Python脚本而是只需一个通用的Webhook调用组件。这个组件向你自己部署的n8n工作流的Webhook URL发送一个HTTP请求请求体中包含所有必要信息如用户指令、图像数据、会话ID等。n8n工作流在云端执行所有复杂的逻辑链可能包括多次调用不同的AI模型、查询数据库、进行数据转换等然后将最终结果返回给这个组件。这极大地简化了Grasshopper端的逻辑并将复杂的业务规则移到了更易于管理和可视化的n8n平台上。4. 五大应用案例实战演练项目提供了五个循序渐进的示例完美展示了从简单到复杂的集成能力。我们逐一深入其内部工作流和实操要点。4.1 案例一图像描述与解释这是最基础的入门案例用于验证你的GPT-4V API连接是否正常并理解图像信息是如何被提取的。工作流触发在Grasshopper中放置一个按钮点击后触发capture_viewport.py脚本捕获当前Rhino视口可能是一个简单的体量模型。发送与提问将捕获的图像Base64字符串和你的文本问题例如“请描述画面中的建筑模型并指出最高的部分。”一起送入call_chatgpt_vision.py脚本。接收与展示脚本调用API后将返回的描述文本输出到Grasshopper的文本面板上。实操心得提示词质量决定输出质量不要只问“这是什么”。像设计师一样提问“这个模型的形态逻辑是什么主要的参数控制点可能有哪些” 你会得到更具洞察力的回答。图像清晰度至关重要杂乱的视口如显示着大量Grasshopper组件会干扰AI的判断。在截图前最好在Rhino中最大化视口并隐藏不必要的网格、轴线等。成本控制GPT-4V处理图像的成本高于纯文本。在调试阶段可以缩小截图分辨率以降低Token消耗。4.2 案例二专家系统评议这个案例非常有趣它模拟了一个设计评审会。AI不再是一个单一的助手而是扮演多个拥有不同视角的“专家”。工作流输入场景上传一张城市基地的照片或截图。定义专家角色在提示词中明确指定多个角色。例如“你现在是简·雅各布斯Jane Jacobs请从街道活力和行人尺度评价这个场地。”“现在请以勒·柯布西耶Le Corbusier的视角从现代主义规划理念分析其优缺点。”串行调用Grasshopper脚本会依次进行多次API调用每次调用都传入同一张图片但更换系统提示词中的角色定义。综合结论最后可以再调用一次ChatGPT将前面几位“专家”的意见作为上下文输入要求它生成一份综合性的设计建议或妥协方案。技术要点这实际上是通过循环或串联多个Python脚本组件来实现的。上一个组件的输出某位专家的评论作为文本输入与图片一起传递给下一个定义了新角色的组件。提示词需要精心设计以确保AI能稳定地“扮演”好指定角色输出风格化的专业意见。4.3 案例三文本驱动参数化模型从这里开始我们进入核心功能用自然语言直接控制模型参数。案例中使用了一个预设的城市街区参数化模型其参数可能包括街区尺寸、建筑数量、平均层高、屋顶坡度范围、庭院大小等。工作流用户输入在文本面板输入指令如“创建一个紧凑的街区中心有一个大广场四周建筑高度在5到8层之间屋顶多为坡屋顶。”结构化提示词call_chatgpt.py脚本中的提示词是关键。它必须包含系统角色定义“你是一个参数化模型解析器。”参数列表与范围明确告诉AI模型有哪些可调参数、它们的含义、数据类型整数、浮点数和有效范围如building_height: 20.0-80.0。输出格式指令“你必须且只能以以下JSON格式回复{param1: value1, param2: value2...}”API调用与解析ChatGPT根据你的指令和它“看到”的参数约束生成一个JSON对象。parse_json.py脚本解析这个JSON。参数映射解析出的每一个值通过Number Slider组件或直接赋值的方式驱动到对应的模型参数上模型随即更新。避坑指南模糊指令的处理AI对“紧凑”、“宽松”这类定性词汇的理解可能不一致。解决方法一是在提示词中量化它们例如“‘紧凑’指建筑覆盖率大于60%”二是接受这种不确定性将其视为一种设计探索工具多次生成不同结果进行选择。参数冲突用户指令可能导致参数超出预设范围或逻辑冲突如庭院尺寸大于街区尺寸。需要在提示词中要求AI遵守约束或在Grasshopper后端设置数值钳制Clamp逻辑。调试技巧始终在流程中接入一个文本面板显示AI返回的原始JSON字符串。当模型行为异常时首先检查这里看是否是AI理解有误或输出格式错误。4.4 案例四图文结合驱动参数化模型这是案例三的增强版加入了图像上下文。这使得AI不仅能听懂你说什么还能“看到”你指的是什么。工作流输入图文对用户同时提供文本指令如“让这些建筑的屋顶风格与图片中的传统建筑协调”和一张参考图片可能是一张含有传统坡屋顶的街景照片。多模态理解call_chatgpt_vision.py脚本将图片和文本一同发送给GPT-4V。模型会综合理解图片中的视觉特征屋顶形式、材质、比例和文本指令。生成针对性参数AI生成的JSON参数值会尝试体现对图片特征的模仿或呼应。例如它可能将roof_type参数从“平屋顶”改为“双坡屋顶”并调整roof_angle到一个更接近参考图的范围。逐元素控制高级在更复杂的示例中项目展示了如何让AI为场景中的每一个独立建筑生成不同的参数。这需要在前端提示词中明确描述这种需求并在后端解析JSON时处理一个包含多个子对象的数组结构。经验分享图像参考的指向性要强如果参考图片内容杂乱AI可能抓不住重点。最好提供特征鲜明、主体突出的参考图。文本指令需与图像关联指令应明确指向图像的某些方面例如“参考图中红色建筑的立面分割比例调整所有建筑的立面网格。”这是一个“风格迁移”的雏形这个工作流本质上是在进行参数化层面的“风格迁移”将参考图像的视觉特征通过调整模型参数的方式转化到新模型上。4.5 案例五全流程AI设计与渲染这是最完整的端到端工作流结合了参数化生成和AI渲染实现从概念到表现图的快速迭代。工作流图文输入与参数生成同案例四通过GPT-4V生成驱动参数化模型的JSON。模型更新与视角捕获Grasshopper模型根据新参数更新。随后脚本自动从某个最佳视角或指定视角捕获一张模型的线框图或简单着色图。构建渲染提示词这一步很关键。我们可以将用户的原始指令、GPT-4V对参考图片的描述、以及当前参数化模型的特征结合起来通过一个提示词优化脚本可以是另一个ChatGPT调用生成一段详细、风格化的Stable Diffusion渲染提示词。例如“现代主义风格的高密度城市街区鸟瞰图建筑体量错落有致中心有绿色广场阳光明媚电影感细节丰富8K。”调用Stable Diffusion将生成的提示词和捕获的模型图像作为“图生图”的初始图像和构图引导发送给call_stable_diffusion.py脚本。接收并展示效果图脚本从Replicate取回生成的效果图通过Javid组件在Grasshopper中显示。核心价值快速可视化在几秒钟内一个基于文本和图片概念生成的参数化模型就能得到一张高质量、有氛围感的渲染图极大加速了概念设计阶段的推敲和沟通。风格探索通过修改渲染提示词可以轻松为同一个模型生成不同风格写实、水彩、拼贴、未来主义的表现图而无需在渲染软件中调整复杂的材质和灯光。5. 进阶集成使用n8n构建企业级自动化工作流项目后期引入的n8n方案我认为是更具前瞻性和实用性的方向。它将Grasshopper从一个需要处理复杂集成的“胖客户端”转变为一个只负责触发和接收结果的“轻量前端”。5.1 n8n工作流设计在n8n中你可以构建一个这样的工作流Webhook节点接收来自Grasshopper的HTTP请求。请求体中包含session_id用于多轮对话记忆、user_query用户指令、image_dataBase64图片等。AI Agent节点LangChainn8n集成了LangChain框架。你可以配置一个具有持久化记忆通过session_id关联的AI Agent。这个Agent可以拥有多种“工具”Tools例如查询项目数据库根据用户指令在内部数据库查找类似项目的参数。调用计算函数执行一些复杂的计算如日照分析、流线模拟需要预先编写好函数接口。访问MCP工具这是关键。模型上下文协议MCP可以让AI Agent直接调用Rhino/Grasshopper内部的命令或查询对象属性理论上实现更深度的双向交互。判断与分支节点根据Agent的分析结果决定工作流走向。例如如果用户问的是“解释模型”就走纯文本生成分支如果用户要求“修改参数”就走参数计算和返回分支。多模型调用节点可以串联多个AI模型。例如先用GPT-4V分析图像再用Claude-3生成更富创意的设计描述最后用本地部署的Llama模型检查输出是否符合公司规范。数据格式处理节点将最终结果整理成Grasshopper期望的JSON格式。响应节点将处理好的数据返回给Grasshopper的Webhook调用组件。5.2 Grasshopper端的极简配置在Grasshopper中你只需要一个通用的Python脚本组件其核心代码可能只有不到10行import requests import json # 配置n8n Webhook URL n8n_webhook_url https://your-n8n-instance.com/webhook/gh-ai # 准备数据 data { session_id: session_id, # 从某个输入端口获取 query: user_query, # 从文本面板获取 image_b64: captured_image # 从截图脚本获取 } # 发送请求 response requests.post(n8n_webhook_url, jsondata) # 处理响应 if response.status_code 200: result response.json() # 解析result中的参数并输出到Grasshopper param_a result.get(building_height) param_b result.get(roof_type) # ... 输出到对应的端口 else: error_msg fError: {response.status_code} # 输出错误信息5.3 优势与部署考量优势逻辑与界面分离复杂的业务逻辑留在n8nGrasshopper定义变得极其简洁和稳定。强大的集成能力n8n的400连接器意味着你可以轻松接入Notion记录设计日志、Slack通知团队、Google Sheets记录参数版本等。支持复杂状态通过session_id实现多轮对话记忆让AI能理解上下文进行连续、深入的设计讨论。模型无关性在n8n中切换AI模型提供商就像拖拽节点一样简单便于寻找性价比最优的方案。部署考量网络要求Grasshopper需要能访问你部署n8n服务的服务器可以是云服务器也可以是内网服务器。安全性需要对n8n的Webhook进行安全配置例如添加令牌验证防止被恶意调用。成本与维护你需要维护一台运行n8n的服务器。对于团队或企业级应用这是值得的对于个人学习初期使用项目提供的直接API调用方式更简单。6. 常见问题与故障排除实录在实际部署和运行过程中你几乎一定会遇到下面这些问题。这里记录了我踩过的坑和解决方案。6.1 API调用失败类问题问题1401 Authentication Error或Invalid API Key排查这是最常见的问题。99%的情况是API密钥错误或未正确传递。解决检查密钥确认在OpenAI/Replicate平台复制的密钥完整无误前后没有多余空格。检查 Grasshopper 输入确保存放密钥的Panel组件已正确连接到Python脚本的api_key输入端口。右键点击连接线检查数据是否正确传递。检查代码打开Python脚本确认它确实在读取正确的输入端口变量并且将其用于构建请求头如headers {Authorization: fBearer {api_key}}。检查额度登录OpenAI平台查看Usage页面确认账户有剩余额度。问题2429 Rate Limit Exceeded排查请求过于频繁超过了API的速率限制。解决降低频率避免在Grasshopper中使用Timer组件高频触发API调用。改为手动按钮触发。添加延迟在Python脚本的循环调用中使用time.sleep(1)在请求间加入短暂延迟。升级套餐对于OpenAI可以考虑升级到更高的费率限制层级。问题3400 Bad Request或Invalid parameters排查请求的格式或内容有问题。解决查看错误详情Python脚本应捕获并打印API返回的具体错误信息。在脚本中加入print(response.text)来查看。检查消息格式对于ChatGPT API确保messages参数是一个包含role和content的字典列表。检查图像格式对于GPT-4V确保图像已正确转换为Base64字符串且不包含数据URI前缀如data:image/png;base64,或者根据API要求正确包含。检查模型名称确认代码中调用的模型名称如gpt-4-vision-preview是当前有效的。6.2 Grasshopper与数据流问题问题4Python脚本组件显示“错误”或“未解决”排查GHPython环境问题或代码语法错误。解决双击打开脚本编辑器查看下方的错误提示。最常见的是缺少Python模块。安装依赖脚本可能需要requests,PIL(Pillow)等库。你需要在Rhino的Python环境中安装它们。打开Rhino的命令行输入_RunPythonScript然后在弹出的编辑器中输入import subprocess; subprocess.check_call([python, -m, pip, install, requests, Pillow])进行安装。检查输入/输出变量确保脚本顶部input和output声明的变量名与代码中使用的、以及与Grasshopper电池连接的端口名一致。问题5参数更新了但模型没变化或变化异常排查数据流连接错误或参数映射错误。解决数据流追踪在关键节点插入Panel组件查看数据是否按预期传递。例如在JSON解析脚本的输出端接一个Panel看解析出的数值是否正确。检查参数范围确认解析出的数值在Grasshopper下游Number Slider组件设定的最小/最大值范围内。如果超出Slider会钳制在边界值导致模型无变化或突变。检查数据类型确保输出的是float或int而不是包含数字的字符串。必要时在Python脚本中使用float()或int()进行转换。问题6Speckle数据接收延迟或失败排查Speckle流连接或Hugging Face Space配置问题。解决检查URL和令牌反复核对Grasshopper中输入的Speckle分支URL、以及Hugging Face Space中配置的SPECKLE_STREAM_ID,SPECKLE_BRANCH和SPECKLE_TOKEN是否完全匹配。检查权限确保Speckle令牌具有对该Stream的“写”权限。检查Auto-Update在Grasshopper的Speckle接收组件上右键确保勾选了“Auto-Update”自动更新这样当Speckle流中有新数据时组件会自动触发。查看Speckle Web App直接在浏览器中打开你的Speckle流手动发送一条测试数据看Grasshopper是否能收到。这是判断问题出在发送端还是接收端的好方法。6.3 提示词与AI行为问题问题7AI回复的JSON格式不正确导致解析失败排查AI没有严格遵守输出格式指令。解决强化系统指令在系统提示词中非常强硬地规定格式。例如“你必须且只能输出一个有效的JSON对象不要有任何额外的解释、标记或代码块。JSON的键必须精确为building_height,roof_angle...”提供示例在系统提示词中提供一个输出示例这对GPT模型非常有效。例如“例如如果你的判断是建筑高度为50屋顶角度为30则输出{building_height: 50, roof_angle: 30}”使用Function Calling推荐如果使用OpenAI的Chat Completions API可以定义“函数”Function或“工具”Tools强制AI以指定的JSON Schema进行回复。这是最可靠的方法但需要在Python脚本中实现更复杂的请求体构建。问题8AI对设计指令的理解有偏差或不稳定排查提示词不够精确或AI的创造性导致了不可控性。解决量化描述用具体数值范围替代模糊词汇。将“建筑高一些”改为“将建筑高度参数增加到当前值的1.2倍至1.5倍之间”。分步引导对于复杂指令拆分成多个简单的API调用。先让AI描述现状再基于描述给出修改建议最后解析建议为参数。设置温度Temperature参数在API调用中将temperature参数设低如0.1-0.3让AI的输出更确定、更少随机性。但这也会降低创造性。接受并利用不确定性将AI的不确定性视为一种“设计探索生成器”。连续发送同一指令多次收集一批略有不同的参数组合从中挑选最符合意图的结果。这可以通过在Grasshopper中循环调用并收集结果来实现。这个项目打开了一扇门让我们看到了自然语言和计算机视觉如何成为下一代设计软件的核心交互界面。从我个人的实践来看最大的收获不是做出了某个炫酷的模型而是获得了一种全新的工作流思维方式。我开始习惯用语言去“描述”我想要的空间感受和形态关系而不是直接去思考某个具体的参数应该调到多少。这种从“如何做”到“做什么”的思维转变或许才是AI辅助设计带来的最深层次的影响。当然这条路还很长提示词的打磨、工作流的优化、与现有工具的深度整合都还有大量的探索空间。但毫无疑问起点已经非常清晰工具也已触手可及。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2584744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…