如何搭建 AI 图片生成应用
Last updated
Last updated
作者:Steven Lynn。Dify Technical Writer。
随着图像生成技术的兴起,涌现了许多优秀的图像生成产品,比如 Dall-e、Flux、Stable Diffusion 等。
本文将使用图像生成模型,指导你使用 Dify 快速开发一个 AI 图片生成应用。
使用 Dify 构建 Agent 的方法
Agent 的基本概念
提示词工程的基础知识
工具的使用
大模型的幻觉的概念
点击这里 即可跳转至 Stability 的 API 密钥管理页。
如果你尚未注册,会被要求先注册再进入管理页。
进入管理页后,点击复制密钥即可。
接下来,你需要通过以下步骤把密钥填入 Dify - 工具 - Stability 中:
登录 Dify
进入工具
选择 Stability
点击授权
填入密钥并保存
为了优化交互,我们需要LLM来将用户的指令具体化,也就是让LLM来撰写生成图片的提示词(Prompt)。接下来,我们按照如下的步骤在 Dify 配置模型供应商。
Free 版本的 Dify 提供了免费 200 条 OpenAI 的消息额度
如果消息额度不够用,你可以参考下图步骤, 自定义其它模型供应商:
点击右上角头像 - 设置 - 模型供应商
如果尚未找到合适的模型供应商,groq 平台提供了 Llama 等 LLM 的免费调用额度。
登录 groq API 管理页
点击 Create API Key,设置一个想要的名称并且复制 API Key。
回到Dify - 模型供应商,选择groqcloud,点击 设置。
粘贴 API Key 并保存。
回到Dify - 工作室,选择创建空白应用。
在本实验中,我们只需要了解 Agent 的基础用法即可。
什么是 Agent
Agent 是一种模拟人类行为和能力的 AI 系统,它通过自然语言处理与环境交互,能够理解输入信息并生成相应的输出。Agent 还具有 "感知" 能力,可以处理和分析各种形式的数据。此外,Agent 能够调用和使用各种外部工具和 API 来完成任务,扩展其功能范围。这种设计使 Agent 能够更灵活地应对复杂情况,在一定程度上模拟人类的思考和行为模式。
因此,很多人都会将 Agent 称为“智能体”。
选择 Agent,填写名称即可。
接下来你会进入到如下图的 Agent 编排界面
我们选择 LLM,本篇教程中我们使用 groq 提供的 Llama-3.1-70B 为例:
在工具中添加 AI 绘图工具 Stability:
提示词(Prompt)是 Agent 的灵魂,直接影响到输出的效果。通常来说越具体的提示词输出的效果越好,但是过冗长的提示词也会导致一些负面效果。
调整提示词的工程,我们称之为提示词工程(Prompt Engineering)
在本次实验中,你不必担心没有掌握提示词工程,我们会在后面循序渐进地学习它。
让我们从最简单的提示词开始:
用户每次输入命令的时候,Agent 都会知晓这样的系统级的指令,从而了解要执行用户绘画的任务的时候需要调用一个叫 stability 的工具。
例如:画一个女孩,手中拿着一本打开的书
点击提示词的右上角生成。
在指令中输入你的需求,点击生成,右侧生成的提示词中会出现由AI生成的提示词。
不过,为了养成对提示词良好的理解,我们在初期最好不要依赖这一项功能。
点击右上角的发布按钮,发布后选择运行就可以获得一个在线运行的 Agent 的网页。
复制这个网页的 URL,可以分享给其他好友使用。
我们可以在用户输入的命令中加上画风的指令,例如:二次元风格,画一个女孩,手中拿着一本打开的书
但是如果我们希望风格默认都是二次元风格呢,那么我们加在系统提示词里就行了,因为我们之前了解到系统提示词是每次执行用户命令都会知晓的,优先级更高。
在许多业务场景中,我们需要避免输出一些不合理的内容,但是 LLM 很多时候比较 “傻”,用户下指令时会照做不误,即使输出的内容是错的,这种模型为了努力回答用户而编造虚假内容的现象称为模型幻觉(Hallucinations),那么我们需要让模型必要的时候拒绝用户的请求。
此外,用户也可能提一些和业务无关的内容,我们也需要让 Agent 这个时候拒绝请求。
我们可以使用 markdown 格式给不同的提示词进行划分,将上述教 Agent 拒绝不合理内容的提示词写到 “约束” 标题下。当然,这样的格式仅仅是为了规范化,你可以有自己的格式。
例如,我们尝试提问:今晚吃什么
在一些更正式的业务场景中,我们可以调用敏感词库来拒绝用户的请求。
在添加功能 - 内容审查中添加关键词 “晚饭”,当用户输入关键词时,则 Agent 应用输出 “对不起,我不明白你在说什么”。