本项目用来输入url返回一个jpg图片的spring boot项目
具体包括两个html网页: index.html和template.html
  1. index的css分开到另外的文件,html里只包含三个部分的elements和相应的java script.
    1. login
    2. urlform(
      1. 包括顶部一个图片,取自180.76.187.12/logo.png,
      2. 这个图片其实被webConfi设置为取自/uploads/目录下.,
      3. 这个图片其实应该允许用户自定义的,就是说比如财经日报网的的话,应该看到的是财经日报网的logo显示在这里.但是因为目前这个界面在登录之前就已经显示了,所以有点难办....目前考虑:
        1. 要么每个客户单独建立一个branch(分别独立主机部署的策略
        2. 要么还是走整合的策略可能最终还是要整合的策略的.那么得保证登录前不要显示index上面的其他部件,只loginpar可见,登录后才进入主界面的感觉. 如果本地有cookie的话,可以先显示主界面.
        3. 也可以在登录时,登录框背景显示个广告图片.(这样格局就打开了)
    3. setting
      1. setting里面的输入框区域的内容是动态生成的.
      2. setting区域显示时会向后台userController发送请求,获得user,然后判断user.属性!== null && !== ‘null‘就能用了.
      3. 底部的图片其实是按钮,点了弹出文件选择器,选择完文件直接上传,不需要再此确认的,(这个跟默认的文件选择器不同,是转门做成这样的,为了用起来感觉更顺畅)
      4. 底部两个图片还有保存设置按钮不是动态生成的.但是两个图片的src属性是动态的,因为要判断user.username这个属性对应的/uploads/下的目录+user.logo属性对应的文件名是否存在,不存在的话要显示默认的logo:  /uploads/logo.png
      5. icon同理.
  2. template.html的css在文件内的.返回前会替换掉其中所有的{{xxxxx}}
    1. 背景允许定制
    2. 左下角的logo是从/uploads/{{user.username}}/{{user.logo}} 取得.
    3. 右下角的QRCode是QRCode和/uploads/{{user.username}}/{{user.icon}}的结合
  3. 有多个controller类,一个Service类,多个generator类,
    1. configuration目录下有baidu和doubao对应的设置文件,含密钥
    2. 针对财经日报网转门做了一个类别映射表.(省却调用ai,省点钱)
    3. 4个控制器,分别对应Login(系统启动时设置属性装在和身份认证)Fileupload,userController,和summarizerController
    4. service类的主要流程:
      1. 先WebScrpbpery爬虫抓取url的内容,获得title,content和时间,时间抓不到就用当前时间减去设置中的deley(假设图片比原文总是晚一天或固定的时间生成)
      2.  如果设置成利用文档中的图片,还要从WebScraper来抓取最大的一个图片.
      3. 调用百度ai获得文本对应的类别,(如果时财经日报网,会根据路径获得类别)
      4. 调用百度ai获得文章的summary.
      5. 调用豆包(以前调用百度)根据类别生成主题图片.
      6. 更新url,生成最终html
      7. 把html显示到浏览器中,并生成jpg
  4. 服务器上要配置两个目录,设置成完全可控,分别是/uploads/还有/var/www/html/分别用来放置:
    1. 用户上传的文件
    2. 系统生成的文件.

  1. 找到图标
  2. 生成带图标的QRCode
  3. 要能从一个新位置上获取被缩小了的图片(不用了,全用临时的,因为只有最后那个jpg有用)
  4. 要能得到图片的类别(从路径获得)
  5. 要每个类别创建一个目录,里面定期更新一批图片。(不用了,全部AI生成)
  6. 要根据类别从对应的目录中锁定一个图片
  7. 要根据类别从特定目录中锁定一个背景图片 
-- Sam 23:10 17/11/2024

 

📊 Summarizer 项目每日运维成本报告(含固定成本)

一、前提假设

  • 每天调用量:每类 API(文生图 / Summarizer / 分类)各 1,000 次

  • 每次调用:

    • 输入 500 tokens,输出 500 tokens

  • Token 使用总量(每天 / 每类):

    • 输入 500,000 tokens × 0.0008元/千token = 0.4元

    • 输出 500,000 tokens × 0.002元/千token = 1元


二、动态成本汇总(按API计)

API 类型输入成本 (元)输出成本 (元)每日总成本
文生图 API0.41.01.4 元
Summarizer API0.41.01.4 元
Category API0.41.01.4 元
合计4.2 元/天

三、固定成本(按月均摊)

项目月费用日均费用 (30天)
云服务器(轻量型)¥60¥2.00
域名(.com)¥60/年¥0.17
固定成本合计¥2.17/天

四、每日总运维成本

成本类型每日金额 (元)
动态成本¥4.20
固定成本¥2.17
总计¥6.37

五、月度估算(30天)

项目类型月费用 (元)
动态成本¥126.00
固定成本¥65.00
总计¥191.00

六、优化建议

  • 批量调用:阿里通义支持 batch 模式,可将调用成本降至约 50%

  • 缓存机制:合理利用 context cache 减少重复 token 计算

  • API 网关限速/优化结构:按需调用,避免冗余

-- Sam 10:54 01/05/2025
 

Summarizer 项目每日动态运维成本报告

一、前提假设

二、API 调用成本明细

1. 文生图 API(豆包)

2. Summarizer API(阿里通义千问)

3. Category API(阿里通义千问)

三、每日总动态成本

API 类型
每日成本(元)
文生图 API
1.4
Summarizer API
1.4
Category API
1.4
总计
4.2
四、月度成本估算(按 30 天计算)
API 类型
月度成本(元)
文生图 API
42
Summarizer API
42
Category API
42
总计
126

备注:

  • 上述成本仅为动态成本估算,实际费用可能因实际使用的 Token 数量和模型版本而有所不同。

  • 固定成本(如服务器、域名等)未包含在本报告中。


-- Sam 10:54 01/05/2025
 奇怪现象:
  1. 有些网站从我本地能访问,但是从a2hosting就访问不了,估计是因为曾经有黑客从这个a2hosting发送过攻击,后来导致所有从那个服务器上发送的请求都不给某些网站受理了,如:https://www.cbirc.gov.cn/cn/view/pages/ItemDetail.html?docId=1184919&itemId=915
  2. 同样国内的服务器不能访问国外的很多网址。
-- Sam 23:25 29/11/2024
 QRcode变得好小
主页的logo要居中,要不能太大
了解为啥豆包不能用了
改用其他的中文的
试用chatGPT的api
-- Sam 08:24 27/11/2024
 baidu账号:
https://login.bce.baidu.com/?redirect=https%3A%2F%2Fconsole.bce.baidu.com%2Fai%2F%3F_%3D1732411645507#/ai/intelligentwriting/overview/index
(密码不灵了,不知为啥,但是可以点上次登录来进入,而不用让新华手机收验证码)
(豆包账号则需要新华手机验证码。)
-- Sam 21:17 25/11/2024
为了减少带来麻烦,把这个程序设置成系统服务了,服务文件在etc/systemd/system/springboot.service

root@ls_6DpgWfUJ:~# sudo systemctl daemon-reload                //上传文件后重新装载
root@ls_6DpgWfUJ:~# sudo systemctl start springboot.service       //启动服务
root@ls_6DpgWfUJ:~# sudo systemctl enable springboot.service       //设成开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/springboot.service → /etc/systemd/system/springboot.service.
root@ls_6DpgWfUJ:~# sudo systemctl status springboot.service        //状态查询
● springboot.service - Spring Boot Application
   Loaded: loaded (/etc/systemd/system/springboot.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2024-11-24 08:36:50 CST; 22s ago
 Main PID: 30134 (java)
    Tasks: 30 (limit: 1028)
   CGroup: /system.slice/springboot.service
           └─30134 /usr/bin/java -jar /root/summarizer-0.0.1-SNAPSHOT.jar

Nov 24 08:36:50 ls_6DpgWfUJ systemd[1]: Started Spring Boot Application.
root@ls_6DpgWfUJ:~#
-- Sam 17:40 23/11/2024
 服务器命令:
root@ls_6DpgWfUJ:~# ps -ef | grep summarizer-0.0.1-SNAPSHOT.jar
root     17034     1  0 Nov17 ?        00:00:39 java -jar summarizer-0.0.1-SNAPSHOT.jar
root     39210 39164  0 06:17 pts/0    00:00:00 grep --color=auto summarizer-0.0.1-SNAPSHOT.jar
root@ls_6DpgWfUJ:~# kill 17034
root@ls_6DpgWfUJ:~# nohup java -jar summarizer-0.0.1-SNAPSHOT.jar > application.log 2>&1 &
[1] 39233

-- Sam 23:09 17/11/2024
 零散规则:
  1. 如果添加了logo,那么icon要么也上传,不上传的话就会显示空了,不会在现实defualt icon
  2. http://localhost/addUser?accountName=Hehe&balance=40这个命令用来添加新用户,或者修改老用户的balance实现充值。
  3. 用sharethegoodones作为超级管理员密码来用用户的账户登录,实现问题重现和研究。
-- Sam 23:06 17/11/2024
 图标改一下叫闻捷
登录需要身份认证,允许设置点数。
  1. 可以预设几个账户,每个账户里面有余额
  2. 界面提供一个login按钮,login以后才能使用
改用豆包作图。
-- Sam 23:07 17/11/2024
  1.  背景图片暂时用一个,从例子上面扣
  2. 测试生成图片的代码是否work
  3. 生成的图片如何保存在硬盘上可能直接提供预览即可.
  4. html的文件变化有问题,颜色变白以后,title字体变小了。
  5. 从正文中获取时间并下载图片上面居左。
  6. 提供个界面用户直接pasturl然后提交,打开另一个tab页面显示预览
    1. 界面上增加设置功能,
      1. 图片风格
      2. 字体设置
      3. 背景设置
      4. 账户密码以及剩余次数
  7. 改用sdk访问服务以提高性能,目前每次都发个请求申请token,浪费了时间。(改为设置了过期时间,不用sdk因为sdk最终也是发送rest request,还隐藏了细节,而且官网demo也没有用sdk)
  8. QRCode放大一点
-- Sam 23:08 17/11/2024

Please click here to login and add comments! || automatically refresh content every seconds