当前位置: 首页 > article >正文

实战:Dify智能体+Java=自动化运营工具!

我们在运营某个圈子的时候,可能每天都要将这个圈子的“热门新闻”发送到朋友圈或聊天群里,但依靠传统的实现手段非常耗时耗力,我们通常要先收集热门新闻,再组装要新闻内容,再根据内容设计海报等。

那怎么才能简化并高效的完成以上工作呢?

答案是我们可以借助 AI 工具:Dify + Java 服务来实现热点新闻自动生成功能,最终生成效果如下:

实现思路

具体实现步骤如下:

  1. 在 dify 中创建 Agent 应用。
  2. 添加相关组件:
    • time:获取当前时间,根据时间生成对应日期的热点新闻。
    • tavily:联网的搜索服务,用于查询某个日期的热点新闻。
    • 自定义 Java 服务:实现将 HTML 页面转换为图片。
  3. 填写提示词,设置变量和编排任务。
  4. 选择 LLM
  5. 执行热点新闻生成操作。

为什么要使用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 技术做点有价值又有意义的事情~

本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、AI Agent、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型等内容。

http://www.lryc.cn/news/2384186.html

相关文章:

  • STM32单片机GUI系统1 GUI基本内容
  • 从零开始学习three.js(21):一文详解three.js中的矩阵Matrix和向量Vector
  • 应届本科生简历制作指南
  • VUE3+TS实现图片缩放移动弹窗
  • 大语言模型训练数据格式:Alpaca 和 ShareGPT
  • 实现动态增QuartzJob,通过自定义注解调用相应方法
  • PyTorch可视化工具——使用Visdom进行深度学习可视化
  • Qt无边框界面添加鼠标事件
  • 企业级爬虫进阶开发指南
  • Ubuntu ping网络没有问题,但是浏览器无法访问到网络
  • 网络安全-等级保护(等保) 2-7 GB/T 25058—2019 《信息安全技术 网络安全等级保护实施指南》-2019-08-30发布【现行】
  • 数据结构实验10.1:内部排序的基本运算
  • C#:多线程
  • 基于Zynq SDK的LWIP UDP组播开发实战指南
  • c#将json字符串转换为对象数组
  • 机器学习在智能水泥基复合材料中的应用与实践
  • wps编辑技巧
  • 开放世界RPG:无缝地图与动态任务的拓扑学架构
  • 【图像处理入门】1. 数字图像的本质:从像素到色彩模型
  • (已解决:基于WSL2技术)Windows11家庭中文版(win11家庭版)如何配置和使用Docker Desktop
  • Ubuntu20.04部署KVM
  • OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()
  • 计算机视觉与深度学习 | matlab实现ARIMA-WOA-CNN-LSTM时间序列预测(完整源码和数据)
  • 可视化图解算法43:数组中的逆序对
  • 【Python】使用Python实现调用API获取图片存储到本地
  • 腾讯2025年校招笔试真题手撕(一)
  • Vue3 与 Vue2 区别
  • java集合详细讲解
  • 嵌入式学习笔记 - STM32 U(S)ART 模块HAL 库函数总结
  • 【VLNs篇】04:SayNav-为新环境中的动态规划到导航进行大型语言模型的基础构建