开发基础#

本文档将介绍如何设置AdalFlow代码库并开始编码、测试和文档编写。

设置#

我们主要使用poetry进行依赖管理和虚拟环境设置。

要设置poetry并贡献,请查看以下步骤:

  1. 克隆仓库:

    git clone https://github.com/SylphAI-Inc/AdalFlow
    cd AdalFlow
    
  2. 设置AdalFlow开发环境: AdalFlow的源代码、测试和依赖项位于./adalflow目录中。 ./adalflow/pyproject.toml控制adalflow包的依赖项。 使用Poetry安装依赖项并设置虚拟环境:

    cd adalflow
    poetry install
    poetry shell
    

    通过在./adalflow目录中运行测试来测试设置:

    pytest tests
    
  3. 设置根开发环境: 在根目录下,我们有一个pyproject.toml文件,用于控制根目录的依赖项。

    poetry install
    poetry shell
    

    这将安装所有相关的依赖项,并且/use_cases、/tutorials和/benchmarks中的文件将使用adalflow包的开发版本。 你应该会看到类似于以下的输出:

    - Installing adalflow (0.2.5 /Users/liyin/Documents/test/AdalFlow/adalflow)
    
  4. [可选] 在根目录中配置API密钥: 复制示例环境文件并添加您的API密钥:

    cp .env.example .env
    # 示例API密钥:
    # OPENAI_API_KEY=YOUR_API_KEY_IF_YOU_USE_OPENAI
    # GROQ_API_KEY=YOUR_API_KEY_IF_YOU_USE_GROQ
    # ANTHROPIC_API_KEY=YOUR_API_KEY_IF_YOU_USE_ANTHROPIC
    # GOOGLE_API_KEY=YOUR_API_KEY_IF_YOU_USE_GOOGLE
    # COHERE_API_KEY=YOUR_API_KEY_IF_YOU_USE_COHERE
    # HF_TOKEN=YOUR_API_KEY_IF_YOU_USE_HF
    

    这将有助于您运行教程、使用案例和基准测试。

编码#

结构化#

建议查看我们在第一部分:结构API参考中的结构,以理解代码库的结构。

编写什么代码#

请查看第三部分:贡献步骤以查看一些编码示例和贡献代码库的步骤。

代码提示#

Copilot#

我们建议您使用GitHub Copilot来帮助您更快更高效地编写代码。 您可以按照这个指南在您的IDE中进行设置。 还有其他选择,如CursorTabnine,您也可以使用。

依赖项#

  1. 如果您想向包中添加任何新的依赖项,请在您的PR描述中包含它们以通知我们。

  2. 由于我们已经在GitHub中设置了测试自动化工作流,请也在./adalflow/pyproject.toml文件的[tool.poetry.group.test.dependencies]部分设置您的新依赖项,以避免在我们的CI/CD工作流中出现依赖错误。 为了正确使用poetry添加依赖项,请运行

    poetry add --group test 
    

测试#

更新代码后,请确保在提交拉取请求之前对代码进行了充分的测试。 项目目录中有一个./adalflow/tests文件夹,用于存放您的单元测试用例。

你可能需要使用poetry来安装测试包:

例如:

poetry install # or
poetry add --group test

你应该使用以下格式命名你的测试文件:test_.py

./adalflow激活虚拟环境并运行测试:

poetry shell
pytest

要运行特定的测试文件,您可以使用以下命令:

pytest tests/test_components.py

有关测试的更多详细信息,请参阅./adalflow/tests目录下的README.md

文档#

请参考./docs目录下的README.md以获取有关如何贡献文档的更多详细信息。