标签

Python

用 OpenRouter 统一接口调用多家 AI 模型:路由、降级与成本控制实战

来源: realpython.com 43
对接 Claude、GPT-4、Gemini、Llama……每家 API 的鉴权方式、请求格式、错误码都不一样。项目里一旦接入超过两个模型,维护成本就直线上升。OpenRouter 把这些差异收拢到一个兼容 OpenAI 格式的统一端点背后,还附带了路由选择、自动降级和用量限额——这些正是多模型场景下最让人头疼的部分。 OpenRouter 的核心思路...

用 OpenRouter 一把钥匙开所有模型的大门:统一 API、智能路由与故障回退

来源: realpython.com 43
对接一个大模型 API 已经够烦了——不同厂商的端点、认证方式、请求格式各不相同。当你的应用需要同时调用 GPT-4o、Claude、Gemini、Mistral 等多个模型时,维护成本直线上升。OpenRouter 的思路很简单:一个端点、一个 key,路由到上百个模型,还自带故障回退和提供商策略。下面拆解它的核心机制,并给出可直接跑的 Python...

用 ChromaDB 做向量检索与 RAG:从嵌入到实战查询

来源: realpython.com 40
向量数据库正在从"概念热词"变成工程日常。ChromaDB 作为轻量级、Python-first 的向量存储方案,适合本地开发和小规模 RAG(检索增强生成)场景。但真正上手时,很多人会卡在:嵌入怎么选?余弦相似度到底在算什么?collection 查询的参数怎么配?这篇文章把这些问题拆开,配上可以直接跑的代码。 嵌入(embedding)是把一段文本...

把 Python Docker 镜像从 1GB 瘦到 100MB 以内:实操指南

来源: realpython.com 43
一个典型的 Python Docker 镜像,起步就是 900MB 甚至更大。大部分体积来自你根本不会用到的东西——系统包、pip 缓存、编译中间产物、测试文件。镜像越大,拉取越慢,部署越贵,安全扫描的噪音越多。这篇文章把常用的瘦身手法逐个拆开,给出可以直接复制改造的 Dockerfile 和命令。 用最朴素的方式打包一个 Flask 项目: 构建完 ...

Python 键盘输入实战:从 `input()` 到安全校验的完整路线

来源: realpython.com 40
命令行脚本、交互式工具、运维诊断程序——只要需要人在终端里敲点什么,键盘输入就是绕不开的环节。Python 提供了从最简单的 到第三方校验库的一整套方案,但真实场景里坑不少:用户敲了空字符串、密码明文回显、类型转换直接炸掉。这篇文章把这些常见问题逐一拆开,给出可直接复用的代码片段。 会暂停程序、等待用户敲回车,返回值永远是 字符串: 最常见的错误发生在...

GitHub Copilot 代码审查实战:让 AI 帮你审 PR

来源: realpython.com 37
代码审查是团队协作里最耗时间的环节之一——一个中等规模的 PR,人工审完往往要半小时到一小时,而审查者还可能漏掉风格不一致、潜在安全风险这类细节。GitHub Copilot Code Review 把 AI 拉进了审查流程:它能在 PR 提交后自动给出反馈、指出问题,甚至生成一键修复的代码建议。下面看看怎么把它用起来,以及如何用自定义指令让它真正适配...

GitHub Copilot 代码审查实战:在 Pull Request 中用好自动审查与自定义指令

来源: realpython.com 33
GitHub Copilot 的代码审查功能已经从"实验性标签"走向正式可用。它能在 PR 提交时自动生成审查意见,也支持你通过自定义指令(custom instructions)引导审查方向,而不是被动接受通用建议。这篇文章把关键配置和实操要点梳理清楚,帮你把 Copilot Review 从"偶尔看看"变成日常流程的一部分。 Copilot Cod...

Django 6.0.6 与 5.2.15 安全更新:五个低危漏洞的修复与排查

来源: djangoproject.com 43
Django 官方同时发布了 6.0.6 和 5.2.15 两个安全版本,修补了五个 CVE。虽然全部被评定为"低"严重度,但其中三个缓存相关漏洞可能导致私有数据被意外暴露给其他用户,在实际生产环境中不容忽视。以下逐一拆解每个漏洞的成因、影响范围和升级要点。 生成签名盐值的方式是把 cookie 名()和 参数直接拼接。问题在于,不同的 组合可能拼出相...

写出干净可维护的 Python 脚本:从 shebang 到入口函数

来源: realpython.com 37
随手写一个 文件就能跑,但半年后打开再看——imports 乱成一团、常量散落各处、逻辑全挤在全局作用域里。这类脚本不是"能用就行",而是"能用但不敢改"。把脚本结构理清楚,成本不高,收益却很实在:阅读快、改起来放心、新同事上手也容易。 下面逐项拆解一个 Python 脚本该有的骨架,并给出一份可以直接套用的模板。 脚本第一行写上: 这行告诉操作系统用...

Python 格式迷你语言:让字符串输出不再凌乱

来源: realpython.com 46
每次在终端打印表格、对齐日志、或者格式化金额,你是不是还在用字符串拼接和 硬凑?Python 的格式迷你语言(format mini-language)是一套藏在 和 背后的精简语法,专门解决"文本怎么摆、数字怎么显"的问题。掌握它,一行格式说明符就能替代多行手工对齐代码。 格式说明符的基本结构是 ,其中: fill:填充字符,默认空格,可以是任意单字...