安装与设置¶
要安装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用户存在若干使用限制。
TART、UPR和MonoT5段落重排序器不支持Windows系统。
在Windows环境下,解析功能可能无法正常工作。
无法在使用
batch设置为1的情况下使用FlagEmbedding段落重排序器。默认批次大小为64。
由于限制条件,我们建议在Windows系统上使用Docker镜像来运行AutoRAG。
另外,Windows用户请务必升级到v0.3.1版本。
本地模型安装指南 🏠¶
如需使用本地模型,您需要安装一些额外的依赖项。
pip install "AutoRAG[gpu]"
解析功能安装指南 🌲¶
要进行解析,您需要安装一些本地软件包,如libmagic、tesseract和poppler。安装方法取决于您的操作系统。
安装完成后,您可以通过如下解析方式安装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:gpu或autoraghq/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_config和projects)。如果在CI/CD流水线中运行,建议使用环境变量或
.env文件来动态管理API密钥和路径。