File size: 1,763 Bytes
4739096 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import os
from RAG_pipeline_v1.rag_config import RAGConfig
from RAG_pipeline_v1.rag_data_processing import RAGVectorDBPipeline
from RAG_pipeline_v1.rag_pipeline import RAGPipeline
from RAG_pipeline_v1.rag_evaluator import RAGEvaluator
def main():
"""λ©μΈ μ€ν ν¨μ"""
# ===== νκ²½ μ€μ =====
print("="*60)
print("RAG μμ€ν
μ΄κΈ°ν")
print("="*60)
os.environ["OPENAI_API_KEY"] = RAGConfig.OPENAI_API_KEY
config = RAGConfig()
config.validate()
print(config)
# ===== 1. Vector DB κ΅¬μΆ (μ΅μ΄ 1νλ§) =====
# μ£Όμ ν΄μ νμ¬ μ€ν
# print("\n" + "="*60)
# print("Vector DB ꡬμΆ")
# print("="*60)
# db_pipeline = RAGVectorDBPipeline(config)
# vectorstore = db_pipeline.build()
# db_pipeline.test_search()
# ===== 2. RAG νμ΄νλΌμΈ μ΄κΈ°ν =====
print("\n" + "="*60)
print("RAG νμ΄νλΌμΈ μ΄κΈ°ν")
print("="*60)
rag = RAGPipeline(config=config)
# ===== 3. ν
μ€νΈ 쿼리 =====
print("\n" + "="*60)
print("ν
μ€νΈ 쿼리")
print("="*60)
test_queries = [
"νμλνκ΅μ νΉμ±ν κ΅μ‘νκ²½ κ΅¬μΆ μ¬μ
μ 무μμΈκ°μ?",
"μ¬λ μμ κ΄λ¦¬ μμ€ν
κ΅¬μΆ μ¬μ
μ μ΄λ€ κ²μ΄ μλμ?",
]
for query in test_queries:
result = rag.generate_answer(query)
rag.print_result(result)
print("\n")
# ===== 4. νκ° =====
print("\n" + "="*60)
print("μμ€ν
νκ°")
print("="*60)
evaluator = RAGEvaluator(rag)
eval_results = evaluator.evaluate()
print("\n" + "="*60)
print("β
λͺ¨λ μμ
μλ£")
print("="*60)
if __name__ == "__main__":
main() |