|
|
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) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print("\n" + "="*60) |
|
|
print("RAG νμ΄νλΌμΈ μ΄κΈ°ν") |
|
|
print("="*60) |
|
|
|
|
|
rag = RAGPipeline(config=config) |
|
|
|
|
|
|
|
|
print("\n" + "="*60) |
|
|
print("ν
μ€νΈ 쿼리") |
|
|
print("="*60) |
|
|
|
|
|
test_queries = [ |
|
|
"νμλνκ΅μ νΉμ±ν κ΅μ‘νκ²½ κ΅¬μΆ μ¬μ
μ 무μμΈκ°μ?", |
|
|
"μ¬λ μμ κ΄λ¦¬ μμ€ν
κ΅¬μΆ μ¬μ
μ μ΄λ€ κ²μ΄ μλμ?", |
|
|
] |
|
|
|
|
|
for query in test_queries: |
|
|
result = rag.generate_answer(query) |
|
|
rag.print_result(result) |
|
|
print("\n") |
|
|
|
|
|
|
|
|
print("\n" + "="*60) |
|
|
print("μμ€ν
νκ°") |
|
|
print("="*60) |
|
|
|
|
|
evaluator = RAGEvaluator(rag) |
|
|
eval_results = evaluator.evaluate() |
|
|
|
|
|
print("\n" + "="*60) |
|
|
print("β
λͺ¨λ μμ
μλ£") |
|
|
print("="*60) |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
main() |