대규모 언어 모델 기반 문서 이해 및 의미 검색 프레임워크로, 기업 지식 베이스 및 RAG 애플리케이션을 위해 특별히 제작되었습니다.
WeKnora - 텐센트 오픈소스 엔터프라이즈급 문서 질의응답 프레임워크
프로젝트 개요
WeKnora는 텐센트가 오픈소스화한 대규모 언어 모델(LLM) 기반의 문서 이해 및 의미 검색 프레임워크로, 복잡한 구조와 이질적인 콘텐츠를 가진 문서 시나리오를 위해 특별히 제작되었습니다. 이 프레임워크는 모듈형 아키텍처를 채택하여 멀티모달 전처리, 의미 벡터 인덱싱, 지능형 리콜(검색) 및 대규모 모델 생성 추론을 통합하여 효율적이고 제어 가능한 문서 질의응답 프로세스를 구축합니다.
공식 웹사이트: https://weknora.weixin.qq.com
GitHub 주소: https://github.com/Tencent/WeKnora
오픈소스 라이선스: MIT License
핵심 기능
🔍 정확한 이해
- PDF, Word, 이미지 등 다양한 문서 형식의 구조화된 콘텐츠 추출 지원
- 텍스트-이미지 혼합 배치 및 OCR 문자 인식을 지원하는 통합 의미 뷰 구축
- 복잡한 구조와 이질적인 콘텐츠를 처리하는 지능형 문서 파싱
🧠 지능형 추론
- RAG(Retrieval-Augmented Generation) 기술 기반
- 대규모 언어 모델을 활용하여 문서 컨텍스트 및 사용자 의도 이해
- 정확한 질의응답 및 다중 턴 대화 지원
🔧 유연한 확장
- 파싱, 임베딩, 리콜(검색)부터 생성까지 전체 프로세스 디커플링
- 모듈형 설계로 각 구성 요소를 유연하게 구성 및 확장 가능
- 통합 및 맞춤형 개발 용이
⚡ 효율적인 검색
- 키워드, 벡터, 지식 그래프 등 다양한 검색 전략 혼합
- BM25, Dense Retrieve, GraphRAG 등 검색 메커니즘 지원
- 리콜-재순위-생성 흐름을 자유롭게 조합 가능
🎯 간단하고 사용하기 쉬움
- 직관적인 웹 인터페이스 및 표준 RESTful API
- 기술 장벽 없이 빠르게 시작 가능
- 문서 드래그 앤 드롭 업로드, 원클릭 서비스 배포
🔒 안전하고 제어 가능
- 로컬 및 프라이빗 클라우드 배포 지원
- 데이터 완전 자율 제어 가능
- 엔터프라이즈급 보안 요구 사항 충족
적용 시나리오
| 적용 시나리오 | 구체적인 적용 | 핵심 가치 |
|---|---|---|
| 기업 지식 관리 | 내부 문서 검색, 규정 및 제도 질의응답, 작업 매뉴얼 조회 | 지식 검색 효율성 향상, 교육 비용 절감 |
| 연구 문헌 분석 | 논문 검색, 연구 보고서 분석, 학술 자료 정리 | 문헌 조사 가속화, 연구 의사 결정 지원 |
| 제품 기술 지원 | 제품 매뉴얼 질의응답, 기술 문서 검색, 문제 해결 | 고객 서비스 품질 향상, 기술 지원 부담 감소 |
| 법률 및 규정 준수 검토 | 계약 조항 검색, 법규 정책 조회, 사례 분석 | 규정 준수 효율성 향상, 법적 위험 감소 |
| 의료 지식 지원 | 의학 문헌 검색, 진료 지침 조회, 사례 분석 | 임상 의사 결정 지원, 진료 품질 향상 |
기능 모듈 상세 설명
문서 처리 기능
- 지원 형식: PDF, Word, Txt, Markdown, 이미지(OCR 및 캡션 포함)
- 지능형 파싱: 문서 구조 자동 인식, 핵심 콘텐츠 추출
- 멀티모달 처리: 텍스트-이미지 혼합 콘텐츠의 통합 이해
벡터화 및 검색
- 임베딩 모델: 로컬 모델, BGE, GTE API 등 지원
- 벡터 데이터베이스: PostgreSQL(pgvector), Elasticsearch
- 검색 전략: BM25 희소 검색, Dense Retrieve 밀집 검색, GraphRAG 지식 그래프 검색
대규모 모델 통합
- 모델 지원: Qwen(통이천문), DeepSeek 등 주요 대규모 모델
- 배포 방식: 로컬 배포(Ollama) 또는 외부 API 호출
- 추론 모드: 사고/비사고 모드 전환 지원
지식 그래프 기능
WeKnora는 문서를 지식 그래프로 변환하여 문서 내 다양한 단락 간의 연관 관계를 보여주는 기능을 지원합니다. 지식 그래프 기능을 활성화하면 시스템은 문서 내부의 의미론적 연관 네트워크를 분석하고 구축하여 사용자가 문서 내용을 이해하는 데 도움을 줄 뿐만 아니라 인덱싱 및 검색을 위한 구조화된 지원을 제공합니다.
기술 아키텍처
프로젝트 구조
WeKnora/
├── cmd/ # 애플리케이션 진입점
├── internal/ # 핵심 비즈니스 로직
├── config/ # 구성 파일
├── migrations/ # 데이터베이스 마이그레이션 스크립트
├── scripts/ # 시작 및 도구 스크립트
├── services/ # 각 서브 서비스 구현
├── frontend/ # 프론트엔드 프로젝트
└── docs/ # 프로젝트 문서
핵심 모듈
- 문서 파싱 모듈: 다중 형식 문서 콘텐츠 추출 및 구조화
- 벡터화 처리 모듈: 문서 콘텐츠의 의미 벡터화
- 검색 엔진 모듈: 다중 전략 검색 및 리콜(소환)
- 대규모 모델 추론 모듈: 컨텍스트 기반 지능형 질의응답 생성
빠른 시작
환경 요구 사항
- Docker
- Docker Compose
- Git
설치 단계
- 코드 저장소 복제
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
- 환경 변수 구성
cp .env.example .env
# .env 파일을 편집하고 주석에 따라 관련 구성을 입력합니다.
- 서비스 시작
# 모든 서비스 원클릭 시작
./scripts/start_all.sh
# 또는 make 명령 사용
make start-all
- 서비스 접속 시작 성공 후 다음 주소로 접속할 수 있습니다:
- 웹 UI: http://localhost
- 백엔드 API: http://localhost:8080
- 트레이싱(Jaeger): http://localhost:16686
서비스 중지
./scripts/start_all.sh --stop
# 또는
make stop-all
위챗 생태계 통합
WeKnora는 위챗 대화 오픈 플랫폼의 핵심 기술 프레임워크로서 다음 기능을 제공합니다:
- 제로 코드 배포: 지식만 업로드하면 위챗 생태계에서 지능형 질의응답 서비스를 빠르게 배포할 수 있습니다.
- 효율적인 질문 관리: 빈번한 질문의 독립적인 분류 관리를 지원합니다.
- 위챗 생태계 커버리지: 공식 계정, 미니 프로그램 등 위챗 시나리오에 원활하게 통합될 수 있습니다.
API 인터페이스
WeKnora는 다음을 지원하는 완전한 RESTful API 인터페이스를 제공합니다:
- 문서 업로드 및 관리
- 지식 베이스 작업
- 질의응답 조회
- 시스템 구성
자세한 API 문서는 다음을 참조하십시오: API Documentation
개발 및 기여
기여 유형
- 🐛 버그 수정: 시스템 결함 발견 및 수정
- ✨ 새로운 기능: 새로운 기능 제안 및 구현
- 📚 문서 개선: 프로젝트 문서 보완
- 🧪 테스트 케이스: 단위 테스트 및 통합 테스트 작성
- 🎨 UI/UX 최적화: 사용자 인터페이스 및 경험 개선
개발 규정
- Go Code Review Comments 준수
gofmt를 사용하여 코드 형식 지정- 필요한 단위 테스트 추가
- 관련 문서 업데이트
- Conventional Commits 규정 사용
제출 절차
- 개인 GitHub 계정으로 프로젝트 포크
- 기능 브랜치 생성:
git checkout -b feature/amazing-feature - 변경 사항 커밋:
git commit -m 'Add amazing feature' - 브랜치 푸시:
git push origin feature/amazing-feature - Pull Request 생성 및 변경 내용 상세 설명
장점 및 특징
- 엔터프라이즈급 안정성: 텐센트 팀 개발, 대규모 생산 환경 검증 완료
- 즉시 사용 가능: Docker 원클릭 배포, 직관적인 웹 인터페이스
- 첨단 기술: 최신 RAG 기술 및 대규모 모델 기능 기반
- 높은 사용자 정의 가능성: 모듈형 설계, 유연한 확장 및 통합 지원
- 데이터 보안: 프라이빗 배포 지원, 데이터 완전 자율 제어 가능
- 생태계 통합: 위챗 생태계와 깊이 통합, 다중 시나리오 적용 지원
요약
WeKnora는 강력하고 기술적으로 진보된 엔터프라이즈급 문서 질의응답 프레임워크입니다. 완전한 RAG 기술 스택을 제공할 뿐만 아니라 뛰어난 사용 편의성과 확장성을 갖추고 있습니다. 기업 내부 지식 관리, 연구 문헌 분석, 고객 서비스 지원 등 어떤 분야에서든 WeKnora는 효율적이고 정확한 솔루션을 제공할 수 있습니다.
오픈소스 방식을 통해 WeKnora는 광범위한 개발자와 기업에 고품질의 시작점을 제공하여 지능형 문서 질의응답 시스템 구축을 간단하고 효율적으로 만듭니다.