Repolode
bubbuild

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. 1

    使用 pip 安装 Republic

    python -m pip install republic
  2. 2

    在环境变量中设置 OpenAI API 密钥

    export REPUBLIC_OPENAI_API_KEY="your-api-key"
  3. 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 数据每日更新。

相关项目