模型 Provider¶
ModelProvider 把不同模型服务转换成 Bumblehive 使用的统一请求和响应。
| 接口 | 用途 |
|---|---|
ModelProvider |
自定义 Provider 的抽象基类 |
ModelRequest |
发送给模型的统一请求 |
ModelResponse |
Provider 返回的统一结果 |
RetryConfig |
可恢复错误的重试设置 |
ProviderManager |
缓存并关闭默认 Provider |
当前高层 Runtime 创建的是 openai_chat_completions Provider。接入自定义 Provider 时,请使用 AgentLoop 并显式传入 Provider。
公开接口¶
Model provider interfaces and implementations.
ModelProvider ¶
Bases: ABC
Base interface for model providers.
generate
abstractmethod
async
¶
generate(request: ModelRequest) -> ModelResponse
Generate one non-streaming model response.
generate_stream
async
¶
generate_stream(request: ModelRequest, *, callbacks: ModelStreamCallbacks | None = None) -> ModelResponse
Generate one response while reporting provider-native deltas.
generate_with_retry
async
¶
generate_with_retry(request: ModelRequest, *, retry: RetryConfig | None = None) -> ModelResponse
Return one model response, retrying recoverable provider errors.
The default implementation is intentionally provider-agnostic: concrete
providers classify errors on ModelResponse.error.recoverable and may
attach retry_after. This wrapper only decides whether and when to
repeat the same request.
generate_stream_with_retry
async
¶
generate_stream_with_retry(request: ModelRequest, *, callbacks: ModelStreamCallbacks | None = None, retry: RetryConfig | None = None) -> ModelResponse
Return one streaming model response, retrying before deltas escape.
ModelRequest
dataclass
¶
A single model request after context construction.
ModelResponse
dataclass
¶
Provider-normalized model output.
ModelStreamCallbacks
dataclass
¶
Callbacks used by providers to report native streaming deltas.
OpenAIChatCompletionsProvider ¶
ProviderManager ¶
Runtime-scoped cache of providers by connection settings.
Providers with different API keys or base URLs may be used concurrently. Cached providers remain open until the manager is closed.
RetryConfig
dataclass
¶
Provider-agnostic retry settings for recoverable model errors.