확장 가능한 웹 크롤러, 여기 에이 크롤러의 기능 목록이 있습니다.
표현을 벡터 데이터베이스에 저장하면 두 벡터가 얼마나 가까운 지에 따라 유사한 페이지를 검색 할 수 있습니다. 브라우저가 가장 관련성이 높은 결과를 검색하는 데 중요합니다.
터미널과 함께 크롤러를 실행하십시오.
$ 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 의 예를 살펴보십시오. 레이 헤드 노드를 먼저 초기화해야합니다.
유스 케이스의 경우, 우리는 단순히 웹 텍스트에서 삽입을 추출하기 위해 Huggingface로 구현 된 Bert 모델을 사용합니다. 더 정확하게는, 우리는 Bert-Base-incased를 사용합니다. 코드는 불가지론 적이며 새로운 모델을 등록하고 몇 줄의 코드로 추가 할 수 있습니다. llm/best.py 를 살펴보십시오.
우리는 MILVUS를 주요 데이터베이스 관리자 소프트웨어로 사용합니다. 우리는 벡터 표현 (임베딩)을 기반으로 항목을 검색하고 저장하는 상속 기능으로 인해 벡터 스타일 데이터베이스를 사용합니다.
다음과 같이 독립형 Milvus 서버를 시작하십시오. tmux 와 같은 멀티플렉서 소프트웨어를 사용하는 것이 좋습니다.
tmux new -s milvus
milvus-server Milvus에 대한 기본 요청 중 일부를 보려면 scripts/ 를 살펴보십시오.
공식 docker compose 템플릿을 사용할 수도 있습니다.
docker compose --file milvus-docker-compose.yml up -d 우리는 Ray를 사용하고 분산 및 병렬 처리를 실행하기 위해 훌륭한 파이썬 프레임 워크입니다. Ray는 마스터 노동자 패러다임을 따라 head 노드가 연결된 작업자에게 작업을 요청합니다.
ray start --head import ray
# Connect to the head
ray . init ( "auto" )Ray Node를 중지하려는 경우 :
ray stop또는 상태 확인 :
ray statusray start헤드 노드가 직렬화하고 인수와 구현을 작업자에게 제출하므로 작업자 노드는 코드 구현을 가질 필요가 없습니다.
현재 구현은 POC입니다. 많은 개선이 이루어질 수 있습니다.
모든 문제와 PR을 환영합니까?.