开发指南
要求
名称 | 安装 | 目的 |
---|---|---|
Python 3.10-3.12 | 下载 | 该库基于 Python。 |
Poetry | 说明 | Poetry 用于 Python 代码库中的包管理和 virtualenv 管理 |
快速入门
安装依赖项
执行索引引擎
执行查询
Azurite
一些单元测试和冒烟测试使用 Azurite 来模拟 Azure 资源。可以通过运行以下命令启动它
或者,如果已全局安装,则只需在终端中运行 azurite
。有关如何安装和使用 Azurite 的更多信息,请参阅 Azurite 文档。
生命周期脚本
我们的 Python 包使用 Poetry 来管理依赖项,并使用 poethepoet 来管理构建脚本。
可用的脚本是
poetry run poe index
- 运行索引 CLIpoetry run poe query
- 运行查询 CLIpoetry build
- 这会调用poetry build
,它将构建一个 wheel 文件和其他可分发的工件。poetry run poe test
- 这将执行所有测试。poetry run poe test_unit
- 这将执行单元测试。poetry run poe test_integration
- 这将执行集成测试。poetry run poe test_smoke
- 这将执行冒烟测试。poetry run poe test_verbs
- 这将执行基本工作流程的测试。poetry run poe check
- 这将对整个软件包执行一系列静态检查,包括- 格式化
- 文档格式化
- 代码检查
- 安全模式
- 类型检查
poetry run poe fix
- 这将对软件包应用任何可用的自动修复。通常这只是格式化修复。poetry run poe fix_unsafe
- 这将对软件包应用任何可用的自动修复,包括那些可能不安全的修复。poetry run poe format
- 显式地对整个软件包运行格式化程序。
故障排除
运行 poetry install 时出现 “RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config”
确保已安装 llvm-9 和 llvm-9-dev
sudo apt-get install llvm-9 llvm-9-dev
然后在你的 bashrc 中,添加
export LLVM_CONFIG=/usr/bin/llvm-config-9
运行 poetry install 时出现 “numba/_pymodule.h:6:10: fatal error: Python.h: No such file or directory”
确保你已安装 python3.10-dev 或更一般地安装 python<version>-dev
sudo apt-get install python3.10-dev
LLM 调用不断超过 TPM、RPM 或时间限制
默认情况下,GRAPHRAG_LLM_THREAD_COUNT
和 GRAPHRAG_EMBEDDING_THREAD_COUNT
都设置为 50。你可以修改这些值以降低并发性。请参阅配置文档