- 博客(170)
- 资源 (4)
- 收藏
- 关注
原创 openai-agent使用本地模型并进行流式输出
执行fix_logprobs.py脚本,来替换底层.venv/lib/site-packages/agents/models/chatcmpl_stream_handler.py文件中的逻辑,让流式兼容正常的模型api。如果你是用的openai模型,直接使用框架带的流式输出Runner.run_streamed流式方法即可。openai-agent原生兼容openai模型,当我们使用其他模型,例如vllm私有部署的,或者给硅基流动的模型时,需要进行额外处理。我们一会儿就会修改该文件,所以先做备份吗。
2025-08-14 19:00:00
322
原创 java实现Excel转pdf(完美格式、不使用商业库Aspose)
本文介绍了一种基于SpringBoot+Python的Excel转PDF方案,适用于Windows环境。主要内容包括:1)环境配置需安装JDK1.8和Python3.11;2)Python脚本使用win32com调用Office原生功能实现转换,包含文件验证、线程安全处理和错误处理;3)SpringBoot服务层通过调用Python脚本实现转换功能,包含文件上传、路径处理和结果返回。该方案提供了完整的代码实现,包括Python脚本核心转换逻辑和Java服务层调用示例,可作为商业库Aspose的替代方案。
2025-07-30 20:15:00
478
原创 创建Springboot的服务管理脚本
因此做一个完整的 Bash 脚本,可以用来管理你的xxxx.jar 应用程序。这个脚本提供了启动、停止、重启和查看状态的功能,各位把脚本中的jar名和路径换成自己的就可以直接使用。有时一些临时测试的程序,如果每次都手动java -jar太麻烦了,而且不便于管理状态。
2025-07-03 18:30:00
331
原创 FastMCP框架进行MCP开发:(三)从SSE升级到SteamableHTTP
在MCP(Model Context Protocol)中,Streamable HTTP和SSE(Server-Sent Events)都是用于实现客户端与服务器之间通信的传输机制。然而,它们在设计、功能以及性能表现上有着显著的区别。
2025-06-25 22:00:00
914
原创 FastMCP框架进行MCP开发:(二)图书馆座位查询与预约MCP-Server
FastMCP 是一个基于MCP协议构建的快速开发框架,旨在简化创建高效、可扩展的服务端程序的过程。它封装了许多底层细节,使得开发者可以专注于业务逻辑的实现,而不需要过多关心网络通信、并发控制等方面的问题。易用性:提供了简洁的API接口,易于上手。高性能:优化了性能,适合高并发场景。扩展性强:支持自定义配置和服务功能扩展。调用 /available 接口,传入楼宇、日期、时间段等参数。返回空闲座位列表。
2025-06-20 21:45:00
445
原创 FastMCP框架进行MCP开发:(一)基础环境搭建及测试
命令会基于当前所在目录创建一个虚拟环境,默认生成一个名为 .venv 的文件夹。也就是说,你在哪个目录下运行这条命令,就会为该目录创建一个独立的虚拟环境。uv是一个由 Rust 编写的高性能 Python 包管理工具,MCP要求借助uv进行虚拟环境创建和依赖管理。1、首先window中要有python环境,没有的自己安装一下,这部分很简单就不多赘述。这里的mcp-test就是项目名,也是文件夹的名。
2025-06-19 19:15:00
375
原创 快速运行Dify前端,无需搭建后端环境
当我们需要对Dify的前端进行定制化修改,但又不希望花费时间去搭建Python环境、沙箱服务及其他中间件时,我们可以选择仅运行前端并直接连接到已经私有化部署好的Dify后端API。这种方式能够让我们专注于前端代码的调整,而无需担心后端服务的配置问题。
2025-06-07 14:00:00
430
原创 dify官方离线安装打包插件脚本,改造成ubuntu或者debain系统可用
使用docker纯内网部署的dify1.0+版本,必须进行离线安装插件。官方只提供了centos版本的,因此改造一下官方脚本,变成ubuntu或者debain系统可用。
2025-06-06 17:30:00
242
原创 利用k6脚本编写大模型安全性验证工具
本文介绍了如何使用K6压力测试工具编写脚本,以验证大模型对敏感和危险问题的规避能力。脚本通过加载包含大量提问的JSON数据集,向指定的API发送请求,并分析模型回答中是否包含预定义的敏感词汇。测试结果将记录在日志文件中,便于后续分析模型的安全性能。该方案旨在通过自动化测试,确保大模型在处理敏感内容时的安全性和合规性。
2025-05-22 17:09:45
180
原创 Qwen3多方位评测
结论,针对这些场景:上下文理解、任务编排、工具调用、数据要素抽取等环节,Qwen3-32B已接近DeepSeek-R1。Qwen3-235B-A22B排版最优,32B略逊于DeepSeek-R1,优于Qwen2.5-72B。Qwen3-32B任务拆解能力优于Qwen2.5-72B,接近DeepSeek-R1。时间要素解析:Qwen3-32B与DeepSeek-R1并列最优。Qwen3-32B对绝对时间语境理解优于Qwen2.5-72B。实体抽取:Qwen3-32B在Dense模型表现更稳定。
2025-05-20 18:45:00
463
原创 linux中Conda环境完整迁移方案
源机器和目标机器安装的Conda路径必须创建完全相同。例如-源机器:/home/cloud/anaconda3,目标机器也一定是:/home/cloud/anaconda3。
2025-05-19 17:02:39
553
原创 Redis+Caffeine构造多级缓存
Caffeine是一款基于Java 8的高性能、灵活的本地缓存库。它提供了近乎最佳的命中率,低延迟的读写操作,并且支持多种缓存策略,号称本地缓存之王。核心特性Caffeine的底层数据存储采用ConcurrentHashMap。因为Caffeine面向JDK8,在jdk8中ConcurrentHashMap增加了红黑树,在hash冲突严重时也能有良好的读性能。Caffeine采用了先进的缓存淘汰算法,如Window TinyLfu,以提供极高的缓存命中率和低延迟的读写操作。
2025-05-12 15:01:25
851
2
原创 Linux从零搭建Dify智能体平台(包含网络代理、docker安装、docker镜像地址设置)
【代码】Linux从零搭建Dify智能体平台(包含网络代理、docker安装、docker镜像地址设置)
2025-03-14 17:23:50
729
原创 VLLM多卡并行优化策略
多卡并行方式,分为张量并行(Tensor Parallelism)和数据并行(Data Parallelism)。VLLM多卡并行主要依赖实现模型分布式推理。因此我们采用这种方案。
2025-03-01 16:45:00
3021
3
原创 Java不用模型,直接实现中文分词(HanLP)
/ 动态增加CustomDictionary.add("攻城狮");// 强行插入CustomDictionary.insert("白富美", "nz 1024");// 删除词语(注释掉试试)// CustomDictionary.remove("攻城狮");System.out.println(CustomDictionary.add("单身狗", "nz 1024 n 1"));System.out.println(CustomDictionary.get("单身狗"));
2025-02-28 18:45:00
1030
原创 DeepSeek蒸馏版模型VLLM部署方案
CUDA <12.1需使用旧版Python(3.10)和vllm==0.3.2。CUDA 12.4需搭配更高版本Python(3.11)和默认vllm。
2025-02-24 10:09:21
819
原创 SpringBoot中SSE流式输出中止的核心代码
在大模型会话中,会有一个功能是停止生成功能。这个功能如果在前端实现,既取消监听后端的流式返回事件,会导致后端日志中报错连接中断等错误。
2025-02-21 15:31:45
1010
2
原创 springboot使用Redis发布订阅(Pub/Sub)实战
Redis 发布/订阅是一种消息传模式,其中发送者发送消息,而接收者(订阅者)接收消息。传递消息的通道称为channel。例如下图的工流程,当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端。
2025-01-22 19:30:00
1200
原创 随机查询若干数据,并根据全部数据的点击量排序的核心代码
需求:随机展示六条帖子,并把这几条帖子的热度按照总的点击量进行分类,在全部点击量排前100的帖子为高热,100到1000名为热,1000到5000为火…也就是说,我需要随机查询六条数据,并得到这六条数据的点击量在全部数据的点击量中的排序位置。
2024-09-14 21:30:00
285
原创 大模型基础环境部署之一:安装 Nvidia 的驱动(详细实操版)
如果该命令没有输出结果,则表示 nouveau 已被禁用。如果有输出结果,则需要执行以下步骤来禁用 nouveau。完成上述步骤后,系统应该已经满足了安装 Nvidia 驱动的前置条件。可以继续进行后续的安装步骤。为了使更改生效,需要重新生成 kernel initramfs。完成以上步骤后,需要重启系统以使更改生效。然后继续安装 libc6-dev 和 libc-dev 软件包。
2024-08-27 20:15:00
737
原创 Spring的包扫描路径之外获取Bean
建议只在必要时使用SpringContextUtil,并且考虑是否有其他方式可以实现相同的功能,例如通过使用@Import注解将类导入Spring容器,或者使用事件和监听器来解耦组件之间的依赖。因为我们自己写的这个工具类,其实是破坏依赖注入原则的,除非迫不得已,不然还是遵循Spring的原则来开发比较好。完结★,°.°★。
2024-08-05 21:45:00
493
2
原创 文件流转MultipartFile,不使用MockMultipartFile的方式
MockMultipartFile 是一个用于测试的模拟类,通常在单元测试或集成测试中模拟 MultipartFile 的行为。它属于 Spring 框架的测试包 org.springframework.mock.web 中的一部分,不应该在生产环境中使用。因此我们采用实现MultipartFile接口类的方式,自己实现转换逻辑。
2024-05-30 21:30:00
1806
原创 SELF-RAG论文全流程阅读解析
作者为了节省成本,提出了一个的方法:写一个标注反思token的例子,然后把自己整理好的所有的自己领域相关的训练语料通过GPT4的API,让GPT4根据例子来进行插入反思token,然后把GPT4吐出来的训练语料+标注好的反思token作为完整的数据集,灌输给自己的M生成模型去学习,学习GPT4是怎么生成这些token的。看似很合理,但是有个问题。从官方的这个算法推理图中也可以看出,SELF- RAG中存在了两个模型,其中评判模型C的用途是为了构建生成模型M所需要的训练数据,当生成模型训练完成后,在。
2024-05-21 19:00:00
1598
原创 根据ip限制接口访问次数
我们利用redis去实现这个功能,redis的天然高并发和内存单线程速度拉满,非常适合做这个场景。为了可用性,我们把它封装成注解形式,哪个接口想被根据ip限制接口访问次数,直接标注上注解即可。
2024-05-14 22:45:00
557
原创 java实现通用的文本相似度评估方法(余弦相似度计算)
因为我是从excel里读取标准答案和真正答案做相似度平均值计算,所以我也引入了poi依赖。余弦相似度计算:通用的文本相似度评估方法,通过计算向量之间的夹角来衡量文本的相似度。思路和代码以及注释都有了,完结撒花o(
2024-05-06 18:45:00
1076
原创 大模型的流式返回在换行符处被分开截断,导致无法正常解析换行符的解决方案
在我使用的大模型中,需要将大模型的流式返回解析成markdown形式,供给用户展示。但是偶然间发现,有的回答的换行符号没被解析成换行格式,而是以/n形式展示出来了。经过排查,找到了问题点:因为是流式返回,大模型一次只会给我3~6个字符。我的解析逻辑是大模型给我2、3个字,我预先格式化+转码+过滤特殊字符,然后给画面,画面解析,然后拼接到变量上。也就是说,大模型每次给我几个字符,我都进行解析一次,然后前端进行拼接,实时展示给用户。
2024-03-26 21:00:00
3054
原创 k8s增加从节点记录
闲来无事,自己找了几个废机器尝试搭建k8s集群。成功后研究了一下如何增加从节点。本记录是基于【kubesphere-all-offline】离线包部署的教程,使用其他方式部署的k8s应该使用另外的方式去增加从节点。
2024-03-20 20:30:00
884
原创 java实现计算ROUGE-L指标,使用hanlp来进行中文分词(二)
上篇文章中,我们也是计算了指标,但是采用的是英文分词器。我查看官方文档发现,他支持中文的分词器,但是在我代码中一直报错找不到指定的分词器,因此我决定引入hanlp来进行中文分词。
2024-03-13 20:15:00
419
原创 java实现计算ROUGE-L指标(一)
ROUGE (Recall-Oriented Understudy for Gisting Evaluation) 是用于评估自动文摘或机器翻译的一种评估方法,其中的ROUGE-L指标是基于最长公共子序列(Longest Common Subsequence,LCS)来计算的。然后是我的具体代码实现,因为词性标注和词性还原需要借助本地模型实现,为了快速落地量化指标,我暂时不使用词性标注和词性还原。
2024-03-13 18:30:00
736
原创 大模型通用基础知识解析
大模型的训练分两个阶段:预训练(Pretrained)和微调(Fine tuning)。因此大模型训练和微调不完全是一个意思,训练包含了微调。
2024-03-04 21:30:00
1498
1
原创 java后端远程调用文件上传接口(multipart/form-data类型)的方法
multipart/form-data是一种用作传输多个文件/表单项的数据格式。
2024-01-29 21:30:00
3400
原创 高效开发之:删除list集合中某个符合条件的对象
注意哦,这段代码的行为在高并发环境下是不安全的,因为它在遍历列表的同时删除了元素。如果你在多线程环境中运行此代码或使用类似的逻辑,可能会遇到并发修改异常或其他不可预测的行为。有的小伙伴可能对这段代码有疑问,这里逐步解析一下。非必要不建议这样写,没有好处只有坏处。按条件删除复杂对象集合。按条件删除字符串集合。
2023-12-21 19:15:00
1378
原创 chatchat知识库对话接口修改成sse流式输出方案
在chatchat结合chatGLM搭建的私有化知识库中,使用原生的webUI画面是可以流式输出的,而直接调用api接口,不管stream为true还是false,都是阻塞式输出的,也就是一口气返回给接口。3、 增加依赖:from sse_starlette.sse import EventSourceResponse,并且修改文件内方法名,和文件明对应上。我们的解决方案是修改StreamingResponse方式返回,变更为EventSourceResponse。注意python的换行问题。
2023-12-18 17:00:00
1975
3
原创 DB-GPT大模型私有化部署搭建
随着大模型的发布迭代,大模型变得越来越智能,在使用大模型的过程当中,遇到极大的数据安全与隐私挑战。在利用大模型能力的过程中我们的私密数据跟环境需要掌握自己的手里,完全可控,避免任何的数据隐私泄露以及安全风险。基于此,我们发起了DB-GPT项目,为所有以数据库为基础的场景,构建一套完整的私有大模型解决方案。此方案因为支持本地部署,所以不仅仅可以应用于独立私有环境,而且还可以根据业务模块独立部署隔离,让大模型的能力绝对私有、安全、可控。我们的愿景是让围绕数据库构建大模型应用更简单,更方便。
2023-12-12 21:15:00
4334
原创 高效开发之:判断复杂list中的对象属性是否包含某个值
技术使用:使用了Java 8引入的Stream API以及Optional类。这些特性用于简化集合的处理和减少空指针异常。
2023-11-30 22:00:00
794
原创 从redis中获取各个属性值拼装成对象列表的优化
我的目标是根据名称,从Redis缓存中获取一些值,并将它们封装到KnowBaseArgDto对象中,然后将这些对象添加到一个列表中返回给前端。
2023-11-24 20:00:00
347
原创 高性能高可用的全能httpclient方法封装
废话不多说,直接干代码一、http请求配置/** * HttpClientConfig http请求配置 */public class HttpClientConfig { /** * 连接时间 ms */ protected int CONNECT_TIMING_OUT = 300000; /** * 请求响应时间 ms */ protected int RESPONSE_TIMING_OUT = 300000;
2023-11-21 18:15:00
492
HttpRequest.java
2020-04-02
augment(标签-vscode)
2025-06-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人