QAnything-本地AI知識庫問答系統 教學指南:安裝與介紹

QAnything官網 https://qanything.ai/

概述
QAnything是一款強大的本地AI知識庫問答系統,專為需要在離線環境下進行資料查詢和文件處理的用戶設計。該系統支持多種文件格式,包括PDF、DOCX、PPTX、XLSX、MD等,並且具備跨語言問答能力,允許用戶在中文和英文之間自由切換進行查詢。QAnything在數據隱私和高安全性環境中尤為適用,例如沒有穩定網絡連接的工作場所。

該系統使用兩階段的檢索過程:首先進行基於嵌入技術的初步檢索,然後重新排序以提升準確性和相關性。這些技術的結合,使得QAnything在語意表示評估中表現優異,能夠快速、準確地處理大量數據。


安裝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 基本依賴包

  1. python-dotenv:管理環境變量。
  2. nltk:自然語言處理工具包。
  3. opencv-python:處理圖像和視頻。
  4. transformers:來自 Hugging Face 的自然語言處理模型。
  5. langchain:工具和功能集,用於處理自然語言。
  6. onnxruntime:運行 ONNX 格式的深度學習模型。
  7. uvicorn:快速的 ASGI 服務器,常用於運行 Starlette 和 FastAPI 應用。
  8. aiofiles:異步文件操作。
  9. faiss:用於高效相似性搜索和稀疏矩陣操作。
  10. pdfplumber:用於提取和處理 PDF 文件的工具。
  11. PyPDF2:PDF 文件的操作工具。
  12. markdownify:將 HTML 轉換為 Markdown。
  13. faster-whisper:高效的語音識別工具。
  14. hanziconv:繁簡轉換工具。
  15. datrie:實現雙數組 Trie 結構的高效工具。
  16. shapely:處理幾何對象和計算的庫。
  17. fitz:PDF 操作庫。
  18. 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

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 所需的所有依賴項。

Share:

More Posts