QAnything官網 https://qanything.ai/
概述
QAnything是一款強大的本地AI知識庫問答系統,專為需要在離線環境下進行資料查詢和文件處理的用戶設計。該系統支持多種文件格式,包括PDF、DOCX、PPTX、XLSX、MD等,並且具備跨語言問答能力,允許用戶在中文和英文之間自由切換進行查詢。QAnything在數據隱私和高安全性環境中尤為適用,例如沒有穩定網絡連接的工作場所。
該系統使用兩階段的檢索過程:首先進行基於嵌入技術的初步檢索,然後重新排序以提升準確性和相關性。這些技術的結合,使得QAnything在語意表示評估中表現優異,能夠快速、準確地處理大量數據。
QAnything 的最低硬體需求如下:
處理器(CPU):
- 支援 x86 架構的處理器。
記憶體(RAM):
- 至少 16GB。
顯示卡(GPU):
- 若使用本地大模型,建議配備 NVIDIA 顯示卡,顯示記憶體至少 10GB。
儲存空間:
- 至少 100GB 的可用空間,以存放模型和相關資料。
作業系統:
- 支援 Windows、Linux 或 macOS。
其他需求:
- 安裝 Docker 以支援容器化部署。
請注意,實際需求可能因使用的模型大小和資料量而有所不同。 為獲得最佳性能,建議使用更高規格的硬體配置。
安裝QAnything的步驟
1. 系統需求
在開始安裝之前,請確保你的系統符合以下要求:
- 作業系統:Linux 或 Windows Subsystem for Linux (WSL)
- Python 版本:3.8 或以上
- Docker:建議安裝
- 必須具備網絡訪問權限來下載所需的軟件包和依賴
2. 安裝Python及pip
確保你的系統已安裝Python和pip。如果尚未安裝,請使用以下指令進行安裝:
sudo apt-get update
sudo apt-get install python3.10 python3-pip
3. 建立虛擬環境
建議在虛擬環境中運行QAnything,以避免與其他項目之間的依賴衝突。執行以下命令來創建虛擬環境:
python3 -m venv qanything-env
source qanything-env/bin/activate
4. 安裝QAnything的依賴
安裝所需的Python庫:
pip install -r requirements.txt
如果安裝過程中出現缺少依賴的錯誤,如No module named 'cv2'
,請分別安裝這些依賴。例如:
pip install opencv-python-headless
另外,根據不同的錯誤提示,可能還需要安裝以下依賴:
transformers
sentencepiece
langchain
python-dotenv
這些庫可以通過如下命令安裝:
pip install transformers sentencepiece langchain python-dotenv
5. 配置QAnything
在QAnything的配置文件中,設置你需要使用的模型和其他參數,如API密鑰和模型名稱。這通常可以在config
文件中找到或需要自己創建一個.env
文件來存儲API密鑰。
6. 運行QAnything
配置完成後,可以使用以下命令啟動QAnything服務:
bash scripts/run_for_openai_api_with_cpu_in_Linux_or_WSL.sh
如果成功啟動,將會顯示一個本地服務器的地址,例如http://0.0.0.0:8777/qanything/
,可以將此地址複製到瀏覽器中進行測試。
常見問題與解決方法
1. 遇到ModuleNotFoundError
錯誤
- 確保所有的依賴都已安裝並正確配置。如果某些庫無法找到,請檢查並安裝相應的Python包。
2. Docker相關權限問題
- 如果在使用Docker時遇到
permission denied
錯誤,嘗試使用以下命令賦予當前用戶Docker權限:
sudo usermod -aG docker $USER
3. 無法訪問本地服務器
- 確保服務器已正確啟動,並且防火牆設置允許相關端口的訪問。
通過這篇教學文章,你應該能夠成功安裝並配置QAnything系統。如果遇到其他問題,建議檢查錯誤日誌或訪問官方文檔以獲取更多幫助。
整理出Q-Anything所需要依賴的清單:
要成功安裝和運行 QAnything,你需要確保系統中安裝了一些必要的依賴項。以下是 QAnything 的依賴清單:
Python 基本依賴包
- python-dotenv:管理環境變量。
- nltk:自然語言處理工具包。
- opencv-python:處理圖像和視頻。
- transformers:來自 Hugging Face 的自然語言處理模型。
- langchain:工具和功能集,用於處理自然語言。
- onnxruntime:運行 ONNX 格式的深度學習模型。
- uvicorn:快速的 ASGI 服務器,常用於運行 Starlette 和 FastAPI 應用。
- aiofiles:異步文件操作。
- faiss:用於高效相似性搜索和稀疏矩陣操作。
- pdfplumber:用於提取和處理 PDF 文件的工具。
- PyPDF2:PDF 文件的操作工具。
- markdownify:將 HTML 轉換為 Markdown。
- faster-whisper:高效的語音識別工具。
- hanziconv:繁簡轉換工具。
- datrie:實現雙數組 Trie 結構的高效工具。
- shapely:處理幾何對象和計算的庫。
- fitz:PDF 操作庫。
- pyclipper:計算多邊形的布爾運算。
其他依賴
- Docker:部分功能需要在 Docker 容器中運行。
- sentencepiece:處理和分詞文本數據。
這些依賴項可能還需要根據你的具體需求進行進一步的調整。確保你的系統中正確安裝了這些依賴項,以便成功運行 QAnything。
如何快速完整的安裝這些依賴?
要快速完整地安裝 QAnything 的所有依賴項,你可以使用以下步驟。這些步驟假設你使用的是 Linux 或 macOS 系統,並且具有基礎的命令行操作知識。
1. 創建虛擬環境
首先,建議你在虛擬環境中安裝所有依賴,以避免影響系統的其他配置。
python3 -m venv qanything-env
source qanything-env/bin/activate
2. 更新 pip
確保 pip 是最新版本,以避免安裝過程中遇到問題。
pip install --upgrade pip
3. 安裝基本依賴項
安裝所需的基本 Python 庫。你可以將所有的依賴包列在一個 requirements.txt
文件中,然後一次性安裝。
首先,創建 requirements.txt
文件並添加以下內容:
python-dotenv
nltk
opencv-python
transformers
langchain
onnxruntime
uvicorn
aiofiles
faiss-cpu
pdfplumber
PyPDF2
markdownify
faster-whisper
hanziconv
datrie
shapely
fitz
pyclipper
然後,使用以下命令安裝所有依賴:
pip install -r requirements.txt
4. 安裝 Docker(如果需要)
某些功能可能需要 Docker,如果你尚未安裝 Docker,可以使用以下命令安裝:
- Linux:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
- macOS:
下載並安裝 Docker for Mac:Docker Desktop for Mac
5. 安裝 sentencepiece
這是 transformers
庫可能需要的一個外部依賴。
pip install sentencepiece
6. 測試安裝
完成所有依賴項的安裝後,可以通過運行 QAnything 的測試命令來確認安裝是否成功。
python3 -m qanything_kernel.qanything_server.sanic_api --host 0.0.0.0 --port 8777 --model_size 7B --use_openai_api --openai_api_base "https://api.openai.com/v1" --openai_api_key "YOUR_OPENAI_API_KEY" --openai_api_model_name "gpt-4o-mini-2024-07-18" --openai_api_context_length 4096 --workers 4
7. 解決安裝問題
如果在安裝過程中遇到問題,可以嘗試以下方法:
- 查看相關庫的官方文檔,確保依賴項名稱拼寫正確。
- 使用
pip search package-name
查看包是否存在或是否有可用版本。 - 確保你有權限運行需要的命令,或者使用
sudo
提升權限。
這樣的操作步驟應該能幫助你快速完整地安裝 QAnything 所需的所有依賴項。