跳转至

我的博客

对象比较装饰器——@total_ordering

@total_ordering 是 Python 中一个有趣的功能,它可以自动生成对象比较的其他运算符,只需要实现其中一个比较方法即可。这个装饰器可以方便地实现对象的比较,但也有一些性能和复杂性的权衡。

Function Calling(函数调用):解锁大语言模型的潜力

原文地址:https://mp.weixin.qq.com/s/TJlVCkMhGThjRZEoId-bXg

函数调用(function calling)是一种机制,允许大语言模型(LLM)通过调用外部函数或 API 执行特定的、预定义的任务。可以将其视为一种功能,让 LLM 将它无法独立完成的工作“委托”出去。

例如,假设您向 LLM 发送以下提示:“特斯拉当前的股价是多少?”

没有函数调用的基本 LLM 可能会根据其训练数据中的模式“幻觉”出一个答案,例如“可能在 200 美元左右”。经过 RLHF 优化的模型可能会更诚实地说:“我没有实时数据,所以无法告诉你。”

从0到1读懂AB实验:数据驱动决策的统计底层逻辑

原文地址:https://mp.weixin.qq.com/s/ha0B0ic4mYbo-fAf4c-95w

在工作中,经常会有产品同学和运营同学问我:“某某AB实验数据出来了,应该怎么理解?”,“为什么A组CTR比B组高2%,但是为什么说不置信?” 最近一些技术同学甚至有些算法同学也来探讨类似的问题,这让我有些惊讶。平时工作中,大家默认AB是合理的且必不可少的,都知道用AB来验证自己的想法,但AB的数据结果的理解又含糊不清。

常用的Agents智能体开发框架

原文地址: - https://mp.weixin.qq.com/s/TJZ6yPk2I_QaxBFhiUPshA - https://mp.weixin.qq.com/s/sWZU_b6LfEdntiUIjI67EQ

打造一个个人 AI 代理,可以自动化我们的日常工作流程,例如邮件回复、报告生成、日程管理、内容草稿,甚至调试代码片段。选择合适的 AI 代理框架比构建代理本身还难,在尝试了十几种框架——从流畅的视觉化构建工具到高度可定制的代码优先堆栈后,整理一些内容文档以供选型。

NiceGUI更新日志

日期 版本号 新特性 BUG修复
20250602 2.19.0 1.针对现代浏览器,通过跳过ES模块提升页面加载速度;
2.通过延缓非重要的 JS 提升页面加载速度;
3.完善 ui.aggrid 完全配置(getterssettersfrom_pandasfrom_polars);
4.如果 ui.download.from_url 是基于绝对路径 URL(可能引起问题) 被调用,则会发出警告提示
1.允许覆盖 PyWebview 的 storage_pathprivate_mode
2.修复 ui.markdown 的语法突出显示,包括 codehilite.css 更稳定

国内使用UV的代理设置

原文地址:https://www.yangyanxing.com/article/uv-proxy-setting

1. 安装第三方包时的镜像设置

在使用 uv add 命令安装第三方包时,有两种方法可以设置国内加速镜像:

1.1 命令行中指定镜像

使用 --index 或者 --default-index 参数指定镜像地址,例如:

1
2
3
uv add fastapi --index https://mirrors.aliyun.com/pypi/simple/

uv add fastapi --default-index https://mirrors.aliyun.com/pypi/simple/

简单说明下两者的区别:

参数 环境变量 描述
--index UV_INDEX 可以设置多个索引源,多个索引源之间以空格分开,适用于同时使用多个索引源
--default-index UV_DEFAULT_INDEX 只设置一个索引源,用于替换默认的 PyPI 源

一般情况下,我们只需配置 UV_DEFAULT_INDEX 即可,常用的镜像源有:

1.2 设置环境变量

可以在 .bashrc 文件中添加环境变量 UV_INDEXUV_DEFAULT_INDEX,然后执行 source .bashrc 使其生效。

2. 安装 Python 时的镜像设置

UV 提供了通过 GitHub Releases 下载 Python 的功能,可以通过以下 --mirror--pypy-mirror 两个参数和环境变量来设置镜像:

  • --mirror: 用于设置 CPython 的安装包镜像,可以通过设置环境变量 UV_PYTHON_INSTALL_MIRROR 来指定下载镜像。
  • --pypy-mirror: 用于设置 PyPy 的安装包镜像,可以通过设置环境变量 UV_PYPY_INSTALL_MIRROR 来指定下载镜像。
维度 CPython PyPy
实现语言 C 语言编写,官方标准解释器 RPython 编写,基于 JIT 编译技术
性能表现 解释执行字节码,性能较低 JIT 编译热点代码为机器码,性能提升 3-4 倍
内存管理 引用计数 + GIL,存在内存碎片问题 增量垃圾回收 + 分代回收,无 GIL 限制
并发支持 单线程并发(GIL 限制多线程性能) 支持微线程(Stackless 模型),适合高并发场景
生态系统兼容性 完整支持所有 Python 库 兼容大部分纯 Python 库,对 C 扩展库支持有限
典型应用场景 Web 服务、自动化脚本、科学计算 数值计算、长时间运行的服务、高并发 API 服务器
启动时间 快速启动 需 JIT 预热期

目前国内还没有一个完全同步的下载镜像,所以使用 uv python install 下载非常慢,南京大学的镜像站提供了 UV 的最新下载:https://mirror.nju.edu.cn/github-release/indygreg/python-build-standalone

3. 总结

  • UV_PYTHON_INSTALL_MIRROR:用于设置使用 uv python install 命令下载安装 Python 时的镜像。
  • UV_DEFAULT_INDEX:用于设置使用 uv add 命令安装第三方包时的镜像。
  • UV_INDEX:用于设置额外的安装镜像,如公司内部的包索引地址。

建议:如果你的网络环境可以正常访问 GitHub,则无需设置镜像。如果访问不了,可以设置南京大学的下载镜像,并配置 UV_DEFAULT_INDEX 为阿里源或清华源来加速 uv add(等同于 pip install)的安装过程。

通过合理设置镜像源,可以显著提升在国内使用 UV 进行软件包管理和 Python 安装的效率。