API 参考
以下是 osmosis-ai Python SDK 的完整接口文档。SDK 围绕两大核心功能组织:奖励与评估
用于通过本地规则或基于 LLM 的评分标准对 LLM 输出进行评分的装饰器和函数
远程 Rollout
构建与训练基础设施集成的自定义智能体循环
Reward API
装饰器
@osmosis_reward
用于本地奖励函数的装饰器,无需 API 调用即可计算分数。适用于确定性评估逻辑(精确匹配、正则表达式、关键词匹配)。 函数签名:solution_str(str, 必填) - 待评估的文本ground_truth(str, 必填) - 参考答案extra_info(dict, 可选) - 额外上下文信息**kwargs(必填) - 未来兼容性(见下方警告)
float - 分数值
示例:
@osmosis_rubric
用于基于 LLM 评估函数的装饰器。适用于需要语义理解的主观评估(帮助性、语气、质量)。 函数签名:solution_str(str, 必填) - 待评估的文本ground_truth(str | None, 必填) - 参考答案(可为 None)extra_info(dict, 必填) - 配置和上下文信息**kwargs(必填) - 未来兼容性(见下方警告)
float - 分数值
示例:
评分标准评估
evaluate_rubric()
使用基于 LLM 的评分标准评估文本。这是 LLM 驱动评估的核心函数。 函数签名:| Parameter | Type | Required | Description |
|---|---|---|---|
rubric | str | 是 | 自然语言评估标准 |
solution_str | str | 是 | 待评估的文本 |
model_info | dict | 是 | LLM 提供商配置 |
ground_truth | str | 否 | 参考答案 |
original_input | str | 否 | 原始用户查询 |
metadata | dict | 否 | 额外上下文信息 |
score_min | float | 否 | 最低分数(默认:0.0) |
score_max | float | 否 | 最高分数(默认:1.0) |
timeout | int | 否 | 请求超时时间(秒) |
return_details | bool | 否 | 返回完整响应(默认:False) |
float- 分数(当return_details=False时)dict- 包含分数、解释、原始数据的完整响应(当return_details=True时)
异常
MissingAPIKeyError
当未找到某个提供商的 API 密钥时抛出。ProviderRequestError
当提供商请求失败时抛出。ModelNotFoundError
当指定的模型不可用时抛出(ProviderRequestError 的子类)。
类型
ModelInfo (TypedDict)
| Field | Type | Required | Description |
|---|---|---|---|
provider | str | 是 | 提供商名称(见支持的提供商) |
model | str | 是 | 模型标识符 |
api_key | str | 否 | 直接提供 API 密钥值 |
api_key_env | str | 否 | API 密钥的环境变量名 |
timeout | float | 否 | 请求超时时间(秒) |
score_min | float | 否 | 最低分数覆盖值 |
score_max | float | 否 | 最高分数覆盖值 |
system_prompt | str | None | 否 | 评估器的自定义系统提示词 |
original_input | str | None | 否 | 用于上下文的原始用户查询 |
reasoning_effort | str | None | 否 | 推理努力程度(因提供商而异) |
RewardRubricRunResult (TypedDict)
当return_details=True 时返回:
完整奖励函数示例
Remote Rollout API
构建与 Osmosis 训练基础设施集成的自定义智能体循环。您的智能体作为 HTTP 服务器运行,而训练集群负责 LLM 推理和轨迹收集。快速概览
| Component | Description |
|---|---|
RolloutAgentLoop | 实现智能体的基类 |
RolloutContext | 包含 chat()、complete()、error() 方法的执行上下文 |
RolloutRequest | 包含消息、参数和元数据的初始请求 |
create_app() | 创建 FastAPI 服务器的工厂函数 |
远程 Rollout 文档
有关完整的 Remote Rollout API 文档、指南和示例,请查看专门的远程 Rollout 章节。