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());
相关推荐
霸道流氓气质16 小时前
Spring AI 多租户隔离方案
java·人工智能·spring
不会就选b16 小时前
Linux之socket编程(七)----序列化与反序列化(1)
java·linux·服务器
秋名RG16 小时前
Java 工程师学习路线
java·学习方法
是隼人16 小时前
buuctf-pwn PWN4(双引号的转义缺陷)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
秋名RG16 小时前
Java 基础语法
java·开发语言
蒸蒸yyyyzwd16 小时前
CPP选手秋招准备学习笔记day25
笔记·学习
java1234_小锋16 小时前
MyBatis-Plus 3.5.15 已全面支持 Spring Boot 4.0 及 Jackson 3.0
java·spring boot·mybatis
极小狐16 小时前
极狐GitLab Duo 功能更新:扩展 MCP 工具集、支持 MR 事件触发
运维·gitlab·agent·mr·极狐gitlab·mcp·极狐gitlab duo
Y_Mathison16 小时前
Agent安全护栏设计:权限控制、对抗鲁棒性与人工确认环
人工智能·ai
小白说大模型16 小时前
Hermes 全配置指南:从裸版到 AI Agent 天花板
大数据·人工智能·学习·算法·机器学习·数据挖掘