Quivr 실전·API — Basic RAG 워크플로

Quivr 실전·API

Quivr는 quivr-core 한 패키지로 30초 안에 RAG를 만들 수 있게 설계됐어요. Python 3.10 이상만 있으면 돼요.

설치 (30초)

pip install quivr-core

5줄로 시작하는 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)

Brain.from_files로 파일을 넣고, brain.ask(...)로 질문하면 관련 문서를 근거로 답을 만들어요.

API 키 설정

import os
os.environ["OPENAI_API_KEY"] = "myopenai_apikey"

OpenAI 외에도 Anthropic·Mistral API, Ollama 로컬 모델을 지원해요.

Basic RAG 워크플로 (YAML)

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

워크플로는 START → filter_history → rewrite → retrieve → generate_rag → END 노드로 흐르고, 리랭커(cohere)와 LLM 파라미터를 설정할 수 있어요.

채팅 실행

from quivr_core import Brain
from quivr_core.config import RetrievalConfig

retrieval_config = RetrievalConfig.from_yaml("./basic_rag_workflow.yaml")
answer = brain.ask(question, retrieval_config=retrieval_config)
print(answer.answer)

RetrievalConfig.from_yaml(...)로 설정을 읽어 질의에 적용하면, 설정 파일만 바꿔가며 여러 검색 전략을 비교할 수 있어요.

더 알아보기