docker-compose -f docker-compose.yml --env-file .env.dev up -d
docker-compose -f docker-compose.yml --env-file .env.dev down
main.py --env local
검색 평가를 위해 questions, ground_truth_context, retrieved_context 데이터가 필요하다. 참고: https://mlflow.org/docs/latest/llms/rag/notebooks/retriever-evaluation-tutorial.html
import pandas as pd
import mlflow
if __name__ == "__main__":
data = pd.DataFrame(
{
"questions": [
"장예모 감독의 영화를 추천해주세요.",
"이경규 감독의 작품 중 추천해주실 만한 게 있을까요?",
"장훈 감독의 작품 중 한 편을 추천해주세요.",
"조스톤 테니 감독의 영화 중 추천해주실 만한 작품이 있을까요?",
"조쉬 더하멜 감독이 만든 영화 중 추천해주실 만한 것이 있을까요?"
],
"ground_truth_context": [
["2035", "2121", "4142", "4219", "10479", "11389", "12339", "15040", "16506", "27323", "29911", "40288", "41857", "42699", "44442", "60283", "64159", "64426", "85585", "92720", "117050", "128451", "150720", "167388"],
["11354"],
["2703", "45941", "50265", "55937", "95143", "100237"],
["130646"],
["151371"]
],
"retrieved_context": [
["2035", "2121"],
["11354"],
["2703", "45941"],
["130646"],
["151371"]
]
}
)
top_k = 2
mlflow.set_tracking_uri({mlflow tracking 서버 IP})
mlflow.set_experiment({experiment 이름})
with mlflow.start_run() as run:
evaluate_results = mlflow.evaluate(
data=data,
model_type="retriever",
targets="ground_truth_context",
predictions="retrieved_context",
evaluators="default",
evaluator_config={"retriever_k": top_k}
)
Book Recommendation using Retrieval Augmented Generation | Book title, Genres, Description 데이터로 임베딩 진행
MovieGPT: A Gen AI Movie Recommender | 위키피디아로 영화 데이터 활용
Transforming Retail with RAG: The Future of Personalized Shopping | 개인화 상품 추천 RAG with rerank
A Real-time Retrieval System for RAG on Social Media Data | rerank에 cross encoder 적용
Search, Rank, and Recommendations | 유저 데이터로 rerank 대상 추가