- 博客(60)
- 收藏
- 关注
原创 uv与conda环境冲突,无法使用uv环境,安装包之后出现ModuleNotFoundError: No module named ‘xxx‘等解决方法
这通常是由于 Anaconda 在安装时,将其路径(如 D:\Computer\Anaconda\Anaconda\Scripts)添加到了你 Windows 系统的全局 PATH 环境变量中。理论上,此时当你输入 pip,系统应该会首先在 .venv\Scripts 里找到它。但从结果来看,Anaconda 的路径优先级更高,或者因为某些 PowerShell 的配置,导致系统仍然找到了 Anaconda 的 pip。发现uv包的lib文件夹不存在pip包,也就是不知道什么原因,pip不见了。
2025-08-05 16:26:06
338
原创 【n8n纯手打教程】零基础一键批量生成微信公众号/小红书爆款文章(Github,Huggingface)【二】
本文介绍了利用n8n平台实现微信公众号/小红书文章自动生成的全流程。首先通过LLM模型生成格式化内容,提取标题和正文;然后使用Unsplash等API获取配图;最后整合图文内容并转换为HTML格式。教程详细展示了代码节点的配置方法,包括内容提取、图片获取、数据合并等关键步骤,并提供了完整的工作流程图解。该方案可实现从内容生成到排版发布的一键自动化操作,适用于AI热点等类型文章的批量生产。
2025-07-28 20:23:56
409
原创 【n8n纯手打教程】零基础一键批量生成微信公众号/小红书爆款文章(Github,Huggingface)【一】
本文介绍了利用n8n工作流自动化生成AI技术日报的完整流程。通过GitHub API和RSS获取最新AI资讯,经过数据清洗合并后,使用Gemini模型自动生成包含标题、内容、配图的公众号文章。教程详细说明了每个节点的配置方法,包括HTTP请求参数设置、数据处理代码、AI提示词设计等关键步骤,最终实现从数据采集到内容生成的全自动化处理。
2025-07-27 23:21:05
8630
1
原创 【docker通信问题】解决docker的内嵌DNS无法解析github,导致容器无法联网问题
在尝试利用docker内部dns解析github首先需要进入docker命令行docker ps复制contatinerID ,替换下列占位符进入docker命令符,进行常规ping看是否能ping通如果成功:说明容器的基础网络是通的,问题基本可以确定在 DNS 解析上。我的ping通了如果失败 (e.g., Network is unreachable):说明容器的网络配置有严重问题,无法访问外部。你需要检查 Docker 的网络模式(bridge, host 等)或宿主机的防火墙规则。
2025-07-27 14:49:44
203
原创 【n8n网络问题】解决”connection timed out; no servers could be reached“等n8n无法与外部网络通信或超时问题
本文将一步步解释如何排除错误,以及列出最后的解决方案
2025-07-27 14:45:11
571
原创 【Docker部署】一键教会你部署docker——以n8n为例
Docker 从零开始部署 n8n (Windows 环境)你之前的经历完美地证明了为什么 Docker 是运行 n8n 等应用的绝佳方式:它能彻底告别本地环境和依赖项冲突的烦恼。
2025-07-25 16:35:23
1038
原创 【开源软件】SimpleAI一款轻量级的桌面随身AI助手
今天推荐一款自己开发的开源软件首先放链接这是一个基于pywebview和langchain构建的极简跨平台桌面AI应用,目的是用户可以在桌面快速利用快捷键调出桌面进行对话,且本应用预设了多个专业prompt,极度提高用户的对话体验。截图。
2025-07-25 11:29:54
1083
原创 【Pywebview】异步实现应用的系统托盘与托盘菜单效果
在常见的应用中,我们常常需要实现隐藏在系统托盘的效果。所以这里将简单介绍一种方法。这里的defualt参数含义默认参数,指的是应用默认行为。这里的deamon是保守线程,主应用关闭的时候,随之停止。由于托盘属于额外线程,所以仍然需要多线程并行。首先我们需要准备一张图片,png格式就ok。对于其中的quit函数,控制整个应用的退出。这里的toggle_window请看。对每一个元素都要定义一个名字。然后写定义系统托盘函数。
2025-07-24 14:09:50
226
原创 【Pywebview】异步实现全局快捷键调用应用主界面功能
deamon的参数的作用是将线程设置为守护线程。守护线程会在主线程结束时自动退出,不会阻止程序的终止。目前的keyborad行为是一直监听,会导致阻塞主界面的各种行为,所以就需要一个多线程解决方案。在一些应用里面,我们需要实现快捷键调用应用主界面的功能,一下将讲解一些该过程的实现。首先快捷键控制的是应用主界面的隐藏和关闭,我们写一个函数:控制界面的开启和关闭。接下来就是写快捷键控制函数。我们注册一个示例的热键。
2025-07-24 13:49:16
147
原创 【langchain】3分钟构建一个上下文聊天机器人
是 LangChain 的“链式操作符”(pipe operator),类似于 Unix 的管道(pipe)。它将 prompt 的输出“管道”到 llm 的输入,形成一个“链”。:输入字典中,用户消息的键名(匹配提示模板中的 {question})。RunnableWithMessageHistory 是 LangChain 的高级 Runnable 类,用于包装普通链(chain),添加历史管理功能。我们使用invoke方法,由于我们是带有历史记录的,所以需要指定一个config。
2025-07-22 19:26:30
507
原创 【UV环境】使用uv快速创建环境
您会看到一个输出,告诉您它创建了一个虚拟环境。这会在您的项目文件夹下生成一个 .venv 目录,这个目录就是隔离的环境。创建环境后,您需要“激活”它,这样后续所有 python 和 pip 命令都会在这个隔离的环境中执行。如果您还没有安装 uv,只需要一个简单的命令。打开您的终端 (PowerShell 或 Cmd)。安装完成后,您可能需要重启终端或新开一个终端窗口来让 uv 命令生效。激活成功后,您会看到终端提示符前面多了 (.venv) 的字样。在您的项目根目录 ( xx/ ) 下打开终端。
2025-07-15 21:02:55
504
原创 【Python类管理】装饰器@的实际用法和查询
装饰器本质上是一个函数,它接收另一个函数或类作为输入,然后返回一个新的、经过修改的函数或类。@ 符号是使用装饰器的语法糖。
2025-07-13 16:12:32
331
原创 【LangSmith】详解LangSmith的部署方法极其效果
LangSmith是一种 LLM 应用的“开发者工具”。它是一个专门用于调试、追踪、评估和监控 LangChain 应用的平台。它能让你清晰地看到模型、工具和链条之间每一次交互的完整细节。
2025-07-07 19:33:59
349
原创 【Langchain】Langchain高效使用Agent集成RAR和MCP
本文介绍了如何将RAG(检索增强生成)工具与Langchain架构下的MCP和Agent智能体相结合。主要内容包括:1. RAG工具构建流程,重点解析了RAG链中retriever、RunnablePassthrough、prompt和llm等组件的协作机制;2. RAG工具的封装方法,通过继承BaseTool创建KnowledgeBaseTool类,实现与Agent的交互;3. 在Agent中调用工具的策略,强调prompt设计需明确工具调用逻辑;4. 展示了实际应用效果,包括单纯知识查询和结合MCP工具
2025-07-07 17:47:36
3849
原创 【Langchain】超详细构建Langchain架构下的MCP与Agent智能结合体
本文介绍了如何构建基于LangChain的Agent架构来实现复杂的CausalChat功能。当需要集成RAG等复杂功能时,传统硬编码方式难以满足工具调用顺序的需求。文章详细讲解了MCP工具的参数封装方法,包括将原始JSON格式转换为符合BaseTool规范的接口,并创建动态Pydantic模型来定义工具参数。同时展示了如何实现MCP与Agent的通信机制,通过继承BaseTool并定义_arun方法完成异步调用。最后简要说明了Agent主程序的构建流程,包括获取上下文记录、初始化LLM连接以及遍历工具集创
2025-07-06 20:38:27
2093
原创 Python中Type[BaseModel]的语法
它的主要任务是让你能够用 Python 类来清晰地定义你需要的数据长什么样。一旦定义好了,pydantic 就会帮你自动检查、转换和验证数据,确保进入你程序的数据都是“合格的”。我们创建了一个狗的实例,然后调用了其实例中的bark函数,这样子相当于让狗叫了起来,也就是返回了一个实例。Type[X] 表示这个函数返回的不是一个 X 类的实例(对象),而是 X 这个类(类型)本身。那么此时此刻,user作为Pydantic 模型,当我们调用的时候,就会自动检测这个蓝图。
2025-07-06 10:45:11
313
原创 【Flask】flask中get方法和post方法区别
如果前端发送数据是为了指定它想要什么,用 GET。如果前端发送数据是为了让后端保存什么或处理什么,用 POST。
2025-07-05 15:25:48
459
原创 【PDF翻译】资源分享:高效的开源pdf翻译神器
在github中有一个30kstar的开源pdf神器。在release页面可以看到具体用法和安装包。首先配置glm的免费api密匙,然后输入。对于400页的pdf,查看翻译效果。顺利打开本地端口,一个前端页面。现在有windows直装版本。
2025-06-23 21:39:39
255
原创 【RAG+向量数据库】小白从0构建一个rag和向量数据库demo
一个经典的概念是“相关不等于因果”。txt:因果推断是统计学和数据科学中的一个核心领域,它的主要目标是确定一个事件(原因)对另一个事件(结果)的影响程度。例如,虽然夏天的冰淇淋销量和溺水人数可能同 时上升,但因果推断会探究是否是吃冰淇淋导致了溺水,而不是其他共同的原因,如炎热的天气。因果推断是统计学和数据科学中的一个核心领域,它的主要目标是确定一个事件(原因)对另一个事件(结果)的影响程度。简而言之,相关性描述了变量之间的统计关联,而因果推断则试图确定一个变量是否是另一个变量的原因。
2025-06-22 22:06:33
648
原创 【FLASK】FLASK应用中的多用户并行登录与加密
那么在进行其他逻辑的时候,在发送这个请求时,浏览器会自动检查本地存储,发现有一张发自这个网站的“电子票根”(Session Cookie),于是自动把这张票根附加到请求头里一起发送出去。然后后端会利用在前面定义的app.secret_key 来加密这个session,这个加密后的票根(Cookie)通过HTTP响应头 (Set-Cookie) 发回给你的浏览器。定义完之后,例如我们在前端进行登录,获取用户值和密码,然后返回后端进行数据库查验。查验之后没问题,利用session获取储存的用户和密码。
2025-06-16 18:52:58
316
原创 Flask应用中处理异步事件(后台线程+事件循环)的方法(2)
需要注意这里start_event_loop 函数中的 loop,和主线程中的 background_event_loop,虽然名字不同,但它们指向的是内存中同一个事件循环对象。当进程调用event.wait(),如果此时事件是 “Clear” 状态(红灯),那么这个线程就会停下来,进入等待状态,被阻塞。初始化这里,无论成功还是失败,初始化流程走完后,调用 .set() 来释放正在 wait() 的主线程。一个多线程的信号旗,这里的信号旗指的是多线程编程中一个非常基础且重要的同步工具。
2025-06-13 21:05:11
704
原创 【MCP】小白详解从0开始构建MCP服务端全流程
MCP服务端构建与调用流程摘要 本文介绍了构建和使用MCP(模块化控制协议)服务端的完整流程。MCP的核心思想是将LLM的"思考"与代码的"执行"分离,形成模块化系统。构建过程包括:1)初始化FastMCP服务器框架;2)用装饰器定义工具函数并添加自然语言描述;3)通过标准输入输出建立通信。调用流程则涉及:1)启动MCP子进程并建立通信会话;2)获取工具列表并转换为LLM可识别的JSON格式;3)由LLM决定是否调用工具,并处理返回结果。整个系统通过清晰的接口描述和标
2025-06-12 18:54:13
919
原创 Flask应用中处理异步事件(后台线程+事件循环)的方法(1)
他负责接待所有顾客的点单(HTTP请求),并且快速地处理一些简单的菜,比如做个沙拉(返回静态页面)。他非常忙,必须马上响应下一个顾客,不能被一道菜卡住。某一个函数:这是一道非常复杂的“佛跳墙”。它需要启动一个子进程(点燃一个新的炉子)、和炉子上的锅(服务器)来回沟通好几次。为了解决这个问题,我们雇佣了一位副厨,并给了他一个专用的炉子。主厨以后接到“佛跳墙”的订单,就直接交给副厨去做。在主线程之外需要一个异步处理的事件,需要反复启动和运行该函数(事件)首先,需要购买一个新的炉子(新的进程)
2025-06-11 23:23:05
619
原创 小白如何在cursor中使用mcp服务——以使用notion的api为例
如果担心json格式耗费的token太多,可以选择转换为markdown格式。前往集成页面,添加新集成,自己输入名字,选择内部。1. 首先安装node.js,在这一步的时候。2. 安装完之后,前往notion页面。这里的apikey需要换成自己的。新建完之后,进入选择只读。然后前往cursor页面。重启cursor即可调用。
2025-06-06 20:11:15
582
原创 (2025小白全踩坑版)【OpenHarmony】移植 3.1 版本系统到 STM32F407ZG开发板
在上stm32课程,有这样一道要求:参考了大佬的文章之后,发现出现了liteos_m.mk文件找不到的情况,于是只能另寻他路然后看到评论区也有相同的问题,估计是代码的仓库变了,但是由于根本看不懂仓库,只能另寻他路 ,经过重重困难,终于将实验做出来,在这里分享给大家。
2025-05-21 19:35:54
1237
7
原创 关于STM32CubeIDE不能在应用内登录下载固件的问题
1. 点击connection to myst发现白屏。3. 点击manage选项,选择自己固件即可。2. 重启,解决问题,注册登录账号即可。
2025-05-18 17:19:28
653
原创 解决SSH连接华为云服务器ESC经常性断连问题
如果服务器启用了 tcp_tw_reuse,并且一个客户端断开连接后,其连接进入 TIME_WAIT 状态,服务器可能会错误地将来自 NAT 后面另一个客户端(使用相同源 IP 和可能相同的源端口)的新连接请求视为对先前 TIME_WAIT 连接的重用。个参数允许内核将处于 TIME_WAIT 状态的 TCP 连接(通常是那些刚刚关闭但仍在等待一段时间以确保所有数据包都被处理的连接)重新用于新的出站连接。在 nano 中,按 Ctrl+O 然后按 Enter 保存,再按 Ctrl+X 退出。
2025-05-11 15:20:24
244
原创 解决华为云服务器上无法git pull到github仓库的问题Failed to connect to github.com port 443 after 134040 ms
You've successfully authenticated, but GitHub does not provide shell access." 的消息。将其粘贴到 GitHub 网页 -> Settings -> SSH and GPG keys -> New SSH key。如果没有 id_rsa/id_rsa.pub 或 id_ed25519/id_ed25519.pub,则生成一个新的。但是可以ping成功,安全组也开放443端口。在服务器上改完代码之后,发现一直失败。
2025-05-11 15:11:46
355
原创 小白详解华为弹性云服务器Ubuntu24.04安装mysql8/navicta连接数据库/vscode连接华为云服务器
接下来会让你把配置文件保存在自己的文件夹,保存之后加载配置就可以了,接下来就可以看到。bind-address的127.0.0.1改成0.0.0.0就可以了。安全组:可以新建,选择mysql,开放3306端口。购买开机, 进入vscode(或者XSHELL)连接之后,稍等片刻在终端出现命令行即可。安装remo插件,进行ssh连接。ssh root@公网ip。进入弹性云服务器购买界面。连接名随便填,主机填公网。输入密码(一定要记住)
2025-05-10 21:17:28
362
原创 市面上所有大模型apikey获取指南(持续更新中)
4. 添加描述(用于aichat)3.创建api密匙,添加描述。2.前往我的api页面。1. 登录api平台。
2025-05-03 19:43:07
301
原创 吴恩达机器学习学习笔记
链接: https://pan.baidu.com/s/13AcfaqpprhSUto8U7aR5Ew?pwd=2uk7 提取码: 2uk7。通过网盘分享的文件:# 机器学习基础.pdf。--来自百度网盘超级会员v6的分享。
2025-04-14 20:44:57
191
1
原创 Python组蓝桥杯基础——小白超详细讲解差分问题(代码)
那么题目要求我们在其中比如改变令a的第2-4个数字都加1,该怎么做呢,我们令d的第二个加1,那么a变为a = [1,4,3,6,8,11]之后的所有都加了1,这时候我们再把d的第5个减去1,a变为a=[1,4,3,6,7,10],我们发现a的第2-4就全部加上了1。对于一个数组比如a =【1, 3, 2, 5, 7,10】,我们可以逆向求出他的差分数组 d = [1, 2, -1, 3, 2,3]首先给定一个原数组a:a[1], a[2], a[3],,,,,, a[n];
2025-04-05 19:12:04
550
原创 Python组蓝桥杯基础——小白超详细讲解前缀和问题(代码)
对于加和矩阵,我们采用同样的方法进行拓展,引入公式s[i][j] = s[i - 1][j] + s[i][j - 1 ] + a[i] [j] - s[i - 1][j - 1],我们发现在处理这样的问题的时候,就可以避免索引的问题。有公式s[i][j] = s[i - 1][j] + s[i][j - 1 ] + a[i] [j] - s[i - 1][j - 1],这里可以画一个矩阵思考,具体看。我们首先需要定义一个s列表,s列表可以用来储存所有加和,因为要储存加和,由于我们输入的数据对应索引来说。
2025-04-05 17:03:56
377
原创 (小白0基础) 租用AutoDL服务器进行deepseek-8b模型微调全流程(Xshell,XFTP) —— 准备篇
xftp用来进行文件传输的,下载好之后,填写用户名邮箱就可以正常用了进入xshell,新建复制登录指令1. 这里名称随便填2. 协议SSH3. 填root后的东西(即加黑的那一部分) ssh -p xxxx root@4. 端口填指令中的端口,5. 登录用户填root,密码复制。
2025-04-03 21:13:04
1529
原创 关于在特定环境中安装jupyter notebook及其插件全指南
在安装jupyter notebook的时候遇到了很多问题,现在总结一篇来以供参考。发现拓展安装失败,显示安装版本不对。使用conda安装jupyter。conda完环境之后。版本不对应,无法运行。
2025-03-31 22:07:28
180
原创 使用python和simple-one-api接入Ollama本地部署的deepseek
这里再介绍一种使用simple-one-api调用的方法。部署好ollama后,ollama默认端口是11434。在simple-one-api的config文件中加入。本文将不阐述使用ollama部署的过程。即可使用openai的统一接口调用。
2025-03-31 18:26:18
214
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人