Skip to content

[建议]采用动态导入以减少不必要的依赖 #177

Open
@nowanti

Description

@nowanti

您好,

首先感谢您开发了 agently 这个优秀的框架。最近在使用过程中(轻量的项目中),我注意到一个可以改进的地方,想和您探讨一下。

目前 agently 默认安装了不少第三方库,比如 erniebot、zhipuai、qianfan、duckduckgo-search 等。但是在实际使用中,我发现自己其实用不到这么多:

  1. 目前 Agently已支持 OpenAI 格式调用 LLM API,所以像 erniebot、zhipuai 这些,我就没怎么用上。
  2. duckduckgo-search、bce-python-sdk 这些库,感觉只有特定场景才会用到。

考虑到这点,我有个小建议:是否可以调整一下依赖的管理方式?比如:

  1. 参考 langchain 的动态引入方式,在代码中采用动态导入,只在实际使用相关功能时才导入所需的库。
  2. 或使用类似 agently[search] 的方式来管理可选依赖。这样用户可以根据需求选择安装特定功能模块。
  3. 在文档中简要说明哪些功能需要额外安装哪些依赖。

这样做可能会带来一些好处:

  • 减小基础安装包的体积,加快下载和安装速度
  • 降低依赖冲突的可能性
  • 提高框架的灵活性,方便用户根据实际需求定制

不知道您怎么看待这个建议?如果有任何疑问或需要进一步讨论,我很乐意提供更多细节。

再次感谢您的辛勤工作,期待 agently 能越来越好!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions