bubbuild/republic
一个 Python 库,用统一接口调用多家 AI 服务商的对话、流式输出、工具调用和结构化输出。
- Star
- 84
- Fork
- 23
- 未关闭 Issue
- 0
- 最近提交
- 5天前
这是什么?
Republic 是一个 Python 库,把多家 AI 模型服务商封装在同一套接口之后。通过 `provider:model` 形式的名称选择模型,切换 OpenAI、Anthropic、Google、DeepSeek 等服务时只需修改这个名称。每个服务商从 `REPUBLIC_<PROVIDER>_API_KEY` 环境变量读取密钥。
库提供对话补全、以类型化事件返回的流式输出、工具调用和结构化输出。它只负责服务商这一层,智能体循环、工具执行和网关需要由应用代码自行实现。可选的异步中间件可以查看并改写每次调用的事件,例如加入重试逻辑。
此外还支持媒体输入、向量嵌入、图像生成、决策模型、会话历史以及自定义服务商。需要 Python 3.11 或更高版本。
核心功能
- 01通过修改 `provider:model` 名称即可切换服务商。
- 02流式输出以类型化事件的形式返回。
- 03通过同一套 API 完成工具调用和结构化输出。
- 04可选的异步中间件,用于观察或改写调用与重试。
- 05支持向量嵌入、图像生成和自定义服务商。
适用场景
- 开发需要同时兼容多家大模型服务商的应用。
- 在 Python 服务中加入流式对话或工具调用,同时避免与单一厂商绑定。
- 基于与服务商无关的客户端,自行实现智能体循环。
快速上手
- 1
使用 pip 安装 Republic
python -m pip install republic - 2
在环境变量中设置 OpenAI API 密钥
export REPUBLIC_OPENAI_API_KEY="your-api-key" - 3
运行调用模型进行聊天和流式输出的 Python 示例
使用前须知
- 需要 Python 3.11 或更高版本。
- 每个服务提供商都需要各自的 API 密钥或登录凭证。
收录于专题
标签
常见问题
- republic 是什么?
- 一个 Python 库,用统一接口调用多家 AI 服务商的对话、流式输出、工具调用和结构化输出。 Republic 是一个 Python 库,把多家 AI 模型服务商封装在同一套接口之后。通过 `provider:model` 形式的名称选择模型,切换 OpenAI、Anthropic、Google、DeepSeek 等服务时只需修改这个名称。每个服务商从 `REPUBLIC_<PROVIDER>_API_KEY` 环境变量读取密钥。
- republic 可以免费使用吗?用的什么许可证?
- republic 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- republic 还在维护吗?
- 活跃维护中。republic 最近一次提交是在 2026年11月2日。
- republic 适合用来做什么?
- 开发需要同时兼容多家大模型服务商的应用。 在 Python 服务中加入流式对话或工具调用,同时避免与单一厂商绑定。 基于与服务商无关的客户端,自行实现智能体循环。
- republic 怎么安装和运行?
- 使用 pip 安装 Republic: python -m pip install republic 在环境变量中设置 OpenAI API 密钥: export REPUBLIC_OPENAI_API_KEY="your-api-key" 运行调用模型进行聊天和流式输出的 Python 示例
- 在哪里获取 republic?
- 源代码和安装说明在 GitHub 上:https://github.com/bubbuild/republic
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 R 语言包,用于在 R 中调用大语言模型 API,支持对话、流式输出、工具调用和结构化数据提取。
622+2 本周145ROther更新于 9小时前
OpenAI 官方 Go 客户端库,用于在 Go 应用中调用 OpenAI REST API。
3531+3 本周361GoApache-2.0维护活跃更新于 4小时前
社区维护的 PHP 客户端,用于调用 OpenAI REST API,支持流式输出,无第三方运行时依赖。
2361292PHPMIT维护活跃更新于 17天前
Anthropic 官方的 TypeScript SDK,用于在服务端 JavaScript/TypeScript 应用中调用 Claude API。
2168+5 本周432TypeScriptMIT更新于 前天