- 博客(65)
- 资源 (3)
- 收藏
- 关注
原创 微信群AI助手:智能问答一键搞定
这篇文章介绍了一款将微信群聊转化为智能问答系统的工具——微信群AI知识库助手。该工具通过上传产品文档、FAQ等资料,自动建立知识库索引,使群成员只需@机器人提问,即可获得基于DeepSeek API生成的精准答案,无需安装额外应用。系统采用轻量级技术架构(PyQt6+BM25算法),支持PDF/DOCX/TXT文档解析,可独立配置不同群组的知识库,显著降低企业内训、用户客服和技术社区的重复答疑成本。项目已开源,提供exe免安装版本,未来计划扩展更多文档格式和AI模型支持。
2026-07-13 10:55:29
302
原创 微信 AI 知识库效果展示与能力评测
微信AI自动回复系统全新上线,实现24小时智能消息管理。该系统深度融合大型语言模型,支持智谱GLM等多种AI引擎,提供多场景解决方案:私聊/群聊智能回复、@触发机制、白名单管理、关键词自动响应及知识库集成。配备可视化工作台实时监控消息状态,适用于社群运营、电商客服等场景。技术采用React+FastAPI+SQLite架构,支持Windows/Linux部署。目前提供开源接口文档,用户可通过关注公众号反馈使用建议。(149字)
2026-06-11 10:15:43
280
原创 打造企业级 AI Agent:任务编排 + 多工具系统(Python 深度实战)
文章摘要:本文介绍了从Demo级AIAgent升级到企业级架构的关键要素。企业级AIAgent需要具备四大核心模块:任务拆解(Planner)、工具系统(ToolSystem)、任务编排(WorkflowEngine)和状态管理(Memory)。文章提供了完整的代码实现,展示了一个可扩展、可维护的企业级最小系统,包括任务拆解、多工具协作和上下文记忆功能。相比简单的API调用,真正的AIAgent应该像人类一样具备任务分解、工具使用和流程执行能力。这种架构可应用于自动化运营、AI运维等企业场景,代表了下一代软
2026-03-30 18:05:46
305
原创 Python + MCP:AI应用开发的下一代接口标准(附完整代码实战)
很多人还没搞清楚 MCP 是什么,但已经有越来越多的工具开始支持它:ClaudeCursorAI IDEAI Agent框架各种自动化系统如果你是,那么现在学习 MCP,很可能就是未来 AI 开发的核心技能。今天这篇文章我们就深入讲清楚:1️⃣ MCP 到底是什么2️⃣ Python 如何开发 MCP Server3️⃣ 完整代码实战4️⃣ MCP 为什么可能改变 AI 开发。
2026-03-16 11:31:59
417
原创 OpenClaw 爆火:普通人真的需要 AI Agent 吗?(部署+实测)
OpenClaw 的意义不是一个工具。它代表的是AI时代的一个方向AI 不只是聊天AI 可以工作但现实是:对于大多数普通人来说,现在的 OpenClaw 还不是一个刚需工具。AI未来的一次提前预演。如果你是:程序员AI开发者技术创业者可以尝试一下。暂时看看就好。最后欢迎大家关注公众号 “IT小知识大分享” ,一起学习讨论。
2026-03-13 14:52:20
784
原创 30个Python AI工具,程序员效率提升10倍(收藏级)
AI 正在改变软件行业。如果你想进入 AI 领域,这 30 个工具基本就是最重要的技术栈。建议至少掌握:LangChainLlamaIndexFastAPICrewAI基本就可以做出完整的AI 应用项目。
2026-03-12 15:15:22
582
原创 10分钟用 Python 做一个自己的 ChatGPT(完整教程)
如果你想进入 AI开发领域,其实并没有那么难。今天这篇文章,我们只用了:Python一个 AI API几十行代码就实现了一个属于自己的 ChatGPT。学习路线可以这样走:1️⃣ Python基础 2️⃣ 调用大模型API 3️⃣ LangChain / LlamaIndex 4️⃣ AI Agent开发未来的软件开发,很可能会变成:AI + 编程而 Python,依然是 AI 世界最重要的语言。
2026-03-12 14:50:32
441
原创 2026年最值得学习的10个 Python AI库(程序员必备)
如果你想进入 AI开发领域,建议优先学习这几个:入门推荐:进阶推荐:未来方向:如果你是 Python开发者,现在进入 AI 领域其实是一个非常好的时间点。未来几年,软件行业很可能会变成:AI + 编程。如果大家对Python AI 感兴趣,可以关注公众号“IT小知识大分享”,后面会长期发送相关知识以及本人工作上的项目经验!
2026-03-11 15:24:15
1216
原创 MCP为什么对于AI大模型很重要?
我认为 MCP 是让 AI 从“大脑”进化为“完整的生命体”的关键一步。它定义了 AI 如何与数字世界交互的规范。最后如果大家对Python AI 感兴趣,可以关注公众号“IT小知识大分享”,后面会长期发送相关知识以及本人工作上的项目经验!
2026-03-11 09:45:14
325
原创 windows安装ES
打开elasticsearch-8.17.1\config\elasticsearch.yml文件,添加以下配置。打开elasticsearch-8.17.1\config\jvm.options文件,在文件末尾添加。运行bin 目录下的elasticsearch.bat。<1>关闭ES安全认证。<2>解决日志杂乱问题。
2025-01-22 16:22:37
890
原创 pytorch基础知识Tensor算术运算
torch.sparse_coo_tensor coo元素表示非零元素的坐标形式# i非0元素坐标,v非0元素值# 稀疏的张量# 将稀疏的张量转化为稠密的张量print(a)print(b)# 打印结果。
2024-06-26 17:42:22
717
原创 利用pyinstaller打包python代码为exe工具
最近利用tkinter写了一个小工具,并且打包为exe运行,以下记录总结下过程。python -m venv venv执行pip list 验证,若是无法启动,可能需要执行以下步骤:1、终端输入get-executionpolicy,回车返回Restricted。2、win+r快捷键打开,输入 powershell 打开 windows powershell,命令窗口输Start-Process powershell -Verb runAs 进入管理员模式,再输入set-executionpolicy re
2024-04-24 18:03:25
611
1
原创 docker 容器中安装cron,却无法启动定时任务
都会有个问题就是cron服务正常启动,但是加入到/etc/con.d下的任务,或者crontab -e 添加的定时任务都没有运行。写个sh 脚本用来添加定时任务,顺便在重启cron时添加环境变量。当我是在Dockerfile配置安装cron。cronfile中定义自己的任务。大概是因为没有添加上环境变量。或者进入容器中安装cron。需要给sh 脚本加上运行权限。
2024-04-17 14:32:07
1609
1
原创 Kfka监控工具--Kafka-eagle安装
efak.zk.cluster.alias=cluster1 #kafka集群别名,这里可以配置多个集群,逗号分开。cluster1.zk.list=localhost:2181 #配置zk 集群地址。JMX 是一个为应用程序植入管理功能的框架。配置数据库的连接,配置本地已安装的数据库。
2023-10-07 16:50:02
685
原创 Kafka核心原理
一般来说,重要程度越高的,安全级别越高,速率越高,优先保证安全性,在此基础上,保持平衡。通过分片,将一个大的容器分解为多个小的容器,分布在不同的节点上,从而实现分布式存储。1:生产者将数据生产到Broker,需要等待Broker端Topic的对应分片上的主副本接收到消息后,即为成功发送消息。-1: 生产者将数据生产到broker,需要等待broker端Topic的对应分片所有副本都接收到消息,即为成功发送。提升数据的可靠性,副本越多数据越可靠,但是数据冗余越高。生产者生产是数据到broker。
2023-10-05 20:51:34
758
原创 kafka 集群搭建 & 常用命令
3> 将安装好的kafka 分发到其他服务器。 将kafka 压缩包解压到某一目录。scp /etc/profile 服务器。配置KAFKA_HOME环境变量。将profile分发到各节点。 修改节点配置文件。查看是否搭建成功。
2023-09-28 22:29:10
1492
原创 Redis数据库操作
有序集合,每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序。hmget key field1 field2 获取键的多个属性的值。无需集合,元素为字符串,元素具有唯一性,不重复,对于集合没有修改操作。低延迟,速度快(基于内存,IO多路复用,良好的编码)hdel key field 删除键的某个属性。keys * 查看所有的键,支持正则表达式。del key 删除hash键的所有属性。hkeys key 获取指定键的所有属性。hvals key 获取键所有属性的值。
2023-06-24 17:48:06
547
原创 Flask-数据库迁移
将模型类生成迁移脚本: python xxx.py db migrate -m "注释"如果想要原数据,需要使用工具,navicat,mysqlworkbench等。将迁移脚本更新到数据库中:python xxx.py db upgrade。当数据库对的表结构发生变化之后,如果直接删除原有的数据,可能导致数据丢失。生成迁移文件夹:python xxx.py db init。通过Manager 类创建对象,管理app。使用Migrate关联db, app。是为了备份表结构,而不是数据。
2023-06-06 19:23:29
1169
3
原创 Flask知识点2
3>创建CSRFProtect对象,保护app对象:CSRFProtect(app)get_flashed_messages() : 用来消耗flash方法中存储的消息。使用flash存储消息时,需要设置SECRET_KEY。flash 内部消息存储依赖了session。安装扩展包 flask-wtf。CSRFProtect解决CSRF。
2023-06-01 17:22:04
624
原创 Flask小知识点
组成:werkzueg(专门用来处理请求相关URL) + jinja2(用来渲染模板页面) + 其他扩展包(flask-cache)url_for('视图函数', key=value) 反解析,返回视图函数相对应的路由地址。当访问服务器资源时,如果找不到该资源,可以报出异常信息,使用errorhandler捕捉。return '字符串',状态码,响应头信息。# 将转换器类添加到系统默认的转换器列表中。#重写父类BaseConverter。return "页面找不到"
2023-05-15 16:51:56
667
原创 个人Django项目的创建流程,个人开发习惯
models.UserInfo.objects.create(**{'name': '提莫', 'age': 19, 'email': 'timo@liammen.com'})models.UserInfo.objects.create(name='亚瑟王', age=19, email='yase@lianmen.com')models.UserInfo.objects.create(name='亚索', age=19, email='yasuo@lianmen.com')
2023-04-05 18:16:49
483
原创 Pandas 02之时间处理
其freq参数指定输出哪天的日期,W表示周日输出,W-MON周一输出等,B表示工作日。丰富的函数支持:resample(), truncate() , 等。时间序列就是以时间对象为索引的Series或DateFrame。可以用年,月,年月作为切片。可以用日期范围作为切片。
2022-08-25 11:37:50
328
原创 Pandas 01 之Series与DataFrame之排序函数等常用函数
dropna(how='all') 有一行所有的数据为空时,才会删除。两种索引方式: 下标,标签,支持列表特性与字典特性。当两个数组计算时,按照索引对齐再进行计算。sr.iloc[2] 下标。sr.loc[2] 标签。describe 描述。
2022-08-24 17:54:13
402
原创 JAVA-方法引用-01
<1>通过对象名引用成员方法 ,使用前提是对象名是已经存在的,成员方法也是存在的定义一个函数式接口package Demo41;@FunctionalInterfacepublic interface Printable { public abstract void print(String s);}定义一个类以及其方法package Demo41;public class Demo01MethodRerObject { public void pri
2022-04-24 20:49:38
581
原创 JAVA-使用Stream流式思想处理数据
<1>java.util.stream.Stream<T> 是java8新加入的最常用的流接口,并非函数式接口获取流常用的方式: 所有的Collection集合都可以通过stream默认方法获取流: default Stream<E> stream() Stream接口的静态方法of可以获取数组对应的流 :static <T> Stream<T> of (T... values) 注意:Stream 流属于管道流,只能被使用一次,第.
2022-04-21 22:25:14
1060
原创 JAVA-JDK中常用的函数式接口
JDK中提供了大量的函数式接口以丰富Lambda的典型使用场景,主要在java.util.function包。<1>Supplier接口Supplier<T> 接口仅包含一个无参的方法,T get(),用来获取一个泛型参数指定类型的对象数据 //该接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据package Demo38;import java.util.function.Supplier;public class
2022-04-19 20:29:53
1293
原创 JAVA-函数式接口作为方法返回值的用法
package Demo38;import java.util.Arrays;import java.util.Comparator;//若是一个方法的返回值类型是函数式接口,那么就可以返回一个lambda表达式//这里当需要通过一个方法来获取Comparator接口类型的对象作为排序器时,就可以调用该方法获取public class Demo01Cmparator { public static Comparator<String> getComparator(){.
2022-04-19 19:34:57
1156
原创 JAVA-函数式接口作为函数参数的用法-日志性能优化
调用showLog方法,参数MessageBuilder是一个函数式接口,可以传递lambda表达式 使用lambda表达式作为参数传递,仅仅是把参数传递到showLog()方法中,只有满足条件,等级是1,才会调用接口MessageBuilder中的方法buildMessage,才会进行字符串的拼接 反之条件不满足,等级不是1,接口中的方法不会执行,不存在性能的浪费<1>定义一个接口用来拼接日志信息package Demo36;@FunctionalInterfacep.
2022-04-18 22:37:40
555
原创 JAVA-函数式接口作为函数参数的用法-概念
概念:有且仅有一个抽象方法的接口,称之为函数式接口 一般可以作为方法的参数和返回值类型<1>定义一个函数式接口package Demo35;@FunctionalInterface public interface Demo01MyFunctionalInterface {public abstract void method();}<2>接口实现类,重写抽象方法package Demo35;public class Demo...
2022-04-18 22:31:05
2234
原创 JAVA-文件上传案列实现
TCP通信的文件上传案列,即便是客户端读取本地的文件,把文件上传到服务器,服务器把上传的文件保存到服务器的硬盘上,即是文件的复制,文件的下载是相同的原理。实现步骤:1、客户端使用本地的字节输入流,读取要上传的文件2、客户端使用网络字节输出流,把读取到的文件上传到服务器3、服务器使用网络字节输入流 ,读取客户端上传的文件4、服务器使用本地字节输出流,把读取到的文件,保存到服务器的硬盘上5、服务器使用网络字节输出流,给客户端回复上传成功6、客户端使用网络字节输入流,读取服务器回写的数据7、释放
2022-04-16 14:55:01
296
原创 JAVA-TCP通信客户端服务端-基础
package Demo34;/*java.net.Socket 实现客户端套接字Socket(String host,int port)成员方法:OutputStream getOutputStream() 返回套接字的输出流InputStream getInputStream() 返回套接字的输入流void close() 关闭次套接字客户端和服务端交互,必须使用Socket中提供的网络流,不能使用自己创建的对象流*/import java.io.IOException;im
2022-04-16 13:05:58
1079
原创 JAVA-打印流-基础
package Demo33;import java.io.FileNotFoundException;import java.io.PrintStream;public class Demo03PrintStream { public static void main(String[] args) throws FileNotFoundException { PrintStream ps = new PrintStream("D:\\a.txt"); p.
2022-04-15 20:11:49
437
原创 JAVA-序列化与反序列化流-基础
注意点:<0> ObjectOutputStream 对象的序列化流 把对象以流的方式写入文件中保存 继承自OutputStreamObjectInputStream 对象的反序列化流,会声明抛出ClassNotFoundException<1> 类通过java.io.Serializable接口启用序列化功能。没有实现此接口的类无法使其任何状态序列化和反序列化Serializable接口也叫标记性接口,要进行序列化和反序列化的类必须实现Serializable接口&.
2022-04-14 22:46:40
406
原创 JAVA-转换流-基础
package Demo32;import java.io.*;public class Demo01OutputStreamWriter { //字符流通向字节流的桥梁、 public static void main(String[] args) throws IOException{ write_utf8(); read_ut8(); } public static void write_utf8() throws IOExc.
2022-04-13 22:03:27
437
原创 JAVA-缓冲流-基础
//1、字符缓冲流package Demo31;import java.io.*;public class Demo02Copy { public static void main(String[] args) throws IOException { long s = System.currentTimeMillis(); BufferedInputStream bis = new BufferedInputStream(new Fi.
2022-04-13 21:47:45
371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅