DevYangJC/Argus
🌱 Argus 是一个基于 RAG 架构的开源知识库平台,后端采用 Java 21 + Spring Boot + MyBatis-Plus + PostgreSQL/pgvector,前端采用 Vue 3 + TypeScript + Element Plus,AI 层基于 Spring AI Alibaba(通义千问)+ ReactAgent 图引擎,以 MinIO + Elasticsearch 为存储与检索引擎。
Argus – 엔터프라이즈급 RAG 지식 베이스 플랫폼
소개 – Argus는 자체 호스팅되는 엔드투엔드 시스템으로, 기업이 개인 문서를 수집하여 검색 가능한 임베딩과 키워드 인덱스로 변환한 다음, 실제 소스 자료를 인용하도록 강제하는 대형 언어 모델 (LLM)으로 사용자 질문에 답변할 수 있게 합니다. RAG (검색 증강 생성) 파이프라인과 순수 채팅 및 지식 베이스 검색 간 전환할 수 있는 AI-Agent를 결합하여 모두 Spring Boot + Vue 웹 UI로 래핑됩니다.
핵심 기능
| 기능 | 작동 방식 |
|---|---|
| 문서 수집 | 다중 포맷 (PDF, DOCX, MD, TXT) → 비동기 ETL 파이프라인 (파싱 → 정제 → 분할 → 임베딩) → PostgreSQL + pgvector (HNSW) 및 Elasticsearch (IK + BM25)에 저장. |
| 하이브리드 검색 | 병렬 벡터 검색 (코사인 거리) 및 키워드 검색; 결과는 **Reciprocal Rank Fusion (RRF)**으로 병합되며 이웃 윈도우 확장을 통해 보강됩니다. |
| 증거 평가 | 4단계 평점 (NONE → WEAK → PARTIAL → SUFFICIENT). 증거가 불충분하면 시스템이 답변을 거부합니다. |
| 인용 및 추적성 | 모든 답변에는 소스 문서, 청크 ID 및 관련성 점수가 포함됩니다. |
| AI Agent | Spring AI Alibaba ReactAgent 기반 구축. 에이전트는 검색 도구 호출 여부를 결정하고, 두 가지 모드 (CHAT / KB_SEARCH)를 지원하며, 3단계로 대화 기록을 압축하고 SSE를 통해 응답을 스트리밍합니다. |
| 엔터프라이즈 보안 | 역할 기반 액세스 (Admin / Owner / Manager / Member), JWT access + refresh 토큰, BCrypt 비밀번호 해싱, 그룹 수준 데이터 격리, AOP 감사 로그. |
| 협업 | 초대 코드가 있는 그룹, 승인 워크플로우, 문서 및 지식 베이스 작업에 대한 세분화된 권한. |
아키텍처 스냅샷
Frontend (Vue 3 + Element Plus) → API Gateway (JWT filter) →
├─ Auth / User / Group services
├─ Document service (MinIO storage) → Ingestion pipeline →
│ ├─ PostgreSQL + pgvector (vector index)
│ └─ Elasticsearch (keyword index)
├─ QA service (LLM query planning, hybrid RRF retrieval, evidence eval)
└─ Assistant service (ReactAgent, short‑term memory, SSE)
LLM & embeddings are provided by Alibaba DashScope (Chat + text‑embedding‑v3).
기술 스택 (리포지토리에 명시된 대로)
- 백엔드: Java 21, Spring Boot 3.5, MyBatis-Plus, PostgreSQL 16 + pgvector, Elasticsearch 8.x (IK analyzer), MinIO (S3-compatible), Spring AI Alibaba (Chat & Agent), JJWT, BCrypt, Apache PDFBox / POI.
- 프론트엔드: Vue 3 (Composition API), TypeScript, Vite, Pinia, Element Plus, Axios.
- 인프라: Docker-run Elasticsearch, MinIO; PostgreSQL with
vectorextension.
사용 대상
- LLM 환각을 피하면서 프라이빗하고 검색 가능한 지식 베이스(예: 내부 매뉴얼, 컴플라이언스 문서)가 필요한 기업.
- 소스 자료를 반드시 인용해야 하는 AI 증강 지원 포털을 구축하는 제품 팀.
- 하이브리드 검색, 증거 평가 및 에이전트 기반 채팅 인터페이스를 갖춘 완전한 RAG 스택의 참조 구현을 찾는 개발자.
빠른 시작 (요약)
- 미들웨어 실행 – PostgreSQL + pgvector, Elasticsearch + IK plugin, MinIO (Docker 명령은 README에 제공됨).
- 구성 –
backend/src/main/resources/application-local.yml을 편집하여 DB 자격 증명, MinIO 엔드포인트 및 DashScope API 키를 입력합니다. - 백엔드 시작 –
./mvnw spring-boot:run(기본 포트 10001, API 문서는/doc.html). - 프론트엔드 시작 –
npm install && npm run dev(기본 포트 5173). - 자동 생성된 관리자(
admin / admin123)로 로그인하여 문서 업로드, 그룹 생성 및 질문을 시작합니다.
라이선스
MIT – 상업 및 비상업적 용도로 무료.
위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트