Yuxi-Know: интеллектуальная платформа вопросов и ответов на основе графа знаний
Общее введение
Yuxi-Know - это интеллектуальная платформа вопросов и ответов с открытым исходным кодом, которая сочетает в себе граф знаний и технологии RAG (Retrieval Augmented Generation), чтобы помочь пользователям быстро получать точные ответы. Она основана на Neo4j для хранения графа знаний, использует FastAPI и VueJS для построения back-end и front-end, поддерживает различные большие модели, такие как OpenAI, DeepSeek, Beanbag и так далее. Система интегрирует Milvus векторная база данныхYuxi-Know предоставляет сетевой поиск, модель вывода DeepSeek-R1 и функцию вызова инструмента, подходящую разработчикам для создания системы управления знаниями или интеллектуальной системы обслуживания клиентов. Проект имеет открытый исходный код на GitHub, его легко развернуть и расширить.


Список функций
- Поддерживает множество крупных моделей вызовов, включая OpenAI, DeepSeek, Beanbag, Smart Spectrum Clear Speech и другие.
- Обеспечивает запросы к графу знаний и хранит структурированные данные на основе Neo4j.
- адъювант RAG Технология в сочетании с базой знаний и сетевым поиском позволяет генерировать точные ответы.
- интегрированный (как в интегральной схеме) DeepSeek-R1 Модели рассуждений для решения сложных логических задач.
- Предоставляет функциональность вызова инструментов для выполнения внешних задач через API.
- Поддерживает несколько форматов файлов (PDF, TXT, MD, Docx) для создания базы знаний.
- Используйте базу данных Milvus Vector Database для хранения и извлечения векторов документов.
- Веб-интерфейс на основе VueJS, простое и интуитивно понятное управление.
- Поддержка развертывания локальных моделей посредством vLLM возможно Оллама Предоставляет услуги API.
- Позволяет задавать пользовательские конфигурации моделей и векторных моделей для удовлетворения различных потребностей.
Использование помощи
Процесс установки
Yuxi-Know использует развертывание Docker для упрощения процесса установки. Ниже приведены подробные шаги:
- Подготовка среды
Убедитесь, что установлены Docker и Docker Compose. рекомендуется для Linux или macOS, пользователям Windows необходимо включить WSL2. проверьте, что Docker работает правильно:docker --version
Убедитесь, что Git установлен для клонирования кода.
- проект клонирования
Выполните следующую команду в терминале, чтобы клонировать кодовую базу Yuxi-Know:git clone https://github.com/xerrors/Yuxi-Know.git
Перейдите в каталог проектов:
cd Yuxi-Know
- Настройка переменных среды
Yuxi-Know необходимо настроить ключ API и параметры модели. Скопируйте файл шаблона:cp src/.env.template src/.env
Откройте в текстовом редакторе
src/.env
Заполните необходимый ключ. Например:SILICONFLOW_API_KEY=sk-你的密钥 DEEPSEEK_API_KEY=你的密钥 TAVILY_API_KEY=你的密钥
Если вы используете другие модели (например, OpenAI, beanbag), добавьте соответствующий ключ:
OPENAI_API_KEY=你的密钥 ARK_API_KEY=你的密钥
Использование по умолчанию SiliconFlow необходимо настроить
SILICONFLOW_API_KEY
. Если вы используете локальную модель, необходимо настроить путь к модели:MODEL_DIR=/path/to/your/models
- Начальные услуги
Запустите все службы, выполнив следующую команду из корневого каталога проекта:docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build
Это запустит Neo4j, Milvus, бэкенд FastAPI и фронтенд VueJS. Первый запуск может занять несколько минут. После успешного запуска в терминале отобразится:
[+] Running 7/7 ✔ Network docker_app-network Created ✔ Container graph-dev Started ✔ Container milvus-etcd-dev Started ✔ Container milvus-minio-dev Started ✔ Container milvus-standalone-dev Started ✔ Container api-dev Started ✔ Container web-dev Started
Если вам нужно работать в фоновом режиме, добавьте
-d
Параметры:docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build -d
- система доступа
Откройте браузер и посетитеhttp://localhost:5173/
Вы можете получить доступ к интерфейсу Yuxi-Know. Если он недоступен, проверьте состояние контейнера Docker:docker ps
Убедитесь, что все контейнеры запущены. Если существует конфликт портов, измените параметр
docker-compose.dev.yml
Конфигурация порта в - Закрытие службы
Остановите службу и удалите контейнер:docker compose -f docker/docker-compose.dev.yml --env-file src/.env down
Использование основных функций
Yuxi-Know обеспечивает запрос графа знаний, поиск по базе знаний, поиск в сети и функции вызова инструментов. Ниже приведен подробный метод работы:
- Запрос к графу знаний
Yuxi-Know использует Neo4j для хранения графов знаний, который подходит для запросов к структурированным данным. Например, запрос "Что является столицей Пекина?". Система извлечет ответ из графа знаний.- Импорт графа знаний: Подготовьте файл в формате JSONL, каждая строка которого содержит головной узел, хвостовой узел и отношение, например:
{"h": "北京", "t": "中国", "r": "首都"}
Перейдите к разделу "Управление атласом" в интерфейсе и загрузите JSONL-файл. Он будет автоматически загружен в Neo4j.
- Посетите Neo4j: При запуске
http://localhost:7474/
Для доступа к панели Neo4j по умолчанию используется учетная записьneo4j
Пароль0123456789
. - принимать к сведению: Узел должен содержать
Entity
тег, иначе индекс не может быть вызван.
- Импорт графа знаний: Подготовьте файл в формате JSONL, каждая строка которого содержит головной узел, хвостовой узел и отношение, например:
- поиск по базе знаний
Система поддерживает загрузку файлов PDF, TXT, MD, Docx, которые автоматически преобразуются в векторы и сохраняются в базе данных Milvus. Этапы работы:- Перейдите в раздел "Управление базой знаний" и нажмите "Загрузить файлы".
- Выбрав файл, система преобразует его содержимое в обычный текст, используя векторную модель (такую как
BAAI/bge-m3
) генерирует векторы и сохраняет их. - Для запроса введите вопрос, например, "Какие тенденции в области ИИ упоминаются в документе?". Система получит соответствующий контент и сгенерирует ответ.
- привлекать внимание к чему-л.: Большие файлы могут обрабатываться медленно, поэтому рекомендуется загружать их по частям.
- сетевой поиск
Если локальная база знаний не может ответить на вопросы, система включает сетевой поиск. Убедитесь, что конфигурацияTAVILY_API_KEY
. Метод работы:- Введите в интерфейс вопрос, например, "Какая новейшая технология искусственного интеллекта появится в 2025 году?".
- Система работает следующим образом Tavily API получает информацию из Интернета и объединяет ее с большой моделью для создания ответов.
- В результатах будет указана ссылка на источник, что позволит легко проверить информацию.
- Вызов инструмента
Yuxi-Know поддерживает вызов внешних инструментов через API, например, для проверки погоды или выполнения скриптов. Процедура:- существовать
src/static/models.yaml
Добавьте конфигурацию инструмента вtools: - name: weather url: https://api.weather.com/v3 api_key: 你的密钥
- Введите в интерфейс: "Какая погода сегодня в Шанхае?". Система вызовет инструмент и вернет результат.
- существовать
Функциональное управление
- Модель выводов DeepSeek-R1
DeepSeek-R1 - это изюминка Yuxi-Know для сложных задач рассуждения. Метод работы:- безопасный
DEEPSEEK_API_KEY
возможноSILICONFLOW_API_KEY
Настроен. - При выборе модели интерфейса переключитесь на
deepseek-r1-250120
. - Введите вопрос, например, "Яблоко стоит на 2 доллара дороже апельсина, три яблока и два апельсина стоят 16 долларов. Сколько стоят апельсины?". Система рассудит и ответит: "Апельсины стоят 2 доллара".
- доминирование: Может решать многоступенчатые логические задачи с более надежными ответами.
- безопасный
- Поддержка нескольких моделей
Система поддерживает переключение нескольких моделей для адаптации к различным сценариям. Метод работы:- Выберите модель из выпадающего меню в правом верхнем углу интерфейса, например
Qwen2.5-7B-Instruct
(SiliconFlow),gpt-4o
(OpenAI) илиdoubao-1-5-pro
(боб). - У каждой модели свои преимущества, например, Doubao подходит для семантического понимания китайского языка, а OpenAI - для сложных задач.
- Добавить новую модель:: Редакция
src/static/models.yaml
Добавьте конфигурации поставщиков, например:zhipu: name: 智谱清言 url: https://api.zhipuai.com/v1 default: glm-4-flash env: - ZHIPUAI_API_KEY
После перезапуска службы новая модель готова к использованию.
- Выберите модель из выпадающего меню в правом верхнем углу интерфейса, например
- Развертывание локальной модели
Если вам нужно использовать локальную модель (например, LLaMA), вы можете развернуть ее через vLLM или Ollama. Процедура:- Запустите службу vLLM:
vllm serve /path/to/model --host 0.0.0.0 --port 8000
- Добавьте локальную модель в интерфейсе "Настройки", введите URL (например.
http://localhost:8000/v1
). - После сохранения система будет отдавать предпочтение использованию локальной модели для сред без сети.
- Запустите службу vLLM:
- Конфигурация векторной модели
Использование по умолчаниюBAAI/bge-m3
Сгенерируйте векторы. Если вам нужно заменить его, отредактируйте файлsrc/static/models.yaml
::local/nomic-embed-text: name: nomic-embed-text dimension: 768
Локальная модель будет загружена автоматически, в случае сбоя ее можно получить через зеркальную станцию HF-Mirror.
предостережение
- сетевые требования: Стабильная сеть необходима для поиска сети и вызова модели, рекомендуется проверить
.env
ключ в файле. - Конфигурация Neo4j: Если у вас уже есть служба Neo4j, вы можете изменить
docker-compose.yml
попал в точкуNEO4J_URI
Ниже перечислены некоторые ключевые особенности программы, которые важны для ее успешного осуществления. - Скачать зеркало: Если извлечение образа Docker не удалось, можно воспользоваться зеркальной станцией DaoCloud:
docker pull m.daocloud.io/docker.io/library/neo4j:latest docker tag m.daocloud.io/docker.io/library/neo4j:latest neo4j:latest
- Просмотр журнала: Если в работе службы возникли сбои, проверьте журнал контейнера:
docker logs api-dev
сценарий применения
- Управление корпоративными знаниями
Предприятия могут загружать внутренние документы (например, руководства по эксплуатации, технические спецификации) в базу знаний или организовывать их в виде графа знаний. Сотрудники используют Yuxi-Know, чтобы задавать вопросы, например "Как настроить сервер?". Система быстро выдает ответы, сокращая время обучения. - Поддержка академических исследований
Исследователи могут загружать документы или организовывать карты предметных знаний. Например, создайте карту связей химических молекул и задайте вопрос: "Каковы химические связи атомов углерода?". Система объединяет карты и документы для получения подробных ответов и может быть объединена в сеть для добавления последних исследований. - Интеллектуальная система обслуживания клиентов
Торговцы могут вводить в систему информацию о товарах и часто задаваемые вопросы. Когда покупатель спрашивает: "Как вернуть товар?" Yuxi-Know берет ответ из базы знаний или проверяет последние правила в Интернете, чтобы предоставить точный ответ.
QA
- Как загрузить файл базы знаний?
Перейдите к разделу "Управление базой знаний" в интерфейсе, нажмите "Загрузить" и выберите файлы PDF, TXT, MD или Docx. Система автоматически обработает и сохранит их в базе данных Milvus. - Какие конфигурации требуются для сетевого поиска?
нужно быть в.env
файл для настройкиTAVILY_API_KEY
Если у вас нет ключа, вы можете зарегистрировать его через SiliconFlow или Tavily. Если у вас нет ключа, вы можете зарегистрировать его через SiliconFlow или сайт Tavily. - Как отладить локальную модель?
Убедитесь, что служба vLLM или Ollama прослушивается0.0.0.0
После запуска добавьте правильный URL в раздел "Настройки" интерфейса.docker logs api-dev
Проверьте состояние соединения. - Что делать, если импорт графа знаний не удался?
Проверьте формат файла JSONL, чтобы убедиться, что каждая строка содержитh
, иt
, иr
поля. После загрузки перезапустите службу Neo4j и убедитесь, что узел содержитEntity
Ярлыки.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...