我参考 VSCode 设计了一个多层级配置框架,专为框架开发者设计

172 天前
 Zeeland4v

作为框架开发者,最近我在开发 promptulate 和 gcop 的遇到过以下问题:

  1. 用户需要在多个项目中使用你的框架,但每个项目的配置都不一样(比如不同的 API Key 、模型参数等)
  2. 手写配置合并逻辑,要考虑默认值、用户全局配置、项目配置的覆盖关系
  3. 配置值类型不安全,需要手动转换/验证

我参考了 VSCode 的配置系统设计了 Conftier ,让框架开发者可以像 VSCode 一样优雅地处理配置。

实际场景举例

假设你在开发一个 AI 框架:

# 框架开发者:定义配置结构
class OpenAIConfig(BaseModel):
    api_key: str = ""
    model: str = "gpt-4"
    temperature: float = 0.7

# 用户:设置全局 API Key (~/.zeeland/myai/config.yaml)
api_key: "sk-xxx"

# 用户:项目特定配置 (./.myai/config.yaml)
model: "gpt-3.5-turbo"  # 这个项目用不同的模型
temperature: 0.5  # 调整参数

Conftier 会自动处理配置的加载、合并、类型转换,框架开发者只需要专注业务逻辑。

主要特性

文档: https://conftier.zeeland.top GitHub: https://github.com/Undertone0809/conftier

如果你正在开发框架,欢迎试用和提建议,欢迎 star ⭐️

5768 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1123573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX