跳到主要内容

标准化

标准化框架是一套工具和指南,使用户能够以一致的方式跨多个提供商查询和获取数据。

每个提供商数据模型都应该继承自已定义的标准模型。所有标准模型都由OpenBB团队创建和维护。

如果需要创建标准模型,请打开拉取请求并详细说明其用途。

标准化提供商查询参数和响应数据通过克服以下问题来增强用户体验:

  • 跨所有数据源的函数或函数类型的一致查询参数。
  • 具有符合类型、经过验证且可JSON序列化的输出数据。
    • NaNNaT"None"、空字符串始终作为NoneType(null)返回。
  • 数据和查询参数的透明定义模式。
  • 来自多个源的输出彼此可比较且易于互换。

标准模型都定义在/OpenBB/openbb_platform/core/openbb_core/provider/standard_models/目录中。

每个标准模型由两个类组成,每个类都是Pydantic模型。

任何参数或字段都可以分配自定义field_validator,或者整个模型可以在创建时通过model_validator传递。

注意事项

标准化框架是一个非常强大的工具,但它有一些您应该注意的注意事项:

  • 我们标准化多个提供商之间共享的字段和参数。
    • 在某些情况下,在标准模型中定义通用项目可能是不可取的。在这种情况下,我们仍然希望一致的名称和描述。
  • 当将列名从特定于提供商的模型映射到标准模型时,CamelCase到snake_case的转换是自动完成的。如果列名不相同,您需要手动映射它们。
    • 例如,__alias_dict__ = {"o": "open"}
  • 标准模型由OpenBB团队创建和维护。如果您想在标准模型中添加或修改字段,您需要向OpenBB平台打开PR。