StickerBaker:AI贴纸制作工具
使用StickerBaker制作个性化AI贴纸,一个简单且富有创意的方式来表达你的个性和风格。
直达下载
回到上一页
clickgpt_line.png_noView
介绍

StickerBaker是一个完全开源的AI贴纸制作工具。用户只需输入一个提示词,便可以在Sticker Maker上生成独特的贴纸。

github_ai_tool_stickerbaker_1

如何工作

在StickerBaker的主页,通过lib/sticker_web/home_live.ex渲染。当用户提交提示词表单后,将触发以下事件处理:

def handle_event("save", %{"prompt" => prompt}, socket) do
  user_id = socket.assigns.local_user_id

  {:ok, prediction} =
    Predictions.create_prediction(%{
      prompt: prompt,
      local_user_id: user_id
    })

  send(self(), {:kick_off, prediction})

  {:noreply,
   socket
   |> assign(form: to_form(%{"prompt" => ""}))
   |> stream_insert(:my_predictions, prediction, at: 0)}
end

这会发送一个:kick_off消息到LiveView,这样就没有延迟。在lib/sticker/predictions.ex中调用Predictions.moderate/3进行内容审核:

def moderate(prompt, user_id, prediction_id) do
  "fofr/prompt-classifier"
  |> Replicate.Models.get!()
  |> Replicate.Models.get_latest_version!()
  |> Replicate.Predictions.create(
    %{
      prompt: "[PROMPT] #{prompt} [/PROMPT] [SAFETY_RANKING]",
      max_new_tokens: 128,
      temperature: 0.2,
      top_p: 0.9,
      top_k: 50,
      stop_sequences: "[/SAFETY_RANKING]"
    },
    "#{Sticker.Utils.get_host()}/webhooks/replicate?user_id=#{user_id}&prediction_id=#{prediction_id}"
  )
end

完成审核后,通过Replicate的webhook处理预测队列,这意味着即使刷新页面或断开连接,Replicate仍然可以处理预测队列。

开发和生产环境配置

  • 本地开发:
    • 运行mix setup安装并设置依赖。
    • 创建环境变量文件:cp .env.copy .env
    • 在.env文件中添加你的Replicate和Tigris令牌。
    • 使用ngrok http 4000运行ngrok,并将URL添加到你的.env文件。
    • 通过mix phx.serveriex -S mix phx.server启动Phoenix服务器。
  • 生产环境:
    • 在prod.exs中更新URL和check_origin设置。
    • 使用fly launch进行部署,并确保设置了Postgres数据库。

StickerBaker不仅提供了一个创意和趣味性十足的平台,而且其开源和AI驱动的特性使其在个性化贴纸制作方面具有巨大的潜力。无论是为个人项目增添趣味,还是为商业用途创造独特的品牌贴纸,StickerBaker都是一个值得尝试的工具。

编程学习
编程学习 免费领取编程学习资料 进编程学习交流群
订阅号
视频号
公众号 关注公众号,回复关键字python领取大厂最新面试题
×
编程学习
免费领取编程学习资料 进编程学习交流群