AutoRAG 0.2.6__tar.gz → 0.2.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/PKG-INFO +5 -4
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/SOURCES.txt +16 -16
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/requires.txt +2 -2
- {autorag-0.2.6 → autorag-0.2.7}/PKG-INFO +5 -4
- autorag-0.2.7/autorag/VERSION +1 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/dashboard.py +2 -2
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/generation.py +2 -2
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/generation.py +1 -1
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/retrieval.py +4 -3
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/retrieval_contents.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/evaluator.py +4 -4
- {autorag-0.2.6 → autorag-0.2.7}/autorag/node_line.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/run.py +5 -4
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passageaugmenter/base.py +5 -25
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passageaugmenter/run.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/run.py +3 -3
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/base.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/run.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +9 -2
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +7 -21
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/base.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/run.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/upr.py +9 -26
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/promptmaker/run.py +3 -3
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/run.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/base.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/run.py +3 -3
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/vectordb.py +7 -1
- {autorag-0.2.6 → autorag-0.2.7}/autorag/utils/util.py +23 -1
- autorag-0.2.7/docs/source/api_spec/autorag.evaluation.metric.rst +45 -0
- autorag-0.2.7/docs/source/api_spec/autorag.evaluation.rst +53 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.rst +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/data_creation/data_format.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/data_creation/ragas.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/data_creation/tutorial.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/deploy/api_endpoint.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/deploy/web.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/evaluate_metrics/generation.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/evaluate_metrics/retrieval.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/evaluate_metrics/retrieval_contents.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/index.rst +5 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/install.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/local_model.md +19 -15
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/generator/generator.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/generator/llama_index_llm.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/generator/openai_llm.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/generator/vllm.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/index.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_augmenter/passage_augmenter.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_compressor/longllmlingua.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_compressor/passage_compressor.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_compressor/refine.md +8 -1
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_compressor/tree_summarize.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/passage_filter.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/percentile_cutoff.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/recency_filter.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_filter/threshold_cutoff.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/cohere.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/colbert.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +8 -1
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/jina_reranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/koreranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/monot5.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/passage_reranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/rankgpt.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/tart.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/time_reranker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/passage_reranker/upr.md +7 -5
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/prompt_maker/fstring.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/prompt_maker/long_context_reorder.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/prompt_maker/prompt_maker.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/query_expansion/hyde.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/query_expansion/multi_query_expansion.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/query_expansion/query_decompose.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/query_expansion/query_expansion.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/bm25.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/hybrid_cc.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/hybrid_dbsf.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/hybrid_rrf.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/hybrid_rsf.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/retrieval.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/nodes/retrieval/vectordb.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/optimization/custom_config.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/optimization/folder_structure.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/optimization/optimization.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/optimization/strategies.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/roadmap/modular_rag.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/structure.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/troubleshooting.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/tutorial.md +7 -0
- {autorag-0.2.6 → autorag-0.2.7}/pyproject.toml +2 -1
- {autorag-0.2.6 → autorag-0.2.7}/requirements.txt +3 -2
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/metric/test_generation_metric.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/metric/test_retrieval_metric.py +3 -2
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/test_evaluate_util.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/test_generation_evaluate.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/evaluate/test_retrieval_evaluate.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +1 -1
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_vectordb.py +5 -5
- autorag-0.2.6/autorag/VERSION +0 -1
- autorag-0.2.6/docs/source/api_spec/autorag.evaluate.metric.rst +0 -45
- autorag-0.2.6/docs/source/api_spec/autorag.evaluate.rst +0 -53
- {autorag-0.2.6 → autorag-0.2.7}/.github/FUNDING.yml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/.github/dependabot.yml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/.github/workflows/publish.yml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/.github/workflows/sphinx.yml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/.github/workflows/test.yml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/.gitignore +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/dependency_links.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/entry_points.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/AutoRAG.egg-info/top_level.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/CODE_OF_CONDUCT.md +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/CONTRIBUTING.md +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/LICENSE +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/README.md +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/cli.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/corpus/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/corpus/langchain.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/corpus/llama_index.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/llama_index.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/llama_index_default_prompt.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/ragas.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/qacreation/simple.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/utils/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/data/utils/util.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/deploy.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/__init__.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/__init__.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/g_eval_prompts/coh_detailed.txt +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/g_eval_prompts/con_detailed.txt +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/g_eval_prompts/flu_detailed.txt +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/g_eval_prompts/rel_detailed.txt +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/retrieval.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/retrieval_contents.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/metric/util.py +0 -0
- {autorag-0.2.6/autorag/evaluate → autorag-0.2.7/autorag/evaluation}/util.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/llama_index_llm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/openai_llm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/generator/vllm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passageaugmenter/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/longllmlingua.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/refine.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/recency.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/cohere.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/colbert.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/jina.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/koreranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/monot5.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/rankgpt.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/tart/tart.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/passagereranker/time_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/promptmaker/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/promptmaker/base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/promptmaker/fstring.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/hyde.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/multi_query_expansion.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/queryexpansion/query_decompose.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/bm25.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/hybrid_cc.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/hybrid_dbsf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/hybrid_rrf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/nodes/retrieval/hybrid_rsf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/schema/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/schema/module.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/schema/node.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/strategy.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/support.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/utils/__init__.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/utils/preprocess.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/autorag/web.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/Makefile +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/make.bat +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/requirements.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/CNAME +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/data_creation.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/data_folder.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/dcg.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/f1_score.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/map.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/mrr.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/ndcg.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/ndcg_formula.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/node_folder.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/node_line_folder.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/node_line_summary.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/node_lines.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/node_summary.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/normal_distribution.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/project_folder_example.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/project_folders.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/resources_folder.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/advanced_RAG.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/cycle.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/merger.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/node_line_modular.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/roadmap/policy.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/samsung_sundae.jpeg +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/score_fusion.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/trial_folder.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/trial_json.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/trial_summary.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/_static/web_interface.png +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.data.corpus.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.data.qacreation.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.data.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.data.utils.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.generator.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.passagecompressor.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.passagefilter.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.passagereranker.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.promptmaker.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.queryexpansion.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.retrieval.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.nodes.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.schema.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/autorag.utils.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/api_spec/modules.rst +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/conf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/docs/source/optimization/sample_full_config.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/compact_local.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/compact_openai.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/config_korean.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/extracted_sample.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/full.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/simple_local.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_config/simple_openai.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_dataset/README.md +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/setup.cfg +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/corpus/test_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/corpus/test_langchain.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/corpus/test_llama_index_corpus.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/qacreation/test_base_qacreation.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/qacreation/test_llama_index_qacreation.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/qacreation/test_ragas_qa_creation.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/data/qacreation/test_simple.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/generator/test_generator_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/generator/test_llama_index_llm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/generator/test_openai.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/generator/test_run_generator_node.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/generator/test_vllm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_refine.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_recency_filter.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_flag_embedding.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_jina_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_koreranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_monot5.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_pass_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_rankgpt.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_tart.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_time_reranker.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/passagereranker/test_upr.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/promptmaker/test_fstring.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_hyde.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_query_decompose.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_bm25.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_hybrid_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_hybrid_cc.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_hybrid_dbsf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_hybrid_rrf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_hybrid_rsf.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_retrieval_base.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/nodes/retrieval/test_run_retrieval_node.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/schema/test_module_schema.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/schema/test_node_schema.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_cli.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_dashboard.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_deploy.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_evaluator.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_strategy.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_support.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/test_web.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/utils/test_preprocess.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/autorag/utils/test_util.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/conftest.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/delete_tests.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/mock.py +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/requirements.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/README.md +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/corpus_data_sample.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/data_creation/raw_dir/sample1.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/data_creation/raw_dir/sample2.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/data_creation/raw_dir/sample3.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/full.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/qa_data_sample.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/qa_gen_prompts/prompt1.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/qa_gen_prompts/prompt2.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/qa_gen_prompts/prompt3.txt +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/qa_test_data_sample.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/config.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/2.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/3.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/4.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/5.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/best_5.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/0/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/config.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/passage_filter/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/1/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/config.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/2/retrieve_node_line/summary.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/3/config.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/best.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/data/corpus.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/data/qa.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/resources/chroma/chroma.sqlite3 +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/result_project/trial.json +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/sample_contents_nqa.csv +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/sample_project/data/corpus.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/sample_project/data/qa.parquet +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/simple.yaml +0 -0
- {autorag-0.2.6 → autorag-0.2.7}/tests/resources/test_bm25_retrieval.pkl +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: AutoRAG
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.7
|
|
4
4
|
Summary: Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.
|
|
5
5
|
Author-email: Marker-Inc <vkehfdl1@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -210,16 +210,17 @@ Keywords: RAG,AutoRAG,autorag,rag-evaluation,evaluation,rag-auto,AutoML,AutoML-R
|
|
|
210
210
|
Classifier: Intended Audience :: Developers
|
|
211
211
|
Classifier: Intended Audience :: Information Technology
|
|
212
212
|
Classifier: Intended Audience :: Science/Research
|
|
213
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
214
213
|
Classifier: Programming Language :: Python :: 3.9
|
|
215
214
|
Classifier: Programming Language :: Python :: 3.10
|
|
215
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
216
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
216
217
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
217
218
|
Classifier: Topic :: Software Development :: Libraries
|
|
218
219
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
219
220
|
Requires-Python: >=3.8
|
|
220
221
|
Description-Content-Type: text/markdown
|
|
221
222
|
License-File: LICENSE
|
|
222
|
-
Requires-Dist: numpy
|
|
223
|
+
Requires-Dist: numpy<2.0.0
|
|
223
224
|
Requires-Dist: pandas
|
|
224
225
|
Requires-Dist: tqdm
|
|
225
226
|
Requires-Dist: tiktoken>=0.7.0
|
|
@@ -248,11 +249,11 @@ Requires-Dist: bert_score
|
|
|
248
249
|
Requires-Dist: sentence-transformers
|
|
249
250
|
Requires-Dist: FlagEmbedding
|
|
250
251
|
Requires-Dist: ragas
|
|
251
|
-
Requires-Dist: ray
|
|
252
252
|
Requires-Dist: kiwipiepy
|
|
253
253
|
Requires-Dist: llmlingua
|
|
254
254
|
Requires-Dist: llama-index>=0.10.1
|
|
255
255
|
Requires-Dist: llama-index-core>=0.10.1
|
|
256
|
+
Requires-Dist: llama-index-readers-file
|
|
256
257
|
Requires-Dist: llama-index-embeddings-openai
|
|
257
258
|
Requires-Dist: llama-index-embeddings-huggingface
|
|
258
259
|
Requires-Dist: llama-index-llms-openai
|
|
@@ -38,20 +38,20 @@ autorag/data/qacreation/ragas.py
|
|
|
38
38
|
autorag/data/qacreation/simple.py
|
|
39
39
|
autorag/data/utils/__init__.py
|
|
40
40
|
autorag/data/utils/util.py
|
|
41
|
-
autorag/
|
|
42
|
-
autorag/
|
|
43
|
-
autorag/
|
|
44
|
-
autorag/
|
|
45
|
-
autorag/
|
|
46
|
-
autorag/
|
|
47
|
-
autorag/
|
|
48
|
-
autorag/
|
|
49
|
-
autorag/
|
|
50
|
-
autorag/
|
|
51
|
-
autorag/
|
|
52
|
-
autorag/
|
|
53
|
-
autorag/
|
|
54
|
-
autorag/
|
|
41
|
+
autorag/evaluation/__init__.py
|
|
42
|
+
autorag/evaluation/generation.py
|
|
43
|
+
autorag/evaluation/retrieval.py
|
|
44
|
+
autorag/evaluation/retrieval_contents.py
|
|
45
|
+
autorag/evaluation/util.py
|
|
46
|
+
autorag/evaluation/metric/__init__.py
|
|
47
|
+
autorag/evaluation/metric/generation.py
|
|
48
|
+
autorag/evaluation/metric/retrieval.py
|
|
49
|
+
autorag/evaluation/metric/retrieval_contents.py
|
|
50
|
+
autorag/evaluation/metric/util.py
|
|
51
|
+
autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt
|
|
52
|
+
autorag/evaluation/metric/g_eval_prompts/con_detailed.txt
|
|
53
|
+
autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt
|
|
54
|
+
autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt
|
|
55
55
|
autorag/nodes/__init__.py
|
|
56
56
|
autorag/nodes/generator/__init__.py
|
|
57
57
|
autorag/nodes/generator/base.py
|
|
@@ -170,8 +170,8 @@ docs/source/api_spec/autorag.data.corpus.rst
|
|
|
170
170
|
docs/source/api_spec/autorag.data.qacreation.rst
|
|
171
171
|
docs/source/api_spec/autorag.data.rst
|
|
172
172
|
docs/source/api_spec/autorag.data.utils.rst
|
|
173
|
-
docs/source/api_spec/autorag.
|
|
174
|
-
docs/source/api_spec/autorag.
|
|
173
|
+
docs/source/api_spec/autorag.evaluation.metric.rst
|
|
174
|
+
docs/source/api_spec/autorag.evaluation.rst
|
|
175
175
|
docs/source/api_spec/autorag.nodes.generator.rst
|
|
176
176
|
docs/source/api_spec/autorag.nodes.passageaugmenter.rst
|
|
177
177
|
docs/source/api_spec/autorag.nodes.passagecompressor.rst
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
numpy
|
|
1
|
+
numpy<2.0.0
|
|
2
2
|
pandas
|
|
3
3
|
tqdm
|
|
4
4
|
tiktoken>=0.7.0
|
|
@@ -27,11 +27,11 @@ bert_score
|
|
|
27
27
|
sentence-transformers
|
|
28
28
|
FlagEmbedding
|
|
29
29
|
ragas
|
|
30
|
-
ray
|
|
31
30
|
kiwipiepy
|
|
32
31
|
llmlingua
|
|
33
32
|
llama-index>=0.10.1
|
|
34
33
|
llama-index-core>=0.10.1
|
|
34
|
+
llama-index-readers-file
|
|
35
35
|
llama-index-embeddings-openai
|
|
36
36
|
llama-index-embeddings-huggingface
|
|
37
37
|
llama-index-llms-openai
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: AutoRAG
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.7
|
|
4
4
|
Summary: Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.
|
|
5
5
|
Author-email: Marker-Inc <vkehfdl1@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -210,16 +210,17 @@ Keywords: RAG,AutoRAG,autorag,rag-evaluation,evaluation,rag-auto,AutoML,AutoML-R
|
|
|
210
210
|
Classifier: Intended Audience :: Developers
|
|
211
211
|
Classifier: Intended Audience :: Information Technology
|
|
212
212
|
Classifier: Intended Audience :: Science/Research
|
|
213
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
214
213
|
Classifier: Programming Language :: Python :: 3.9
|
|
215
214
|
Classifier: Programming Language :: Python :: 3.10
|
|
215
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
216
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
216
217
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
217
218
|
Classifier: Topic :: Software Development :: Libraries
|
|
218
219
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
219
220
|
Requires-Python: >=3.8
|
|
220
221
|
Description-Content-Type: text/markdown
|
|
221
222
|
License-File: LICENSE
|
|
222
|
-
Requires-Dist: numpy
|
|
223
|
+
Requires-Dist: numpy<2.0.0
|
|
223
224
|
Requires-Dist: pandas
|
|
224
225
|
Requires-Dist: tqdm
|
|
225
226
|
Requires-Dist: tiktoken>=0.7.0
|
|
@@ -248,11 +249,11 @@ Requires-Dist: bert_score
|
|
|
248
249
|
Requires-Dist: sentence-transformers
|
|
249
250
|
Requires-Dist: FlagEmbedding
|
|
250
251
|
Requires-Dist: ragas
|
|
251
|
-
Requires-Dist: ray
|
|
252
252
|
Requires-Dist: kiwipiepy
|
|
253
253
|
Requires-Dist: llmlingua
|
|
254
254
|
Requires-Dist: llama-index>=0.10.1
|
|
255
255
|
Requires-Dist: llama-index-core>=0.10.1
|
|
256
|
+
Requires-Dist: llama-index-readers-file
|
|
256
257
|
Requires-Dist: llama-index-embeddings-openai
|
|
257
258
|
Requires-Dist: llama-index-embeddings-huggingface
|
|
258
259
|
Requires-Dist: llama-index-llms-openai
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.2.7
|
|
@@ -77,7 +77,7 @@ def node_view(node_dir: str):
|
|
|
77
77
|
'float': NumberFormatter(format='0.000'),
|
|
78
78
|
'bool': BooleanFormatter(),
|
|
79
79
|
}
|
|
80
|
-
first_df = pd.read_parquet(os.path.join(node_dir, '0.parquet'))
|
|
80
|
+
first_df = pd.read_parquet(os.path.join(node_dir, '0.parquet'), engine='pyarrow')
|
|
81
81
|
|
|
82
82
|
each_module_df_widget = pn.widgets.Tabulator(pd.DataFrame(columns=first_df.columns), name='Module DataFrame',
|
|
83
83
|
formatters=bokeh_formatters,
|
|
@@ -87,7 +87,7 @@ def node_view(node_dir: str):
|
|
|
87
87
|
if event.column == 'detail':
|
|
88
88
|
filename = summary_df['filename'].iloc[event.row]
|
|
89
89
|
filepath = os.path.join(node_dir, filename)
|
|
90
|
-
each_module_df = pd.read_parquet(filepath)
|
|
90
|
+
each_module_df = pd.read_parquet(filepath, engine='pyarrow')
|
|
91
91
|
each_module_df_widget.value = each_module_df
|
|
92
92
|
|
|
93
93
|
df_widget = pn.widgets.Tabulator(summary_df, name='Summary DataFrame', formatters=bokeh_formatters,
|
|
@@ -4,8 +4,8 @@ from typing import List, Callable, Union, Dict
|
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
|
|
7
|
-
from autorag.
|
|
8
|
-
from autorag.
|
|
7
|
+
from autorag.evaluation.metric.generation import bleu, meteor, rouge, sem_score, g_eval, bert_score
|
|
8
|
+
from autorag.evaluation.util import cast_metrics
|
|
9
9
|
|
|
10
10
|
GENERATION_METRIC_FUNC_DICT = {func.__name__: func for func in
|
|
11
11
|
[bleu, meteor, rouge, sem_score, g_eval, bert_score]}
|
|
@@ -15,7 +15,7 @@ from rouge_score import tokenizers
|
|
|
15
15
|
from rouge_score.rouge_scorer import RougeScorer
|
|
16
16
|
|
|
17
17
|
from autorag import embedding_models
|
|
18
|
-
from autorag.
|
|
18
|
+
from autorag.evaluation.metric.util import calculate_cosine_similarity
|
|
19
19
|
from autorag.utils.util import process_batch, openai_truncate_by_token
|
|
20
20
|
|
|
21
21
|
|
|
@@ -4,9 +4,10 @@ from typing import List, Callable, Any, Tuple, Optional, Union, Dict
|
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
|
|
7
|
-
from autorag.
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
from autorag.evaluation.metric import (retrieval_recall, retrieval_precision, retrieval_f1, retrieval_ndcg,
|
|
8
|
+
retrieval_mrr,
|
|
9
|
+
retrieval_map)
|
|
10
|
+
from autorag.evaluation.util import cast_metrics
|
|
10
11
|
|
|
11
12
|
RETRIEVAL_METRIC_FUNC_DICT = {func.__name__: func for func in
|
|
12
13
|
[retrieval_recall, retrieval_precision, retrieval_f1, retrieval_ndcg, retrieval_mrr,
|
|
@@ -3,7 +3,7 @@ from typing import List, Callable, Any, Tuple
|
|
|
3
3
|
|
|
4
4
|
import pandas as pd
|
|
5
5
|
|
|
6
|
-
from autorag.
|
|
6
|
+
from autorag.evaluation.metric import retrieval_token_f1, retrieval_token_precision, retrieval_token_recall
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def evaluate_retrieval_contents(retrieval_gt: List[List[str]], metrics: List[str]):
|
|
@@ -56,8 +56,8 @@ class Evaluator:
|
|
|
56
56
|
raise ValueError(f"QA data path {qa_data_path} is not a parquet file.")
|
|
57
57
|
if not corpus_data_path.endswith('.parquet'):
|
|
58
58
|
raise ValueError(f"Corpus data path {corpus_data_path} is not a parquet file.")
|
|
59
|
-
self.qa_data = pd.read_parquet(qa_data_path)
|
|
60
|
-
self.corpus_data = pd.read_parquet(corpus_data_path)
|
|
59
|
+
self.qa_data = pd.read_parquet(qa_data_path, engine='pyarrow')
|
|
60
|
+
self.corpus_data = pd.read_parquet(corpus_data_path, engine='pyarrow')
|
|
61
61
|
self.qa_data = cast_qa_dataset(self.qa_data)
|
|
62
62
|
self.corpus_data = cast_corpus_dataset(self.corpus_data)
|
|
63
63
|
self.project_dir = project_dir if project_dir is not None else os.getcwd()
|
|
@@ -184,7 +184,7 @@ class Evaluator:
|
|
|
184
184
|
def _load_node_lines(yaml_path: str) -> Dict[str, List[Node]]:
|
|
185
185
|
if not os.path.exists(yaml_path):
|
|
186
186
|
raise ValueError(f"YAML file {yaml_path} does not exist.")
|
|
187
|
-
with open(yaml_path, 'r') as stream:
|
|
187
|
+
with open(yaml_path, 'r', encoding='utf-8') as stream:
|
|
188
188
|
try:
|
|
189
189
|
yaml_dict = yaml.safe_load(stream)
|
|
190
190
|
except yaml.YAMLError as exc:
|
|
@@ -299,7 +299,7 @@ class Evaluator:
|
|
|
299
299
|
|
|
300
300
|
previous_node_dir = os.path.join(trial_path, previous_node_line, previous_node)
|
|
301
301
|
best_file_pattern = f'{previous_node_dir}/best_*.parquet'
|
|
302
|
-
previous_result = pd.read_parquet(glob.glob(best_file_pattern)[0])
|
|
302
|
+
previous_result = pd.read_parquet(glob.glob(best_file_pattern)[0], engine='pyarrow')
|
|
303
303
|
return previous_result
|
|
304
304
|
|
|
305
305
|
@staticmethod
|
|
@@ -38,7 +38,7 @@ def run_node_line(nodes: List[Node],
|
|
|
38
38
|
qa_path = os.path.join(project_dir, "data", "qa.parquet")
|
|
39
39
|
if not os.path.exists(qa_path):
|
|
40
40
|
raise ValueError(f"qa.parquet does not exist in {qa_path}.")
|
|
41
|
-
previous_result = pd.read_parquet(qa_path)
|
|
41
|
+
previous_result = pd.read_parquet(qa_path, engine='pyarrow')
|
|
42
42
|
|
|
43
43
|
summary_lst = []
|
|
44
44
|
for node in nodes:
|
|
@@ -4,8 +4,8 @@ from typing import Callable, List, Dict, Union
|
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
|
|
7
|
-
from autorag.
|
|
8
|
-
from autorag.
|
|
7
|
+
from autorag.evaluation import evaluate_generation
|
|
8
|
+
from autorag.evaluation.util import cast_metrics
|
|
9
9
|
from autorag.strategy import measure_speed, filter_by_threshold, select_best
|
|
10
10
|
|
|
11
11
|
|
|
@@ -35,7 +35,7 @@ def run_generator_node(modules: List[Callable],
|
|
|
35
35
|
node_dir = os.path.join(node_line_dir, "generator") # node name
|
|
36
36
|
if not os.path.exists(node_dir):
|
|
37
37
|
os.makedirs(node_dir)
|
|
38
|
-
qa_data = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))
|
|
38
|
+
qa_data = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')
|
|
39
39
|
if 'generation_gt' not in qa_data.columns:
|
|
40
40
|
raise ValueError("You must have 'generation_gt' column in qa.parquet.")
|
|
41
41
|
generation_gt = list(map(lambda x: x.tolist(), qa_data['generation_gt'].tolist()))
|
|
@@ -51,7 +51,8 @@ def run_generator_node(modules: List[Callable],
|
|
|
51
51
|
metric_names, metric_params = cast_metrics(strategies.get('metrics'))
|
|
52
52
|
if metric_names is None or len(metric_names) <= 0:
|
|
53
53
|
raise ValueError("You must at least one metrics for generator evaluation.")
|
|
54
|
-
results = list(
|
|
54
|
+
results = list(
|
|
55
|
+
map(lambda result: evaluate_generator_node(result, generation_gt, strategies.get('metrics')), results))
|
|
55
56
|
|
|
56
57
|
# save results to folder
|
|
57
58
|
filepaths = list(map(lambda x: os.path.join(node_dir, f'{x}.parquet'), range(len(modules))))
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import functools
|
|
2
|
-
import itertools
|
|
3
2
|
import logging
|
|
4
3
|
import os
|
|
5
4
|
from pathlib import Path
|
|
@@ -7,13 +6,12 @@ from typing import List, Union, Tuple
|
|
|
7
6
|
|
|
8
7
|
import numpy as np
|
|
9
8
|
import pandas as pd
|
|
10
|
-
import torch
|
|
11
9
|
|
|
12
10
|
from autorag import embedding_models
|
|
13
|
-
from autorag.
|
|
11
|
+
from autorag.evaluation.metric.util import calculate_cosine_similarity
|
|
14
12
|
from autorag.utils import (result_to_dataframe, validate_qa_dataset, fetch_contents, sort_by_scores,
|
|
15
13
|
validate_corpus_dataset, cast_corpus_dataset)
|
|
16
|
-
from autorag.utils.util import
|
|
14
|
+
from autorag.utils.util import filter_dict_keys, select_top_k, embedding_query_content
|
|
17
15
|
|
|
18
16
|
logger = logging.getLogger("AutoRAG")
|
|
19
17
|
|
|
@@ -37,7 +35,7 @@ def passage_augmenter_node(func):
|
|
|
37
35
|
assert "retrieved_ids" in previous_result.columns, "previous_result must have retrieved_ids column."
|
|
38
36
|
ids = previous_result["retrieved_ids"].tolist()
|
|
39
37
|
|
|
40
|
-
corpus_df = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"))
|
|
38
|
+
corpus_df = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"), engine='pyarrow')
|
|
41
39
|
validate_corpus_dataset(corpus_df)
|
|
42
40
|
|
|
43
41
|
# get top_k
|
|
@@ -59,8 +57,9 @@ def passage_augmenter_node(func):
|
|
|
59
57
|
|
|
60
58
|
# set embedding model for getting scores
|
|
61
59
|
embedding_model_str = kwargs.pop("embedding_model", 'openai')
|
|
60
|
+
embedding_model = embedding_models[embedding_model_str]
|
|
62
61
|
query_embeddings, contents_embeddings = embedding_query_content(queries, augmented_contents,
|
|
63
|
-
|
|
62
|
+
embedding_model, batch=128)
|
|
64
63
|
|
|
65
64
|
# get scores from calculated cosine similarity
|
|
66
65
|
augmented_scores = [
|
|
@@ -87,22 +86,3 @@ def passage_augmenter_node(func):
|
|
|
87
86
|
return results['contents'].tolist(), results['ids'].tolist(), results['scores'].tolist()
|
|
88
87
|
|
|
89
88
|
return wrapper
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
def embedding_query_content(queries: List[str], contents_list: List[List[str]],
|
|
93
|
-
embedding_model: str, batch: int = 128):
|
|
94
|
-
embedding_model = embedding_models[embedding_model]
|
|
95
|
-
|
|
96
|
-
# Embedding using batch
|
|
97
|
-
embedding_model.embed_batch_size = batch
|
|
98
|
-
query_embeddings = embedding_model.get_text_embedding_batch(queries)
|
|
99
|
-
|
|
100
|
-
content_lengths = list(map(len, contents_list))
|
|
101
|
-
content_embeddings_flatten = embedding_model.get_text_embedding_batch(list(
|
|
102
|
-
itertools.chain.from_iterable(contents_list)))
|
|
103
|
-
content_embeddings = reconstruct_list(content_embeddings_flatten, content_lengths)
|
|
104
|
-
|
|
105
|
-
del embedding_model
|
|
106
|
-
if torch.cuda.is_available():
|
|
107
|
-
torch.cuda.empty_cache()
|
|
108
|
-
return query_embeddings, content_embeddings
|
|
@@ -20,7 +20,7 @@ def run_passage_augmenter_node(modules: List[Callable],
|
|
|
20
20
|
if not os.path.exists(node_line_dir):
|
|
21
21
|
os.makedirs(node_line_dir)
|
|
22
22
|
project_dir = pathlib.PurePath(node_line_dir).parent.parent
|
|
23
|
-
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))
|
|
23
|
+
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')
|
|
24
24
|
retrieval_gt = qa_df['retrieval_gt'].tolist()
|
|
25
25
|
retrieval_gt = [[[str(uuid) for uuid in sub_array] if sub_array.size > 0 else [] for sub_array in inner_array]
|
|
26
26
|
for inner_array in retrieval_gt]
|
|
@@ -5,7 +5,7 @@ from typing import Callable, List, Dict
|
|
|
5
5
|
|
|
6
6
|
import pandas as pd
|
|
7
7
|
|
|
8
|
-
from autorag.
|
|
8
|
+
from autorag.evaluation.metric import retrieval_token_recall, retrieval_token_precision, retrieval_token_f1
|
|
9
9
|
from autorag.strategy import measure_speed, filter_by_threshold, select_best
|
|
10
10
|
from autorag.utils.util import fetch_contents
|
|
11
11
|
|
|
@@ -40,8 +40,8 @@ def run_passage_compressor_node(modules: List[Callable],
|
|
|
40
40
|
os.makedirs(save_dir)
|
|
41
41
|
|
|
42
42
|
# make retrieval contents gt
|
|
43
|
-
qa_data = pd.read_parquet(os.path.join(data_dir, "qa.parquet"))
|
|
44
|
-
corpus_data = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"))
|
|
43
|
+
qa_data = pd.read_parquet(os.path.join(data_dir, "qa.parquet"), engine='pyarrow')
|
|
44
|
+
corpus_data = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"), engine='pyarrow')
|
|
45
45
|
# check qa_data have retrieval_gt
|
|
46
46
|
assert all(len(x[0]) > 0 for x in qa_data['retrieval_gt'].tolist()), \
|
|
47
47
|
"Can't use passage compressor if you don't have retrieval gt values in QA dataset."
|
|
@@ -39,7 +39,7 @@ def passage_filter_node(func):
|
|
|
39
39
|
ids = previous_result["retrieved_ids"].tolist()
|
|
40
40
|
|
|
41
41
|
if func.__name__ == 'recency_filter':
|
|
42
|
-
corpus_df = pd.read_parquet(os.path.join(project_dir, "data", "corpus.parquet"))
|
|
42
|
+
corpus_df = pd.read_parquet(os.path.join(project_dir, "data", "corpus.parquet"), engine='pyarrow')
|
|
43
43
|
metadatas = fetch_contents(corpus_df, ids, column_name='metadata')
|
|
44
44
|
times = [[time['last_modified_datetime'] for time in time_list] for time_list in metadatas]
|
|
45
45
|
filtered_contents, filtered_ids, filtered_scores \
|
|
@@ -30,7 +30,7 @@ def run_passage_filter_node(modules: List[Callable],
|
|
|
30
30
|
if not os.path.exists(node_line_dir):
|
|
31
31
|
os.makedirs(node_line_dir)
|
|
32
32
|
project_dir = pathlib.PurePath(node_line_dir).parent.parent
|
|
33
|
-
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))
|
|
33
|
+
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')
|
|
34
34
|
retrieval_gt = qa_df['retrieval_gt'].tolist()
|
|
35
35
|
retrieval_gt = [[[str(uuid) for uuid in sub_array] if sub_array.size > 0 else [] for sub_array in inner_array]
|
|
36
36
|
for inner_array in retrieval_gt]
|
|
@@ -3,7 +3,8 @@ from typing import List, Tuple, Optional
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
import torch.cuda
|
|
5
5
|
|
|
6
|
-
from autorag
|
|
6
|
+
from autorag import embedding_models
|
|
7
|
+
from autorag.evaluation.metric.util import calculate_cosine_similarity
|
|
7
8
|
from autorag.nodes.passagefilter.base import passage_filter_node
|
|
8
9
|
from autorag.nodes.passagefilter.similarity_threshold_cutoff import embedding_query_content
|
|
9
10
|
|
|
@@ -31,7 +32,13 @@ def similarity_percentile_cutoff(queries: List[str], contents_list: List[List[st
|
|
|
31
32
|
Default is 128.
|
|
32
33
|
:return: Tuple of lists containing the filtered contents, ids, and scores
|
|
33
34
|
"""
|
|
34
|
-
|
|
35
|
+
if embedding_model is None:
|
|
36
|
+
embedding_model = embedding_models['openai']
|
|
37
|
+
else:
|
|
38
|
+
embedding_model = embedding_models[embedding_model]
|
|
39
|
+
|
|
40
|
+
query_embeddings, content_embeddings = embedding_query_content(queries, contents_list, embedding_model,
|
|
41
|
+
batch)
|
|
35
42
|
|
|
36
43
|
results = list(map(lambda x: similarity_percentile_cutoff_pure(x[0], x[1], x[2], x[3], x[4], percentile),
|
|
37
44
|
zip(query_embeddings, content_embeddings, contents_list, ids_list, scores_list)))
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import itertools
|
|
2
1
|
from typing import List, Tuple, Optional
|
|
3
2
|
|
|
4
3
|
import numpy as np
|
|
5
4
|
import torch.cuda
|
|
6
5
|
|
|
7
6
|
from autorag import embedding_models
|
|
8
|
-
from autorag.
|
|
7
|
+
from autorag.evaluation.metric.util import calculate_cosine_similarity
|
|
9
8
|
from autorag.nodes.passagefilter.base import passage_filter_node
|
|
10
|
-
from autorag.utils.util import
|
|
9
|
+
from autorag.utils.util import embedding_query_content
|
|
11
10
|
|
|
12
11
|
|
|
13
12
|
@passage_filter_node
|
|
@@ -33,6 +32,11 @@ def similarity_threshold_cutoff(queries: List[str], contents_list: List[List[str
|
|
|
33
32
|
Default is 128.
|
|
34
33
|
:return: Tuple of lists containing the filtered contents, ids, and scores
|
|
35
34
|
"""
|
|
35
|
+
if embedding_model is None:
|
|
36
|
+
embedding_model = embedding_models['openai']
|
|
37
|
+
else:
|
|
38
|
+
embedding_model = embedding_models[embedding_model]
|
|
39
|
+
|
|
36
40
|
query_embeddings, content_embeddings = embedding_query_content(queries, contents_list, embedding_model, batch)
|
|
37
41
|
|
|
38
42
|
remain_indices = list(map(lambda x: similarity_threshold_cutoff_pure(x[0], x[1], threshold),
|
|
@@ -68,21 +72,3 @@ def similarity_threshold_cutoff_pure(query_embedding: str,
|
|
|
68
72
|
if len(result) > 0:
|
|
69
73
|
return result
|
|
70
74
|
return [np.argmax(similarities)]
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
def embedding_query_content(queries: List[str], contents_list: List[List[str]],
|
|
74
|
-
embedding_model: Optional[str] = None, batch: int = 128):
|
|
75
|
-
if embedding_model is None:
|
|
76
|
-
embedding_model = embedding_models['openai']
|
|
77
|
-
else:
|
|
78
|
-
embedding_model = embedding_models[embedding_model]
|
|
79
|
-
|
|
80
|
-
# Embedding using batch
|
|
81
|
-
embedding_model.embed_batch_size = batch
|
|
82
|
-
query_embeddings = embedding_model.get_text_embedding_batch(queries)
|
|
83
|
-
|
|
84
|
-
content_lengths = list(map(len, contents_list))
|
|
85
|
-
content_embeddings_flatten = embedding_model.get_text_embedding_batch(list(
|
|
86
|
-
itertools.chain.from_iterable(contents_list)))
|
|
87
|
-
content_embeddings = reconstruct_list(content_embeddings_flatten, content_lengths)
|
|
88
|
-
return query_embeddings, content_embeddings
|
|
@@ -39,7 +39,7 @@ def passage_reranker_node(func):
|
|
|
39
39
|
|
|
40
40
|
# time rerankers
|
|
41
41
|
if func.__name__ == 'time_reranker':
|
|
42
|
-
corpus_df = pd.read_parquet(os.path.join(project_dir, "data", "corpus.parquet"))
|
|
42
|
+
corpus_df = pd.read_parquet(os.path.join(project_dir, "data", "corpus.parquet"), engine='pyarrow')
|
|
43
43
|
metadatas = fetch_contents(corpus_df, ids, column_name='metadata')
|
|
44
44
|
times = [[time['last_modified_datetime'] for time in time_list] for time_list in metadatas]
|
|
45
45
|
reranked_contents, reranked_ids, reranked_scores \
|
|
@@ -34,7 +34,7 @@ def run_passage_reranker_node(modules: List[Callable],
|
|
|
34
34
|
if not os.path.exists(node_line_dir):
|
|
35
35
|
os.makedirs(node_line_dir)
|
|
36
36
|
project_dir = pathlib.PurePath(node_line_dir).parent.parent
|
|
37
|
-
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))
|
|
37
|
+
qa_df = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')
|
|
38
38
|
retrieval_gt = qa_df['retrieval_gt'].tolist()
|
|
39
39
|
retrieval_gt = [[[str(uuid) for uuid in sub_array] if sub_array.size > 0 else [] for sub_array in inner_array]
|
|
40
40
|
for inner_array in retrieval_gt]
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
import
|
|
3
|
-
from typing import List, Tuple, Dict
|
|
2
|
+
from typing import List, Tuple
|
|
4
3
|
|
|
5
|
-
import numpy as np
|
|
6
4
|
import pandas as pd
|
|
7
|
-
import ray
|
|
8
5
|
import torch
|
|
6
|
+
from tqdm import tqdm
|
|
9
7
|
from transformers import T5Tokenizer, T5ForConditionalGeneration
|
|
10
8
|
|
|
11
9
|
from autorag.nodes.passagereranker.base import passage_reranker_node
|
|
@@ -19,8 +17,7 @@ def upr(queries: List[str], contents_list: List[List[str]],
|
|
|
19
17
|
scores_list: List[List[float]], ids_list: List[List[str]],
|
|
20
18
|
top_k: int, use_bf16: bool = False,
|
|
21
19
|
prefix_prompt: str = "Passage: ",
|
|
22
|
-
suffix_prompt: str = "Please write a question based on this passage."
|
|
23
|
-
num_gpus: int = 1) \
|
|
20
|
+
suffix_prompt: str = "Please write a question based on this passage.") \
|
|
24
21
|
-> Tuple[List[List[str]], List[List[str]], List[List[float]]]:
|
|
25
22
|
"""
|
|
26
23
|
Rerank a list of contents based on their relevance to a query using UPR.
|
|
@@ -42,33 +39,20 @@ def upr(queries: List[str], contents_list: List[List[str]],
|
|
|
42
39
|
Default is "Please write a question based on this passage.".
|
|
43
40
|
The suffix prompt provides a cue or a closing instruction to the language model,
|
|
44
41
|
signaling how to conclude the generated text or what format to follow at the end.
|
|
45
|
-
:param num_gpus: The number of GPUs that you want to use. Default is 1.
|
|
46
|
-
Set to 1 if you use a CPU or a single GPU.
|
|
47
42
|
:return: tuple of lists containing the reranked contents, ids, and scores
|
|
48
43
|
"""
|
|
44
|
+
tqdm.pandas()
|
|
49
45
|
df = pd.DataFrame({
|
|
50
46
|
'query': queries,
|
|
51
47
|
'contents': contents_list,
|
|
52
48
|
'ids': ids_list,
|
|
53
49
|
})
|
|
54
|
-
ds = ray.data.from_pandas(df)
|
|
55
50
|
|
|
56
51
|
scorer = UPRScorer(suffix_prompt=suffix_prompt, prefix_prompt=prefix_prompt, use_bf16=use_bf16)
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
concurrency=num_gpus, num_gpus=1)
|
|
61
|
-
else:
|
|
62
|
-
score_batch = ds.map_batches(scorer,
|
|
63
|
-
batch_size=1,
|
|
64
|
-
concurrency=min(len(df), os.cpu_count()), num_cpus=os.cpu_count())
|
|
65
|
-
scores = score_batch.to_pandas()['output'].tolist() # converted to a flatten list of scores
|
|
66
|
-
|
|
53
|
+
df['scores'] = df.progress_apply(lambda row: scorer.compute(query=row['query'], contents=row['contents']),
|
|
54
|
+
axis=1)
|
|
67
55
|
del scorer
|
|
68
|
-
|
|
69
|
-
explode_df = df.explode('contents')
|
|
70
|
-
explode_df['scores'] = scores
|
|
71
|
-
df['scores'] = explode_df.groupby(level=0, sort=False)['scores'].apply(list).tolist()
|
|
72
56
|
df[['contents', 'ids', 'scores']] = df.apply(lambda x: sort_by_scores(x, reverse=False), axis=1,
|
|
73
57
|
result_type='expand')
|
|
74
58
|
results = select_top_k(df, ['contents', 'ids', 'scores'], top_k)
|
|
@@ -87,9 +71,8 @@ class UPRScorer:
|
|
|
87
71
|
self.suffix_prompt = suffix_prompt
|
|
88
72
|
self.prefix_prompt = prefix_prompt
|
|
89
73
|
|
|
90
|
-
def
|
|
91
|
-
query_token = self.tokenizer(
|
|
92
|
-
contents = batch['contents'][0]
|
|
74
|
+
def compute(self, query: str, contents: List[str]) -> List[float]:
|
|
75
|
+
query_token = self.tokenizer(query, max_length=128, truncation=True, return_tensors='pt')
|
|
93
76
|
prompts = list(map(lambda content: f"{self.prefix_prompt} {content} {self.suffix_prompt}", contents))
|
|
94
77
|
prompt_token_outputs = self.tokenizer(prompts, padding='longest',
|
|
95
78
|
max_length=512,
|
|
@@ -107,7 +90,7 @@ class UPRScorer:
|
|
|
107
90
|
log_softmax = torch.nn.functional.log_softmax(logits, dim=-1)
|
|
108
91
|
nll = -log_softmax.gather(2, query_input_ids.unsqueeze(2)).squeeze(2)
|
|
109
92
|
avg_nll = torch.sum(nll, dim=1)
|
|
110
|
-
return
|
|
93
|
+
return avg_nll.tolist()
|
|
111
94
|
|
|
112
95
|
def __del__(self):
|
|
113
96
|
del self.model
|
|
@@ -6,8 +6,8 @@ from typing import List, Callable, Dict, Optional, Union
|
|
|
6
6
|
import pandas as pd
|
|
7
7
|
import tokenlog
|
|
8
8
|
|
|
9
|
-
from autorag.
|
|
10
|
-
from autorag.
|
|
9
|
+
from autorag.evaluation import evaluate_generation
|
|
10
|
+
from autorag.evaluation.util import cast_metrics
|
|
11
11
|
from autorag.strategy import measure_speed, filter_by_threshold, select_best
|
|
12
12
|
from autorag.support import get_support_modules
|
|
13
13
|
from autorag.utils import validate_qa_dataset
|
|
@@ -101,7 +101,7 @@ def run_prompt_maker_node(modules: List[Callable],
|
|
|
101
101
|
generator_callables, generator_params = make_generator_callable_params(extra_strategy)
|
|
102
102
|
|
|
103
103
|
# get generation_gt
|
|
104
|
-
qa_data = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))
|
|
104
|
+
qa_data = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')
|
|
105
105
|
validate_qa_dataset(qa_data)
|
|
106
106
|
generation_gt = qa_data['generation_gt'].tolist()
|
|
107
107
|
generation_gt = list(map(lambda x: x.tolist(), generation_gt))
|
|
@@ -88,7 +88,7 @@ def run_query_expansion_node(modules: List[Callable],
|
|
|
88
88
|
retrieval_callables, retrieval_params = make_retrieval_callable_params(extra_strategy)
|
|
89
89
|
|
|
90
90
|
# get retrieval_gt
|
|
91
|
-
retrieval_gt = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"))['retrieval_gt'].tolist()
|
|
91
|
+
retrieval_gt = pd.read_parquet(os.path.join(project_dir, "data", "qa.parquet"), engine='pyarrow')['retrieval_gt'].tolist()
|
|
92
92
|
|
|
93
93
|
# run evaluation
|
|
94
94
|
evaluation_results = list(map(lambda result: evaluate_one_query_expansion_node(
|
|
@@ -94,7 +94,7 @@ def retrieval_node(func):
|
|
|
94
94
|
raise ValueError(f"invalid func name for using retrieval_io decorator.")
|
|
95
95
|
|
|
96
96
|
# fetch data from corpus_data
|
|
97
|
-
corpus_data = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"))
|
|
97
|
+
corpus_data = pd.read_parquet(os.path.join(data_dir, "corpus.parquet"), engine='pyarrow')
|
|
98
98
|
contents = fetch_contents(corpus_data, ids)
|
|
99
99
|
|
|
100
100
|
return contents, ids, scores
|