函数计算生成冰冻风格的AIGC图像

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 【9月更文挑战第05天】

函数计算生成冰冻风格的AIGC图像

image.png

image.png

参与方式;https://developer.aliyun.com/topic/superproducts/fc?taskCode=17837&recordId=c77b0a2be2bae8aaa4625c9a35a4eb2a

9元体验 实际费用 /小时

image.png

在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操。

参考手册有问题

image.png

点击 Queue Prompt之后没有反应?

如果您是第一次生成图片,会因为服务器冷启动等待大约 3-5分钟,期间您可以可以观察“绿色边框”的移动情况(即代表图像生成的进度)或者在右边点击“ View Queue”查看排队情况。

我想停止当前排队怎么办?

点击 View Queue-Clear Queue, 可删除目前排队,如果您遇到出图时间过久,排队过多的情况可以通过清楚队列,Refresh 来解决。

我调整了工作流的节点和连线,导致出现错误怎么办?

您可以重新 load 下载的 Json 文件,即可回到最初的设置

image.png

image.png

创建函数

image.png


{
   
   
  "last_node_id": 143,
  "last_link_id": 248,
  "nodes": [
    {
   
   
      "id": 117,
      "type": "SaveImage",
      "pos": [
        -2120.6048362828706,
        -885.7080889821649
      ],
      "size": {
   
   
        "0": 441.4480895996094,
        "1": 725.0784301757812
      },
      "flags": {
   
   },
      "order": 15,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "images",
          "type": "IMAGE",
          "link": 179
        }
      ],
      "properties": {
   
   },
      "widgets_values": [
        "ComfyUI"
      ]
    },
    {
   
   
      "id": 120,
      "type": "VAEEncode",
      "pos": [
        -1828.0975681553693,
        341.1261734095188
      ],
      "size": {
   
   
        "0": 210,
        "1": 46
      },
      "flags": {
   
   },
      "order": 10,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "pixels",
          "type": "IMAGE",
          "link": 240,
          "slot_index": 0
        },
        {
   
   
          "name": "vae",
          "type": "VAE",
          "link": 188,
          "slot_index": 1
        }
      ],
      "outputs": [
        {
   
   
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            185
          ],
          "shape": 3
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "VAEEncode"
      }
    },
    {
   
   
      "id": 116,
      "type": "VAEDecode",
      "pos": [
        -1828.0975681553693,
        470.1261734095189
      ],
      "size": {
   
   
        "0": 210,
        "1": 46
      },
      "flags": {
   
   },
      "order": 14,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "samples",
          "type": "LATENT",
          "link": 178
        },
        {
   
   
          "name": "vae",
          "type": "VAE",
          "link": 189
        }
      ],
      "outputs": [
        {
   
   
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            179
          ],
          "shape": 3,
          "slot_index": 0
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "VAEDecode"
      }
    },
    {
   
   
      "id": 121,
      "type": "Reroute",
      "pos": [
        -1815.0975681553693,
        230.1261734095186
      ],
      "size": [
        75,
        26
      ],
      "flags": {
   
   },
      "order": 6,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "",
          "type": "*",
          "link": 211,
          "slot_index": 0
        }
      ],
      "outputs": [
        {
   
   
          "name": "VAE",
          "type": "VAE",
          "links": [
            188,
            189
          ],
          "slot_index": 0
        }
      ],
      "title": "VAE",
      "properties": {
   
   
        "showOutputText": true,
        "horizontal": false
      }
    },
    {
   
   
      "id": 115,
      "type": "CLIPTextEncode",
      "pos": [
        -2619.3737408381503,
        830.5049605755444
      ],
      "size": {
   
   
        "0": 712.3292236328125,
        "1": 154.2718505859375
      },
      "flags": {
   
   },
      "order": 8,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "clip",
          "type": "CLIP",
          "link": 229
        }
      ],
      "outputs": [
        {
   
   
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            226
          ],
          "shape": 3,
          "slot_index": 0
        }
      ],
      "title": "反向提示词",
      "properties": {
   
   
        "Node name for S&R": "CLIPTextEncode"
      },
      "widgets_values": [
        "nsfw, paintings, cartoon, anime, sketches, worst quality, low quality, normal quality, lowres, watermark, monochrome, grayscale, ugly, blurry, Tan skin, dark skin, black skin, skin spots, skin blemishes, age spot, glans, disabled, distorted, bad anatomy, morbid, malformation, amputation, bad proportions, twins, missing body, fused body, extra head, poorly drawn face, bad eyes, deformed eye, unclear eyes, cross-eyed, long neck, malformed limbs, extra limbs, extra arms, missing arms, bad tongue, strange fingers, mutated hands, missing hands, poorly drawn hands, extra hands, fused hands, connected hand, bad hands, wrong fingers, missing fingers, extra fingers, 4 fingers, 3 fingers, deformed hands, extra legs, bad legs, many legs, more than two legs, bad feet, wrong feet, extra feets,"
      ]
    },
    {
   
   
      "id": 131,
      "type": "ControlNetApplyAdvanced",
      "pos": [
        -1506.9680058517338,
        686.9357512403949
      ],
      "size": {
   
   
        "0": 315,
        "1": 166
      },
      "flags": {
   
   },
      "order": 12,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "positive",
          "type": "CONDITIONING",
          "link": 227
        },
        {
   
   
          "name": "negative",
          "type": "CONDITIONING",
          "link": 226
        },
        {
   
   
          "name": "control_net",
          "type": "CONTROL_NET",
          "link": 204
        },
        {
   
   
          "name": "image",
          "type": "IMAGE",
          "link": 242
        }
      ],
      "outputs": [
        {
   
   
          "name": "positive",
          "type": "CONDITIONING",
          "links": [
            208
          ],
          "shape": 3,
          "slot_index": 0
        },
        {
   
   
          "name": "negative",
          "type": "CONDITIONING",
          "links": [
            209
          ],
          "shape": 3,
          "slot_index": 1
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "ControlNetApplyAdvanced"
      },
      "widgets_values": [
        1,
        0,
        1
      ]
    },
    {
   
   
      "id": 111,
      "type": "ImageResize+",
      "pos": [
        -2569,
        -133
      ],
      "size": {
   
   
        "0": 320,
        "1": 220
      },
      "flags": {
   
   },
      "order": 7,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "image",
          "type": "IMAGE",
          "link": 236,
          "label": "image"
        }
      ],
      "outputs": [
        {
   
   
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            238,
            239,
            240,
            241,
            242
          ],
          "shape": 3,
          "label": "IMAGE",
          "slot_index": 0
        },
        {
   
   
          "name": "width",
          "type": "INT",
          "links": null,
          "shape": 3,
          "label": "width"
        },
        {
   
   
          "name": "height",
          "type": "INT",
          "links": null,
          "shape": 3,
          "label": "height"
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "ImageResize+"
      },
      "widgets_values": [
        1024,
        0,
        "lanczos",
        true,
        "always",
        32
      ]
    },
    {
   
   
      "id": 122,
      "type": "ControlNetLoader",
      "pos": [
        -1846,
        680
      ],
      "size": {
   
   
        "0": 315,
        "1": 58
      },
      "flags": {
   
   },
      "order": 0,
      "mode": 0,
      "outputs": [
        {
   
   
          "name": "CONTROL_NET",
          "type": "CONTROL_NET",
          "links": [
            204
          ],
          "shape": 3,
          "slot_index": 0
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "ControlNetLoader"
      },
      "widgets_values": [
        "sai_xl_canny_256lora.safetensors"
      ]
    },
    {
   
   
      "id": 143,
      "type": "IPAdapterModelLoader",
      "pos": [
        -2616,
        220
      ],
      "size": {
   
   
        "0": 315,
        "1": 58
      },
      "flags": {
   
   },
      "order": 1,
      "mode": 0,
      "outputs": [
        {
   
   
          "name": "IPADAPTER",
          "type": "IPADAPTER",
          "links": [
            247
          ],
          "shape": 3,
          "slot_index": 0
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "IPAdapterModelLoader"
      },
      "widgets_values": [
        "ip-adapter-plus_sdxl_vit-h.safetensors"
      ]
    },
    {
   
   
      "id": 109,
      "type": "IPAdapterStyleComposition",
      "pos": [
        -2231,
        217
      ],
      "size": {
   
   
        "0": 320,
        "1": 322
      },
      "flags": {
   
   },
      "order": 11,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "model",
          "type": "MODEL",
          "link": 248,
          "label": "model"
        },
        {
   
   
          "name": "ipadapter",
          "type": "IPADAPTER",
          "link": 247,
          "label": "ipadapter"
        },
        {
   
   
          "name": "image_style",
          "type": "IMAGE",
          "link": 238,
          "label": "image_style"
        },
        {
   
   
          "name": "image_composition",
          "type": "IMAGE",
          "link": 241,
          "label": "image_composition"
        },
        {
   
   
          "name": "image_negative",
          "type": "IMAGE",
          "link": 239,
          "label": "image_negative"
        },
        {
   
   
          "name": "attn_mask",
          "type": "MASK",
          "link": null,
          "label": "attn_mask"
        },
        {
   
   
          "name": "clip_vision",
          "type": "CLIP_VISION",
          "link": 245,
          "label": "clip_vision",
          "slot_index": 6
        }
      ],
      "outputs": [
        {
   
   
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            244
          ],
          "shape": 3,
          "label": "MODEL",
          "slot_index": 0
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "IPAdapterStyleComposition"
      },
      "widgets_values": [
        0.7000000000000001,
        1,
        false,
        "average",
        0,
        1,
        "V only"
      ],
      "color": "#429993",
      "bgcolor": "#2e857f"
    },
    {
   
   
      "id": 142,
      "type": "CLIPVisionLoader",
      "pos": [
        -2614,
        334
      ],
      "size": {
   
   
        "0": 315,
        "1": 58
      },
      "flags": {
   
   },
      "order": 2,
      "mode": 0,
      "outputs": [
        {
   
   
          "name": "CLIP_VISION",
          "type": "CLIP_VISION",
          "links": [
            245
          ],
          "shape": 3
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "CLIPVisionLoader"
      },
      "widgets_values": [
        "CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"
      ]
    },
    {
   
   
      "id": 108,
      "type": "CheckpointLoaderSimple",
      "pos": [
        -3010.1765545757507,
        213.93502345274047
      ],
      "size": {
   
   
        "0": 315,
        "1": 98
      },
      "flags": {
   
   },
      "order": 3,
      "mode": 0,
      "outputs": [
        {
   
   
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            164
          ],
          "shape": 3,
          "slot_index": 0
        },
        {
   
   
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            165
          ],
          "shape": 3,
          "slot_index": 1
        },
        {
   
   
          "name": "VAE",
          "type": "VAE",
          "links": [
            211
          ],
          "shape": 3,
          "slot_index": 2
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "CheckpointLoaderSimple"
      },
      "widgets_values": [
        "Anime天空之境SDXL.safetensors"
      ]
    },
    {
   
   
      "id": 114,
      "type": "CLIPTextEncode",
      "pos": [
        -2621.3737408381503,
        670.5049605755444
      ],
      "size": {
   
   
        "0": 713.2666625976562,
        "1": 112.24434661865234
      },
      "flags": {
   
   },
      "order": 9,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "clip",
          "type": "CLIP",
          "link": 230,
          "slot_index": 0
        }
      ],
      "outputs": [
        {
   
   
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            227
          ],
          "shape": 3,
          "slot_index": 0
        }
      ],
      "title": "正向提示词",
      "properties": {
   
   
        "Node name for S&R": "CLIPTextEncode"
      },
      "widgets_values": [
        "ice, made-of-ice, water and ice, ice brick, ice icon,ultra light clay, High quality, details, cartoonish, 8k"
      ]
    },
    {
   
   
      "id": 112,
      "type": "KSampler",
      "pos": [
        -1584.8424391704127,
        271.24455766528075
      ],
      "size": {
   
   
        "0": 278.8735656738281,
        "1": 270.4489440917969
      },
      "flags": {
   
   },
      "order": 13,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "model",
          "type": "MODEL",
          "link": 244,
          "label": "model"
        },
        {
   
   
          "name": "positive",
          "type": "CONDITIONING",
          "link": 208,
          "label": "positive",
          "slot_index": 1
        },
        {
   
   
          "name": "negative",
          "type": "CONDITIONING",
          "link": 209,
          "label": "negative",
          "slot_index": 2
        },
        {
   
   
          "name": "latent_image",
          "type": "LATENT",
          "link": 185,
          "label": "latent_image",
          "slot_index": 3
        }
      ],
      "outputs": [
        {
   
   
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            178
          ],
          "slot_index": 0,
          "label": "LATENT"
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "KSampler"
      },
      "widgets_values": [
        385102036223121,
        "fixed",
        10,
        2,
        "dpmpp_sde",
        "karras",
        0.5
      ]
    },
    {
   
   
      "id": 105,
      "type": "LoraLoader",
      "pos": [
        -3010.1765545757507,
        363.9350234527399
      ],
      "size": {
   
   
        "0": 315,
        "1": 126
      },
      "flags": {
   
   },
      "order": 5,
      "mode": 0,
      "inputs": [
        {
   
   
          "name": "model",
          "type": "MODEL",
          "link": 164
        },
        {
   
   
          "name": "clip",
          "type": "CLIP",
          "link": 165
        }
      ],
      "outputs": [
        {
   
   
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            248
          ],
          "shape": 3,
          "slot_index": 0
        },
        {
   
   
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            229,
            230
          ],
          "shape": 3,
          "slot_index": 1
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "LoraLoader"
      },
      "widgets_values": [
        "ice.safetensors",
        1.5,
        3.04
      ]
    },
    {
   
   
      "id": 110,
      "type": "LoadImage",
      "pos": [
        -2576,
        -904
      ],
      "size": {
   
   
        "0": 440,
        "1": 720
      },
      "flags": {
   
   },
      "order": 4,
      "mode": 0,
      "outputs": [
        {
   
   
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            236
          ],
          "shape": 3,
          "label": "IMAGE",
          "slot_index": 0
        },
        {
   
   
          "name": "MASK",
          "type": "MASK",
          "links": [],
          "shape": 3,
          "label": "MASK",
          "slot_index": 1
        }
      ],
      "properties": {
   
   
        "Node name for S&R": "LoadImage"
      },
      "widgets_values": [
        "5560f6ffdec294cce693d4ee4a069f6c.jpg",
        "image"
      ],
      "color": "#285c53",
      "bgcolor": "#14483f"
    }
  ],
  "links": [
    [
      164,
      108,
      0,
      105,
      0,
      "MODEL"
    ],
    [
      165,
      108,
      1,
      105,
      1,
      "CLIP"
    ],
    [
      178,
      112,
      0,
      116,
      0,
      "LATENT"
    ],
    [
      179,
      116,
      0,
      117,
      0,
      "IMAGE"
    ],
    [
      185,
      120,
      0,
      112,
      3,
      "LATENT"
    ],
    [
      188,
      121,
      0,
      120,
      1,
      "VAE"
    ],
    [
      189,
      121,
      0,
      116,
      1,
      "VAE"
    ],
    [
      204,
      122,
      0,
      131,
      2,
      "CONTROL_NET"
    ],
    [
      208,
      131,
      0,
      112,
      1,
      "CONDITIONING"
    ],
    [
      209,
      131,
      1,
      112,
      2,
      "CONDITIONING"
    ],
    [
      211,
      108,
      2,
      121,
      0,
      "*"
    ],
    [
      226,
      115,
      0,
      131,
      1,
      "CONDITIONING"
    ],
    [
      227,
      114,
      0,
      131,
      0,
      "CONDITIONING"
    ],
    [
      229,
      105,
      1,
      115,
      0,
      "CLIP"
    ],
    [
      230,
      105,
      1,
      114,
      0,
      "CLIP"
    ],
    [
      236,
      110,
      0,
      111,
      0,
      "IMAGE"
    ],
    [
      238,
      111,
      0,
      109,
      2,
      "IMAGE"
    ],
    [
      239,
      111,
      0,
      109,
      4,
      "IMAGE"
    ],
    [
      240,
      111,
      0,
      120,
      0,
      "IMAGE"
    ],
    [
      241,
      111,
      0,
      109,
      3,
      "IMAGE"
    ],
    [
      242,
      111,
      0,
      131,
      3,
      "IMAGE"
    ],
    [
      244,
      109,
      0,
      112,
      0,
      "MODEL"
    ],
    [
      245,
      142,
      0,
      109,
      6,
      "CLIP_VISION"
    ],
    [
      247,
      143,
      0,
      109,
      1,
      "IPADAPTER"
    ],
    [
      248,
      105,
      0,
      109,
      0,
      "MODEL"
    ]
  ],
  "groups": [
    {
   
   
      "title": "模型加载",
      "bounding": [
        -3024,
        133,
        354,
        376
      ],
      "color": "#a1309b",
      "font_size": 24
    },
    {
   
   
      "title": "IP Adapter 保持特征",
      "bounding": [
        -2644,
        132,
        758,
        439
      ],
      "color": "#8AA",
      "font_size": 24
    },
    {
   
   
      "title": "图片区",
      "bounding": [
        -2644,
        -990,
        1034,
        1100
      ],
      "color": "#8AA",
      "font_size": 24
    },
    {
   
   
      "title": "提示词部分",
      "bounding": [
        -2648,
        585,
        762,
        415
      ],
      "color": "#b58b2a",
      "font_size": 24
    },
    {
   
   
      "title": "迭代出图",
      "bounding": [
        -1872,
        174,
        590,
        393
      ],
      "color": "#8A8",
      "font_size": 24
    },
    {
   
   
      "title": "ControlNet 控制轮廓",
      "bounding": [
        -1869,
        589,
        714,
        304
      ],
      "color": "#b06634",
      "font_size": 24
    }
  ],
  "config": {
   
   },
  "extra": {
   
   
    "ds": {
   
   
      "scale": 0.8954302432552549,
      "offset": {
   
   
        "0": 3043.294891467489,
        "1": 1185.3023278805774
      }
    }
  },
  "version": 0.4
}
AI 代码解读

image.png

image.png

Prompt outputs failed validation
LoadImage:

  • Custom validation failed for node: image - Invalid image file: 5560f6ffdec294cce693d4ee4a069f6c.jpg

image.png

shanchu

作品欣赏

image.png

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
打赏
0
2
3
1
1190
分享
相关文章
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
快来报名参与ComfyUI活动,体验一键部署模型,生成粘土风格作品赢取体脂秤。活动时间从即日起至2024年12月13日24:00:00,每个工作日限量50个,先到先得!访问活动页面了解更多详情。
231 54
活动实践 | 通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
ComfyUI是基于节点工作流稳定扩散算法的新一代WebUI,支持高质量图像生成。用户可通过阿里云函数计算快速部署ComfyUI应用模板,实现个性化定制与高效服务。首次生成图像因冷启动需稍长时间,之后将显著加速。此外,ComfyUI允许自定义模型和插件,满足多样化创作需求。
函数计算操作报错合集之如何解决"connection errored out"错误,导致无法生成图像
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
153 2
函数计算产品使用问题之如何让SDXL模型在函数计算FC中运行并生成图像
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
函数计算产品使用问题之如何设置两个SD AIGC应用搭载同一个NAS
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
110 1
技术创新领域,AI(AIGC)是否会让TRIZ“下岗”?
法思诺创新直播间探讨了AI(AIGC)是否将取代TRIZ的问题。专家赵敏认为,AI与TRIZ在技术创新领域具有互补性,结合两者更务实。TRIZ提供结构化分析框架,AI加速数据处理和方案生成。DeepSeek、Gemini等AI也指出,二者各有优劣,应在复杂创新中协同使用。企业应建立双轨知识库,重构人机混合创新流程,实现全面升级。结论显示,AI与TRIZ互补远超竞争,结合二者是未来技术创新的关键。
AIGC技术发展与应用实践(一文读懂AIGC)
AIGC(人工智能生成内容)是利用AI技术生成文本、图像、音频、视频等内容的重要领域。其发展历程包括初期探索、应用拓展和深度融合三大阶段,核心技术涵盖数据收集、模型训练、内容生成、质量评估及应用部署。AIGC在内容创作、教育、医疗、游戏、商业等领域广泛应用,未来将向更大规模、多模态融合和个性化方向发展。但同时也面临伦理法律和技术瓶颈等挑战,需在推动技术进步的同时加强规范与监管,以实现健康可持续发展。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等