Skip to content

开发指南

需求

名称 安装方式 用途
Python 3.10-3.12 下载 该库基于Python开发。
Poetry 安装说明 Poetry用于Python代码库中的包管理和虚拟环境管理

快速入门

安装依赖

# 安装Python依赖
poetry install

执行索引引擎

poetry run poe index <...args>

执行查询

poetry run poe query <...args>

Azurite

部分单元测试和冒烟测试使用Azurite来模拟Azure资源。可以通过运行以下命令启动:

./scripts/start-azurite.sh

或者如果已全局安装,直接在终端运行azurite。有关如何安装和使用Azurite的更多信息,请参阅Azurite文档

生命周期脚本

我们的Python包使用Poetry管理依赖,并使用poethepoet管理构建脚本。

可用的脚本包括:

  • poetry run poe index - 运行索引CLI
  • poetry run poe query - 运行查询CLI
  • poetry 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<版本>-dev sudo apt-get install python3.10-dev

LLM调用持续超过TPM、RPM或时间限制

GRAPHRAG_LLM_THREAD_COUNTGRAPHRAG_EMBEDDING_THREAD_COUNT默认都设置为50。您可以修改这些值来降低并发性。请参考配置文档