일반 소개
유시노우는 지식 그래프와 RAG(검색 증강 생성) 기술을 결합하여 사용자가 정확한 답변을 빠르게 얻을 수 있도록 지원하는 오픈소스 지능형 Q&A 플랫폼입니다. 지식 그래프를 저장하기 위해 Neo4j를 기반으로 하고, 백엔드와 프론트엔드를 구축하기 위해 FastAPI와 VueJS를 사용하며, OpenAI, DeepSeek, Beanbag 등과 같은 다양한 빅 모델을 지원합니다. 이 시스템은 Milvus 벡터 데이터베이스Yuxi-Know는 개발자가 지식 관리 또는 지능형 고객 서비스 시스템을 구축하는 데 적합한 네트워크 검색, DeepSeek-R1 추론 모델 및 도구 호출 기능을 제공합니다. 이 프로젝트는 배포 및 확장이 용이한 GitHub의 오픈 소스입니다.


기능 목록
- OpenAI, 딥서치, 빈백, 스마트 스펙트럼 클리어 스피치 등 다양한 대형 모델 통화를 지원합니다.
- 지식 그래프 쿼리를 제공하고 Neo4j를 기반으로 구조화된 데이터를 저장합니다.
- 지원 RAG 기술을 지식창고 및 네트워크 검색과 결합하여 정확한 답변을 생성합니다.
- 집적(집적 회로에서와 같이) DeepSeek-R1 복잡한 논리 문제를 처리하는 추론 모델.
- API를 통해 외부 작업을 수행할 수 있는 도구 호출 기능을 제공합니다.
- 지식창고를 구축하기 위해 여러 파일 형식(PDF, TXT, MD, Docx)을 지원합니다.
- Milvus 벡터 데이터베이스를 사용하여 문서 벡터를 저장하고 검색하세요.
- 간단하고 직관적인 조작이 가능한 VueJS 기반의 웹 인터페이스를 제공합니다.
- 다음을 통해 로컬 모델 배포를 지원합니다. vLLM 어쩌면 Ollama API 서비스를 제공합니다.
- 사용자 정의 모델 및 벡터 모델을 다양한 요구 사항에 맞게 구성할 수 있습니다.
도움말 사용
설치 프로세스
Yuxi-Know는 Docker 배포를 사용하여 설치 프로세스를 간소화합니다. 자세한 단계는 다음과 같습니다:
- 환경 준비하기
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, 빈백)을 사용하는 경우 해당 키를 추가합니다:
OPENAI_API_KEY=你的密钥 ARK_API_KEY=你的密钥
기본 사용 실리콘 플로우 서비스를 사용하려면
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": "首都"}
인터페이스에서 "Atlas 관리"로 이동하여 JSONL 파일을 업로드합니다. 이 파일은 Neo4j에 자동으로 로드됩니다.
- Neo4j 방문하기시작 시
http://localhost:7474/
Neo4j 패널에 액세스하려면 기본 계정은 다음과 같습니다.neo4j
비밀번호는 다음과 같습니다.0123456789
. - 다음 사항에 유의하십시오.노드에는 다음을 포함해야 합니다.
Entity
태그가 없으면 인덱스가 트리거되지 않습니다.
- 지식창고 가져오기예를 들어 헤드 노드, 테일 노드 및 관계를 포함하는 각 줄이 포함된 JSONL 형식의 파일을 준비합니다:
- 지식창고 검색
이 시스템은 PDF, TXT, MD, Docx 파일 업로드를 지원하며, 이 파일은 자동으로 벡터로 변환되어 Milvus 데이터베이스에 저장됩니다. 작업 단계:- "지식창고 관리"로 이동하여 "파일 업로드"를 클릭합니다.
- 파일을 선택하면 시스템에서 벡터 모델(
BAAI/bge-m3
)는 벡터를 생성하고 저장합니다. - 쿼리하려면 "문서에 언급된 AI 트렌드는 무엇인가요?"와 같은 질문을 입력합니다. 시스템이 관련 콘텐츠를 검색하여 답변을 생성합니다.
- STH에 주목하세요.대용량 파일은 처리 속도가 느려질 수 있으므로 분할 업로드를 권장합니다.
- 네트워크 검색
로컬 지식창고에서 답변할 수 없는 경우 시스템에서 네트워크 검색을 사용할 수 있습니다. 로컬 지식창고의TAVILY_API_KEY
. 작동 방법:- "2025년 최신 AI 기술은 무엇인가요?"와 같은 질문을 인터페이스에 입력합니다.
- 시스템은 다음과 같이 작동합니다. Tavily API는 웹에서 정보를 크롤링하고 이를 빅 모델과 결합하여 답변을 생성합니다.
- 결과에는 출처 링크가 표시되므로 정보를 쉽게 확인할 수 있습니다.
- 도구 호출
Yuxi-Know는 날씨를 확인하거나 스크립트를 실행하는 등 API를 통해 외부 도구를 호출할 수 있도록 지원합니다. Procedure:- 존재
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달러 더 비싸고, 사과 3개와 오렌지 2개는 총 16달러입니다. 오렌지는 얼마인가요?"와 같은 질문을 입력합니다. 시스템이 추론하여 "오렌지는 2달러입니다."라고 대답합니다.
- 최첨단보다 신뢰할 수 있는 답변으로 다단계 논리 문제를 처리할 수 있습니다.
- 보안
- 다중 모델 지원
이 시스템은 다양한 시나리오에 적응할 수 있도록 여러 모델 전환을 지원합니다. 작동 방법:- 인터페이스의 오른쪽 상단에 있는 드롭다운 메뉴에서 다음과 같은 모델을 선택합니다.
Qwen2.5-7B-Instruct
(실리콘플로우),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를 통해 배포할 수 있습니다. Procedure:- 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
키가 없는 경우 실리콘플로우 또는 타빌리에서 키를 등록할 수 있습니다. 키가 없는 경우 실리콘플로우 또는 타빌리 웹사이트에서 키를 등록할 수 있습니다. - 로컬 모델을 디버깅하는 방법은 무엇인가요?
vLLM 또는 Ollama 서비스가 수신 중인지 확인합니다.0.0.0.0
시작 후 인터페이스의 '설정' 섹션에 올바른 URL을 추가합니다.docker logs api-dev
연결 상태를 확인합니다. - 지식 그래프 가져오기에 실패하면 어떻게 해야 하나요?
JSONL 파일 형식을 확인하여 각 줄에 다음이 포함되어 있는지 확인하십시오.h
및t
및r
필드를 추가합니다. 업로드 후 Neo4j 서비스를 다시 시작하고 노드에Entity
레이블.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...