LLMWebCrawler
1.0.0
可擴展的Web爬網,這裡是此軌道的功能列表:
通過將表示形式保存到矢量數據庫中,您可以根據兩個向量的距離檢索類似的頁面。這對於瀏覽器檢索最相關的結果至關重要。
用碼頭運行爬網:
$ python cli_crawl.py --help
options:
-h, --help show this help message and exit
-u INITIAL_URLS [INITIAL_URLS ...], --initial-urls INITIAL_URLS [INITIAL_URLS ...]
-lm LANGUAGE_MODEL, --language-model LANGUAGE_MODEL
-m MAX_DEPTH, --max-depth MAX_DEPTH用uvicorn和FastAPI託管API。
uvicorn api_app:app --host 0.0.0.0 --port 80在start_api_and_head_node.sh中查看示例。請注意,射線頭節點需要先初始化。
對於我們的用例,我們只需使用擁抱面而實現的BERT模型來從Web文本中提取嵌入。更確切地說,我們使用Bert-Base-uncund。請注意,該代碼是不可知論的,可以註冊新模型並使用幾行代碼添加,請查看llm/best.py 。
我們使用MILVUS作為我們的主要數據庫管理員軟件。由於其繼承的搜索能力和基於向量表示(嵌入)的搜索能力,因此我們使用了矢量式數據庫。
按照以下方式啟動您的獨立Milvus服務器,建議使用tmux等多路復用器軟件:
tmux new -s milvus
milvus-server在scripts/查看對Milvus的一些基本請求。
您也可以使用官方的docker compose模板:
docker compose --file milvus-docker-compose.yml up -d我們使用Ray,是很棒的Python框架來運行分佈式和並行處理。 Ray遵循Master-Worker範式,在該範式上, head Node將要求將任務執行給連接的工人。
ray start --head import ray
# Connect to the head
ray . init ( "auto" )如果您想停止射線節點:
ray stop或檢查狀態:
ray statusray start工人節點不需要執行代碼,因為頭節點將序列化並將參數和實施提交給工人。
當前的實現是POC。可以做出許多改進:
歡迎所有問題和公關嗎?