Интегрируйте технологию GraphRAG от Microsoft в Open Webui для получения расширенной информации
Английский | 简体中文GraphRAG4OpenWebui-это интерфейс API, специально разработанный для Open WebUI, направленный на интеграцию технологии Microsoft Research GraphRAG (GraphRag на основе Graph-Augament Generation). Этот проект предоставляет мощную систему поиска информации, которая поддерживает несколько моделей поиска, особенно подходящие для использования в открытых веб -интерфейсах.
Основная цель этого проекта - предоставить удобный интерфейс для Open Webui для использования мощных функций GraphRAG. Он объединяет три основных метода поиска и предлагает комплексный вариант поиска, позволяя пользователям получить тщательные и точные результаты поиска.
Локальный поиск
Глобальный поиск
Tavily Search
Полный поиск модели
Graphrag4openwebui в настоящее время поддерживает использование моделей локального языка (LLMS) и встраивания моделей, повышая гибкость и конфиденциальность проекта. В частности, мы поддерживаем следующие локальные модели:
Оллама
API_BASE , чтобы указать на конечную точку API OllamaLM Studio
API_BASEЛокальные модели встраивания
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ПРИМЕЧАНИЕ. Возможно, потребуется установить пакет GraphRAG из определенного источника. Если вышеупомянутая команда не может установить GraphRAG, пожалуйста, обратитесь к конкретным инструкциям 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 : post Запрос на выполнение поиска/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 Searchfull-model:latest : комплексный поиск (включает в себя все методы поиска выше) INPUT_DIR .Приглашаются запросы. Для серьезных изменений, пожалуйста, сначала откройте проблему, чтобы обсудить, что вы хотели бы изменить.
Apache-2.0 Лицензия