- 博客(49)
- 收藏
- 关注
原创 Python 性能与内存优化:Memray 与 cProfile 联合使用教程
本文详细介绍了如何联合使用 Python 性能分析工具 Memray(内存分析)和 cProfile(CPU 分析)来优化代码性能。Memray 能追踪 Python 和 C/C++ 的内存分配,生成可视化报告;cProfile 则分析函数执行时间和调用次数。文档提供了安装指南、核心参数说明、典型应用场景(如内存泄漏和性能瓶颈定位)及操作示例,包括如何生成火焰图和性能报告。最佳实践建议定期分析、实时监控,并与其他工具(如 line_profiler)结合使用。通过交叉验证两者的报告,开发者可全面优化代码的性
2025-08-04 00:41:05
640
原创 Python 内存分析工具 Memray 使用教程
Memray是一款专为Python设计的高性能内存分析工具,能够精确追踪Python代码、原生扩展模块及解释器本身的内存分配情况。它支持生成火焰图、表格等多种可视化报告,帮助开发者识别内存泄漏和优化热点。Memray适用于Linux和macOS系统,安装简单(pip install memray),通过memray run命令启动分析,并提供丰富的报告生成选项(如flamegraph、table等)。工具支持实时跟踪模式,对性能影响较小,尤其适合分析大数据处理或长时间运行服务的内存问题。注意需Python
2025-08-04 00:14:42
431
原创 Python 性能分析工具 cProfile 使用教程
本文介绍了Python标准库中的性能分析工具cProfile,包括其特点、安装方法及基本操作。cProfile通过统计函数调用次数和耗时帮助定位性能瓶颈,支持命令行和编程集成两种使用方式。文章详细解析了分析结果的各项指标,并展示了高级功能如结果过滤、排序和可视化分析(使用Snakeviz生成火焰图或CProfileV展示Web界面)。最后给出了典型使用场景和注意事项,建议开发者定期使用cProfile进行性能优化,优先处理累计耗时高的函数,同时结合内存分析工具提升程序效率。
2025-08-04 00:08:27
517
原创 Python开发者高效编程与性能优化指南
本文总结了Python编程的高效技巧与优化经验,涵盖语法特性、项目架构和工具链三方面。语法部分重点介绍了Python 3.10+的模式匹配、类型提示、上下文管理器组合等新特性;项目经验分享了分层依赖注入、内存优化、多级缓存等架构优化方案;工具链部分提供了性能分析、自动化测试和数据处理(如Dask)等实用工具。这些技巧可显著提升代码质量、性能和可维护性,适用于中大型项目开发。
2025-08-03 18:35:39
555
原创 Python 中的 __slots__类属性详解
Python中的__slots__属性用于优化类实例的内存使用和访问性能,通过限制动态属性创建,将属性存储在固定数组中而非字典。它能减少30%-50%内存占用,提升约5%的访问速度,适用于大数据量或性能敏感场景,但会降低灵活性并可能影响序列化等功能。使用时需权衡利弊,建议在性能分析确认瓶颈后采用,并注意继承时的处理。__slots__特别适合金融交易记录、粒子系统等固定属性的类设计,是内存优化与代码清晰度间的重要权衡工具。
2025-08-03 18:26:28
204
原创 SpringBoot Jar 包瘦身及外置三方依赖
本文介绍了SpringBoot Jar包瘦身及外置三方依赖的完整方案,基于Spring Boot 3.2.4和Maven 3.9+版本,提供了三种生产级解决方案:1)Maven依赖外置(推荐),通过spring-boot-maven-plugin排除主Jar中的依赖,使用-Dloader.path加载外部lib目录,主Jar可降至1-5MB;2)Assembly分发包,适合标准化部署,生成包含启动脚本和依赖的完整分发包;3)Docker分层构建,优化容器部署。文章详细说明了每种方案的配置步骤、打包方法和部署
2025-08-03 00:41:56
462
原创 Milvus 向量数据库详解与实践指南
Milvus是一款高效、灵活的向量数据库,专为AI应用设计。核心特点包括支持多种索引类型(如IVF_FLAT、HNSW、CAGRA等),提供GPU加速和混合搜索能力,具备云原生分布式架构和高可用性。文档详细介绍了安装配置、数据操作及性能优化技巧,并对比了不同索引的适用场景。与其他向量数据库相比,Milvus在向量维度支持、GPU加速和混合搜索方面具有优势,尤其适合生成式AI、推荐系统等场景。
2025-08-01 01:27:53
714
原创 Cypher 查询语言详解:从入门到高级应用
摘要:Cypher 是 Neo4j 图数据库的声明式查询语言,专为属性图设计,通过直观的 ASCII 风格语法(如 (n)-[:REL]->(m))实现高效图数据操作。核心特点包括:声明式语法、图模式匹配、多跳路径查询(如 [:FRIEND*1..3])和兼容多平台。基础操作涵盖节点/关系的创建(CREATE)、查询(MATCH)、更新(SET)和删除(DELETE)。高级功能支持索引优化、最短路径分析、聚合分组及参数化查询。典型应用场景包括社交网络分析(如共同兴趣推荐)和知识图谱构建,其优势在于简化复杂
2025-08-01 00:33:43
503
原创 以DeepSeek-V3为例来了解MoE(Mixture of Experts)混合专家模型
摘要: DeepSeek-V3 采用 MoE(混合专家) 架构,通过 动态路由 和 稀疏激活 提升计算效率。其创新点包括: 细粒度专家隔离:分离通用与领域知识,减少冗余; 无辅助损失负载均衡:动态调整专家偏置,避免路由崩溃; 随机补偿路由:结合 Top-K 路由与噪声注入,优化负载分配。 实验表明,该模型在 1200B 参数量 下保持高效推理,数学任务性能超越 GPT-4,长文本问答准确率达 89%。未来方向包括动态专家分配与自动化路由优化。DeepSeek-V3 为开源社区提供了 高效 MoE 实践范例。
2025-08-01 00:16:20
714
原创 多Agent架构的设计方法思考
多Agent架构通过模块化、专业化、协作化的设计,解决了大模型应用中复杂任务的处理难题。合理拆分任务,避免过度复杂化。设计灵活的路由层,动态协调Agent协作。保障系统鲁棒性,通过容错和反馈机制提升稳定性。
2025-07-31 23:41:37
504
原创 ReAct-Agent框架详解(Langchain)
摘要 ReAct-Agent框架通过结合推理(Reasoning)和行动(Acting),实现多轮循环式任务处理,有效解决LLM的"幻觉"问题并提升可解释性。LangChain作为主流实现框架,提供AgentExecutor、Tool等核心组件支持。其实施步骤包括定义工具、初始化LLM、创建Agent并执行任务,代码示例展示了搜索计算和商品查询的应用场景。该框架优势在于处理复杂任务、减少信息错误和灵活扩展,但需注意工具依赖性、LLM成本和调试复杂度。商用建议关注API管理、性能优化和日志
2025-07-31 23:33:13
558
原创 LangGraph V0.6.2 构建自定义工作流知识点总结
摘要: LangGraph通过状态(State)、节点(Node)和边(Edge)构建模块化工作流。状态存储共享数据,节点执行任务(如意图识别、数据库查询),边定义节点间的逻辑流转(支持条件分支)。开发流程包括初始化工作流、添加节点/边、设置入口点并编译执行。高级功能如持久化层保存状态快照,时间旅行支持历史恢复,工具节点集成外部API。以智能客服为例,通过分类用户意图动态路由流程(查询数据库或调用搜索引擎),最终生成回复。该框架适用于复杂任务编排,兼具灵活性与可调试性。
2025-07-31 20:14:58
777
原创 Prompt Engineering 高阶技巧总结
摘要:本文介绍了五种大模型提示设计方法及其应用场景:1) **思维链(CoT)**通过分步推理解决复杂问题,适用于数学和逻辑推理任务;2) 反思机制通过自我评分和迭代优化提升输出质量;3) 提示模板设计利用Jinja2或LangChain实现动态提示生成;4) 外部工具调用通过API扩展模型能力,如天气查询;5) 动态Prompt生成基于用户意图和上下文调整提示。附代码示例及学习资源(LangChain文档、OpenAI Cookbook等)。适用于教育、客服、数据分析等场景。
2025-07-31 19:59:07
584
原创 LangGraph 多 Agent 协作智能客服项目
的完整设计方案,结合了 LangGraph 的图结构优势、多 Agent 协作能力以及智能客服的核心功能。该项目以电商客服场景为例,涵盖需求分析、实现方案、模块代码及技术细节,适合实际部署。通过此方案,企业可快速构建一个高效、可扩展的智能客服系统,显著降低人工成本并提升服务效率。以下是一个生产级别的。退换货处理 Agent。知识库查询 Agent。订单处理 Agent。
2025-07-29 03:36:02
596
原创 短期记忆(Short-term Memory)和长期记忆(Long-term Memory)的理解总结
维度短期记忆长期记忆存储介质内存(List/Dict)数据库(SQL/NoSQL)或向量库生命周期任务结束后清除跨任务/会话持久化典型应用场景对话上下文、临时变量用户偏好、知识库、历史记录生产挑战上下文窗口限制数据一致性、性能、存储成本通过合理设计短期记忆的上下文管理和长期记忆的持久化策略,结合代码实现和生产环境优化,可以构建高效、可靠的Agent系统。
2025-07-29 02:57:46
345
原创 PostgreSQL 与 MySQL 语法差异对比总结
PostgreSQL 和 MySQL 在数据类型、函数、分页等方面存在显著差异:PostgreSQL 支持原生数组和更丰富的 JSON 处理(JSONB),而 MySQL 使用 AUTO_INCREMENT 而非 SERIAL 定义自增主键。日期计算上,MySQL 使用 DATE_ADD,PostgreSQL 用 INTERVAL。分页语法也不同:MySQL 是 LIMIT offset,count,PostgreSQL 是 LIMIT count OFFSET offset。PostgreSQL 还提供更
2025-07-29 01:12:29
372
原创 PostgreSQL 在 Python 项目中的使用教程(生产级实践)
本文介绍了如何在Python中使用psycopg2高效连接和操作PostgreSQL数据库。主要内容包括:1)安装配置psycopg2并建议使用连接池;2)通过环境变量管理敏感信息;3)实现参数化查询防止SQL注入;4)分页查询、批量插入等常见操作;5)利用PostgreSQL特性如JSONB类型、全文搜索、分区表等;6)性能优化建议包括索引优化和连接池配置。文章强调生产环境需注意安全性和性能,提供了事务管理、异常处理等最佳实践。
2025-07-29 01:02:29
351
原创 已有项目根据 `pyproject.toml` 使用 uv 创建虚拟环境
本文介绍使用 uv 工具管理 Python 项目的虚拟环境和依赖。主要步骤包括:进入项目目录、创建虚拟环境(自动识别或指定 Python 版本)、同步依赖并生成锁定文件、激活环境。uv 通过解析 pyproject.toml 并生成 uv.lock 确保环境一致性,具有轻量化(约30MB)、跨平台支持和全局缓存加速等优势。文章还提供了常见问题解决方法,对比了 uv 与传统工具的效率差异,并推荐最佳实践如提交锁定文件和定期更新依赖。uv 能高效实现从环境初始化到部署的全流程自动化。
2025-07-26 04:58:54
404
原创 uv工具使用详细总结
摘要: uv是Python生态中新一代高性能工具,整合了pip、virtualenv、poetry等功能,提供极速依赖管理(比pip快10-100倍)和一站式解决方案。支持跨平台、虚拟环境管理、依赖锁定(uv.lock)、内联脚本依赖(PEP 723)及包发布。通过Rust实现高性能解析,简化工作流并确保环境一致性。安装命令支持Linux/macOS(curl/wget)和Windows(PowerShell),典型用法包括项目初始化(uv init)、依赖同步(uv sync)和脚本运行(uv run)。
2025-07-26 04:56:56
879
原创 数据标注格式总结
格式优点缺点适用任务BIO简单易实现,兼容性强边界划分不够精细基础 NERBIOES精确划分实体边界实现复杂,计算成本高嵌套实体识别JSON灵活存储多维度数据需要严格格式设计复杂标注任务多标签支持多维度分类标签冲突需额外处理情感+主题联合标注通过合理选择标注格式,可以提升数据标注的准确性与模型训练效率。
2025-07-25 02:34:05
554
原创 Python PEP8编码规范总结
PEP 8,全称为Python Enhancement Proposal 8,是Python的官方代码编写风格指南。它详细规定了Python代码的书写规范,旨在提高代码的可读性和一致性。
2025-07-25 01:09:06
293
原创 MYSQL的InnoDB引擎中的锁以及在sql语句中实现对锁的控制
MySQL InnoDB存储引擎提供表级锁(共享/排他/意向锁)和行级锁(记录/间隙/临键锁),通过SELECT...FOR UPDATE等语句实现显式控制。锁行为受隔离级别和索引类型影响,如RR隔离级别默认使用临键锁防止幻读。建议通过监控系统表分析锁状态,优化事务设计避免长事务和死锁。合理选择索引和隔离级别可减少锁冲突,提升并发性能。
2025-07-24 02:36:58
556
原创 调整JVM参数以避免大对象/长寿命对象频繁进入老年代
摘要:本文介绍了调整JVM参数以优化大对象/长寿命对象内存管理的建议。主要涉及两个关键参数:-XX:MaxGCPauseMillis(设置最大GC暂停时间,默认200ms,需根据应用延迟敏感度调整)和-XX:InitiatingHeapOccupancyPercent(控制并发GC触发阈值,默认45%,需根据内存使用模式调整)。文章强调参数设置需考虑应用特性,配合监控工具观察实际效果,并建议在测试环境中验证后再应用于生产环境。同时指出各参数设置不当可能带来的性能影响,以及与其他GC参数的协同使用建议。
2025-07-24 01:04:45
294
原创 SpringAI-10分钟全面了解
摘要: Spring AI是Spring生态中专为生成式AI应用设计的框架,通过Spring风格(自动配置、声明式模板等)无缝集成大模型、向量库、RAG、Agent等能力。核心模块包括统一Model API(Chat/Embedding/Image)、向量库自动配置、函数调用和多种Agent工作流模式。5分钟快速上手示例展示了ChatClient的基本用法,同时提供10个高频场景代码(如提示词模板、流式返回、RAG等)。进阶功能支持5种Agent模式(链式/路由/并行工作流等)。官方文档、GitHub示例和
2025-07-24 00:49:20
763
原创 Ollama测试本地部署大模型性能
增加批量大小可提高硬件利用率,但需避免显存溢出。多 GPU/CPU 核心可加速推理,通过。Ollama 提供了。
2025-07-22 23:38:55
400
原创 Fastapi中swagger的配置操作
FastAPI文档安全配置指南 禁用API文档方法 直接配置:初始化FastAPI时设置docs_url=None 环境变量控制:通过os.getenv动态管理 Pydantic配置:使用BaseSettings集中管理 自定义Swagger路径方案 本地静态资源:下载文件并挂载static目录 覆盖路由:自定义/docs端点指定本地资源 修改CDN:通过猴子补丁替换默认资源链接 生产环境补充建议 中间件拦截文档请求 Nginx配置deny规则 关闭Uvicorn访问日志 核心原则:在保证开发便利性的同时,
2025-07-22 23:03:59
884
原创 FastAPI框架中常用的装饰器总结
路由装饰器是 FastAPI 的核心,用于将 HTTP 请求映射到对应的处理函数。:将依赖项(如认证、数据库会话)注入到路由处理函数中,实现代码复用和解耦。用于注册 HTTP 中间件,处理请求前后的逻辑(如日志、权限验证)。用于在路由处理函数中注入依赖项,支持身份验证、数据库连接等逻辑。:全局或局部处理请求和响应,例如添加请求头、记录日志、验证身份。通过 Python 装饰器实现中间件逻辑,适用于特定路由的控制。定义路由器的路由规则,然后将路由器挂载到主应用。类,定义可复用的依赖项逻辑。
2025-07-22 22:52:31
489
原创 Uvicorn生产环境部署
本文介绍了使用Gunicorn+Uvicorn部署FastAPI应用的全流程。首先需要安装Python环境、Uvicorn和Gunicorn,推荐配置Nginx作为反向代理。然后通过Gunicorn管理FastAPI应用进程,支持多工作进程模式。接着配置Nginx处理请求转发和静态文件。还提供了使用Supervisor或systemd实现进程自启动的方法,以及日志管理和监控方案。最后总结了异步性能优化、连接池管理等最佳实践,帮助构建高并发、高可用的FastAPI应用。
2025-07-22 22:44:50
264
原创 Python中常用魔术方法的详细总结
本文总结了Python中常用的魔术方法,涵盖对象生命周期、字符串表示、运算符重载、可调用对象、上下文管理等核心功能。每个方法都配有典型使用场景、实现逻辑和完整代码示例,如__init__用于初始化对象属性,__str__定义用户友好输出,__call__实现可调用对象等。文章还对比了相关方法的区别(如__str__与__repr__),并提示注意事项(如__eq__需配合__hash__使用)。这些魔术方法能大幅提升Python类的灵活性,但需根据实际需求合理选择,避免过度使用导致代码可维护性降低。
2025-07-22 17:43:20
333
原创 Python中的协程
摘要:Python协程(Coroutine)是一种轻量级并发机制,通过async/await语法在单线程内实现异步任务调度。其核心原理是遇到I/O操作时主动让出执行权,待操作完成再恢复,显著提升IO密集型任务(如网络请求)的性能。协程基于生成器实现,通过事件循环自动管理任务切换。典型应用包括爬虫、Web服务器等场景,优势在于轻量、高效和代码简洁,但需注意避免阻塞操作并选择兼容的异步库。协程通过协作式多任务机制,在保持单线程的同时实现高并发。
2025-07-22 17:39:57
745
原创 Jupyter Notebook 保姆级教程:从安装到实战
Jupyter Notebook是一款基于Web的交互式开发工具,支持Python、R等多种语言,整合代码、文本和可视化结果。它提供实时交互、Markdown编辑、多语言内核等功能,适用于数据分析、机器学习等领域。安装可通过Anaconda或pip,基础操作包括创建Notebook、单元格类型切换(代码/Markdown)及快捷键使用。典型案例涵盖销售数据分析、MNIST分类模型训练等。高级功能包括插件扩展、多内核支持和安全配置,适用于教学、协作开发等场景,是数据科学工作的理想选择。
2025-07-22 01:40:28
751
原创 FastAPI框架整合Nacos作为注册中心和配置中心
本文介绍了FastAPI框架整合Nacos作为注册中心和配置中心的生产级实践方案。主要内容包括:1)Nacos环境部署,包括单机/集群模式配置;2)服务注册实现,通过Nacos SDK完成服务实例注册与心跳机制;3)多环境配置管理,支持动态加载和热更新;4)生产部署方案,包含Gunicorn+Uvicorn优化、Nginx反向代理和Docker部署;5)安全加固措施,如TLS加密和敏感配置加密;6)监控日志方案。该方案实现了Python微服务与Java生态的无缝集成,具备高可用、动态配置、安全防护等生产级特
2025-07-22 01:39:54
452
原创 Gunicorn 和 uvicorn对比总结
类型:基于 ASGI(Asynchronous Server Gateway Interface) 的服务器,专为异步 Python Web 应用设计。类型:基于 WSGI(Web Server Gateway Interface) 的服务器,专为同步 Python Web 应用设计。异步应用:使用 Uvicorn(开发)或 Gunicorn + Uvicorn Worker(生产)。多进程模型:通过预分叉(pre-fork)工作模式管理多个 worker 进程,提升并发处理能力。参数),适合开发调试。
2025-07-21 18:38:51
238
原创 Python项目中`.env`文件管理环境变量
摘要:Python项目中使用.env文件管理环境变量需遵循12-Factor原则。核心步骤包括:安装python-dotenv库,创建存储敏感信息的.env文件(需加入.gitignore),通过load_dotenv()加载变量。进阶用法支持多环境配置(如.env.production)、类型转换验证及安全检测。注意变量命名规范(全大写+下划线)和加载优先级(系统变量>.env>默认值)。相比JSON/YAML等方案,.env文件更轻量,适合与主流框架集成。生产环境建议通过服务器配置而非本地文
2025-07-21 18:36:51
424
原创 Anaconda 命令行操作的核心命令总结
本文介绍了Anaconda环境管理和包管理的核心操作。主要内容包括:1)环境创建、克隆、激活/退出、删除等基本操作;2)包安装卸载、更新及查看包信息;3)环境配置导出与重建、指定版本安装、缓存清理;4)实用技巧如配置镜像源、Jupyter集成等;5)常见问题解答。这些命令可帮助开发者高效管理Python环境及依赖,避免项目冲突。
2025-07-21 18:35:22
443
原创 Linux systemctl 管理应用配置及常用命令 的总结
启动/停止/重启服务:启动服务(临时生效)。:停止服务。:停止后重新启动服务。:重载配置(不重启进程,仅重新加载配置文件)。启用/禁用开机自启:设置开机自启动(创建符号链接到systemd目标目录)。:取消开机自启动。:检查服务是否启用。状态与依赖检查:查看服务运行状态(如activeinactivefailed)及日志片段。:列出所有服务单元。:显示服务的依赖关系。
2025-07-21 18:27:16
242
原创 Git 多账号之间切换
如果你需要通过 SSH 协议推送代码到不同的 Git 仓库(如 GitHub、GitLab 等),可以为每个账号生成独立的 SSH 密钥,并通过。你可以通过本地配置为每个项目单独设置不同的用户名和邮箱,而不影响全局设置。如果需要修改历史提交的作者信息(例如修复早期提交的错误邮箱),可以使用。提交代码时,Git 会使用本地配置的用户名和邮箱,而不是全局配置。,可能会覆盖所有项目的配置。添加到工作 Git 账号的 SSH 密钥设置中。添加到个人 Git 账号的 SSH 密钥设置中。该配置仅对当前项目生效。
2025-07-21 12:34:49
876
原创 git命令行初始化项目操作
检查远程仓库 URL 是否正确,或确认是否使用了有效的 SSH 密钥/Personal Access Token。系统会提示你输入 GitHub 账号和密码(或使用 SSH 密钥认证,具体见。# 替换 <REMOTE_URL> 为你的 GitHub 仓库 URL。# 设置全局用户名(替换为你的 GitHub 用户名)# 设置全局邮箱(替换为你的 GitHub 注册邮箱)复制 GitHub 仓库的 URL(示例格式为。(GitHub 新建仓库的默认分支通常是。假设你的 GitHub 仓库 URL 是。
2025-07-21 12:33:29
596
原创 Docker 安装 Attu 的保姆级部署文档
将容器的 3000 端口映射到主机的 18000 端口(可通过浏览器访问。:解决 Windows/Linux 上的网络问题,确保容器能访问主机服务。:指定 Milvus 的地址和端口(假设 Milvus 已在本地运行)。是否正确(需与 Milvus 的地址和端口一致)。# 拉取 Attu 镜像(推荐使用最新稳定版本)是当前推荐版本,兼容 Milvus 2.x。输入 Milvus 的地址和端口(默认。,即可通过图形化界面管理 Milvus。:主机的 18000 端口被占用。:镜像拉取失败或配置错误。
2025-07-21 12:29:13
874
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人