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());
相关推荐
DigitalOcean33 分钟前
OpenCode AI编程实践:利用推理路由低成本开发游戏
llm·agent
妙妙屋(zy)1 小时前
Claude Code+CC-Switch+CC-Connect+飞书使用教程
ai
ServBay1 小时前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp
Flittly2 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了2 小时前
Java 生成二维码解决方案
java·后端
小七-七牛开发者4 小时前
Coding Agent 规则管理:CLAUDE.md、Skills、Hooks、Subagents 到底怎么选?
ai·大模型·agent·claude·token·loop·mcp·claudecode·ai coding
leeyi6 小时前
MCP 工具集成:外部工具变 Eino Tool
aigc·agent·mcp
人活一口气6 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
Flynt8 小时前
配置Chrome DevTools MCP,我在Windows上折腾了两个晚上
ai编程·claude·mcp
NE_STOP8 小时前
Vibe Coding -- 完整项目案例实操
java