Solon AI 开发学习17 - generate - 使用复杂提示语

有些生成模型(或服务平台)的提示语可能会是一个结构体,此时就需要使用 GeneratePrompt 接口。可以快速使用,或者定制强类型实体。

1、使用快速方法

使用阿里百炼调整一张图片,把它转成法国绘本风格

java 复制代码
String apiUrl = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis";
GenerateModel generateModel = GenerateModel.of(apiUrl)
        .apiKey(apiKey)
        .model("wanx2.1-imageedit")
        .headerSet("X-DashScope-Async", "enable")
        .build();

GenerateResponse resp = generateModel.prompt(GeneratePrompt.ofKeyValues(
                "function", "stylization_all",
                "prompt", "转换成法国绘本风格",
                "base_image_url", "http://wanx.alicdn.com/material/20250318/stylization_all_1.jpeg")
        )
        .options(o -> o.optionAdd("n", 1))
        .call();

log.warn("{}", resp.getContent().getUrl());

2、定制提示语结构体

定义提示语结构体

java 复制代码
@Builder
class ImageEditPrompt implements GeneratePrompt {
    private String function;
    private String prompt;
    private String base_image_url;

    @Override
    public Map<String, Object> toMap() {
        return Utils.asMap("function", function, "prompt", prompt, "base_image_url", base_image_url);
    }
}

应用示例

java 复制代码
String apiUrl = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis";
GenerateModel generateModel = GenerateModel.of(apiUrl)
        .apiKey(apiKey)
        .model("wanx2.1-imageedit")
        .headerSet("X-DashScope-Async", "enable")
        .build();

GenerateResponse resp = generateModel.prompt(ImageEditPrompt.builder()
            .function("stylization_all")
            .prompt("转换成法国绘本风格")
            .base_image_url("http://wanx.alicdn.com/material/20250318/stylization_all_1.jpeg")
            .build())
        .options(o -> o.optionAdd("n", 1))
        .call();

log.warn("{}", resp.getContent().getUrl());
相关推荐
笃行客从不躺平11 小时前
ThreadLocal 复习一
java·开发语言
程序帝国11 小时前
SpringBoot整合RediSearch(完整,详细,连接池版本)
java·spring boot·redis·后端·redisearch
安卓程序员_谢伟光11 小时前
如何监听System.exit(0)的调用栈
java·服务器·前端
Pluto_CSND11 小时前
JSONPath解析JSON数据结构
java·数据结构·json
xiaoliuliu1234511 小时前
Tomcat Connectors 1.2.32 源码编译安装教程(含 mod_jk 配置步骤)
java·tomcat
CYTElena11 小时前
JAVA关于集合的笔记
java·开发语言·笔记
数白12 小时前
谷歌会员功能总结
ai
源码获取_wx:Fegn089512 小时前
基于springboot + vueOA工程项目管理系统
java·vue.js·spring boot·后端·spring
短剑重铸之日12 小时前
《Java并发编程研读》第三章:锁机制
java·java并发编程·java锁机制
一 乐12 小时前
健康管理|基于springboot + vue健康管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·学习