用OpenAI DALL·E生成个性化图标

373 阅读3分钟

前言

在国内最大的AI应用开发平台coze上,你可以自己定向创建一个你想要实现功能的智能体,打开coze后,点击左上角+号就可以开始创建了,在开始前,coze会有一个弹窗让你输入智能体名称和智能体功能介绍,输入完再点击图标按钮后它会跟你你所输入的文案自动帮你生成智能体图片。

image.png

这个功能要如何实现呢,很显然这是AI+全栈的结合体,今天我们结合AI来完成它的后端需求。

AIGC生成图标

要想通过AIGC生成图标,我们需要一个拥有多模态能力的大模型,今天我们使用openai来完成。首先在目录下创建一个文件,在终端输入npm init -y 初始化一个后端项目,当目录下出现package.json 就代表创建完成了。然后我们安装openai的包,这边我们用国内阿里的镜像来安装,这样更加快速,npm i openai --registry=https://registry.npmmirror.com

image.png 安装完成之后我们在目录下创建一个main.mjs文件作为后端项目的入口文件,可能有人问了,为什么是以mjs 为后缀而不是js 呢?这是因为我们需要在项目中导入oenai的包,在es5时js没有模块化的能力,所以文件为js后缀则会报错,es6则引入了mjs后缀来使JS拥有模块化的能力。

import OpenAI from 'opneai'; //导入openai包

导入包后,我们接下来创建一个openai实例,方便我们通过该实例调用openai提供的各种API。

const client = new OpenAI({
    apiKey: 'your key',
    //国内转发 不需要梯子
    baseURL:'https://api.302.ai/v1'
});

这里我们通过国内服务的转发地址来调用openai,这样可以不用梯子。【官网】302.AI - 全功能AI应用平台,按用量付费,开箱即用,开源生态,这是官网的地址,当你注册成功后可以免费领取1美金(这可是免费的羊毛啊,家人们使劲薅!!),1美金可以用不少时间了。接下来我们创建一个异步函数来最后完成这个功能:

const main = async()=> {
    //AIGC 图片
    const response = await client.images.generate({
        model:'dall-e-3',// 使用这个模型
        prompt:'A spaceship flying through the universe.',
        n:1,//生成几张图片
        size:'1024x1024',//图片大小
    })
    console.log(response.data[0].url); //图片链接
}
main();

异步函数中,async总和await一起使用,.images.generate 是openai提供的一个用于生成图形的方法,这个方法调用了OpenAI 的 DALL·E 大模型,专门设计用于根据文本描述生成图像。然后我们在prompt中输入自己想要图片的提示词,再设定生成图片数和图片大小,然后在外部打印返回一个图片链接,最后调用main函数。在等待几秒钟后,终端就会返回一个链接,我们在浏览器打开后

image.png 实在是太帅了有没有,你可以想把你任何想要生成的图片的prompt输入进去,包能得到一个满意的结果。

小结

通过上述步骤,我们已经成功地利用OpenAI的DALL·E模型实现了根据用户输入的文本描述自动生成图像的功能。对于新手玩AIGC来说,这次实践是一个很好的起点,它只需要一点点ai+后端知识。

如果你对本文的内容有任何疑问,或者在尝试过程中遇到了问题,欢迎留言交流。希望这篇文章对你有所帮助,也期待你在AI的世界里发现更多可能性。