實戰:Dify智能體+Java=自動化運營服務!
我們在運營某個圈子的時候,可能每天都要將這個圈子的“熱門新聞”發送到朋友圈或聊天群里,但依靠傳統的實現手段非常耗時耗力,我們通常要先收集熱門新聞,再組裝要新聞內容,再根據內容設計海報等。
那怎么才能簡化并高效的完成以上工作呢?
答案是我們可以借助 AI 工具:Dify + Java 服務來實現熱點新聞自動生成功能,最終生成效果如下:
實現思路
具體實現步驟如下:
- 在 dify 中創建 Agent 應用。
- 添加相關組件:
a.time:獲取當前時間,根據時間生成對應日期的熱點新聞。
b.tavily:聯網的搜索服務,用于查詢某個日期的熱點新聞。
c.自定義 Java 服務:實現將 HTML 頁面轉換為圖片。
- 填寫提示詞,設置變量和編排任務。
- 選擇 LLM。
- 執行熱點新聞生成操作。
為什么要使用Java服務?
為什么要使用 Java 服務,而不是根據文案直接生成圖片呢?
答:因為根據文案直接生成圖片,目前大模型生成圖片服務,并不能滿足熱點新聞的生成要求。所以,我們可以讓大模型先生成美觀的 HTML 頁面,再將 HTML 轉換成圖片,才能滿足生產級別的圖片要求。當然,自定義服務不一定是 Java 語言實現的,其他語言也是可以的,例如 Python。
1.自定義工具
自定義工具的 Schema 用于描述調用的外部調用服務,只需要滿足 OpenAI-Swagger 要求即可:
{
"openapi": "3.1.0",
"info": {
"title": "html to image",
"description": "Generate image files based on HTML code",
"version": "v1.0.0"
},
"servers": [
{
"url": "http://192.168.3.94:8080"
}
],
"paths": {
"/html2img/gen": {
"get": {
"description": "Generate image files based on HTML code",
"operationId": "generate",
"parameters": [
{
"name": "html",
"in": "query",
"description": "HTML code",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
}
},
"components": {
"schemas": {}
}
}
2.具體實現代碼
import cn.alotus.HtmlRender;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.UUID;
@RestController
@RequestMapping("/html2img")
public class ApiController {
@RequestMapping("/gen")
public String generate(@RequestParam String html) throws IOException {
HtmlRender htmlRender = new HtmlRender(BufferedImage.TYPE_INT_RGB);
String imgPath = "D://" + UUID.randomUUID() + ".png";
//生成圖片
htmlRender.toPng(html, imgPath);
return imgPath;
}
}
3.Agent執行效果
Agent 執行效果如下:
小結
AI 發展為我們提供了很大的便利,大大的提升了我們的工作效率,以后人機共創將是新的方向。我們也要靈活使用 AI 工具,加上我們之前的編程經驗,可以發揮出巨大的化學反應,開發出很多很好玩又實用的產品。一起行動起來吧,使用 AI 技術做點有價值又有意義的事情~