Yuxi-Know: 지식 그래프 기반의 지능형 Q&A 플랫폼

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
11.6K 00

일반 소개

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

语析(Yuxi-Know):基于知识图谱的智能问答平台语析(Yuxi-Know):基于知识图谱的智能问答平台

 

기능 목록

  • OpenAI, 딥서치, 빈백, 스마트 스펙트럼 클리어 스피치 등 다양한 대형 모델 통화를 지원합니다.
  • 지식 그래프 쿼리를 제공하고 Neo4j를 기반으로 구조화된 데이터를 저장합니다.
  • 지원 RAG 기술을 지식창고 및 네트워크 검색과 결합하여 정확한 답변을 생성합니다.
  • 집적(집적 회로에서와 같이) DeepSeek-R1 복잡한 논리 문제를 처리하는 추론 모델.
  • API를 통해 외부 작업을 수행할 수 있는 도구 호출 기능을 제공합니다.
  • 지식창고를 구축하기 위해 여러 파일 형식(PDF, TXT, MD, Docx)을 지원합니다.
  • Milvus 벡터 데이터베이스를 사용하여 문서 벡터를 저장하고 검색하세요.
  • 간단하고 직관적인 조작이 가능한 VueJS 기반의 웹 인터페이스를 제공합니다.
  • 다음을 통해 로컬 모델 배포를 지원합니다. vLLM 어쩌면 Ollama API 서비스를 제공합니다.
  • 사용자 정의 모델 및 벡터 모델을 다양한 요구 사항에 맞게 구성할 수 있습니다.

 

도움말 사용

설치 프로세스

Yuxi-Know는 Docker 배포를 사용하여 설치 프로세스를 간소화합니다. 자세한 단계는 다음과 같습니다:

  1. 환경 준비하기
    Linux 또는 macOS의 경우 권장되며, Windows 사용자는 WSL2를 사용 설정해야 합니다. Docker가 제대로 실행 중인지 확인합니다:

    docker --version
    

    코드 복제를 위해 Git이 설치되어 있는지 확인하세요.

  2. 복제 프로젝트
    터미널에서 다음 명령을 실행하여 Yuxi-Know 코드베이스를 복제합니다:

    git clone https://github.com/xerrors/Yuxi-Know.git
    

    프로젝트 카탈로그로 이동합니다:

    cd Yuxi-Know
    
  3. 환경 변수 구성
    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
    
  4. 서비스 시작
    프로젝트 루트 디렉터리에서 다음 명령을 실행하여 모든 서비스를 시작합니다:

    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
    
  5. 액세스 시스템
    브라우저를 열고 다음 사이트를 방문하세요. http://localhost:5173/Yuxi-Know 인터페이스에 액세스할 수 있습니다. 액세스할 수 없는 경우 Docker 컨테이너 상태를 확인하세요:

    docker ps
    

    모든 컨테이너가 실행 중인지 확인합니다. 포트 충돌이 있는 경우, 컨테이너의 docker-compose.dev.yml 포트 구성은

  6. 서비스 종료
    서비스를 중지하고 컨테이너를 삭제합니다:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env down
    

주요 기능 사용

Yuxi-Know는 지식 그래프 쿼리, 지식 기반 검색, 네트워킹 검색 및 도구 호출 기능을 제공합니다. 자세한 작동 방법은 다음과 같습니다:

  1. 지식 그래프 쿼리
    Yuxi-Know는 구조화된 데이터를 쿼리하는 데 적합한 Neo4j를 사용하여 지식 그래프를 저장합니다. 예를 들어 "베이징의 수도는 무엇인가요?"라는 쿼리를 예로 들어 보겠습니다. 시스템이 지식 그래프에서 답을 추출합니다.

    • 지식창고 가져오기예를 들어 헤드 노드, 테일 노드 및 관계를 포함하는 각 줄이 포함된 JSONL 형식의 파일을 준비합니다:
      {"h": "北京", "t": "中国", "r": "首都"}
      

      인터페이스에서 "Atlas 관리"로 이동하여 JSONL 파일을 업로드합니다. 이 파일은 Neo4j에 자동으로 로드됩니다.

    • Neo4j 방문하기시작 시 http://localhost:7474/ Neo4j 패널에 액세스하려면 기본 계정은 다음과 같습니다. neo4j비밀번호는 다음과 같습니다. 0123456789.
    • 다음 사항에 유의하십시오.노드에는 다음을 포함해야 합니다. Entity 태그가 없으면 인덱스가 트리거되지 않습니다.
  2. 지식창고 검색
    이 시스템은 PDF, TXT, MD, Docx 파일 업로드를 지원하며, 이 파일은 자동으로 벡터로 변환되어 Milvus 데이터베이스에 저장됩니다. 작업 단계:

    • "지식창고 관리"로 이동하여 "파일 업로드"를 클릭합니다.
    • 파일을 선택하면 시스템에서 벡터 모델( BAAI/bge-m3)는 벡터를 생성하고 저장합니다.
    • 쿼리하려면 "문서에 언급된 AI 트렌드는 무엇인가요?"와 같은 질문을 입력합니다. 시스템이 관련 콘텐츠를 검색하여 답변을 생성합니다.
    • STH에 주목하세요.대용량 파일은 처리 속도가 느려질 수 있으므로 분할 업로드를 권장합니다.
  3. 네트워크 검색
    로컬 지식창고에서 답변할 수 없는 경우 시스템에서 네트워크 검색을 사용할 수 있습니다. 로컬 지식창고의 TAVILY_API_KEY. 작동 방법:

    • "2025년 최신 AI 기술은 무엇인가요?"와 같은 질문을 인터페이스에 입력합니다.
    • 시스템은 다음과 같이 작동합니다. Tavily API는 웹에서 정보를 크롤링하고 이를 빅 모델과 결합하여 답변을 생성합니다.
    • 결과에는 출처 링크가 표시되므로 정보를 쉽게 확인할 수 있습니다.
  4. 도구 호출
    Yuxi-Know는 날씨를 확인하거나 스크립트를 실행하는 등 API를 통해 외부 도구를 호출할 수 있도록 지원합니다. Procedure:

    • 존재 src/static/models.yaml 도구 구성 추가
      tools:
      - name: weather
      url: https://api.weather.com/v3
      api_key: 你的密钥
      
    • 인터페이스에 "오늘 상하이 날씨는 어때요?"라고 입력하세요. 시스템이 도구를 호출하고 결과를 반환합니다.

주요 기능 작동

  1. DeepSeek-R1 추론 모델
    DeepSeek-R1은 복잡한 추론 작업을 위한 Yuxi-Know의 하이라이트입니다. 작동 방식:

    • 보안 DEEPSEEK_API_KEY 어쩌면 SILICONFLOW_API_KEY 구성됨.
    • 인터페이스 모델 선택에서 deepseek-r1-250120.
    • "사과는 오렌지보다 2달러 더 비싸고, 사과 3개와 오렌지 2개는 총 16달러입니다. 오렌지는 얼마인가요?"와 같은 질문을 입력합니다. 시스템이 추론하여 "오렌지는 2달러입니다."라고 대답합니다.
    • 최첨단보다 신뢰할 수 있는 답변으로 다단계 논리 문제를 처리할 수 있습니다.
  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
      

      서비스를 다시 시작하면 새 모델을 사용할 수 있습니다.

  3. 로컬 모델 배포
    로컬 모델(예: LLaMA)을 사용해야 하는 경우 vLLM 또는 Ollama를 통해 배포할 수 있습니다. Procedure:

    • vLLM 서비스를 시작합니다:
      vllm serve /path/to/model --host 0.0.0.0 --port 8000
      
    • "설정" 인터페이스에서 로컬 모델을 추가하고 URL을 입력합니다(예 http://localhost:8000/v1).
    • 저장 후에는 네트워크가 없는 환경에서는 로컬 모델을 우선적으로 사용합니다.
  4. 벡터 모델 구성
    기본 사용 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
    

 

애플리케이션 시나리오

  1. 엔터프라이즈 지식 관리
    기업은 내부 문서(예: 운영 매뉴얼, 기술 사양)를 지식창고에 업로드하거나 지식 그래프로 정리할 수 있습니다. 직원들은 "서버를 어떻게 구성하나요?"와 같은 질문을 할 때 Yuxi-Know를 사용합니다. 시스템은 신속하게 답변을 제공하여 교육 시간을 단축합니다.
  2. 학술 연구 지원
    연구자는 논문을 업로드하거나 주제 지식 맵을 구성할 수 있습니다. 예를 들어, 화학 분자 관계 지도를 만들고 "탄소 원자의 화학 결합은 무엇인가요?"라고 질문할 수 있습니다. 이 시스템은 지도와 문서를 결합하여 자세한 답변을 반환하고 네트워크를 연결하여 최신 연구를 추가할 수 있습니다.
  3. 지능형 고객 서비스 시스템
    판매자는 제품 정보와 자주 묻는 질문을 시스템에 입력할 수 있습니다. 고객이 "제품을 반품하려면 어떻게 해야 하나요?"라고 묻는 경우 Yuxi-Know는 지식 기반에서 답변을 가져오거나 온라인에서 최신 정책을 확인하여 정확한 답변을 제공합니다.

 

QA

  1. 지식창고 파일을 업로드하려면 어떻게 하나요?
    인터페이스에서 '지식창고 관리'로 이동하여 '업로드'를 클릭하고 PDF, TXT, MD 또는 Docx 파일을 선택합니다. 시스템이 자동으로 처리하여 Milvus 데이터베이스에 저장합니다.
  2. 네트워크 검색에는 어떤 구성이 필요하나요?
    에 있어야 합니다. .env 파일을 구성하여 TAVILY_API_KEY키가 없는 경우 실리콘플로우 또는 타빌리에서 키를 등록할 수 있습니다. 키가 없는 경우 실리콘플로우 또는 타빌리 웹사이트에서 키를 등록할 수 있습니다.
  3. 로컬 모델을 디버깅하는 방법은 무엇인가요?
    vLLM 또는 Ollama 서비스가 수신 중인지 확인합니다. 0.0.0.0시작 후 인터페이스의 '설정' 섹션에 올바른 URL을 추가합니다. docker logs api-dev 연결 상태를 확인합니다.
  4. 지식 그래프 가져오기에 실패하면 어떻게 해야 하나요?
    JSONL 파일 형식을 확인하여 각 줄에 다음이 포함되어 있는지 확인하십시오. htr 필드를 추가합니다. 업로드 후 Neo4j 서비스를 다시 시작하고 노드에 Entity 레이블.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...