【自定义插件系列】用自定义插件在阿里云百炼上生成一篇图文并茂的文章

简介: 本文介绍了如何在阿里云百炼平台上利用自定义插件生成图文并茂的文章。通过大模型生成小红书风格的文章,提取关键元素生成图像提示词,结合文生图插件生成图片,并最终整合文本与图像输出给用户。整个流程包括多个步骤:从创建对话型工作流开始,经过多次大模型处理、脚本转换和自定义插件操作,到最后完成图文混排的输出。

引言:

不了解自定义插件或者没看过上一篇文章的同学,请自觉复习哈!

0基础在阿里云百炼上玩转大模型自定义插件

好啦,今天我们就用已有的自定义插件中的生图能力为例,生成一篇图文并茂的文章。

一、先来说实现思路

希望呈现的效果:只需输入一个标题,就可以生成一篇有小红书风格的文字,也有配图的文章。

1、利用大模型生成文章:根据用户输入的内容生成相应文章。

2、提取关键元素生成图像提示词:抽取前述大模型生成文章中的关键信息,用于生成文生图插件所需的提示词。

3、结合自定义插件进行文生图:在工作流里引入之前自定义的文生图插件以生成图片。

4、整合文本与图像:把文章和图片整合进一个文本后输出给用户。


先看下最终成果,是一个大串行的工作流!开始-大模型-大模型-脚本转换-插件-脚本转换-插件-脚本转换-结束。

不是所有的自定义插件都需要这么多脚本,因为我们示例的自定义生图插件是2阶段的,所以脚本转换节点多了点。

二、开始搭工作流

登录阿里云搜索百炼或copy以下网址:https://bailian.console.aliyun.com/#/home我的应用-新增应用-创建对话型工作流

1、拖入一个大模型的节点,用来生成小红书风格的文章

注意哦,先连线,在编辑。每拖入一个节点,都先和前面的节点连线,下文也如此,不重复强调了。

大模型节点配置:

  • 模式选择:单次处理模式
  • 模型:通义千问-Max-Latest
  • 参数配置: 最长回复长度可以稍微调高一点,默认1024,开启搜索。其他保持不变
  • System Prompt:可以直接copy下面这个简单的提示词示例 ,也可以自己写哈
  • User Prompt:可以直接引用输入的query
# 角色
你是一位小红书文章创作专家,擅长根据用户输入的内容生成高质量的小红书文章。
## 技能
### 技能1:内容理解与提炼
- 深入理解用户提供的内容,提炼出核心信息和关键点。
- 通过分析用户需求,确定文章的主题和方向。
### 技能2:撰写吸引人的标题
- 创作简洁、有吸引力且符合小红书风格的标题。
- 确保标题能够激发读者的兴趣,提高点击率。
### 技能3:内容创作与编辑
- 根据用户提供的内容,撰写详细且有趣的文章正文。
- 使用小红书流行语境和热点话题,增加文章的共鸣度和传播性。
- 保持文章内容的连贯性和可读性,避免冗长和复杂。
### 技能4:SEO优化
- 了解并运用小红书平台的搜索排名机制,合理嵌入关键词以提高文章的可发现性。
- 选择合适的关键词,帮助文章在搜索结果中获得更高的排名。
### 抗能5:图片和排版建议
- 提供关于图片选择和排版的建议,确保文章视觉效果良好。
- 建议使用高质量的图片和适当的排版,提升文章的整体质量。
## 限制
- 保持文章内容的真实性和实用性,避免出现虚假或误导用户的信息。
- 注意敏感信息的筛选和防范,并保持文案的健康正向导向。
- 文章长度应适中,通常不超过800字。
- 避免过度堆砌关键词,保持文章的自然流畅性。
- 所有内容必须符合小红书社区规范和政策。


安利一下,如果不知道Prompt怎么写好,可以用Prompt自动优化来生成。本文中的prompt都是自动优化来的。


2、根据文章内容,生成文生图插件需要的提示词

通过生成小红书文章大模型生成的内容生成文生图插件需要的提示词

大模型节点配置:

  • 模型可以选择通义千问-max或latest
  • 模型设置可以选择默认
  • System Prompt:可以直接copy下面的提示词
  • User Prompt:可以选择引用上文的文章内容
## 角色
你是一位专业的文章创意插图设计师,擅长根据文章内容生成高质量的图片提示词,包括正向提示词和负向提示词。
## 任务要求
### 任务要求1:图片风格适用于营销和宣传 
### 任务要求2:需要文章内容设计一套适合其风格与用途的图片生成提示词。
具体来说
 1. 正向提示词应明确描述出希望在最终图像中看到的所有关键元素、色彩搭配以及整体氛围。
 2. 负向提示词则需指出不希望出现在图像中的任何元素或风格,以避免不符合预期的设计出现。 
## 输出示例
参照以下示例的格式输出
{
    "prompt":"正向提示词",
    "negative_prompt":"反向提示词"
}
## 限制
- 生成的插图提示词必须与用户提供的内容紧密相关。
- 提示词应尽量详细,但避免过于冗长,保持简洁明了。
- 如果用户提供的查询不明确,需要通过提问来获取更多信息,而不是猜测用户的需求。
- 提示词应包括场景、角色、色彩、风格等关键元素,以确保插图师能够准确理解并创作。
- 关键词使用逗号分隔,分别生成两种提示词,
- 正向提示词:描述画面的提示词信息,必须包含用户输入内容的核心内容的提示词,长度不超过500个字符,
- 反向提示词:画面中不想出现的内容描述词信息,长度不超过500个字符。


3、新增一个脚本节点,对提示词内容做一些处理

脚本详情:

  • 输入: result  → 引用  →  上游生成提示词的大模型节点的result
  • 输入参数:多余的参数删掉
  • input → Object   → 描述可不填
  • parameters  → Object → 描述可不填
  • 代码如下:选择 全屏编辑后直接贴下面的python代码
def main():
  import json
  json_obj = json.loads(params["result"])
  prompt = json_obj.get("prompt", "")
  negative_prompt = json_obj.get("negative_prompt", "")
  ret = {        
    "result": {            
      "input": {
        "prompt": prompt,            
        "negative_prompt": negative_prompt+",模糊扭曲的中文、英文"
      },            
      "parameters" :{
        "size": "1024*1024",
        "n": 4
      }       
    },    
  }
  return ret


4、拖入自定义插件,选择之前自定义的插件的生图工具

如果你学了上一篇自定义插件的文章,就知道自定义插件里有2个工具,我们选择其中生图的这个工具。

自定义插件配置如下:

  • model → 输入  → wanx2.1-t2i-turbo
  • input → 引用 →  选择上游脚本转换节点中result下的input变量
  • parameters → 引用 → 选择上游脚本转换节点中result下的parameters变量

5、再次使用脚本节点来等待生图任务的完成

这里我们设置等待20秒,如果超过20秒则生成失败。


  • 输入:清空
  • 输出:保留result 即可
  • 代码:直接复制粘贴代码即可
def main(): 
  import time
  time.sleep(20)
  ret = {        
    "result": {}
  }    
  return ret

6、再次通过自定义插件的另一个工具,来查询文生图的结果

配置详情:

输入 :  选择文成图插件中的task_id。

7、拖入最后一个脚本转换节点做图片拼接

由于生成的图片是一个链接数组,无法直接在MarkDown当中显示,我们需要通过脚本,将图片拼接为MarkDown格式的文本。

配置如下:

  • 输入:urlList → 引用 →  选择上游查询文生图结果插件节点中result→url
  • 输出:retString  →  String  
  • 代码:直接复制粘贴代码即可
def main():
    url_list = params["urlList"]
    ret_string = ""
    for url_data in url_list:
        if url_data is not None:
            ret_string += f"![{url_data}]({url_data})\n"
    ret = {
        "result": {
            "retString": ret_string
        }
    }
    return ret

8、结束节点,图文整合


三、测试

输入关键词或者文章标题,等待一下,文章和配图就生成好了!


!如果太多,以下内容可以不发


四、引申-如何实现图文混合的形式

目前我们在生成文章与图片时,图片只能展示在文章下方,这显得有些单一。那么,有没有办法实现一段文字搭配一张图片的图文混排效果呢?下面我将提供一种解决方案供大家参考。

在生成文章时,例如长篇文本会包含多个段落。这时,我们可以在设置大模型生成文章时,将整篇文章按段落拆分开来。针对每个段落,分别设置对应的大模型生成文生图的提示词,再根据提示词生成与该段落相匹配的图片。由于整个流程较为复杂,且文章长度有限,我仅把关键步骤列出如下:

1)复制刚刚的项目

2)我们完善一下生成 生成小红书文章 大模型的提示词

让生成的内容多一些,方便进行段落拆分。

3)专门用一个大模型对生成的文章进行段落拆分

上述内容对应的提示词:

你是一个文章段落拆分助手,请根据用户输入的文章,将内容拆分为一个标题,加二个段落
输出内容为JSON纯文本,不要输出其他内容,JSON格式如下
{
     "title":"标题",
     "first_paragraph":"第一段文章",
     "second_paragraph":"第二段文章"
}

4)通过脚本将上述对应的JSON进行格式转换

def main():
  import json
  json_obj = json.loads(params["result"])
  title = json_obj.get("title", "")
  first_paragraph = json_obj.get("first_paragraph", "")
  second_paragraph = json_obj.get("second_paragraph", "")
  ret = {        
    "result": {            
      "title": title,
      "first_paragraph": first_paragraph,
      "second_paragraph": second_paragraph
    },    
  }
  return ret

5)完善一下对应生成提示词的大模型

# 角色
你是一位创意插图设计师和文章段落拆分师,擅长根据用户的需求生成高质量的插图提示词。请更具用户提供的三个段落 ${Script_McjO.result}  内容来生成对应的提示词
## 技能
### 技能 1: 生成插图提示词
- 理解用户提供的内容
- 根据内容,生成详细的插图提示词,确保这些提示词能够准确传达用户的意图和需求。
- 提示词应包含场景、角色、色彩、风格等细节,以便插图师能够清晰地理解和创作。
### 技能 2: 优化插图提示词
- 如果用户提供的查询不够详细或模糊,你需要进一步询问用户以获取更多细节。
- 根据用户的反馈,调整和优化插图提示词,使其更加具体和明确。
### 技能 3: 多样化风格支持
- 能够生成不同风格的插图提示词,例如卡通、写实、抽象等。
- 根据用户的需求,选择最适合的风格,并在提示词中明确说明。
## 限制
- 生成的插图提示词必须与用户提供的内容紧密相关。
- 提示词应尽量详细,但避免过于冗长,保持简洁明了。
- 如果用户提供的查询不明确,需要通过提问来获取更多信息,而不是猜测用户的需求。
- 提示词应包括场景、角色、色彩、风格等关键元素,以确保插图师能够准确理解并创作。
- 
关键词使用逗号分隔,分别生成两种提示词,
正向提示词:描述画面的提示词信息,必须包含用户输入内容的核心内容的提示词,长度不超过500个字符,
反向提示词:画面中不想出现的内容描述词信息,长度不超过500个字符。
输出JSON格式的内容,只能输出JSON格式的纯文本信息,不要输出其他内容
格式如下:
{
     "first_prompt":"第一段落first_paragraph对应正向提示词".
     "first_negative_prompt":"第一段落first_paragraph对应反向提示词",
     "second_prompt":"第二段落first_paragraph对应正向提示词".
     "second_negative_prompt":"第二段落first_paragraph对应反向提示词"
}

6)通过脚本对大模型生成的JSON进行格式化

def main():
  import json
  json_obj = json.loads(params["result"])
  first_prompt = json_obj.get("first_prompt", "")
  first_negative_prompt = json_obj.get("first_negative_prompt", "")
  second_prompt = json_obj.get("second_prompt", "")
  second_negative_prompt = json_obj.get("second_negative_prompt", "")
  ret = {
    "result": {
      "first_input": {
        "prompt": first_prompt,
        "negative_prompt": first_negative_prompt,
      },
      "second_input": {
        "prompt": second_prompt,
        "negative_prompt": second_negative_prompt,
      },
      "parameters" :{
        "size": "1024*1024",
        "n": 1
      }
    },    
  }
  return ret

7)将之前的文生图逻辑复制2份,并且与上面的JSON参数对应上

依次配置即可。

8)最后将所有内容拼接起来输出

这样就生成了一篇图文并茂的文章,是不是很清晰呀,可以参照着操作一下试试呢。


-🚀需要了解阿里云百炼可点击以下链接:

👉阿里云百炼详情了解可点击此官网链接:阿里云百炼官网介绍

👉阿里云百炼控制台页面可点击此链接直接进入阿里云百炼控制台


欢迎大家在评论区交流探讨相关的体验与经验 。如果您在体验过程中有遇到什么问题需要我们解答,可以在评论区中留言探讨或是加入我们的官方支持群(群号:77600022533)进行交流反馈!

image.png

目录
打赏
0
0
0
0
415
分享
相关文章
【自定义插件系列】0基础在阿里云百炼上玩转大模型自定义插件
本文介绍了如何在阿里云百炼平台上创建大模型自定义插件,以增强AI模型功能或适配特定需求。通过编程接口(API)或框架设计外部扩展模块,开发者可在不修改底层参数的情况下扩展模型能力。文章以万相文生图V2版模型为例,详细说明了创建自定义插件的五个步骤:新建插件、创建工具、测试工具、复制第二个工具及最终测试发布。同时,提供了官方文档参考链接和具体参数设置指导,帮助用户轻松实现插件开发与应用,推动AI技术在各行业的广泛应用。
|
10月前
阿里云百炼大模型平台-自定义插件接口协议报错排查方案
阿里云百炼大模型平台-自定义插件接口协议报错排查方案
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
阿里云百炼是一站式大模型开发及应用构建平台,支持开发者和业务人员轻松设计、构建大模型应用。通过简单操作,用户可在5分钟内开发出大模型应用或在几小时内训练专属模型,专注于创新。
778 89
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
随着大模型的越来越盛行,现在很多企业开始接入大模型的接口,今天我从java开发角度来写一个demo的示例,用于接入DeepSeek大模型,国内的大模型有很多的接入渠道,今天主要介绍下阿里云的百炼模型,因为这个模型是免费的,只要注册一个账户,就会免费送百万的token进行学习,今天就从一个简单的可以执行的示例开始进行介绍,希望可以分享给各位正在学习的同学们。
133 3
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
在钉钉中与百炼DeepSeek大模型对话
DeepSeek发布了两款先进AI模型V3和R1,分别适用于对话AI、内容生成及推理任务。阿里云百炼提供DeepSeek模型API,通过AppFlow可在钉钉中快速配置与DeepSeek的对话功能,无需代码开发,10分钟内完成全部设置。用户需在钉钉开放平台创建应用、配置消息卡片、授权权限,并使用计算巢AppFlow创建连接流,最后配置钉钉机器人并发布应用版本,即可实现与DeepSeek大模型的交互。
在钉钉中与百炼DeepSeek大模型对话
用AI Agent做一个法律咨询助手,罗老看了都直呼内行 feat.通义千问大模型&阿里云百炼平台
本视频介绍如何使用通义千问大模型和阿里云百炼平台创建一个法律咨询助手AI Agent。通过简单配置,无需编写代码或训练模型,即可快速实现智能问答功能。演示包括创建应用、配置知识库、上传民法典文档、构建知识索引等步骤。最终,用户可以通过API调用集成此AI Agent到现有系统中,提供专业的法律咨询服务。整个过程简便高效,适合快速搭建专业领域的小助手。
401 22
|
4月前
|
阿里云百炼大模型生成贪吃蛇小游戏
阿里云百炼大模型生成的贪吃蛇小游戏增加了背景音乐功能。通过Pygame的`mixer`模块,实现背景音乐的加载和播放。关键步骤包括:1. 安装Pygame;2. 准备音乐文件;3. 修改代码以初始化混音器并加载音乐。游戏开始时自动播放背景音乐,支持无限循环。此外,还可以根据需要调整游戏速度、难度及添加更多音效。
89 13
【最佳实践系列】高并发调用百炼语音合成大模型
本文介绍了阿里云百炼的CosyVoice语音合成大模型及其高并发调用优化方案。CosyVoice支持文本到语音的实时流式合成,适用于智能设备播报、音视频创作等多种场景。为了高效稳定地调用服务,文章详细讲解了WebSocket连接复用、连接池和对象池等优化技术,并通过对比实验展示了优化效果。优化后,机器负载降低,任务耗时减少,网络负载更优。同时,文章还提供了异常处理方法及常见问题解决方案,帮助开发者更好地集成和使用SDK。
Jarvis×百炼,打造大模型智慧出行客服
本次分享由哈啰集团高级算法专家郭佳盛主讲,主题为“Jarvis×百炼,打造大模型智慧出行客服”。内容涵盖AI在智慧出行领域的应用探索、AI加持客服全链路解决方案、哈罗智能客服的大模型应用、大模型在C端与B端的应用探索,以及企业内部大模型构建与运营。通过实例和经验分享,展示了哈啰如何将大模型应用于实际业务,提升用户体验和运营效率。
阿里云百炼大模型:引领企业智能化升级的下一代 AI 驱动引擎
随着人工智能技术的快速发展,大规模预训练模型正在改变各行各业的智能化进程。阿里云百炼大模型(Ba-Lian Large Model)作为阿里云推出的企业级 AI 解决方案,通过深度学习、自然语言处理、计算机视觉等前沿技术,帮助企业实现智能化升级,提升业务效率和创新能力。本文将详细介绍阿里云百炼大模型的核心技术、应用场景及其优势,帮助企业更好地理解和利用这一革命性工具。
1763 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等