<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DDDDDouble的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DDDDDouble</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DDDDDouble]]></copyright><item><title><![CDATA[Spring AI 流式对话系统：基于DFA算法的分级敏感词过滤与全链路合规设计]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/162671270</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/162671270</guid><author>DDDDDouble</author><pubDate>Tue, 07 Jul 2026 21:34:47 +0800</pubDate><description><![CDATA[*** 严重违规：直接拦截* 一般违规：替换脱敏* 合规*/ PASS }基于 DFA 算法的分级敏感词过滤方案，是 AI 对话系统内容安全体系中性价比极高的第一道防线。它既能独立完成大部分场景的合规校验，也可以作为第三方安全服务的前置初筛层，有效降低调用成本。结合 Spring AI 的流式能力与 Redis 上下文管理，最终可以构建出既安全合规、又具备流畅用户体验的智能对话系统。]]></description><category></category></item><item><title><![CDATA[了解微服务]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149159775</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149159775</guid><author>DDDDDouble</author><pubDate>Sun, 06 Jul 2025 22:25:55 +0800</pubDate><description><![CDATA[本文介绍了从单体架构到微服务的演化过程。微服务的核心是将单体架构拆分为独立开发、测试和交互的小服务单元，通过REST API进行协同。为了管理服务间调用，需要服务注册与发现中心记录接口地址，并使用Feign组件简化调用。前端通过微服务网关统一访问后端接口，API网关则提供更细粒度的接口代理。微服务网关与注册中心需配合使用，前者对外提供统一入口并实现负载均衡，后者记录服务地址。相比Nginx反向代理，微服务方案能自动处理服务扩容，无需手动配置路由。]]></description><category></category></item><item><title><![CDATA[＜三＞Sping-AI alibaba 文生图]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149142266</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149142266</guid><author>DDDDDouble</author><pubDate>Sat, 05 Jul 2025 21:25:06 +0800</pubDate><description><![CDATA[环境和配置请看源代码：https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-image-example/dashscope-image/src/main/java/com/alibaba/cloud/ai/example/image/dashscope/controller/DashScopeImageController.java这里我只是给一个解释版本，并稍微修改了一下。]]></description><category></category></item><item><title><![CDATA[＜二＞Sping-AI alibaba 入门-记忆聊天及持久化]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149139207</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149139207</guid><author>DDDDDouble</author><pubDate>Sat, 05 Jul 2025 19:01:44 +0800</pubDate><description><![CDATA[Spring AI Alibaba 提供了 jdbc、redis、elasticsearch 插件可以让聊天机器人拥有“记忆”。环境变量和配置文件都在上一步加入了，也就是以 MySQL 为例。原因：由于 MySQL 表的字符集不支持存储 Unicode 表情符号导致的。表情符号😊的 UTF-8 编码为F0 9F 98 8A（4 字节），超出了utf8字符集的 3 字节限制。不知道改了啥，又可以了,可能是这个，把数据库的字符集改了一下。]]></description><category></category></item><item><title><![CDATA[＜一＞Sping-AI alibaba 了解]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149069903</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149069903</guid><author>DDDDDouble</author><pubDate>Wed, 02 Jul 2025 16:36:18 +0800</pubDate><description><![CDATA[Spring AI“{“city”:“北京”,“temperature”:30,“weather”:“晴天”}”]]></description><category></category></item><item><title><![CDATA[LangChain4j-针对性操作Function-call+系统预设角色]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149063890</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149063890</guid><author>DDDDDouble</author><pubDate>Wed, 02 Jul 2025 11:43:23 +0800</pubDate><description><![CDATA[如果我们想要对一些敏感信息进行针对化的操作，不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品，那么用户提问，店里有多少套餐，那么云端大模型肯定是不知道的，我们希望捕获这些关键字然后进行自己的业务查询或者处理，这个时候就可以使用function-call。]]></description><category></category></item><item><title><![CDATA[LangChain4j-记忆对话]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/149032656</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/149032656</guid><author>DDDDDouble</author><pubDate>Mon, 30 Jun 2025 22:16:19 +0800</pubDate><description><![CDATA[之前每次chat的都是大模型的单词调用，如果想要实现上下文对话，则需要将之前的chat都发送给大模型。我们可以配置一个AiConfig类，实现动态代理完成相应的记忆对话。可以看到，是很复杂的。]]></description><category></category></item><item><title><![CDATA[langChain4j-流式输出]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/148717996</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/148717996</guid><author>DDDDDouble</author><pubDate>Tue, 17 Jun 2025 16:17:07 +0800</pubDate><description><![CDATA[基础搭建如上一篇。]]></description><category></category></item><item><title><![CDATA[langchain4j整合springboot]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/148701533</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/148701533</guid><author>DDDDDouble</author><pubDate>Mon, 16 Jun 2025 23:21:38 +0800</pubDate><description><![CDATA[【代码】langchain4j整合springboot。]]></description><category></category></item><item><title><![CDATA[研1进组-如何连接服务器-配置python虚拟环境]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/132925371</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/132925371</guid><author>DDDDDouble</author><pubDate>Sat, 16 Sep 2023 22:01:06 +0800</pubDate><description><![CDATA[默认实验室环境正常]]></description><category></category></item><item><title><![CDATA[Vue前端Flask后端]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/129216636</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/129216636</guid><author>DDDDDouble</author><pubDate>Sat, 25 Feb 2023 16:16:44 +0800</pubDate><description><![CDATA[项目创建过程]]></description><category></category></item><item><title><![CDATA[flask快速上手]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/129197598</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/129197598</guid><author>DDDDDouble</author><pubDate>Fri, 24 Feb 2023 11:43:06 +0800</pubDate><description><![CDATA[第一个程序]]></description><category></category></item><item><title><![CDATA[Flask学习文档及问题]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/129195288</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/129195288</guid><author>DDDDDouble</author><pubDate>Fri, 24 Feb 2023 10:22:04 +0800</pubDate><description><![CDATA[学习过程]]></description><category></category></item><item><title><![CDATA[蓝桥杯感悟]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/124080443</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/124080443</guid><author>DDDDDouble</author><pubDate>Thu, 28 Apr 2022 13:14:34 +0800</pubDate><description><![CDATA[感觉自己这次凉凉的了，虽然比上次准备的要好，但是在线上考试真的很影响！！我是在宿舍考的，有一点点乱，考试的时候只能想到暴力，什么dp什么滑动窗口都没有用上！哎

]]></description><category></category></item><item><title><![CDATA[蓝桥杯彻底解决迷宫问题]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/124008998</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/124008998</guid><author>DDDDDouble</author><pubDate>Thu, 07 Apr 2022 12:10:56 +0800</pubDate><description><![CDATA[在蓝桥杯里，迷宫问题不是很难，大都是深搜或者广搜就写暴力写出来

最短情况：BFS
找到：DFS


一般迷宫的题，数据量都比较大，一般都是计算文本文件里面的



获取数据
python读取文本文件会将最后一个换行符也读到，所以要单独处理
hang=4#获取行数，从文本文件中看一下
ma=[]
with open("E:\蓝桥杯\Python\真题\\2019\\t.txt") as f:
    for i in range(hang-1):#转化为二维列表
        ma.append(list]]></description><category></category></item><item><title><![CDATA[蓝桥题库-乱序]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/123926484</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/123926484</guid><author>DDDDDouble</author><pubDate>Sat, 02 Apr 2022 19:20:55 +0800</pubDate><description><![CDATA[回文日期



感觉很麻烦，但是暴力写出来感觉速度还行

s=input()
year = int(s[:4])
#求回文日期
while True:  
    month=int(str(year)[::-1][:2])
    day=int(str(year)[::-1][2:])
    if 0&lt;month&lt;=12:
        if 0&lt;day&lt;=31:
            if month==2:
                if year%400==0 ]]></description><category></category></item><item><title><![CDATA[第十一届蓝桥杯大赛软件类决赛 Python大学组]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/123852332</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/123852332</guid><author>DDDDDouble</author><pubDate>Wed, 30 Mar 2022 21:35:59 +0800</pubDate><description><![CDATA[填空（答案已测试）
试题A:美丽的2（5）


暴力，for一遍就行了

count=0
for i in range(1,2021):
    if "2" in str(i):
        count+=1
print(count)



试题B:合数个数


懒得想那么多了，填空题，能过就行，直接暴力

count=0
for i in range(4,2021):
    for j in range(2,i):
        if i%j==0:
            count+=1
 ]]></description><category></category></item><item><title><![CDATA[New Online Judge]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/123837549</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/123837549</guid><author>DDDDDouble</author><pubDate>Wed, 30 Mar 2022 09:30:13 +0800</pubDate><description><![CDATA[1012: 求角的度数

好麻烦
推荐大家看这个》[详细解析](https://blog.youkuaiyun.com/shengyutou/article/details/119670615?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164860270616780261940576%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&amp;request]]></description><category></category></item><item><title><![CDATA[第十一届蓝桥杯大赛Python组]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/123763879</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/123763879</guid><author>DDDDDouble</author><pubDate>Sun, 27 Mar 2022 12:35:16 +0800</pubDate><description><![CDATA[目录标题填空A:门牌制作5B:寻找2020编程
填空
A:门牌制作5


暴力哈
count=0
for i in range(1,2021):
count+=(str(i).count(“2”))
print(count)


B:寻找2020


文件内容
暴力吧，比第十届有个要简单一些

编程

]]></description><category></category></item><item><title><![CDATA[第十届蓝桥杯大赛PythonC组]]></title><link>https://blog.youkuaiyun.com/DDDDDouble/article/details/123760561</link><guid>https://blog.youkuaiyun.com/DDDDDouble/article/details/123760561</guid><author>DDDDDouble</author><pubDate>Sat, 26 Mar 2022 21:09:52 +0800</pubDate><description><![CDATA[第十届C组A:求和B:矩形切割不同子串D:质数E:最大降雨量F:旋转（15分）G:外卖店优先级（20）H:人物相关性分析20I:等差数列25J:扫地机器人25
A:求和


暴力

count=0
for i in range(1,2020):
if (“2” in str(i)) or (“0” in str(i))or (“1” in str(i))or (“9” in str(i)):
print(i)
count+=i
print(count)



B:矩形切割


暴力：用个while循环，找m]]></description><category></category></item></channel></rss>