AutoRAG 0.1.12__tar.gz → 0.2.1__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.1.12 → autorag-0.2.1}/.github/workflows/test.yml +0 -3
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/PKG-INFO +21 -6
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/SOURCES.txt +10 -3
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/requires.txt +6 -0
- {autorag-0.1.12 → autorag-0.2.1}/PKG-INFO +21 -6
- {autorag-0.1.12 → autorag-0.2.1}/README.md +14 -5
- autorag-0.2.1/autorag/VERSION +1 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/__init__.py +2 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/cli.py +8 -0
- autorag-0.2.1/autorag/dashboard.py +132 -0
- autorag-0.2.1/autorag/evaluate/retrieval.py +67 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/run.py +3 -2
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passageaugmenter/run.py +3 -2
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/__init__.py +1 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/base.py +9 -0
- autorag-0.2.1/autorag/nodes/passagecompressor/longllmlingua.py +87 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/run.py +12 -14
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/run.py +3 -2
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/run.py +3 -2
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/promptmaker/run.py +8 -5
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/queryexpansion/__init__.py +1 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/queryexpansion/base.py +21 -19
- autorag-0.2.1/autorag/nodes/queryexpansion/hyde.py +31 -0
- autorag-0.2.1/autorag/nodes/queryexpansion/multi_query_expansion.py +52 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/queryexpansion/query_decompose.py +23 -25
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/queryexpansion/run.py +7 -5
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/run.py +3 -2
- {autorag-0.1.12 → autorag-0.2.1}/autorag/strategy.py +50 -7
- {autorag-0.1.12 → autorag-0.2.1}/autorag/support.py +2 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/utils/util.py +65 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.evaluate.metric.rst +0 -8
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagecompressor.rst +8 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.queryexpansion.rst +8 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.rst +8 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/index.rst +1 -0
- autorag-0.2.1/docs/source/nodes/passage_compressor/longllmlingua.md +25 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_compressor/passage_compressor.md +1 -0
- autorag-0.2.1/docs/source/nodes/query_expansion/hyde.md +27 -0
- autorag-0.2.1/docs/source/nodes/query_expansion/multi_query_expansion.md +30 -0
- autorag-0.2.1/docs/source/nodes/query_expansion/query_decompose.md +26 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/query_expansion/query_expansion.md +1 -0
- autorag-0.2.1/docs/source/optimization/strategies.md +71 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/tutorial.md +9 -0
- {autorag-0.1.12 → autorag-0.2.1}/requirements.txt +8 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/full.yaml +10 -2
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/test_retrieval_evaluate.py +39 -30
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/generator/test_run_generator_node.py +1 -0
- autorag-0.2.1/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +29 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +6 -6
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +1 -1
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_hyde.py +9 -6
- autorag-0.2.1/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +27 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_decompose.py +9 -6
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +39 -10
- autorag-0.2.1/tests/autorag/test_dashboard.py +32 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/test_evaluator.py +0 -2
- autorag-0.2.1/tests/autorag/test_strategy.py +79 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/utils/test_util.py +62 -1
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/full.yaml +4 -2
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/config.yaml +4 -9
- {autorag-0.1.12/tests/resources/result_project/2 → autorag-0.2.1/tests/resources/result_project/1}/config.yaml +8 -11
- {autorag-0.1.12/tests/resources/result_project/1 → autorag-0.2.1/tests/resources/result_project/2}/config.yaml +2 -5
- autorag-0.1.12/autorag/VERSION +0 -1
- autorag-0.1.12/autorag/evaluate/metric/retrieval_no_gt.py +0 -37
- autorag-0.1.12/autorag/evaluate/retrieval.py +0 -70
- autorag-0.1.12/autorag/nodes/queryexpansion/hyde.py +0 -40
- autorag-0.1.12/docs/source/nodes/query_expansion/hyde.md +0 -22
- autorag-0.1.12/docs/source/nodes/query_expansion/query_decompose.md +0 -22
- autorag-0.1.12/tests/autorag/evaluate/metric/test_retrieval_no_gt_metric.py +0 -26
- autorag-0.1.12/tests/autorag/test_strategy.py +0 -55
- {autorag-0.1.12 → autorag-0.2.1}/.github/dependabot.yml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/.github/workflows/publish.yml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/.github/workflows/sphinx.yml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/.gitignore +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/dependency_links.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/entry_points.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/AutoRAG.egg-info/top_level.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/CODE_OF_CONDUCT.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/CONTRIBUTING.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/LICENSE +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/corpus/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/corpus/langchain.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/corpus/llama_index.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/llama_index.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/llama_index_default_prompt.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/ragas.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/qacreation/simple.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/utils/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/data/utils/util.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/deploy.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/generation.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/coh_detailed.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/con_detailed.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/flu_detailed.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/rel_detailed.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/generation.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/retrieval.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/retrieval_contents.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/metric/util.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/retrieval_contents.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluate/util.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/evaluator.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/node_line.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/llama_index_llm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/openai_llm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/generator/vllm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passageaugmenter/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passageaugmenter/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/refine.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/recency.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/cohere.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/colbert.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/jina.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/koreranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/monot5.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/rankgpt.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/tart.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/time_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/passagereranker/upr.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/promptmaker/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/promptmaker/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/promptmaker/fstring.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/bm25.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_cc.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_dbsf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_rrf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_rsf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/nodes/retrieval/vectordb.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/schema/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/schema/module.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/schema/node.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/utils/__init__.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/utils/preprocess.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/autorag/web.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/Makefile +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/make.bat +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/requirements.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/data_creation.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/data_folder.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/dcg.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/f1_score.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/map.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/mrr.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/ndcg.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/ndcg_formula.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/node_folder.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/node_line_folder.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/node_line_summary.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/node_lines.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/node_summary.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/project_folder_example.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/project_folders.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/resources_folder.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/advanced_RAG.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/cycle.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/merger.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/node_line_modular.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/roadmap/policy.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/samsung_sundae.jpeg +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/trial_folder.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/trial_json.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/trial_summary.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/_static/web_interface.png +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.data.corpus.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.data.qacreation.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.data.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.data.utils.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.evaluate.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.generator.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagefilter.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagereranker.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.promptmaker.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.retrieval.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.schema.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/autorag.utils.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/api_spec/modules.rst +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/conf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/data_creation/data_format.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/data_creation/ragas.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/data_creation/tutorial.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/deploy/api_endpoint.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/deploy/web.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/evaluate_metrics/generation.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/evaluate_metrics/retrieval.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/evaluate_metrics/retrieval_contents.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/install.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/local_model.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/generator/generator.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/generator/llama_index_llm.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/generator/openai_llm.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/generator/vllm.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/index.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_augmenter/passage_augmenter.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_compressor/refine.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_compressor/tree_summarize.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/passage_filter.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/percentile_cutoff.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/recency_filter.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_filter/threshold_cutoff.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/cohere.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/colbert.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/jina_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/koreranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/monot5.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/passage_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/rankgpt.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/tart.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/time_reranker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/passage_reranker/upr.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/prompt_maker/fstring.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/prompt_maker/long_context_reorder.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/prompt_maker/prompt_maker.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/bm25.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_cc.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_dbsf.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_rrf.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_rsf.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/retrieval.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/nodes/retrieval/vectordb.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/optimization/custom_config.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/optimization/folder_structure.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/optimization/optimization.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/optimization/sample_full_config.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/roadmap/modular_rag.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/structure.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/docs/source/troubleshooting.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/pyproject.toml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/compact_local.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/compact_openai.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/config_korean.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/extracted_sample.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/simple_local.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_config/simple_openai.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_dataset/README.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/setup.cfg +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/corpus/test_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/corpus/test_langchain.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/corpus/test_llama_index_corpus.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/qacreation/test_base_qacreation.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/qacreation/test_llama_index_qacreation.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/qacreation/test_ragas_qa_creation.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/data/qacreation/test_simple.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_generation_metric.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_retrieval_metric.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/test_evaluate_util.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/test_generation_evaluate.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/generator/test_generator_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/generator/test_llama_index_llm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/generator/test_openai.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/generator/test_vllm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_refine.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_recency_filter.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_flag_embedding.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_jina_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_koreranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_monot5.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_pass_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_rankgpt.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_tart.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_time_reranker.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_upr.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_fstring.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_bm25.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_cc.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_dbsf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_rrf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_rsf.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_retrieval_base.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_run_retrieval_node.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_vectordb.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/schema/test_module_schema.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/schema/test_node_schema.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/test_cli.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/test_deploy.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/test_support.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/test_web.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/autorag/utils/test_preprocess.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/conftest.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/delete_tests.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/mock.py +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/requirements.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/README.md +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/corpus_data_sample.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample1.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample2.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample3.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/qa_data_sample.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt1.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt2.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt3.txt +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/qa_test_data_sample.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/2.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/3.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/4.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/5.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/best_5.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/0/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12/tests/resources/result_project/1/retrieve_node_line/passage_compressor → autorag-0.2.1/tests/resources/result_project/1/retrieve_node_line/passage_filter}/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/1.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/best_0.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/summary.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/3/config.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/best.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/data/corpus.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/data/qa.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/chroma.sqlite3 +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/result_project/trial.json +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/sample_contents_nqa.csv +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/sample_project/data/corpus.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/sample_project/data/qa.parquet +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/tests/resources/simple.yaml +0 -0
- {autorag-0.1.12 → autorag-0.2.1}/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.1
|
|
3
|
+
Version: 0.2.1
|
|
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
|
|
@@ -250,6 +250,7 @@ Requires-Dist: FlagEmbedding
|
|
|
250
250
|
Requires-Dist: ragas
|
|
251
251
|
Requires-Dist: ray
|
|
252
252
|
Requires-Dist: kiwipiepy
|
|
253
|
+
Requires-Dist: llmlingua
|
|
253
254
|
Requires-Dist: llama-index>=0.10.1
|
|
254
255
|
Requires-Dist: llama-index-core>=0.10.1
|
|
255
256
|
Requires-Dist: llama-index-embeddings-openai
|
|
@@ -260,6 +261,11 @@ Requires-Dist: llama-index-llms-openai-like
|
|
|
260
261
|
Requires-Dist: llama-index-retrievers-bm25
|
|
261
262
|
Requires-Dist: streamlit
|
|
262
263
|
Requires-Dist: langchain-core>=0.1.6
|
|
264
|
+
Requires-Dist: panel
|
|
265
|
+
Requires-Dist: seaborn
|
|
266
|
+
Requires-Dist: ipykernel
|
|
267
|
+
Requires-Dist: ipywidgets
|
|
268
|
+
Requires-Dist: ipywidgets_bokeh
|
|
263
269
|
|
|
264
270
|
# AutoRAG
|
|
265
271
|
|
|
@@ -295,7 +301,8 @@ You can see on [YouTube](https://youtu.be/2ojK8xjyXAU?feature=shared)
|
|
|
295
301
|
- [1. Prepare your evaluation data](#1-prepare-your-evaluation-data)
|
|
296
302
|
- [2. Evaluate your data to various RAG modules](#2-evaluate-your-data-to-various-rag-modules)
|
|
297
303
|
- [3. Use a found optimal RAG pipeline](#3-use-a-found-optimal-rag-pipeline)
|
|
298
|
-
- [4.
|
|
304
|
+
- [4. Run Dashboard to see the result](#4-run-dashboard)
|
|
305
|
+
- [5. Share your RAG pipeline](#5-share-your-rag-pipeline)
|
|
299
306
|
- [+ Config yaml file](#-create-your-own-config-yaml-file)
|
|
300
307
|
- [Supporting RAG modules](#supporting-nodes--modules)
|
|
301
308
|
- [Roadmap](#roadmap)
|
|
@@ -425,7 +432,15 @@ You can run api server with CLI command.
|
|
|
425
432
|
autorag run_api --config_path your/path/to/pipeline.yaml --host 0.0.0.0 --port 8000
|
|
426
433
|
```
|
|
427
434
|
|
|
428
|
-
### 4.
|
|
435
|
+
### 4. Run Dashboard
|
|
436
|
+
|
|
437
|
+
You can run dashboard to easily see the result.
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
autorag dashboard --trial_dir /your/path/to/trial_dir
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### 5. Share your RAG pipeline
|
|
429
444
|
|
|
430
445
|
You can use your RAG pipeline from extracted pipeline yaml file.
|
|
431
446
|
This extracted pipeline is great for sharing your RAG pipeline to others.
|
|
@@ -515,12 +530,12 @@ at [here](https://edai.notion.site/Supporting-metrics-867d71caefd7401c9264dd91ba
|
|
|
515
530
|
# 🛣Roadmap
|
|
516
531
|
|
|
517
532
|
- [ ] Policy Module for modular RAG pipeline
|
|
518
|
-
- [
|
|
533
|
+
- [x] Visualize evaluation result
|
|
519
534
|
- [ ] Visualize config yaml file
|
|
520
|
-
- [
|
|
535
|
+
- [x] More RAG modules support
|
|
521
536
|
- [x] Token usage strategy
|
|
522
537
|
- [ ] Multi-modal support
|
|
523
|
-
- [
|
|
538
|
+
- [x] More evaluation metrics
|
|
524
539
|
- [ ] Answer Filtering Module
|
|
525
540
|
- [x] Restart optimization from previous trial
|
|
526
541
|
|
|
@@ -18,6 +18,7 @@ AutoRAG.egg-info/top_level.txt
|
|
|
18
18
|
autorag/VERSION
|
|
19
19
|
autorag/__init__.py
|
|
20
20
|
autorag/cli.py
|
|
21
|
+
autorag/dashboard.py
|
|
21
22
|
autorag/deploy.py
|
|
22
23
|
autorag/evaluator.py
|
|
23
24
|
autorag/node_line.py
|
|
@@ -45,7 +46,6 @@ autorag/evaluate/metric/__init__.py
|
|
|
45
46
|
autorag/evaluate/metric/generation.py
|
|
46
47
|
autorag/evaluate/metric/retrieval.py
|
|
47
48
|
autorag/evaluate/metric/retrieval_contents.py
|
|
48
|
-
autorag/evaluate/metric/retrieval_no_gt.py
|
|
49
49
|
autorag/evaluate/metric/util.py
|
|
50
50
|
autorag/evaluate/metric/g_eval_prompts/coh_detailed.txt
|
|
51
51
|
autorag/evaluate/metric/g_eval_prompts/con_detailed.txt
|
|
@@ -65,6 +65,7 @@ autorag/nodes/passageaugmenter/prev_next_augmenter.py
|
|
|
65
65
|
autorag/nodes/passageaugmenter/run.py
|
|
66
66
|
autorag/nodes/passagecompressor/__init__.py
|
|
67
67
|
autorag/nodes/passagecompressor/base.py
|
|
68
|
+
autorag/nodes/passagecompressor/longllmlingua.py
|
|
68
69
|
autorag/nodes/passagecompressor/pass_compressor.py
|
|
69
70
|
autorag/nodes/passagecompressor/refine.py
|
|
70
71
|
autorag/nodes/passagecompressor/run.py
|
|
@@ -105,6 +106,7 @@ autorag/nodes/promptmaker/run.py
|
|
|
105
106
|
autorag/nodes/queryexpansion/__init__.py
|
|
106
107
|
autorag/nodes/queryexpansion/base.py
|
|
107
108
|
autorag/nodes/queryexpansion/hyde.py
|
|
109
|
+
autorag/nodes/queryexpansion/multi_query_expansion.py
|
|
108
110
|
autorag/nodes/queryexpansion/pass_query_expansion.py
|
|
109
111
|
autorag/nodes/queryexpansion/query_decompose.py
|
|
110
112
|
autorag/nodes/queryexpansion/run.py
|
|
@@ -195,6 +197,7 @@ docs/source/nodes/generator/openai_llm.md
|
|
|
195
197
|
docs/source/nodes/generator/vllm.md
|
|
196
198
|
docs/source/nodes/passage_augmenter/passage_augmenter.md
|
|
197
199
|
docs/source/nodes/passage_augmenter/prev_next_augmenter.md
|
|
200
|
+
docs/source/nodes/passage_compressor/longllmlingua.md
|
|
198
201
|
docs/source/nodes/passage_compressor/passage_compressor.md
|
|
199
202
|
docs/source/nodes/passage_compressor/refine.md
|
|
200
203
|
docs/source/nodes/passage_compressor/tree_summarize.md
|
|
@@ -221,6 +224,7 @@ docs/source/nodes/prompt_maker/fstring.md
|
|
|
221
224
|
docs/source/nodes/prompt_maker/long_context_reorder.md
|
|
222
225
|
docs/source/nodes/prompt_maker/prompt_maker.md
|
|
223
226
|
docs/source/nodes/query_expansion/hyde.md
|
|
227
|
+
docs/source/nodes/query_expansion/multi_query_expansion.md
|
|
224
228
|
docs/source/nodes/query_expansion/query_decompose.md
|
|
225
229
|
docs/source/nodes/query_expansion/query_expansion.md
|
|
226
230
|
docs/source/nodes/retrieval/bm25.md
|
|
@@ -234,6 +238,7 @@ docs/source/optimization/custom_config.md
|
|
|
234
238
|
docs/source/optimization/folder_structure.md
|
|
235
239
|
docs/source/optimization/optimization.md
|
|
236
240
|
docs/source/optimization/sample_full_config.yaml
|
|
241
|
+
docs/source/optimization/strategies.md
|
|
237
242
|
docs/source/roadmap/modular_rag.md
|
|
238
243
|
sample_config/compact_local.yaml
|
|
239
244
|
sample_config/compact_openai.yaml
|
|
@@ -251,6 +256,7 @@ tests/delete_tests.py
|
|
|
251
256
|
tests/mock.py
|
|
252
257
|
tests/requirements.txt
|
|
253
258
|
tests/autorag/test_cli.py
|
|
259
|
+
tests/autorag/test_dashboard.py
|
|
254
260
|
tests/autorag/test_deploy.py
|
|
255
261
|
tests/autorag/test_evaluator.py
|
|
256
262
|
tests/autorag/test_strategy.py
|
|
@@ -270,7 +276,6 @@ tests/autorag/evaluate/test_retrieval_evaluate.py
|
|
|
270
276
|
tests/autorag/evaluate/metric/test_generation_metric.py
|
|
271
277
|
tests/autorag/evaluate/metric/test_retrieval_contents_metric.py
|
|
272
278
|
tests/autorag/evaluate/metric/test_retrieval_metric.py
|
|
273
|
-
tests/autorag/evaluate/metric/test_retrieval_no_gt_metric.py
|
|
274
279
|
tests/autorag/nodes/generator/test_generator_base.py
|
|
275
280
|
tests/autorag/nodes/generator/test_llama_index_llm.py
|
|
276
281
|
tests/autorag/nodes/generator/test_openai.py
|
|
@@ -281,6 +286,7 @@ tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py
|
|
|
281
286
|
tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py
|
|
282
287
|
tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py
|
|
283
288
|
tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py
|
|
289
|
+
tests/autorag/nodes/passagecompressor/test_longllmlingua.py
|
|
284
290
|
tests/autorag/nodes/passagecompressor/test_pass_compressor.py
|
|
285
291
|
tests/autorag/nodes/passagecompressor/test_refine.py
|
|
286
292
|
tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py
|
|
@@ -313,6 +319,7 @@ tests/autorag/nodes/promptmaker/test_long_context_reorder.py
|
|
|
313
319
|
tests/autorag/nodes/promptmaker/test_prompt_maker_base.py
|
|
314
320
|
tests/autorag/nodes/promptmaker/test_prompt_maker_run.py
|
|
315
321
|
tests/autorag/nodes/queryexpansion/test_hyde.py
|
|
322
|
+
tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py
|
|
316
323
|
tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py
|
|
317
324
|
tests/autorag/nodes/queryexpansion/test_query_decompose.py
|
|
318
325
|
tests/autorag/nodes/queryexpansion/test_query_expansion_base.py
|
|
@@ -386,7 +393,7 @@ tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parque
|
|
|
386
393
|
tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet
|
|
387
394
|
tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet
|
|
388
395
|
tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv
|
|
389
|
-
tests/resources/result_project/1/retrieve_node_line/
|
|
396
|
+
tests/resources/result_project/1/retrieve_node_line/passage_filter/0.parquet
|
|
390
397
|
tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet
|
|
391
398
|
tests/resources/result_project/1/retrieve_node_line/passage_reranker/1.parquet
|
|
392
399
|
tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet
|
|
@@ -29,6 +29,7 @@ FlagEmbedding
|
|
|
29
29
|
ragas
|
|
30
30
|
ray
|
|
31
31
|
kiwipiepy
|
|
32
|
+
llmlingua
|
|
32
33
|
llama-index>=0.10.1
|
|
33
34
|
llama-index-core>=0.10.1
|
|
34
35
|
llama-index-embeddings-openai
|
|
@@ -39,3 +40,8 @@ llama-index-llms-openai-like
|
|
|
39
40
|
llama-index-retrievers-bm25
|
|
40
41
|
streamlit
|
|
41
42
|
langchain-core>=0.1.6
|
|
43
|
+
panel
|
|
44
|
+
seaborn
|
|
45
|
+
ipykernel
|
|
46
|
+
ipywidgets
|
|
47
|
+
ipywidgets_bokeh
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: AutoRAG
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.2.1
|
|
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
|
|
@@ -250,6 +250,7 @@ Requires-Dist: FlagEmbedding
|
|
|
250
250
|
Requires-Dist: ragas
|
|
251
251
|
Requires-Dist: ray
|
|
252
252
|
Requires-Dist: kiwipiepy
|
|
253
|
+
Requires-Dist: llmlingua
|
|
253
254
|
Requires-Dist: llama-index>=0.10.1
|
|
254
255
|
Requires-Dist: llama-index-core>=0.10.1
|
|
255
256
|
Requires-Dist: llama-index-embeddings-openai
|
|
@@ -260,6 +261,11 @@ Requires-Dist: llama-index-llms-openai-like
|
|
|
260
261
|
Requires-Dist: llama-index-retrievers-bm25
|
|
261
262
|
Requires-Dist: streamlit
|
|
262
263
|
Requires-Dist: langchain-core>=0.1.6
|
|
264
|
+
Requires-Dist: panel
|
|
265
|
+
Requires-Dist: seaborn
|
|
266
|
+
Requires-Dist: ipykernel
|
|
267
|
+
Requires-Dist: ipywidgets
|
|
268
|
+
Requires-Dist: ipywidgets_bokeh
|
|
263
269
|
|
|
264
270
|
# AutoRAG
|
|
265
271
|
|
|
@@ -295,7 +301,8 @@ You can see on [YouTube](https://youtu.be/2ojK8xjyXAU?feature=shared)
|
|
|
295
301
|
- [1. Prepare your evaluation data](#1-prepare-your-evaluation-data)
|
|
296
302
|
- [2. Evaluate your data to various RAG modules](#2-evaluate-your-data-to-various-rag-modules)
|
|
297
303
|
- [3. Use a found optimal RAG pipeline](#3-use-a-found-optimal-rag-pipeline)
|
|
298
|
-
- [4.
|
|
304
|
+
- [4. Run Dashboard to see the result](#4-run-dashboard)
|
|
305
|
+
- [5. Share your RAG pipeline](#5-share-your-rag-pipeline)
|
|
299
306
|
- [+ Config yaml file](#-create-your-own-config-yaml-file)
|
|
300
307
|
- [Supporting RAG modules](#supporting-nodes--modules)
|
|
301
308
|
- [Roadmap](#roadmap)
|
|
@@ -425,7 +432,15 @@ You can run api server with CLI command.
|
|
|
425
432
|
autorag run_api --config_path your/path/to/pipeline.yaml --host 0.0.0.0 --port 8000
|
|
426
433
|
```
|
|
427
434
|
|
|
428
|
-
### 4.
|
|
435
|
+
### 4. Run Dashboard
|
|
436
|
+
|
|
437
|
+
You can run dashboard to easily see the result.
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
autorag dashboard --trial_dir /your/path/to/trial_dir
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### 5. Share your RAG pipeline
|
|
429
444
|
|
|
430
445
|
You can use your RAG pipeline from extracted pipeline yaml file.
|
|
431
446
|
This extracted pipeline is great for sharing your RAG pipeline to others.
|
|
@@ -515,12 +530,12 @@ at [here](https://edai.notion.site/Supporting-metrics-867d71caefd7401c9264dd91ba
|
|
|
515
530
|
# 🛣Roadmap
|
|
516
531
|
|
|
517
532
|
- [ ] Policy Module for modular RAG pipeline
|
|
518
|
-
- [
|
|
533
|
+
- [x] Visualize evaluation result
|
|
519
534
|
- [ ] Visualize config yaml file
|
|
520
|
-
- [
|
|
535
|
+
- [x] More RAG modules support
|
|
521
536
|
- [x] Token usage strategy
|
|
522
537
|
- [ ] Multi-modal support
|
|
523
|
-
- [
|
|
538
|
+
- [x] More evaluation metrics
|
|
524
539
|
- [ ] Answer Filtering Module
|
|
525
540
|
- [x] Restart optimization from previous trial
|
|
526
541
|
|
|
@@ -32,7 +32,8 @@ You can see on [YouTube](https://youtu.be/2ojK8xjyXAU?feature=shared)
|
|
|
32
32
|
- [1. Prepare your evaluation data](#1-prepare-your-evaluation-data)
|
|
33
33
|
- [2. Evaluate your data to various RAG modules](#2-evaluate-your-data-to-various-rag-modules)
|
|
34
34
|
- [3. Use a found optimal RAG pipeline](#3-use-a-found-optimal-rag-pipeline)
|
|
35
|
-
- [4.
|
|
35
|
+
- [4. Run Dashboard to see the result](#4-run-dashboard)
|
|
36
|
+
- [5. Share your RAG pipeline](#5-share-your-rag-pipeline)
|
|
36
37
|
- [+ Config yaml file](#-create-your-own-config-yaml-file)
|
|
37
38
|
- [Supporting RAG modules](#supporting-nodes--modules)
|
|
38
39
|
- [Roadmap](#roadmap)
|
|
@@ -162,7 +163,15 @@ You can run api server with CLI command.
|
|
|
162
163
|
autorag run_api --config_path your/path/to/pipeline.yaml --host 0.0.0.0 --port 8000
|
|
163
164
|
```
|
|
164
165
|
|
|
165
|
-
### 4.
|
|
166
|
+
### 4. Run Dashboard
|
|
167
|
+
|
|
168
|
+
You can run dashboard to easily see the result.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
autorag dashboard --trial_dir /your/path/to/trial_dir
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 5. Share your RAG pipeline
|
|
166
175
|
|
|
167
176
|
You can use your RAG pipeline from extracted pipeline yaml file.
|
|
168
177
|
This extracted pipeline is great for sharing your RAG pipeline to others.
|
|
@@ -252,12 +261,12 @@ at [here](https://edai.notion.site/Supporting-metrics-867d71caefd7401c9264dd91ba
|
|
|
252
261
|
# 🛣Roadmap
|
|
253
262
|
|
|
254
263
|
- [ ] Policy Module for modular RAG pipeline
|
|
255
|
-
- [
|
|
264
|
+
- [x] Visualize evaluation result
|
|
256
265
|
- [ ] Visualize config yaml file
|
|
257
|
-
- [
|
|
266
|
+
- [x] More RAG modules support
|
|
258
267
|
- [x] Token usage strategy
|
|
259
268
|
- [ ] Multi-modal support
|
|
260
|
-
- [
|
|
269
|
+
- [x] More evaluation metrics
|
|
261
270
|
- [ ] Answer Filtering Module
|
|
262
271
|
- [x] Restart optimization from previous trial
|
|
263
272
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.2.1
|
|
@@ -4,6 +4,7 @@ import os
|
|
|
4
4
|
import sys
|
|
5
5
|
|
|
6
6
|
import transformers
|
|
7
|
+
from llama_index.core.llms.mock import MockLLM
|
|
7
8
|
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
|
|
8
9
|
from llama_index.embeddings.openai import OpenAIEmbedding
|
|
9
10
|
from llama_index.embeddings.openai import OpenAIEmbeddingModelType
|
|
@@ -55,6 +56,7 @@ generator_models = {
|
|
|
55
56
|
'openai': OpenAI,
|
|
56
57
|
'huggingfacellm': HuggingFaceLLM,
|
|
57
58
|
'openailike': OpenAILike,
|
|
59
|
+
'mock': MockLLM,
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
rich_format = "[%(filename)s:%(lineno)s] >> %(message)s"
|
|
@@ -8,6 +8,7 @@ from typing import Optional
|
|
|
8
8
|
|
|
9
9
|
import click
|
|
10
10
|
|
|
11
|
+
from autorag import dashboard
|
|
11
12
|
from autorag.deploy import Runner
|
|
12
13
|
from autorag.deploy import extract_best_config as original_extract_best_config
|
|
13
14
|
from autorag.evaluator import Evaluator
|
|
@@ -70,6 +71,12 @@ def run_web(yaml_path: Optional[str], project_dir: Optional[str], trial_path: Op
|
|
|
70
71
|
subprocess.run(['streamlit', 'run', web_py_path, '--', '--trial_path', trial_path])
|
|
71
72
|
|
|
72
73
|
|
|
74
|
+
@click.command()
|
|
75
|
+
@click.option('--trial_dir', type=click.Path(dir_okay=True, file_okay=False, exists=True), required=True)
|
|
76
|
+
def run_dashboard(trial_dir: str):
|
|
77
|
+
dashboard.run(trial_dir)
|
|
78
|
+
|
|
79
|
+
|
|
73
80
|
@click.command()
|
|
74
81
|
@click.option('--trial_path', type=click.Path(), help='Path to the trial directory.')
|
|
75
82
|
@click.option('--output_path', type=click.Path(), help='Path to the output directory.'
|
|
@@ -94,6 +101,7 @@ def restart_evaluate(trial_path):
|
|
|
94
101
|
cli.add_command(evaluate, 'evaluate')
|
|
95
102
|
cli.add_command(run_api, 'run_api')
|
|
96
103
|
cli.add_command(run_web, 'run_web')
|
|
104
|
+
cli.add_command(run_dashboard, 'dashboard')
|
|
97
105
|
cli.add_command(extract_best_config, 'extract_best_config')
|
|
98
106
|
cli.add_command(restart_evaluate, 'restart_evaluate')
|
|
99
107
|
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import ast
|
|
2
|
+
import logging
|
|
3
|
+
import os
|
|
4
|
+
from typing import Dict, List
|
|
5
|
+
|
|
6
|
+
import matplotlib.pyplot as plt
|
|
7
|
+
import pandas as pd
|
|
8
|
+
import panel as pn
|
|
9
|
+
import seaborn as sns
|
|
10
|
+
import yaml
|
|
11
|
+
|
|
12
|
+
from autorag.utils.util import dict_to_markdown, dict_to_markdown_table
|
|
13
|
+
|
|
14
|
+
pn.extension('terminal', 'tabulator', 'mathjax', 'ipywidgets',
|
|
15
|
+
console_output='disable', sizing_mode="stretch_width")
|
|
16
|
+
logger = logging.getLogger("AutoRAG")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def find_node_dir(trial_dir: str) -> List[str]:
|
|
20
|
+
trial_summary_df = pd.read_csv(os.path.join(trial_dir, 'summary.csv'))
|
|
21
|
+
result_paths = []
|
|
22
|
+
for idx, row in trial_summary_df.iterrows():
|
|
23
|
+
node_line_name = row['node_line_name']
|
|
24
|
+
node_type = row['node_type']
|
|
25
|
+
result_paths.append(os.path.join(trial_dir, node_line_name, node_type))
|
|
26
|
+
return result_paths
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def get_metric_values(node_summary_df: pd.DataFrame) -> Dict:
|
|
30
|
+
non_metric_column_names = ['filename', 'module_name', 'module_params', 'execution_time', 'average_output_token',
|
|
31
|
+
'is_best']
|
|
32
|
+
best_row = node_summary_df.loc[node_summary_df['is_best']].drop(columns=non_metric_column_names, errors='ignore')
|
|
33
|
+
assert len(best_row) == 1, "The best module must be only one."
|
|
34
|
+
return best_row.iloc[0].to_dict()
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def make_trial_summary_md(trial_dir):
|
|
38
|
+
markdown_text = f"""# Trial Result Summary
|
|
39
|
+
- Trial Directory : {trial_dir}
|
|
40
|
+
|
|
41
|
+
"""
|
|
42
|
+
node_dirs = find_node_dir(trial_dir)
|
|
43
|
+
for node_dir in node_dirs:
|
|
44
|
+
node_summary_filepath = os.path.join(node_dir, 'summary.csv')
|
|
45
|
+
node_type = os.path.basename(node_dir)
|
|
46
|
+
node_summary_df = pd.read_csv(node_summary_filepath)
|
|
47
|
+
best_row = node_summary_df.loc[node_summary_df['is_best']].iloc[0]
|
|
48
|
+
metric_dict = get_metric_values(node_summary_df)
|
|
49
|
+
markdown_text += f"""---
|
|
50
|
+
|
|
51
|
+
## {node_type} best module
|
|
52
|
+
|
|
53
|
+
### Module Name
|
|
54
|
+
|
|
55
|
+
{best_row['module_name']}
|
|
56
|
+
|
|
57
|
+
### Module Params
|
|
58
|
+
|
|
59
|
+
{dict_to_markdown(ast.literal_eval(best_row['module_params']), level=3)}
|
|
60
|
+
|
|
61
|
+
### Metric Values
|
|
62
|
+
|
|
63
|
+
{dict_to_markdown_table(metric_dict, key_column_name='metric_name', value_column_name='metric_value')}
|
|
64
|
+
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
return markdown_text
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def node_view(node_dir: str):
|
|
71
|
+
non_metric_column_names = ['filename', 'module_name', 'module_params', 'execution_time', 'average_output_token',
|
|
72
|
+
'is_best']
|
|
73
|
+
summary_df = pd.read_csv(os.path.join(node_dir, 'summary.csv'))
|
|
74
|
+
df_widget = pn.widgets.Tabulator(summary_df, name='Summary DataFrame')
|
|
75
|
+
# TODO: add on click listener for pop-up of each file detail.
|
|
76
|
+
# https://panel.holoviz.org/reference/widgets/Tabulator.html
|
|
77
|
+
|
|
78
|
+
try:
|
|
79
|
+
fig, ax = plt.subplots(figsize=(10, 5))
|
|
80
|
+
metric_df = summary_df.drop(columns=non_metric_column_names, errors='ignore')
|
|
81
|
+
sns.stripplot(data=metric_df, ax=ax)
|
|
82
|
+
strip_plot_pane = pn.pane.Matplotlib(fig, tight=True)
|
|
83
|
+
|
|
84
|
+
fig2, ax2 = plt.subplots(figsize=(10, 5))
|
|
85
|
+
sns.boxplot(data=metric_df, ax=ax2)
|
|
86
|
+
box_plot_pane = pn.pane.Matplotlib(fig2, tight=True)
|
|
87
|
+
plot_pane = pn.Row(strip_plot_pane, box_plot_pane)
|
|
88
|
+
|
|
89
|
+
layout = pn.Column("## Summary distribution plot", plot_pane, "## Summary DataFrame", df_widget)
|
|
90
|
+
except Exception as e:
|
|
91
|
+
logger.error(f'Skipping make boxplot and stripplot with error {e}')
|
|
92
|
+
layout = pn.Column("## Summary DataFrame", df_widget)
|
|
93
|
+
layout.servable()
|
|
94
|
+
return layout
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
CSS = """
|
|
98
|
+
div.card-margin:nth-child(1) {
|
|
99
|
+
max-height: 300px;
|
|
100
|
+
}
|
|
101
|
+
div.card-margin:nth-child(2) {
|
|
102
|
+
max-height: 400px;
|
|
103
|
+
}
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def yaml_to_markdown(yaml_filepath):
|
|
108
|
+
markdown_content = ""
|
|
109
|
+
with open(yaml_filepath, 'r', encoding='utf-8') as file:
|
|
110
|
+
try:
|
|
111
|
+
content = yaml.safe_load(file)
|
|
112
|
+
markdown_content += f"## {os.path.basename(yaml_filepath)}\n```yaml\n{yaml.dump(content, allow_unicode=True)}\n```\n\n"
|
|
113
|
+
except yaml.YAMLError as exc:
|
|
114
|
+
print(f"Error in {yaml_filepath}: {exc}")
|
|
115
|
+
return markdown_content
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def run(trial_dir: str):
|
|
119
|
+
trial_summary_md = make_trial_summary_md(trial_dir=trial_dir)
|
|
120
|
+
trial_summary_tab = pn.pane.Markdown(trial_summary_md, sizing_mode='stretch_width')
|
|
121
|
+
|
|
122
|
+
node_views = [(str(os.path.basename(node_dir)), node_view(node_dir)) for node_dir in find_node_dir(trial_dir)]
|
|
123
|
+
|
|
124
|
+
yaml_file_markdown = yaml_to_markdown(os.path.join(trial_dir, "config.yaml"))
|
|
125
|
+
|
|
126
|
+
yaml_file = pn.pane.Markdown(yaml_file_markdown, sizing_mode='stretch_width')
|
|
127
|
+
|
|
128
|
+
tabs = pn.Tabs(('Summary', trial_summary_tab), *node_views, ('Used YAML file', yaml_file), dynamic=True)
|
|
129
|
+
|
|
130
|
+
template = pn.template.FastListTemplate(site="AutoRAG", title="Dashboard",
|
|
131
|
+
main=[tabs], raw_css=[CSS]).servable()
|
|
132
|
+
template.show()
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
import warnings
|
|
3
|
+
from typing import List, Callable, Any, Tuple, Optional, Union, Dict
|
|
4
|
+
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
from autorag.evaluate.metric import (retrieval_recall, retrieval_precision, retrieval_f1, retrieval_ndcg, retrieval_mrr,
|
|
8
|
+
retrieval_map)
|
|
9
|
+
from autorag.evaluate.util import cast_metrics
|
|
10
|
+
|
|
11
|
+
RETRIEVAL_METRIC_FUNC_DICT = {func.__name__: func for func in
|
|
12
|
+
[retrieval_recall, retrieval_precision, retrieval_f1, retrieval_ndcg, retrieval_mrr,
|
|
13
|
+
retrieval_map]}
|
|
14
|
+
RETRIEVAL_NO_GT_METRIC_FUNC_DICT = {func.__name__: func for func in []}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def evaluate_retrieval(retrieval_gt: List[List[List[str]]], metrics: Union[List[str], List[Dict]],
|
|
18
|
+
queries: Optional[List[str]] = None, generation_gt: Optional[List[List[str]]] = None):
|
|
19
|
+
def decorator_evaluate_retrieval(
|
|
20
|
+
func: Callable[[Any], Tuple[List[List[str]], List[List[str]], List[List[float]]]]):
|
|
21
|
+
"""
|
|
22
|
+
Decorator for evaluating retrieval results.
|
|
23
|
+
You can use this decorator to any method that returns (contents, scores, ids),
|
|
24
|
+
which is the output of conventional retrieval modules.
|
|
25
|
+
|
|
26
|
+
:param func: Must return (contents, scores, ids)
|
|
27
|
+
:return: wrapper function that returns pd.DataFrame, which is the evaluation result.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
@functools.wraps(func)
|
|
31
|
+
def wrapper(*args, **kwargs) -> pd.DataFrame:
|
|
32
|
+
contents, pred_ids, scores = func(*args, **kwargs)
|
|
33
|
+
|
|
34
|
+
metric_scores = {}
|
|
35
|
+
metric_names, metric_params = cast_metrics(metrics)
|
|
36
|
+
|
|
37
|
+
for metric_name, metric_param in zip(metric_names, metric_params):
|
|
38
|
+
if metric_name in RETRIEVAL_METRIC_FUNC_DICT:
|
|
39
|
+
metric_func = RETRIEVAL_METRIC_FUNC_DICT[metric_name]
|
|
40
|
+
metric_scores[metric_name] = metric_func(retrieval_gt=retrieval_gt, pred_ids=pred_ids,
|
|
41
|
+
**metric_param)
|
|
42
|
+
elif metric_name in RETRIEVAL_NO_GT_METRIC_FUNC_DICT:
|
|
43
|
+
metric_func = RETRIEVAL_NO_GT_METRIC_FUNC_DICT[metric_name]
|
|
44
|
+
if queries is None:
|
|
45
|
+
raise ValueError(f"To using {metric_name}, you have to provide queries.")
|
|
46
|
+
if generation_gt is None:
|
|
47
|
+
raise ValueError(f"To using {metric_name}, you have to provide generation ground truth.")
|
|
48
|
+
metric_scores[metric_name] = metric_func(queries=queries, retrieved_contents=contents,
|
|
49
|
+
generation_gt=generation_gt, **metric_param)
|
|
50
|
+
else:
|
|
51
|
+
warnings.warn(
|
|
52
|
+
f"metric {metric_name} is not in supported metrics: {RETRIEVAL_METRIC_FUNC_DICT.keys()}"
|
|
53
|
+
f" and {RETRIEVAL_NO_GT_METRIC_FUNC_DICT.keys()}"
|
|
54
|
+
f"{metric_name} will be ignored.")
|
|
55
|
+
|
|
56
|
+
metric_result_df = pd.DataFrame(metric_scores)
|
|
57
|
+
execution_result_df = pd.DataFrame({
|
|
58
|
+
'retrieved_contents': contents,
|
|
59
|
+
'retrieved_ids': pred_ids,
|
|
60
|
+
'retrieve_scores': scores,
|
|
61
|
+
})
|
|
62
|
+
result_df = pd.concat([execution_result_df, metric_result_df], axis=1)
|
|
63
|
+
return result_df
|
|
64
|
+
|
|
65
|
+
return wrapper
|
|
66
|
+
|
|
67
|
+
return decorator_evaluate_retrieval
|
|
@@ -6,7 +6,7 @@ import pandas as pd
|
|
|
6
6
|
|
|
7
7
|
from autorag.evaluate import evaluate_generation
|
|
8
8
|
from autorag.evaluate.util import cast_metrics
|
|
9
|
-
from autorag.strategy import measure_speed, filter_by_threshold,
|
|
9
|
+
from autorag.strategy import measure_speed, filter_by_threshold, select_best
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def run_generator_node(modules: List[Callable],
|
|
@@ -72,7 +72,8 @@ def run_generator_node(modules: List[Callable],
|
|
|
72
72
|
results, filenames = filter_by_threshold(results, average_times, strategies['speed_threshold'], filenames)
|
|
73
73
|
if strategies.get('token_threshold') is not None:
|
|
74
74
|
results, filenames = filter_by_threshold(results, token_usages, strategies['token_threshold'], filenames)
|
|
75
|
-
selected_result, selected_filename =
|
|
75
|
+
selected_result, selected_filename = select_best(results, metric_names, filenames,
|
|
76
|
+
strategies.get('strategy', 'mean'))
|
|
76
77
|
best_result = pd.concat([previous_result, selected_result], axis=1)
|
|
77
78
|
|
|
78
79
|
# add 'is_best' column at summary file
|
|
@@ -6,7 +6,7 @@ from typing import List, Callable, Dict
|
|
|
6
6
|
import pandas as pd
|
|
7
7
|
|
|
8
8
|
from autorag.nodes.retrieval.run import evaluate_retrieval_node
|
|
9
|
-
from autorag.strategy import measure_speed, filter_by_threshold,
|
|
9
|
+
from autorag.strategy import measure_speed, filter_by_threshold, select_best
|
|
10
10
|
|
|
11
11
|
logger = logging.getLogger("AutoRAG")
|
|
12
12
|
|
|
@@ -56,7 +56,8 @@ def run_passage_augmenter_node(modules: List[Callable],
|
|
|
56
56
|
# filter by strategies
|
|
57
57
|
if strategies.get('speed_threshold') is not None:
|
|
58
58
|
results, filenames = filter_by_threshold(results, average_times, strategies['speed_threshold'], filenames)
|
|
59
|
-
selected_result, selected_filename =
|
|
59
|
+
selected_result, selected_filename = select_best(results, strategies.get('metrics'), filenames,
|
|
60
|
+
strategies.get('strategy', 'mean'))
|
|
60
61
|
# change metric name columns to passage_augmenter_metric_name
|
|
61
62
|
selected_result = selected_result.rename(columns={
|
|
62
63
|
metric_name: f'passage_augmenter_{metric_name}' for metric_name in strategies['metrics']})
|
|
@@ -46,6 +46,15 @@ def passage_compressor_node(func):
|
|
|
46
46
|
)
|
|
47
47
|
del llm
|
|
48
48
|
result = list(map(lambda x: [x], result))
|
|
49
|
+
elif func.__name__ == 'longllmlingua':
|
|
50
|
+
result = func(
|
|
51
|
+
queries=queries,
|
|
52
|
+
contents=retrieved_contents,
|
|
53
|
+
scores=retrieve_scores,
|
|
54
|
+
ids=retrieved_ids,
|
|
55
|
+
**kwargs
|
|
56
|
+
)
|
|
57
|
+
result = list(map(lambda x: [x], result))
|
|
49
58
|
elif func.__name__ == 'pass_compressor':
|
|
50
59
|
result = func(contents=retrieved_contents)
|
|
51
60
|
else:
|