Home
Login

생성형 AI 기반의 지능형 검색 증강 생성(RAG) 플랫폼으로, 사용자가 두 번째 두뇌를 구축하여 문서 지능형 질의응답 및 지식 관리를 구현하도록 돕습니다.

NOASSERTIONPython 38.0kQuivrHQ Last Updated: 2025-06-19

Quivr 프로젝트 상세 소개

프로젝트 개요

Quivr는 생성형 AI를 애플리케이션에 통합하는 데 중점을 둔 오픈 소스 풀 스택 검색 증강 생성(RAG) 플랫폼입니다. 이 프로젝트의 핵심 이념은 개발자가 복잡한 RAG 구현 세부 사항이 아닌 제품 자체에 집중할 수 있도록 하는 것입니다.

핵심 기능

1. 즉시 사용 가능한 RAG 솔루션

  • 고정된 RAG 아키텍처: 최적화되고 빠르고 효율적인 RAG 솔루션 제공
  • 간단한 통합: 기존 프로젝트에 몇 줄의 코드만으로 추가 가능
  • 제품 집중: 개발자는 RAG의 기본 구현 세부 사항에 신경 쓸 필요 없음

2. 다중 모델 지원

Quivr는 다음과 같은 다양한 LLM 모델을 지원합니다.

  • OpenAI GPT 시리즈
  • Anthropic Claude
  • Mistral AI
  • Gemma
  • 로컬 모델 (Ollama를 통해)

3. 유연한 파일 처리

다양한 파일 형식을 지원합니다.

  • PDF 문서
  • TXT 텍스트 파일
  • Markdown 파일
  • 사용자 정의 파서 지원

4. 사용자 정의 가능한 RAG

  • 인터넷 검색 기능 추가
  • 다양한 도구 통합
  • 사용자 정의 워크플로 구성 지원
  • 유연한 검색 전략

5. 벡터 데이터베이스 통합

다양한 벡터 저장 솔루션을 지원합니다.

  • PGVector
  • Faiss
  • 기타 주요 벡터 데이터베이스

기술 아키텍처

핵심 구성 요소

  1. quivr-core: Quivr의 핵심 라이브러리, 전체 시스템의 두뇌
  2. Megaparse 통합: Megaparse 프로젝트와 통합하여 강력한 문서 분석 기능 제공
  3. 다중 LLM 지원: 통일된 API 인터페이스로 다양한 언어 모델 지원
  4. 벡터 저장 계층: 유연한 벡터 데이터베이스 통합

작업 흐름

Quivr는 노드 기반 워크플로 구성을 채택합니다.

  • STARTfilter_historyrewriteretrievegenerate_ragEND
  • 각 노드는 사용자 정의 구성 가능
  • 과거 대화 컨텍스트 관리 지원

빠른 시작

환경 요구 사항

  • Python 3.10 이상

설치 단계

  1. 핵심 패키지 설치
pip install quivr-core
  1. 기본 RAG 예제
import tempfile
from quivr_core import Brain

if __name__ == "__main__":
    with tempfile.NamedTemporaryFile(mode="w", suffix=".txt") as temp_file:
        temp_file.write("Gold is a liquid of blue-like colour.")
        temp_file.flush()
        
        brain = Brain.from_files(
            name="test_brain",
            file_paths=[temp_file.name],
        )
        
        answer = brain.ask(
            "what is gold? answer in french"
        )
        print("answer:", answer)
  1. API 키 구성
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

고급 구성

워크플로 구성 파일 basic_rag_workflow.yaml 생성:

workflow_config:
  name: "standard RAG"
  nodes:
    - name: "START"
      edges: ["filter_history"]
    - name: "filter_history"
      edges: ["rewrite"]
    - name: "rewrite"
      edges: ["retrieve"]
    - name: "retrieve"
      edges: ["generate_rag"]
    - name: "generate_rag"
      edges: ["END"]


max_history: 10


reranker_config:
  supplier: "cohere"
  model: "rerank-multilingual-v3.0"
  top_n: 5


llm_config:
  max_input_tokens: 4000
  temperature: 0.7

스마트 대화 시스템 생성

from quivr_core import Brain
from rich.console import Console
from rich.panel import Panel
from rich.prompt import Prompt
from quivr_core.config import RetrievalConfig

brain = Brain.from_files(
    name="my smart brain",
    file_paths=["./my_first_doc.pdf", "./my_second_doc.txt"],
)


config_file_name = "./basic_rag_workflow.yaml"
retrieval_config = RetrievalConfig.from_yaml(config_file_name)

console = Console()
console.print(Panel.fit("Ask your brain !", style="bold magenta"))

while True:
    question = Prompt.ask("[bold cyan]Question[/bold cyan]")
    
    if question.lower() == "exit":
        console.print(Panel("Goodbye!", style="bold yellow"))
        break
    
    answer = brain.ask(question, retrieval_config=retrieval_config)
    console.print(f"[bold green]Quivr Assistant[/bold green]: {answer.answer}")
    console.print("-" * console.width)

brain.print_info()

기업용 애플리케이션

고객 서비스 자동화

Quivr는 AI의 힘을 활용하여 고객 만족도와 가치를 높여 고객 서비스 작업의 최대 60%를 자동화할 수 있습니다.

배포 방식

  • 개발 모드: docker compose -f docker-compose.dev.yml up --build 명령 사용
  • 프로덕션 환경: 다양한 배포 옵션 지원
  • 클라우드 플랫폼: 다양한 클라우드 서비스 제공업체에 배포 가능

커뮤니티 및 기여

기여 가이드

  • Pull Request 제출 환영
  • 프로젝트에 완전한 기여 가이드 존재
  • 활발한 커뮤니티 지원 및 토론

문서 리소스

프로젝트 장점

  1. 개발 프로세스 간소화: 복잡한 RAG 구현을 간단한 API 호출로 추상화
  2. 높은 사용자 정의 가능성: 사용자 정의 워크플로, 모델 및 도구 통합 지원
  3. 프로덕션 준비 완료: 최적화된 아키텍처로 기업용 애플리케이션에 적합
  4. 다국어 지원: 다양한 언어의 문서 처리 및 질의응답 지원
  5. 활발한 유지 관리: 지속적인 업데이트 및 개선, 활발한 커뮤니티

요약

Quivr는 개발자에게 강력하고 유연하며 사용하기 쉬운 RAG 플랫폼을 제공하여 개인 프로젝트든 기업용 애플리케이션이든 스마트 문서 질의응답 시스템을 빠르게 구축할 수 있도록 합니다. 오픈 소스 특성과 활발한 커뮤니티 지원은 "두 번째 두뇌" 애플리케이션을 구축하는 데 이상적인 선택입니다.