Blog

使用MarkdownIt库拆分Markdown文本

在处理大模型的返回结果过程中,有些时候大模型返回的文本过长,甚至超过Telegram消息的长度限制。

这个时候,就需要对消息进行拆分。

但是,不能简单地根据分片长度或者换行符(\n)暴力拆分,因为这样可能会破坏Markdown的格式,特别是当返回中有代码片段(code fence) 时。因为代码中存在换行符,故会被拆成2部分,导致代码片段的闭合符```影响后续的文本格式。

阅读全文 ...

一个基于Gemini的聊天机器人

其实,用 AI聊天机器人有一段时间了,使用过程中会遇到不同的问题。简单列举一二,作此文契。

  1. 由于免费托管在pythonanywhere,直接运行的脚本基本上隔天就会挂掉。原因未知,可能是由于免费账户资源上限?需要频繁手动重启。
  2. 由于Telegram的API消息长度限制,Gemini返回过长消息会直接报错。

基于上面的2个问题,决定改造一下项目。

阅读全文 ...

更换macOS下Firefox的浏览器图标

不知道从哪一个版本开始,MacOS下的Firefox的应用程序图标变的,真的,不能说很丑,只能说很违和,我都不好意思让这个图标留在dock栏。经典火狐图标扁平化的还是不错,但是用一个接近黑色的深蓝色底色,就真的很难评价。

话说也很久没有使用Firefox了。

于是想了想,看看能否换回白底或者经典的火狐图标。

阅读全文 ...

为Spring-Boot应用程序设置参数的几种方式

除了在application.ymlapplication.properties中配置Spring-Boot应用程序的参数外,还可以通过运行java -jar命令行的方式来配置参数。

比如java -jar -Dspring.profiles.active=dev app.jar就是常使用的命令之一。

当然,java -jar命令不止配置Spring参数,还可以配置JVM参数。本文只以Spring-Boot应用程序为例。

有时候,可能会看见这样的应用启动方式:java -jar --spring.profiles.active=dev app.jar,它也是可行的。这两个分别是什么呢?

阅读全文 ...

在RESTful API设计中应用HATEOAS

HATEOAS 是 REST(Representational state transfer) 的约束之一。

HATEOAS 是 Hypermedia As The Engine Of Application State 的缩写,从字面上理解是 “超媒体即是应用状态引擎” 。其原则就是客户端与服务器的交互完全由超媒体动态提供,客户端无需事先了解如何与数据或者服务器交互。相反的,在一些RPC服务或者Redis,Mysql等软件,需要事先了解接口定义或者特定的交互语法。

阅读全文 ...

让Infuse从TMDB正确获取元数据

对于电影和剧集,早就不是“下完即删”了,对于高质量的电影和剧集,尤其是记录片,会收藏在硬盘里面。特别现在会优先考虑下载高清资源。

这可能会是,捣鼓NAS的一个开始...

找剧的时候,误打误撞下载了一份DV的4K视频文件,用尽各种软件,播放都是偏(绿)色的。尽管IINA可以通过调整色调让视频颜色看起来正常些(能看),但是始终不满意。由于迅雷下得辛苦,就留着。

DV = Dolby Vision,即杜比视界,对于不支持杜比视界的设备,播放就会出现偏色。

https://www.demolandia.net/4k-video-test/dolby-vision.html 可以下载DV的4K视频demo,检查你电脑电视是否支持DV。

阅读全文 ...