
Bubbuild/republic: A Python library for AI providers
One Python interface for chat, streaming, tool calls, and structured output across AI providers. Republic stops at providers; agent loops, tool execution, and gateways stay in your code.
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
One Python interface for chat, streaming, tool calls, and structured output across AI providers. Republic stops at providers; agent loops, tool execution, and gateways stay in your code.
python -m pip install republic export REPUBLIC_OPENAI_API_KEY="your-api-key"
import asyncio
import republic from republic.events import TextDelta
async def main(): model = republic.get_model("openai:gpt-6-sol")
response = await model.chat("Explain a tool call in one sentence.") print(response.text)
async with model.stream("Explain how an agent uses a tool result.") as stream: async for event in stream: if isinstance(event, TextDelta): print(event.chunk, end="", flush=True)
asyncio.run(main())
A model is named provider:model. Switch services by changing the name, such as anthropic:MODEL_ID, google:MODEL_ID, or deepseek:MODEL_ID; each reads its key from REPUBLIC_<PROVIDER>_API_KEY. See the provider directory for every supported service.
Quickstart: a first request and a streaming response.
Providers: services, formats, and credentials.
Authentication: API keys, CLI logins, and OAuth.
Guides: tool use, a minimal agent, and structured output.
Reference: configuration and the provider API, including media input, embeddings, image generation, decision models, history, and custom providers.
Optional async middleware sees and rewrites the events of every call: retries, stream events and the final response.
Development
uv sync make check make test make build
See Contributing for the development workflow.
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。