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(...)로 설정을 읽어 질의에 적용하면, 설정 파일만 바꿔가며 여러 검색 전략을 비교할 수 있어요.