- 博客(4031)
- 资源 (11)
- 收藏
- 关注
原创 配置管理中的默认值:是便利还是隐患?(显式优于隐式原则,约定优于配置原则,分层策略(配置分类原则))
区分必需与可选:关键配置强制要求,通用配置提供默认值环境感知:不同环境采用不同的验证策略显式验证:即使有默认值,也要在关键路径验证文档先行:清晰标注哪些是必需配置,哪些有默认值配置管理是一个需要平衡的艺术:既要保证系统的健壮性和开发效率,又要避免配置错误导致的隐患。通过分层策略和环境感知验证,我们可以在便利性和可靠性之间找到最佳平衡点。好的配置系统应该让正确的事情容易做,错误的事情难以发生。
2026-03-09 03:38:53
88
原创 Python Dataclass不能像普通类那样在__init__中设置默认值(field()函数、default_factory)
Dataclass 的字段默认值必须在类定义时写在字段声明处,不能放在__init__里。Dataclass 不能像普通类那样在__init__中设置默认值默认值必须在类定义时写在字段声明处对于可变对象(列表、字典等),必须用来避免共享问题这是 dataclass 的设计特性,不是可选项如果要用普通类的写法,需要去掉@dataclass装饰器,手动写__init__,但会失去 dataclass 自动生成__repr____eq__等方法的便利。
2026-03-09 03:32:15
184
原创 Python数据类@dataclasses.field()函数(可变对象(列表、字典、集合等),不要使用default(类变量共享问题),应使用default_factory可变默认值工厂函数)类属性
field()函数是模块中一个强大而灵活的工具,它解决了可变对象默认值共享的问题。✅可变对象→ 使用✅不可变对象→ 可以使用default或✅复杂初始化→ 使用命名函数作为工厂❌不要对可变对象使用default❌不要忘记需要可调用对象掌握field()函数,让你的数据类更加健壮和可靠!
2026-03-09 03:26:58
129
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——48、Agent智能体——Agent项目配置工具、文件工具(md5、文档加载器、pdf)、提示词加载工具开发
具体实现,对这些配置字段做一次“对齐和精简”,也可以把这些文件建好或贴出来,我帮你把 dataclass 字段和 YAML 结构进一步打磨成“上线可用版本”。优化 prompts.yml 结构,改为使用文件路径配置(符合图片要求),并更新 config_handler.py 的相关部分。检查相关代码,了解当前实现,以便优化 prompts.yml 的结构。,支持“分组 + 文件内部环境区分”的 YAML 结构,同时在。所有更改已完成,代码已通过 lint 检查,符合项目的最佳实践。完成后我会简要总结用法。
2026-03-08 15:53:15
239
原创 如何设置Github仓库Issue模板(Github Issue Template、GitHub Issue Forms)bug_report.yml、config.yml
在 GitHub 仓库里,是通过在仓库中添加特定目录和文件实现的。下面分别说明。
2026-03-07 16:20:57
284
原创 安装Miniconda安装(Windows)、conda虚拟环境创建、conda虚拟环境激活
【代码】安装Miniconda安装(Windows)
2026-03-06 16:14:02
364
原创 新版Python安装记录(Python3.14)Python Windows
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
2026-03-06 14:32:15
306
原创 Python三点作用(Python...、Python ...、Ellipsis对象、Python省略号、三点语法、类型提示:表示函数参数任意、类型提示:可变长度tuple、NumPy:多维数组索引)
... . .EllipsisEllipsis是 Python 的一个内置常量对象。print(...)Ellipsis...是Ellipsis的语法糖它是 Python 内置类型ellipsis的唯一实例...(Ellipsis)是 Python 中一个不常见但非常有用的语法元素,主要用途包括:1️⃣代码占位符def foo():...2️⃣类型提示中的可变长度 tuple3️⃣函数类型提示4️⃣NumPy 高维数组索引虽然在日常 Python 开发中出现频率不算很高,但在阅读。
2026-03-06 01:02:56
357
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——47、Agent智能体——Agent项目日志工具和路径工具开发
有没有“必要”:不绝对必须,但这样封装一个统一的get_logger模块在中大型项目里是很常见、也算是合理的实践。是否最佳实践:整体思路是对的(统一格式、控制台+文件 handler、目录管理),但还可以按官方推荐方式再优化一下。
2026-03-05 02:50:14
353
原创 Python日志模块logger_handler.py(通用日志模块、小项目勉强够用、满分100给60分)Python logging(log模块、logger模块)
如果你想自己控制文件名或子目录,可以传入log_file__name__,log_file="logs/rag/rag_service.log", # 相对路径会自动转成基于项目根目录的绝对路径若传入的是相对路径,会通过自动转成基于项目根目录的绝对路径。若传入的是绝对路径,则直接使用。在当前项目(以及结构类似的项目)中很适合作为“统一日志入口需要时再调整file_level/ 轮转策略。作为跨项目复用的通用模块当前版本已经有不错的基础;
2026-03-05 02:46:24
341
原创 Python导包的坑(__name__、python -m)(相对导入必须有“父包”、)(relative import、parent package、python模块、python包)
用一句话把本文的核心串起来:在工程化的 Python 项目里,只要你使用包结构 + 相对导入,就要习惯用 python -m 包.子包.模块的方式来运行和调试;把当成“只适合小脚本”的方案,就能避开 80% 的导包坑。
2026-03-05 01:55:22
285
原创 Python __pycache__介绍(.pyc文件、字节码缓存文件)批量删除__pycache__目录命令
是 Python 自动生成的“加速缓存目录”,里面的.pyc是根据.py源码编译出来的字节码。它随时可以删,Python 会自动重建;不用提交到 Git,也不用手动修改,只要确保.gitignore里把它忽略就行。理解了这一点,你在看到它在就随它在,不想要就删掉,真正要维护的永远是.py源码本身。
2026-03-04 21:01:40
291
原创 Python运行方式:python xxx.py和python -m package.module区别(ImportError、相对导入须在包环境下才能工作、直接运行脚本独立脚本)入口模块包内模块父包
把文件当成孤立脚本,没有“父包”,相对导入会失效。:把文件当成包内模块来运行,有完整的包上下文,相对导入可以正常工作。对于像你现在这样的工程化项目,只要是“在包里的模块”,推荐统一用python -m 包名.模块名的方式来运行和调试,既不容易踩导入坑,又更符合未来部署、打包的最佳实践。
2026-03-04 20:47:48
299
原创 Python __name__介绍(魔术变量dunder variable:double underscore)模块名(__name__ 取值发生在函数定义时,而不是调用时)__main__
函数定义类定义全局变量可执行测试代码通过可复用逻辑(API)运行入口逻辑(CLI / 测试)进行解耦。__name__的核心作用可以概括为:用于判断当前模块是否作为程序入口执行。它解决的是一个非常关键的软件工程问题:如何让同一个 Python 文件既能作为模块被导入,又能独立运行。理解这一点,你就真正理解了 Python 模块执行模型的基础。函数默认参数表达式在函数定义时执行执行上下文是函数所在模块的全局命名空间结果会被缓存到这意味着默认参数不会在调用时重新计算。场景默认参数。
2026-03-04 16:26:54
308
原创 Python !r介绍(格式化字符串f-string转换标记,用于开发阶段调试打印(加上引号、特殊字符转义),使显示清晰)__repr__(会先将值传给repr(),再做格式化)!s、!a、str()
比如运营、产品也会看日志,这时引号、转义符号太多会显得“乱”,可以用普通的。虽然现在大家更多用 f-string,但老代码中。打印变量状态,避免花时间肉眼推测。背后真正起作用的是对象的。和 f-string),时,把变量打印得更清晰。写一些辅助函数时,直接用。的结果参与后续格式化。在 Python 的。
2026-03-04 02:51:38
329
原创 VSCode插件:CSV(ReprEng)(在编辑器查看和浏览CSV文件、CSV插件)CSV: Toggle Extension On/Off控制开关
让你在编辑器里更舒适地查看和浏览 CSV 文件,通过一系列命令快速控制分隔符、编码、字体、表头、索引列等显示方式,从而避免 CSV 在纯文本模式下“挤成一团”的痛苦体验。插件主页可见:ReprEng/csv插件页面。CSV(ReprEng/csv)插件通过一系列命令,让你可以在 VS Code 中更加灵活、舒适地查看 CSV 文件,包括:控制扩展开关、是否使用首行作为表头、是否显示索引列修改 CSV 分隔符、恢复默认分隔符调整字体、隐藏前 N 行杂项内容修改文件编码,解决乱码。
2026-03-04 01:42:33
372
原创 Vscode插件:Markdown Preview Mermaid Support介绍(Mermaid布局语法classDef)
是一款为 VS Code 提供 Mermaid 流程图/时序图/甘特图等图形渲染的插件。它的核心作用是:在 VS Code 内置的 Markdown 预览中(右侧预览窗格),直接渲染你写在 Markdown 里的 Mermaid 图,而不需要再切浏览器或其它工具。写 Markdown + Mermaid,在 VS Code 里就能“所见即所得”预览图表。
2026-03-04 01:00:05
403
原创 设置git邮箱git名字作用是什么?(git姓名、设置邮箱、设置名字、设置姓名、git作者标签、git Author、user.name、user.email)伪造邮箱伪造作者、绿色格子绿格子、贡献图
Git 的名字和邮箱,是写进每一次 commit 里的“作者信息身份证”,用来标记“这次改动是谁在什么时候做的”,方便协作、审计和追踪历史。标记作者身份:每个提交都有类似信息:,便于团队知道是谁改了什么。代码审查与责任追踪:在 、GitHub/GitLab 的提交记录里,都会按这个名字和邮箱展示;出问题或要讨论时,能快速找到对应的人。关联托管平台账号:GitHub / GitLab 通过邮箱,把提交与你的账号关联起来,从而在页面上显示你的头像、统计贡献度(绿色小格子)等。同一人多台设备的一致性:你在
2026-03-03 18:20:41
139
原创 git删除密钥(删除本地密钥、删除密码、.git-credentials)取消自动保存密钥git config --global --unset credential.helper(保存密码)
【代码】git删除密钥(删除本地密钥、删除密码、.git-credentials)取消自动保存密钥git config --global --unset credential.helper。
2026-03-03 17:57:37
314
原创 git查看密钥(git密码、git密钥、查看密码、git邮箱、git名称、查看邮箱)credential.helper凭据助手git token、.git-credentials、.gitconfig
(凭据助手)保存在本机的某个位置 / 密钥环中。你可以查到“存哪了”和“用的是什么 helper”,但通常。在这些地方,你能看到有一个 GitHub 相关的条目,但有些默认不允许直接查看明文,只能删除或重新输入。这类通常把 GitHub 凭据放在系统的。(尤其是保存在系统钥匙串时)。,而是通过 Git 的。
2026-03-03 17:52:59
212
原创 git分支改名(git改名、设置git默认分支名、git config --global init.defaultBranch <name>、git branch -m master main)
【代码】git分支改名(git改名、设置git默认分支名、git config --global init.defaultBranch <name>、git branch -m master main)
2026-03-03 16:15:46
143
原创 一个Git仓库中可以有多个子项目和多个README.md吗?是否背离最佳实践?(Git项目、Monorepo单仓多项目、Polyrepo多仓库)
问题结论一个 Git 仓库多个子项目✔ 合理(monorepo 是成熟实践)多个 README.md✔ 推荐做法是否背离最佳实践❌ 不一定,关键在架构清晰度。
2026-03-03 15:26:46
633
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——46、Agent智能体——Agent项目介绍(扫地机器人客服、项目分析、代码结构分析、模块职责、生产环境落地建议)智扫通Agent
智扫通 Agent 项目,本质上是一个面向扫地机器人全生命周期服务的 RAG+Agent 智能客服系统。智能问答服务购前咨询:功能、价格、对比等。购后使用:操作指引、故障排查、日常维护等。通过 RAG(检索增强生成),从产品知识库中准确检索信息,再由大模型生成自然语言答案。使用报告与优化建议分析用户的设备使用数据(清扫频率、耗材状态、错误日志等)。自动生成个性化使用报告和优化建议(如清扫计划、耗材更换提醒)。一个懂扫地机器人业务的“智能售前+售后工程师”
2026-03-03 14:51:09
1007
原创 切换sealos devbox时如何拉取代码仓库?(git拉取git pull文件冲突)The following untracked working tree files would be over
今天换sealos devbox,但是想拉取代码的时候发现目录中已经存在一些文件。
2026-03-03 13:57:37
839
原创 Agent ReAct框架介绍(ReAct Agent、ReAct = Reasoning + Acting、ReAct行动框架)问题——思考——工具调用——获得结果——思考——行动——最终结果
ReAct 是由与研究者提出的一种 Agent 推理框架。核心思想非常简单:让大模型在解决问题时交替进行“思考(Reasoning)”和“行动(Action)”。Question↓Thought(思考)↓Action(调用工具)↓Observation(获得结果)↓Thought↓Action↓LLM 负责思考,工具负责执行。让 LLM 像人类一样:先思考,再行动。真正能够解决问题的 AI Agent。
2026-03-03 00:19:26
754
原创 CA证书到底是怎么签发的?(CA签名、CA数字签名、CA数字证书、TLS Certificate、Certificate Authority、根证书、Root CA、中级 CA、网站签名、加密签名)
网站生成密钥↓向 CA 申请证书↓CA 验证域名并签名↓浏览器验证 CA 签名签发证书的 CA。
2026-03-02 16:32:27
607
原创 Https到底为什么能在一定程度保证安全?(内容加密、防止篡改(数据完整性)、身份认证(网站认证))中间人攻击、Man-in-the-middle attack
我用小白容易理解的方式解释一下 👇HTTPS 其实就是普通网页协议 HTTP 加了一层安全保护:可以理解为:2️⃣ HTTPS 解决的三个核心安全问题① 防止被偷看(加密)HTTPS 会使用 加密算法把数据变成乱码。例如:即使黑客截获了数据,也看不懂。常见用到的是:HTTPS 会给数据加一个 校验值(类似指纹)。如果数据在传输中被修改:服务器就会发现不一致,连接会被中断。HTTPS 网站必须有 数字证书,由可信机构签发,例如:浏览器会验证:如果不合法,浏览器会出现:3️⃣ HTTPS 实际
2026-03-02 16:07:00
875
1
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——45、Agent智能体——middleware中间件(节点式钩子、包装式钩子、AgentState、after_model、拦截器
查看现有代码文件,了解代码风格和结构。创建,介绍 LangChain 中间件。检查代码是否有错误:验证导入路径是否正确,检查 LangChain 中间件的导入方式:检查中间件的导入路径是否正确。根据图片,中间件应从导入。验证并修正:根据搜索结果,中间件导入路径可能不同。检查并修正导入路径:已创建文件,介绍 LangChain 中间件。
2026-03-01 16:25:46
797
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——44、Agent智能体——ReAct行动框架演示(Thought(思考)、Action(行动)、Observation(观察))
我先看看你现有的第36个示例代码风格,然后在同一目录下新增第37个示例文件,实现一个基于ReAct框架的LangChain Agent(含工具定义、思维-行动-观察流程说明和示例调用),保持和前面脚本一致的注释与结构。接下来我会读取36号文件,然后创建新的37号文件。
2026-02-27 16:51:08
874
原创 LangChain Agent流式输出:如何只打印新增消息?(打印chunk消息类型、seen_len、状态快照stream_mode=“values“、工具调用)
很多人第一次用 LangChain 的 Agent,会习惯性只看最终答案(invoke),或者只看chunk[-1]。但其实更有趣的,是把 Agent 当成一个“不断追加日志的系统”每条消息都是一片「思考碎片」;借助seen_len的小技巧,你可以把这些碎片在终端里“实时播放”出来。
2026-02-27 15:54:23
652
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——43、Agent智能体——流式输出(agent.stream()、结果块chunk、tool calls、stream_mode)
我会先看一下你现有的第35个示例代码风格,然后在同一目录下创建一个第36个示例文件,实现和讲解基于 LangChain Agent 的流式输出。接下来我会阅读第35号文件并据此生成新的示例脚本。
2026-02-27 03:18:18
481
原创 结构化数据、非结构化数据(Unstructured Data)与半结构化数据(Semi-structured Data)介绍(RDBMS、Data Lake数据湖、Databricks)
结构化数据是指具有严格、预定义数据模型(Schema)的数据。数据以行和列的形式组织,每个字段都有明确的数据类型和约束规则。典型代表:关系型数据库中的数据。非结构化数据指没有固定模式或预定义数据模型的数据。数据内容无法用传统二维表结构直接表示。半结构化数据介于结构化与非结构化之间。数据没有严格的关系模型,但内部包含自描述结构标签或键值对。结构化数据:规则明确,适合传统分析与事务处理。半结构化数据:灵活可扩展,适合互联网与日志场景。非结构化数据:信息丰富,但处理复杂,是 AI 时代的关键资源。
2026-02-27 02:23:35
613
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——42、Agent智能体——初体验(create_agent()、@tool、type(msg).__name__)
我会参考你现有的 LangChain 示例脚本风格,在目录下新增一个35_...文件,演示使用通义模型和简单工具(查询天气)构建 LangChain Agent 的“初体验”示例,并保持和前面编号脚本一致的注释和结构。接下来我会先查看几份相关脚本,然后创建新的示例文件。我已经查看了你现有的通义 ChatTongyi 和 StrOutputParser 示例代码,会按照相同的结构和注释风格,在目录里新增一个。
2026-02-27 01:38:06
802
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——41、Agent智能体——Agent介绍(大模型代理、调用工具tool calls)
教程:https://www.bilibili.com/video/BV1yjz5BLEoY代码:https://github.com/shangxiang0907/HeiMa-AI-LLM-RAG-Agent-Dev云开发平台:https://hzh.sealos.runᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
2026-02-26 17:32:07
557
原创 大模型Transform架构介绍(Attention机制、自注意力机制、Multi-Head Attention、FFN、位置编码Positional Encoding、ViT)
Transformer 的本质是:基于自注意力机制的可扩展序列建模框架。它之所以成为大模型核心,不仅因为结构创新,更因为其高度可扩展性与硬件友好性。从 2017 年的论文提出,到如今支撑全球范围的智能系统,Transformer 已成为 AI 时代的“操作系统”。
2026-02-26 17:12:01
803
原创 LangChain影响流式输出的原因排查(.stream() / write_stream()、stream=True、streaming=True)不流式输出
在做 RAG / Chat 应用时,大家都很喜欢「逐字刷屏」的流式体验。明明用了.stream(),页面却只是「转一会儿,然后一下子出整段答案」。从模型、链路到前端 UI,各层面有哪些常见原因会「悄悄干掉」你的流式输出,并给出排查思路。
2026-02-26 16:17:39
967
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——40、RAG项目(服装商品智能客服)——聊天页面开发(会话列表、历史消息、新回话、历史记录、删除会话、新建会话、流式输出)
用 Streamlit 提供聊天界面,并支持多会话管理(新建/删除)和流式回答。接下来我会一次性生成这个文件,然后跑一次静态检查,确保没有明显语法问题。我先看看现有的 RAG 代码和已有的 Streamlit 文件结构,了解要调用哪些函数,然后帮你新建。:实现一个简单聊天界面,支持流式回答、会话历史、新建/删除会话。的同步更可靠,修复“需要点两次才能切换”的问题。的用法,用自然语言说明写入到文件的大致时机,全程不会改任何代码。),2)设计会话管理与流式接口,3)创建。和文件历史模块,直接创建一个新的。
2026-02-26 04:12:15
716
原创 Python Streamlit session_state介绍(与用户会话绑定的状态容器,作用域:单个用户session)(全量重跑rerun、key自动绑定、与cache_data区别)持久化变量
解决的是:在 Streamlit 的 rerun 模型下,如何保持用户交互状态。会话级可变字典与 widget 自动双向绑定支持回调更新每个用户独立理解了它,你就真正掌握了 Streamlit 的状态管理核心。
2026-02-26 01:24:26
934
原创 even和even though的区别(even强调副词,后面接单词 / 短语 / 句子成分,表示强调(甚至);even though从属连词,用来引导让步状语从句,表示让步(即使、虽然、尽管))
even= 强调副词,表示“甚至”= 让步连词,表示“尽管”如果你看到后面接的是完整句子,大概率是。如果只是用来加强语气,那就是even。
2026-02-25 20:30:20
604
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——39、RAG项目(服装商品智能客服)——历史会话记录功能的实现(get_history函数、历史记录、聊天历史)
教程:https://www.bilibili.com/video/BV1yjz5BLEoY代码:https://github.com/shangxiang0907/HeiMa-AI-LLM-RAG-Agent-Dev云开发平台:https://hzh.sealos.run参考文章:LangChain打印调试函数debug_runnable()(RunnableLambda、透明节点、打印链、调试链、打印Chain、透传节点、副作用节点、打印Document对象、打印消息对象)查看项目结构,准备实现文件历史
2026-02-25 02:23:48
1179
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入)
2025-03-05
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-Markdown示例文件
2025-03-05
auto.js安装包:app-v6-armeabi-v7a-release-unsigned-signed.apk
2024-02-11
auto.js安装包:app-v6-universal-release-unsigned-signed .apk
2024-02-10
raid卡配置教程(基于Ubuntu 20.04 操作系统安装指导书 (鲲鹏 920 处理器)安装)
2023-12-12
Ubuntu 20.04 操作系统 安装指导书 (鲲鹏920处理器)
2023-12-12
ffmpeg h264编码格式测试视频
2023-12-10
vsftpd-3.0.5
2022-08-22
Intel-RealSense-D400-Series-Datasheet
2019-07-29
CMD_right_click_key_menu_with_administration.reg
2019-08-29
为什么C++对整型常量的指针用const_cast并修改值后,出现了两个不一样的值?
2023-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅