SQLite 기반 Retrieval Augmented Generation (RAG)
요약
Haiku RAG는 SQLite 기반의 강력하고 포괄적인 Retrieval Augmented Generation (RAG) 프레임워크입니다. 이 시스템은 하이브리드 검색(Vector + Full-text), 인용문 포함 QA, 복잡한 분석을 위한 코드 실행 에이전트 등 다양한 고급 기능을 제공합니다. 로컬 우선(Local-first) 아키텍처와 CLI/Python API를 통해 개발자가 쉽게 통합할 수 있으며, AI 어시스턴트와의 연동(MCP Server) 및 웹 애플리케이션 구축까지 지원하여 엔터프라이즈급 RAG 솔루션을 완성합니다.
핵심 포인트
- **포괄적인 기능 세트:** 하이브리드 검색, 인용 기반 QA, 코드 실행을 통한 복잡한 분석 에이전트 등 고급 기능을 통합 제공합니다.
- **로컬 우선 및 유연성:** LanceDB를 내장하여 서버 없이도 작동하며, 다양한 임베딩/QA 모델(Ollama, OpenAI 등)과 연동 가능합니다.
- **다양한 배포 환경 지원:** CLI, Python API 외에도 AI 어시스턴트 통합을 위한 MCP Server와 풀스택 웹 애플리케이션 구축이 가능합니다.
- **고급 워크플로우 구현:** pydantic-graph를 활용하여 계획(Planning), 검색(Retrieval), 평가(Evaluation) 등의 Multi-agent 연구 에이전트를 지원합니다.
Agentic RAG — LanceDB, Pydantic AI, Docling 기반으로 구축.
Hybrid search — Reciprocal Rank Fusion 를 활용한 Vector + full-text 검색.
Question answering — 인용문 (페이지 번호, 섹션 제목) 포함 QA 에이전트.
Reranking — MxBAI, Cohere, Zero Entropy, 또는 vLLM 사용.
Research agents — pydantic-graph 를 통한 Multi-agent 워크플로우: 계획, 검색, 평가, 종합.
Analysis agent — 샌드박스화된 Python 코드 실행 (집계, 계산, 다문서 분석) 을 통한 복잡한 분석 작업 수행.
Conversational RAG — 세션 메모리를 가진 멀티 턴 대화용 Chat TUI 및 웹 애플리케이션.
Document structure — 전체 DoclingDocument 를 저장하여 구조 인식 컨텍스트 확장 가능.
Multiple providers — 임베딩: Ollama, OpenAI, VoyageAI, LM Studio, vLLM. QA/Research: Pydantic AI 가 지원하는 모든 모델.
Local-first — 내장 LanceDB, 서버 불필요. S3, GCS, Azure, LanceDB Cloud 지원.
CLI & Python API — 명령줄 또는 코드로부터 완전한 기능 제공.
MCP server — Claude Desktop 등 AI 어시스턴트를 위한 도구로 노출.
Visual grounding — 원본 페이지 이미지에서 하이라이트된 chunks 를 확인.
File monitoring — 디렉토리를 감시하고 변경 시 자동 인덱싱.
Time travel — --before 옵션을 사용하여 역사적 지점에서 데이터베이스 쿼리.
Inspector — 문서, chunks, 검색 결과를 탐색하는 TUI.
Python 3.12 또는 최신 버전 필요
pip install haiku.rag
모든 기능 포함: 문서 처리, 모든 임베딩 제공자, rerankers.
uv 사용? uv pip install haiku.rag
pip install haiku.rag-slim
필요한 extras 만 설치. 옵션은 Installation 문서를 참조.
참고: 임베딩 제공자 (Ollama, OpenAI 등) 필요. 설정 방법은 Tutorial 을 참조.
# PDF 인덱싱
haiku-rag add-src paper.pdf
# 검색
...
커스터마이징 옵션은 Configuration 를 참조.
from haiku.rag.client import HaikuRAG
async with HaikuRAG("research.lancedb", create=True) as rag:
# 문서 인덱싱
...
연구 에이전트 및 채팅에 대해서는 Agents 문서를 참조.
Claude Desktop 등 AI 어시스턴트와 함께 사용:
haiku-rag serve --mcp --stdio
Claude Desktop 설정 추가:
{
"mcpServers": {
"haiku-rag": {
...
문서 관리, 검색, QA, 연구를 직접 AI 어시스턴트에서 제공합니다.
작동하는 예제는 examples 디렉토리를 참조.
Docker Setup- 파일 감시 및 MCP 서버 포함 완전 Docker 배포
Web Application- CopilotKit 프론트엔드와 함께 풀스택 대화형 RAG
문서: https://ggozad.github.io/haiku.rag/
- Installation - 제공자 설정
- Architecture - 시스템 개요
- Configuration - YAML 구성
- CLI - 명령어 참조
- Python API - 완전한 API 문서
- Agents - QA 및 연구 에이전트
- Analysis Agent - 코드 실행을 통한 복잡한 분석 작업
- Applications - Chat TUI, 웹 앱, inspector
- Server - 파일 감시 및 MCP
- MCP - Model Context Protocol 통합
- Benchmarks - 성능 벤치마크
- Changelog - 버전 역사
이 프로젝트는 MIT 라이선스.
mcp-name: io.github.ggozad/haiku-rag
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기