고급 정보 검색을 위해 Microsoft의 그래프 크래그 기술을 Open WebUI에 통합
영어 | 简体中文GraphRag4openwebui는 Microsoft Research의 그래프 크래그 (그래프 기반 검색-구분 생성) 기술을 통합하기위한 Open WebUI 용으로 특별히 설계된 API 인터페이스입니다. 이 프로젝트는 여러 검색 모델을 지원하는 강력한 정보 검색 시스템을 제공합니다. 특히 개방형 웹 사용자 인터페이스에 사용하기에 적합합니다.
이 프로젝트의 주요 목표는 Open WebUI가 그래프 크래그의 강력한 기능을 활용할 수있는 편리한 인터페이스를 제공하는 것입니다. 세 가지 주요 검색 방법을 통합하고 포괄적 인 검색 옵션을 제공하여 사용자가 철저하고 정확한 검색 결과를 얻을 수 있습니다.
로컬 검색
글로벌 검색
Tavily 검색
전체 모델 검색
GraphRag4openwebui는 이제 LLM (Local Language Model) 및 임베딩 모델의 사용을 지원하여 프로젝트의 유연성과 개인 정보를 향상시킵니다. 특히, 우리는 다음과 같은 로컬 모델을 지원합니다.
올라마
API_BASE 환경 변수를 Ollama의 API 엔드 포인트를 가리 키게하여 구성 할 수 있습니다.LM 스튜디오
API_BASE 환경 변수를 구성하여 LM Studio 서비스에 연결로컬 임베딩 모델
GRAPHRAG_EMBEDDING_MODEL 환경 변수를 설정하여 사용할 임베딩 모델을 지정하십시오.로컬 모델에 대한 이러한 지원을 통해 GraphRag4openwebui는 외부 API에 의존하지 않고 데이터 개인 정보를 향상시키고 사용 비용을 줄이지 않고 실행할 수 있습니다.
시스템에 Python 3.8 이상이 설치되어 있는지 확인하십시오. 그런 다음 다음 단계를 따라 설치하십시오.
저장소 복제 :
git clone https://github.com/your-username/GraphRAG4OpenWebUI.git
cd GraphRAG4OpenWebUI가상 환경 생성 및 활성화 :
python -m venv venv
source venv/bin/activate # On Windows use venvScriptsactivate종속성 설치 :
pip install -r requirements.txt참고 : 그래프 패키지는 특정 소스에서 설치해야 할 수도 있습니다. 위 명령이 그래프 래그를 설치하지 못하면 Microsoft Research의 특정 지침을 참조하거나 올바른 설치 방법을 위해 관리자에게 문의하십시오.
API를 실행하기 전에 다음 환경 변수를 설정해야합니다. .env 파일을 만들거나 터미널에서 직접 내보내면서이를 수행 할 수 있습니다.
# Set the TAVILY API key
export TAVILY_API_KEY= " your_tavily_api_key "
export INPUT_DIR= " /path/to/your/input/directory "
# Set the API key for LLM
export GRAPHRAG_API_KEY= " your_actual_api_key_here "
# Set the API key for embedding (if different from GRAPHRAG_API_KEY)
export GRAPHRAG_API_KEY_EMBEDDING= " your_embedding_api_key_here "
# Set the LLM model
export GRAPHRAG_LLM_MODEL= " gemma2 "
# Set the API base URL
export API_BASE= " http://localhost:11434/v1 "
# Set the embedding API base URL (default is OpenAI's API)
export API_BASE_EMBEDDING= " https://api.openai.com/v1 "
# Set the embedding model (default is "text-embedding-3-small")
export GRAPHRAG_EMBEDDING_MODEL= " text-embedding-3-small "위 명령의 자리 표시자를 실제 API 키 및 경로로 교체하십시오.
서버 시작 :
python main-en.py
서버는 http://localhost:8012 에서 실행됩니다.
API 엔드 포인트 :
/v1/chat/completions : 검색 수행 후 요청/v1/models : 사용 가능한 모델 목록을 검색하도록 요청 받기 Open WebUI와의 통합 : Open WebUI 구성에서 API 엔드 포인트를 http://localhost:8012/v1/chat/completions 로 설정하십시오. 이를 통해 Open WebUI는 GraphRag4openwebui의 검색 기능을 사용할 수 있습니다.
예제 검색 요청 :
import requests
import json
url = "http://localhost:8012/v1/chat/completions"
headers = { "Content-Type" : "application/json" }
data = {
"model" : "full-model:latest" ,
"messages" : [{ "role" : "user" , "content" : "Your search query" }],
"temperature" : 0.7
}
response = requests . post ( url , headers = headers , data = json . dumps ( data ))
print ( response . json ())graphrag-local-search:latest : 로컬 검색graphrag-global-search:latest : 글로벌 검색tavily-search:latest : Tavily 검색full-model:latest : 포괄적 인 검색 (위의 모든 검색 방법 포함) INPUT_DIR 디렉토리에 올바른 입력 파일 (예 : Parquet 파일)이 있는지 확인하십시오.풀 요청을 환영합니다. 주요 변경 사항을 위해 먼저 문제를 열어 변경하고 싶은 것을 논의하십시오.
Apache-2.0 라이센스