使用华为CangjieMagic智能体框架实现文生图

目录

引言

硅基流动平台

获得API Key

文生图API

CangjieMagic文生图

测试程序

结束语


引言

前面已经测试了一些CangjieMagic的功能,今天来介绍一下其文生图能力。CangjieMagic内置模型只有OpenAI和硅基流动支持文生图能力,由于众所周知的原因,OpenAI并不方便使用,本文仅介绍硅基流动平台。CangjieMagic的官方示例中没有包括文生图的例子,本文也是一个补充。

硅基流动平台

硅基流动是一个大模型服务平台,其核心产品SiliconCloud云服务平台集成超百款主流模型,包括DeepSeek-R1、Qwen,以及文生图和视频生成等模型。

硅基流动提供的文生图模型今年发生了一些变化,目前可以免费使用的是快手的KColors模型。登录其平台后可以体验一下该模型的能力。

获得API Key

获得API Key的方法:

  1. 登录后点击左侧导航栏「API密钥」模块
  2. 选择「新建API密钥」并填写描述信息(如:ChatGPT对接密钥)
  3. 复制生成的sk-xxxx格式密钥,该密钥仅显示一次需妥善保存

使用前需要在环境变量中设置SILICONFLOW_API_KEY为生成的API Key。出于安全考虑,尽量不要在程序中写入这个Key。

文生图API

硅基流动的文生图API介绍参见:创建图片生成请求 - SiliconFlow。其API和OpenAI兼容,比较容易理解,在此不赘述了。生成的图像会存储在云端,通过返回的 URL 可以访问该图像,链接有有效期。

CangjieMagic文生图

CangjieMagic的文生图和文本模型很类似。

  • 文本生成是由ModelManager.createChatModel来实现,而文生图是由ModelManagercreateImageModel来完成的。
  • ImageRequest是用于生成图像的类,根据图像请求创建图像响应。
  • ImageResponse是用于处理平台返回的信息。

测试程序

下面是测试程序,程序中借助ModelManager创建了名为siliconflow:Kwai-Kolors/Kolors的图像生成模型。构建ImageRequest对象,将 "夏天,沙滩,比基尼,躺椅" 作为文本提示,并且把图像尺寸设定为 1024×1024。调用模型的create方法来生成图像,最后打印出生成图像的 URL。

package genimg
import magic.dsl.tool
import magic.jsonable.*
import magic.tool.NativeFuncTool
import magic.core.model.ImageRequest
import magic.model.ModelManager


main(): Int64 {
    let model = ModelManager.createImageModel("siliconflow:Kwai-Kolors/Kolors")
    let resp = model.create(
        ImageRequest(
            "夏天,沙滩,比基尼,躺椅",
            size: "1024x1024"
        )
    )
    println("图像已经生成, URL:${resp.url}")
    return 0
}

使用下面的命令执行代码: 

developer@developer:~/IDEProjects/genimg$ cjpm run --name genimg
图像已经生成, URL:https://sc-maas.oss-cn-shanghai.aliyuncs.com/XXXXX

cjpm run finished

 生成的图片整体看还行,只是美女的脸部有点吓人。

 

结束语

CangjieMagic框架使用非常简单,可以很容易的和平台对接,实现文生图功能。希望本文提供的方法能为您的实际工作带来启发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值