安装与设置

要安装AutoRAG,您可以使用pip:

pip install AutoRAG

此外,建议安装PyOpenSSL和nltk库以获得完整功能。

pip install --upgrade pyOpenSSL
pip install nltk
python3 -c "import nltk; nltk.download('punkt_tab')"
python3 -c "import nltk; nltk.download('averaged_perceptron_tagger_eng')"

安装遇到问题?

安装过程中遇到问题了吗? 首先,您可以查看故障排除页面。

Windows用户注意事项

AutoRAG目前在Windows系统上尚未完全支持。Windows用户存在若干使用限制。

  1. TART、UPR和MonoT5段落重排序器不支持Windows系统。

  2. 在Windows环境下,解析功能可能无法正常工作。

  3. 无法在使用batch设置为1的情况下使用FlagEmbedding段落重排序器。默认批次大小为64。

由于限制条件,我们建议在Windows系统上使用Docker镜像来运行AutoRAG。

另外,Windows用户请务必升级到v0.3.1版本。

本地模型安装指南 🏠

如需使用本地模型,您需要安装一些额外的依赖项。

pip install "AutoRAG[gpu]"

解析功能安装指南 🌲

要进行解析,您需要安装一些本地软件包,如libmagictesseractpoppler。安装方法取决于您的操作系统。

安装完成后,您可以通过如下解析方式安装AutoRAG。

pip install "AutoRAG[parse]"

韩语版安装指南 🇰🇷

您可以安装韩语的可选依赖项。

pip install "AutoRAG[ko]"

之后,您需要安装jdk 17才能使用konlpy。 另外,请记得为jdk设置环境变量PATH。 (JAVA_HOME和PATH)

Mac用户的说明请点击此处

日语版安装指南 🇯🇵

pip install "AutoRAG[ja]"

设置OPENAI API密钥

要使用LLM和嵌入模型,通常我们会选择OpenAI的模型。 如果想使用其他模型,请查看这里

您需要设置OPENAI_API_KEY环境变量。 您可以在此处获取API密钥。

export OPENAI_API_KEY="sk-...your-api-key..."

或者,作为替代方案,您可以使用.env文件来设置环境变量。

pip install python-dotenv

然后,在您的根目录下创建一个.env文件,内容如下。

OPENAI_API_KEY=sk-...your-api-key...

当你尝试运行AutoRAG时,可以使用以下代码加载.env文件。

from dotenv import load_dotenv

load_dotenv()

现在您已准备好使用AutoRAG!

从源码构建

如果你想从源码构建AutoRAG,第一步是克隆AutoRAG代码库。

git clone https://github.com/Marker-Inc-Korea/AutoRAG.git

并将AutoRAG安装为可编辑模式。

cd AutoRAG
pip install -e .

然后,为了测试和文档构建,您需要安装一些额外的软件包。

pip install -r tests/requirements.txt
pip install -r docs/requirements.txt

为了测试,您需要在pytest.ini中设置环境变量。 在项目根目录下新建一个pytest.ini文件并写入以下内容。

[pytest]
env =
    OPENAI_API_KEY=sk-...your-api-key...

log_cli=true
log_cli_level=INFO

之后,您可以使用pytest运行测试。

python -m pytest -n auto

之后,请查阅我们的贡献者文档。 我们正在为贡献者编写这份文档,请稍候片刻。

使用 🐳 Docker 运行 AutoRAG

提示:如需构建GPU版本的镜像,可使用autoraghq/autorag:gpuautoraghq/autorag:gpu-parsing

要使用Docker运行AutoRAG,请按照以下步骤操作:

1. 构建Docker镜像

docker build --target production -t autorag:prod .

该命令将构建生产就绪的Docker镜像,仅使用Dockerfile中定义的production阶段。

2. 运行Docker容器

使用以下命令运行容器:

docker run --rm -it \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -v $(pwd)/sample_config:/usr/src/app/sample_config \
  -v $(pwd)/projects:/usr/src/app/projects \
  autoraghq/autorag:api evaluate \
  --config /usr/src/app/sample_config/rag/simple/simple_openai.yaml \
  --qa_data_path /usr/src/app/projects/test01/qa_validation.parquet \
  --corpus_data_path /usr/src/app/projects/test01/corpus.parquet \
  --project_dir /usr/src/app/projects/test01

说明:

  • -v ~/.cache/huggingface:/root/.cache/huggingface: 将主机的Hugging Face缓存挂载到容器中,使其能够访问预先下载的模型。

  • -v $(pwd)/sample_config:/usr/src/app/sample_config: 将本地的sample_config目录挂载到容器中。

  • -v $(pwd)/projects:/usr/src/app/projects: 将本地的projects目录挂载到容器中。

  • autoraghq/autorag:all evaluate: 在autoraghq/autorag:all容器内执行evaluate命令。

  • --config, --qa_data_path, --corpus_data_path, --project_dir: 指定配置文件、问答数据集、语料数据和项目目录的路径。

3. 使用自定义缓存目录与 HF_HOME

或者,您可以将Hugging Face缓存挂载到容器内的自定义位置,并设置HF_HOME环境变量:

docker run --rm -it \
  -v ~/.cache/huggingface:/cache/huggingface \
  -v $(pwd)/sample_config:/usr/src/app/sample_config \
  -v $(pwd)/projects:/usr/src/app/projects \
  -e HF_HOME=/cache/huggingface \
  autoraghq/autorag:api evaluate \
  --config /usr/src/app/sample_config/rag/simple/simple_openai.yaml \
  --qa_data_path /usr/src/app/projects/test01/qa_validation.parquet \
  --corpus_data_path /usr/src/app/projects/test01/corpus.parquet \
  --project_dir /usr/src/app/projects/test01

说明:

  • -v ~/.cache/huggingface:/cache/huggingface: 将主机的Hugging Face缓存挂载到容器内的/cache/huggingface目录。

  • -e HF_HOME=/cache/huggingface: 将HF_HOME环境变量设置为指向挂载的缓存目录。

5. 调试与手动访问

如需手动访问容器进行调试或测试,请启动Bash shell:

docker run --rm -it --entrypoint /bin/bash autoraghq/autorag:api

该命令允许您浏览容器的文件系统、手动运行命令或检查日志以进行故障排除。

6. 使用GPU版本

要使用GPU版本,您必须在主机系统中安装CUDA和cuDNN。该版本基于CUDA 11.8版本和PyTorch Docker镜像构建。

docker run --rm -it \
  -v ~/.cache/huggingface:/cache/huggingface \
  -v $(pwd)/sample_config:/usr/src/app/sample_config \
  -v $(pwd)/projects:/usr/src/app/projects \
  -e HF_HOME=/cache/huggingface \
  --gpus all \ # Be sure to add this line
  autoraghq/autorag:gpu evaluate \
  --config /usr/src/app/sample_config/rag/simple/simple_openai.yaml \
  --qa_data_path /usr/src/app/projects/test01/qa_validation.parquet \
  --corpus_data_path /usr/src/app/projects/test01/corpus.parquet \
  --project_dir /usr/src/app/projects/test01

补充说明

  • 确保主机系统中存在必要的目录(sample_configprojects)。

  • 如果在CI/CD流水线中运行,建议使用环境变量或.env文件来动态管理API密钥和路径。