AutoRAG 0.0.0__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.0.0/.github/FUNDING.yml +2 -0
- autorag-0.0.0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
- autorag-0.0.0/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- autorag-0.0.0/.github/copilot-instructions.md +317 -0
- autorag-0.0.0/.github/dependabot.yml +11 -0
- autorag-0.0.0/.github/workflows/publish.yml +63 -0
- autorag-0.0.0/.github/workflows/sphinx.yml +41 -0
- autorag-0.0.0/.github/workflows/test.yml +55 -0
- autorag-0.0.0/.gitignore +168 -0
- autorag-0.0.0/.pre-commit-config.yaml +23 -0
- autorag-0.0.0/AutoRAG.egg-info/PKG-INFO +780 -0
- autorag-0.0.0/AutoRAG.egg-info/SOURCES.txt +695 -0
- autorag-0.0.0/AutoRAG.egg-info/dependency_links.txt +1 -0
- autorag-0.0.0/AutoRAG.egg-info/entry_points.txt +2 -0
- autorag-0.0.0/AutoRAG.egg-info/requires.txt +98 -0
- autorag-0.0.0/AutoRAG.egg-info/top_level.txt +1 -0
- autorag-0.0.0/CNAME +1 -0
- autorag-0.0.0/CODE_OF_CONDUCT.md +39 -0
- autorag-0.0.0/CONTRIBUTING.md +106 -0
- autorag-0.0.0/LICENSE +201 -0
- autorag-0.0.0/PKG-INFO +780 -0
- autorag-0.0.0/README.md +464 -0
- autorag-0.0.0/autorag/__init__.py +82 -0
- autorag-0.0.0/autorag/chunker.py +51 -0
- autorag-0.0.0/autorag/cli.py +209 -0
- autorag-0.0.0/autorag/dashboard.py +199 -0
- autorag-0.0.0/autorag/data/__init__.py +109 -0
- autorag-0.0.0/autorag/data/chunk/__init__.py +2 -0
- autorag-0.0.0/autorag/data/chunk/base.py +128 -0
- autorag-0.0.0/autorag/data/chunk/langchain_chunk.py +76 -0
- autorag-0.0.0/autorag/data/chunk/llama_index_chunk.py +96 -0
- autorag-0.0.0/autorag/data/chunk/run.py +38 -0
- autorag-0.0.0/autorag/data/legacy/__init__.py +0 -0
- autorag-0.0.0/autorag/data/legacy/corpus/__init__.py +2 -0
- autorag-0.0.0/autorag/data/legacy/corpus/langchain.py +47 -0
- autorag-0.0.0/autorag/data/legacy/corpus/llama_index.py +93 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/__init__.py +6 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/base.py +239 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/llama_index.py +253 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/llama_index_default_prompt.txt +54 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/ragas.py +75 -0
- autorag-0.0.0/autorag/data/legacy/qacreation/simple.py +99 -0
- autorag-0.0.0/autorag/data/parse/__init__.py +1 -0
- autorag-0.0.0/autorag/data/parse/base.py +79 -0
- autorag-0.0.0/autorag/data/parse/clova.py +194 -0
- autorag-0.0.0/autorag/data/parse/langchain_parse.py +87 -0
- autorag-0.0.0/autorag/data/parse/llamaparse.py +126 -0
- autorag-0.0.0/autorag/data/parse/run.py +141 -0
- autorag-0.0.0/autorag/data/parse/table_hybrid_parse.py +134 -0
- autorag-0.0.0/autorag/data/qa/__init__.py +3 -0
- autorag-0.0.0/autorag/data/qa/evolve/__init__.py +0 -0
- autorag-0.0.0/autorag/data/qa/evolve/llama_index_query_evolve.py +64 -0
- autorag-0.0.0/autorag/data/qa/evolve/openai_query_evolve.py +81 -0
- autorag-0.0.0/autorag/data/qa/evolve/prompt.py +288 -0
- autorag-0.0.0/autorag/data/qa/extract_evidence.py +1 -0
- autorag-0.0.0/autorag/data/qa/filter/__init__.py +0 -0
- autorag-0.0.0/autorag/data/qa/filter/dontknow.py +117 -0
- autorag-0.0.0/autorag/data/qa/filter/passage_dependency.py +88 -0
- autorag-0.0.0/autorag/data/qa/filter/prompt.py +73 -0
- autorag-0.0.0/autorag/data/qa/generation_gt/__init__.py +0 -0
- autorag-0.0.0/autorag/data/qa/generation_gt/base.py +16 -0
- autorag-0.0.0/autorag/data/qa/generation_gt/llama_index_gen_gt.py +41 -0
- autorag-0.0.0/autorag/data/qa/generation_gt/openai_gen_gt.py +84 -0
- autorag-0.0.0/autorag/data/qa/generation_gt/prompt.py +27 -0
- autorag-0.0.0/autorag/data/qa/query/__init__.py +0 -0
- autorag-0.0.0/autorag/data/qa/query/llama_gen_query.py +82 -0
- autorag-0.0.0/autorag/data/qa/query/openai_gen_query.py +95 -0
- autorag-0.0.0/autorag/data/qa/query/prompt.py +201 -0
- autorag-0.0.0/autorag/data/qa/sample.py +26 -0
- autorag-0.0.0/autorag/data/qa/schema.py +322 -0
- autorag-0.0.0/autorag/data/utils/__init__.py +0 -0
- autorag-0.0.0/autorag/data/utils/util.py +103 -0
- autorag-0.0.0/autorag/deploy/__init__.py +9 -0
- autorag-0.0.0/autorag/deploy/api.py +303 -0
- autorag-0.0.0/autorag/deploy/base.py +235 -0
- autorag-0.0.0/autorag/deploy/gradio.py +74 -0
- autorag-0.0.0/autorag/deploy/swagger.yml +202 -0
- autorag-0.0.0/autorag/embedding/__init__.py +0 -0
- autorag-0.0.0/autorag/embedding/base.py +144 -0
- autorag-0.0.0/autorag/embedding/vllm.py +256 -0
- autorag-0.0.0/autorag/evaluation/__init__.py +3 -0
- autorag-0.0.0/autorag/evaluation/generation.py +88 -0
- autorag-0.0.0/autorag/evaluation/metric/__init__.py +22 -0
- autorag-0.0.0/autorag/evaluation/metric/deepeval_prompt.py +322 -0
- autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt +32 -0
- autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/con_detailed.txt +33 -0
- autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt +26 -0
- autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt +33 -0
- autorag-0.0.0/autorag/evaluation/metric/generation.py +504 -0
- autorag-0.0.0/autorag/evaluation/metric/retrieval.py +115 -0
- autorag-0.0.0/autorag/evaluation/metric/retrieval_contents.py +65 -0
- autorag-0.0.0/autorag/evaluation/metric/util.py +88 -0
- autorag-0.0.0/autorag/evaluation/retrieval.py +83 -0
- autorag-0.0.0/autorag/evaluation/retrieval_contents.py +65 -0
- autorag-0.0.0/autorag/evaluation/util.py +43 -0
- autorag-0.0.0/autorag/evaluator.py +559 -0
- autorag-0.0.0/autorag/node_line.py +65 -0
- autorag-0.0.0/autorag/nodes/__init__.py +0 -0
- autorag-0.0.0/autorag/nodes/generator/__init__.py +4 -0
- autorag-0.0.0/autorag/nodes/generator/base.py +103 -0
- autorag-0.0.0/autorag/nodes/generator/llama_index_llm.py +169 -0
- autorag-0.0.0/autorag/nodes/generator/openai_llm.py +329 -0
- autorag-0.0.0/autorag/nodes/generator/run.py +148 -0
- autorag-0.0.0/autorag/nodes/generator/vllm.py +147 -0
- autorag-0.0.0/autorag/nodes/generator/vllm_api.py +191 -0
- autorag-0.0.0/autorag/nodes/hybridretrieval/__init__.py +2 -0
- autorag-0.0.0/autorag/nodes/hybridretrieval/base.py +58 -0
- autorag-0.0.0/autorag/nodes/hybridretrieval/hybrid_cc.py +227 -0
- autorag-0.0.0/autorag/nodes/hybridretrieval/hybrid_rrf.py +149 -0
- autorag-0.0.0/autorag/nodes/hybridretrieval/run.py +137 -0
- autorag-0.0.0/autorag/nodes/lexicalretrieval/__init__.py +1 -0
- autorag-0.0.0/autorag/nodes/lexicalretrieval/bm25.py +381 -0
- autorag-0.0.0/autorag/nodes/lexicalretrieval/run.py +148 -0
- autorag-0.0.0/autorag/nodes/passageaugmenter/__init__.py +2 -0
- autorag-0.0.0/autorag/nodes/passageaugmenter/base.py +76 -0
- autorag-0.0.0/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +43 -0
- autorag-0.0.0/autorag/nodes/passageaugmenter/prev_next_augmenter.py +155 -0
- autorag-0.0.0/autorag/nodes/passageaugmenter/run.py +131 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/__init__.py +4 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/base.py +78 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/longllmlingua.py +115 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/pass_compressor.py +16 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/refine.py +54 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/run.py +186 -0
- autorag-0.0.0/autorag/nodes/passagecompressor/tree_summarize.py +56 -0
- autorag-0.0.0/autorag/nodes/passagefilter/__init__.py +6 -0
- autorag-0.0.0/autorag/nodes/passagefilter/base.py +40 -0
- autorag-0.0.0/autorag/nodes/passagefilter/pass_passage_filter.py +14 -0
- autorag-0.0.0/autorag/nodes/passagefilter/percentile_cutoff.py +58 -0
- autorag-0.0.0/autorag/nodes/passagefilter/recency.py +105 -0
- autorag-0.0.0/autorag/nodes/passagefilter/run.py +138 -0
- autorag-0.0.0/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +134 -0
- autorag-0.0.0/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +112 -0
- autorag-0.0.0/autorag/nodes/passagefilter/threshold_cutoff.py +78 -0
- autorag-0.0.0/autorag/nodes/passagereranker/__init__.py +16 -0
- autorag-0.0.0/autorag/nodes/passagereranker/base.py +44 -0
- autorag-0.0.0/autorag/nodes/passagereranker/cohere.py +118 -0
- autorag-0.0.0/autorag/nodes/passagereranker/colbert.py +213 -0
- autorag-0.0.0/autorag/nodes/passagereranker/flag_embedding.py +112 -0
- autorag-0.0.0/autorag/nodes/passagereranker/flag_embedding_llm.py +101 -0
- autorag-0.0.0/autorag/nodes/passagereranker/flashrank.py +245 -0
- autorag-0.0.0/autorag/nodes/passagereranker/jina.py +115 -0
- autorag-0.0.0/autorag/nodes/passagereranker/koreranker.py +136 -0
- autorag-0.0.0/autorag/nodes/passagereranker/mixedbreadai.py +126 -0
- autorag-0.0.0/autorag/nodes/passagereranker/monot5.py +190 -0
- autorag-0.0.0/autorag/nodes/passagereranker/openvino.py +191 -0
- autorag-0.0.0/autorag/nodes/passagereranker/pass_reranker.py +31 -0
- autorag-0.0.0/autorag/nodes/passagereranker/rankgpt.py +170 -0
- autorag-0.0.0/autorag/nodes/passagereranker/run.py +145 -0
- autorag-0.0.0/autorag/nodes/passagereranker/sentence_transformer.py +129 -0
- autorag-0.0.0/autorag/nodes/passagereranker/tart/__init__.py +1 -0
- autorag-0.0.0/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +152 -0
- autorag-0.0.0/autorag/nodes/passagereranker/tart/tart.py +139 -0
- autorag-0.0.0/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +112 -0
- autorag-0.0.0/autorag/nodes/passagereranker/time_reranker.py +72 -0
- autorag-0.0.0/autorag/nodes/passagereranker/upr.py +160 -0
- autorag-0.0.0/autorag/nodes/passagereranker/voyageai.py +109 -0
- autorag-0.0.0/autorag/nodes/promptmaker/__init__.py +12 -0
- autorag-0.0.0/autorag/nodes/promptmaker/base.py +32 -0
- autorag-0.0.0/autorag/nodes/promptmaker/chat_fstring.py +73 -0
- autorag-0.0.0/autorag/nodes/promptmaker/fstring.py +49 -0
- autorag-0.0.0/autorag/nodes/promptmaker/long_context_reorder.py +83 -0
- autorag-0.0.0/autorag/nodes/promptmaker/run.py +283 -0
- autorag-0.0.0/autorag/nodes/promptmaker/window_replacement.py +85 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/__init__.py +4 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/base.py +62 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/hyde.py +43 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/multi_query_expansion.py +57 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/pass_query_expansion.py +22 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/query_decompose.py +111 -0
- autorag-0.0.0/autorag/nodes/queryexpansion/run.py +308 -0
- autorag-0.0.0/autorag/nodes/retrieval/__init__.py +0 -0
- autorag-0.0.0/autorag/nodes/retrieval/base.py +127 -0
- autorag-0.0.0/autorag/nodes/retrieval/run_util.py +152 -0
- autorag-0.0.0/autorag/nodes/semanticretrieval/__init__.py +1 -0
- autorag-0.0.0/autorag/nodes/semanticretrieval/run.py +148 -0
- autorag-0.0.0/autorag/nodes/semanticretrieval/vectordb.py +339 -0
- autorag-0.0.0/autorag/nodes/util.py +16 -0
- autorag-0.0.0/autorag/parser.py +37 -0
- autorag-0.0.0/autorag/schema/__init__.py +3 -0
- autorag-0.0.0/autorag/schema/base.py +35 -0
- autorag-0.0.0/autorag/schema/metricinput.py +99 -0
- autorag-0.0.0/autorag/schema/module.py +24 -0
- autorag-0.0.0/autorag/schema/node.py +144 -0
- autorag-0.0.0/autorag/strategy.py +165 -0
- autorag-0.0.0/autorag/support.py +235 -0
- autorag-0.0.0/autorag/utils/__init__.py +8 -0
- autorag-0.0.0/autorag/utils/cast.py +45 -0
- autorag-0.0.0/autorag/utils/preprocess.py +149 -0
- autorag-0.0.0/autorag/utils/util.py +759 -0
- autorag-0.0.0/autorag/validator.py +98 -0
- autorag-0.0.0/autorag/vectordb/__init__.py +75 -0
- autorag-0.0.0/autorag/vectordb/base.py +73 -0
- autorag-0.0.0/autorag/vectordb/chroma.py +118 -0
- autorag-0.0.0/autorag/vectordb/couchbase.py +239 -0
- autorag-0.0.0/autorag/vectordb/milvus.py +169 -0
- autorag-0.0.0/autorag/vectordb/pinecone.py +121 -0
- autorag-0.0.0/autorag/vectordb/qdrant.py +155 -0
- autorag-0.0.0/autorag/vectordb/weaviate.py +184 -0
- autorag-0.0.0/autorag/web.py +81 -0
- autorag-0.0.0/docs/CNAME +1 -0
- autorag-0.0.0/docs/Makefile +20 -0
- autorag-0.0.0/docs/make.bat +35 -0
- autorag-0.0.0/docs/requirements.txt +9 -0
- autorag-0.0.0/docs/source/CNAME +1 -0
- autorag-0.0.0/docs/source/_static/data_creation.png +0 -0
- autorag-0.0.0/docs/source/_static/data_creation_pipeline.png +0 -0
- autorag-0.0.0/docs/source/_static/data_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/dcg.png +0 -0
- autorag-0.0.0/docs/source/_static/f1_score.png +0 -0
- autorag-0.0.0/docs/source/_static/integration/couchbase_search_index.png +0 -0
- autorag-0.0.0/docs/source/_static/integration/nvidia_api.png +0 -0
- autorag-0.0.0/docs/source/_static/integration/nvidia_nim.png +0 -0
- autorag-0.0.0/docs/source/_static/integration/ollama_autorag.png +0 -0
- autorag-0.0.0/docs/source/_static/map.png +0 -0
- autorag-0.0.0/docs/source/_static/mrr.png +0 -0
- autorag-0.0.0/docs/source/_static/ndcg.png +0 -0
- autorag-0.0.0/docs/source/_static/ndcg_formula.png +0 -0
- autorag-0.0.0/docs/source/_static/node_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/node_line_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/node_line_summary.png +0 -0
- autorag-0.0.0/docs/source/_static/node_lines.png +0 -0
- autorag-0.0.0/docs/source/_static/node_summary.png +0 -0
- autorag-0.0.0/docs/source/_static/normal_distribution.png +0 -0
- autorag-0.0.0/docs/source/_static/project_folder_example.png +0 -0
- autorag-0.0.0/docs/source/_static/project_folders.png +0 -0
- autorag-0.0.0/docs/source/_static/qa/data_creation_schema.png +0 -0
- autorag-0.0.0/docs/source/_static/resources_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/advanced_RAG.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/cycle.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/merger.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/node_line_modular.png +0 -0
- autorag-0.0.0/docs/source/_static/roadmap/policy.png +0 -0
- autorag-0.0.0/docs/source/_static/samsung_sundae.jpeg +0 -0
- autorag-0.0.0/docs/source/_static/score_fusion.png +0 -0
- autorag-0.0.0/docs/source/_static/trial_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/trial_json.png +0 -0
- autorag-0.0.0/docs/source/_static/trial_summary.png +0 -0
- autorag-0.0.0/docs/source/_static/web_interface.png +0 -0
- autorag-0.0.0/docs/source/_static/web_interface_gradio.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/compact_structured.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/detail_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/full_modules.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/full_structured.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/full_yaml_structure.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/gpu_modules.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/half_structured.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/non_gpu_modules.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/sample_yaml_folder.png +0 -0
- autorag-0.0.0/docs/source/_static/yaml/simple_structured.png +0 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.chunk.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.corpus.rst +29 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.corpus.rst +29 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.qacreation.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.rst +19 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.parse.rst +61 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qa.evolve.rst +37 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qa.filter.rst +37 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qa.generation_gt.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qa.query.rst +37 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qa.rst +48 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.qacreation.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.rst +22 -0
- autorag-0.0.0/docs/source/api_spec/autorag.data.utils.rst +21 -0
- autorag-0.0.0/docs/source/api_spec/autorag.deploy.rst +37 -0
- autorag-0.0.0/docs/source/api_spec/autorag.evaluation.metric.rst +53 -0
- autorag-0.0.0/docs/source/api_spec/autorag.evaluation.rst +53 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.generator.rst +53 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagecompressor.rst +61 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagefilter.rst +77 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagereranker.rst +165 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +37 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.promptmaker.rst +53 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.queryexpansion.rst +61 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.retrieval.rst +61 -0
- autorag-0.0.0/docs/source/api_spec/autorag.nodes.rst +36 -0
- autorag-0.0.0/docs/source/api_spec/autorag.rst +107 -0
- autorag-0.0.0/docs/source/api_spec/autorag.schema.rst +45 -0
- autorag-0.0.0/docs/source/api_spec/autorag.utils.rst +29 -0
- autorag-0.0.0/docs/source/api_spec/autorag.vectordb.rst +69 -0
- autorag-0.0.0/docs/source/api_spec/modules.rst +5 -0
- autorag-0.0.0/docs/source/conf.py +45 -0
- autorag-0.0.0/docs/source/data_creation/chunk/chunk.md +164 -0
- autorag-0.0.0/docs/source/data_creation/chunk/langchain_chunk.md +47 -0
- autorag-0.0.0/docs/source/data_creation/chunk/llama_index_chunk.md +57 -0
- autorag-0.0.0/docs/source/data_creation/data_creation.md +35 -0
- autorag-0.0.0/docs/source/data_creation/data_format.md +190 -0
- autorag-0.0.0/docs/source/data_creation/legacy/legacy.md +13 -0
- autorag-0.0.0/docs/source/data_creation/legacy/parse.md +104 -0
- autorag-0.0.0/docs/source/data_creation/legacy/ragas.md +76 -0
- autorag-0.0.0/docs/source/data_creation/legacy/tutorial.md +268 -0
- autorag-0.0.0/docs/source/data_creation/parse/clova.md +30 -0
- autorag-0.0.0/docs/source/data_creation/parse/langchain_parse.md +123 -0
- autorag-0.0.0/docs/source/data_creation/parse/llama_parse.md +96 -0
- autorag-0.0.0/docs/source/data_creation/parse/parse.md +194 -0
- autorag-0.0.0/docs/source/data_creation/parse/table_hybrid_parse.md +52 -0
- autorag-0.0.0/docs/source/data_creation/qa_creation/answer_gen.md +85 -0
- autorag-0.0.0/docs/source/data_creation/qa_creation/evolve.md +84 -0
- autorag-0.0.0/docs/source/data_creation/qa_creation/filter.md +112 -0
- autorag-0.0.0/docs/source/data_creation/qa_creation/qa_creation.md +166 -0
- autorag-0.0.0/docs/source/data_creation/qa_creation/query_gen.md +158 -0
- autorag-0.0.0/docs/source/data_creation/tutorial.md +166 -0
- autorag-0.0.0/docs/source/deploy/api_endpoint.md +306 -0
- autorag-0.0.0/docs/source/deploy/web.md +58 -0
- autorag-0.0.0/docs/source/evaluate_metrics/generation.md +127 -0
- autorag-0.0.0/docs/source/evaluate_metrics/retrieval.md +223 -0
- autorag-0.0.0/docs/source/evaluate_metrics/retrieval_contents.md +85 -0
- autorag-0.0.0/docs/source/index.rst +175 -0
- autorag-0.0.0/docs/source/install.md +166 -0
- autorag-0.0.0/docs/source/integration/llm/aws_bedrock.md +64 -0
- autorag-0.0.0/docs/source/integration/llm/huggingface_llm.md +57 -0
- autorag-0.0.0/docs/source/integration/llm/llm.md +123 -0
- autorag-0.0.0/docs/source/integration/llm/nvidia_nim.md +59 -0
- autorag-0.0.0/docs/source/integration/llm/ollama.md +120 -0
- autorag-0.0.0/docs/source/integration/vectordb/chroma.md +111 -0
- autorag-0.0.0/docs/source/integration/vectordb/couchbase.md +193 -0
- autorag-0.0.0/docs/source/integration/vectordb/milvus.md +157 -0
- autorag-0.0.0/docs/source/integration/vectordb/pinecone.md +161 -0
- autorag-0.0.0/docs/source/integration/vectordb/qdrant.md +166 -0
- autorag-0.0.0/docs/source/integration/vectordb/vectordb.md +107 -0
- autorag-0.0.0/docs/source/integration/vectordb/weaviate.md +253 -0
- autorag-0.0.0/docs/source/local_model.md +274 -0
- autorag-0.0.0/docs/source/migration.md +157 -0
- autorag-0.0.0/docs/source/nodes/generator/generator.md +86 -0
- autorag-0.0.0/docs/source/nodes/generator/llama_index_llm.md +37 -0
- autorag-0.0.0/docs/source/nodes/generator/openai_llm.md +60 -0
- autorag-0.0.0/docs/source/nodes/generator/vllm.md +104 -0
- autorag-0.0.0/docs/source/nodes/generator/vllm_api.md +38 -0
- autorag-0.0.0/docs/source/nodes/index.md +82 -0
- autorag-0.0.0/docs/source/nodes/passage_augmenter/passage_augmenter.md +61 -0
- autorag-0.0.0/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +32 -0
- autorag-0.0.0/docs/source/nodes/passage_compressor/longllmlingua.md +32 -0
- autorag-0.0.0/docs/source/nodes/passage_compressor/passage_compressor.md +65 -0
- autorag-0.0.0/docs/source/nodes/passage_compressor/refine.md +38 -0
- autorag-0.0.0/docs/source/nodes/passage_compressor/tree_summarize.md +32 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/passage_filter.md +64 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/percentile_cutoff.md +29 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/recency_filter.md +40 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +35 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +37 -0
- autorag-0.0.0/docs/source/nodes/passage_filter/threshold_cutoff.md +29 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/cohere.md +55 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/colbert.md +24 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +26 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +26 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/flashrank_reranker.md +29 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/jina_reranker.md +49 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/koreranker.md +25 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/mixedbreadai_reranker.md +50 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/monot5.md +54 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/openvino_reranker.md +24 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/passage_reranker.md +77 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/rankgpt.md +34 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +25 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/tart.md +26 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/time_reranker.md +26 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/upr.md +36 -0
- autorag-0.0.0/docs/source/nodes/passage_reranker/voyageai_reranker.md +52 -0
- autorag-0.0.0/docs/source/nodes/prompt_maker/chat_fstring.md +41 -0
- autorag-0.0.0/docs/source/nodes/prompt_maker/fstring.md +23 -0
- autorag-0.0.0/docs/source/nodes/prompt_maker/long_context_reorder.md +27 -0
- autorag-0.0.0/docs/source/nodes/prompt_maker/prompt_maker.md +85 -0
- autorag-0.0.0/docs/source/nodes/prompt_maker/window_replacement.md +32 -0
- autorag-0.0.0/docs/source/nodes/query_expansion/hyde.md +34 -0
- autorag-0.0.0/docs/source/nodes/query_expansion/multi_query_expansion.md +37 -0
- autorag-0.0.0/docs/source/nodes/query_expansion/query_decompose.md +85 -0
- autorag-0.0.0/docs/source/nodes/query_expansion/query_expansion.md +84 -0
- autorag-0.0.0/docs/source/nodes/retrieval/bm25.md +68 -0
- autorag-0.0.0/docs/source/nodes/retrieval/hybrid_cc.md +59 -0
- autorag-0.0.0/docs/source/nodes/retrieval/hybrid_rrf.md +37 -0
- autorag-0.0.0/docs/source/nodes/retrieval/retrieval.md +89 -0
- autorag-0.0.0/docs/source/nodes/retrieval/vectordb.md +33 -0
- autorag-0.0.0/docs/source/optimization/custom_config.md +154 -0
- autorag-0.0.0/docs/source/optimization/folder_structure.md +135 -0
- autorag-0.0.0/docs/source/optimization/optimization.md +130 -0
- autorag-0.0.0/docs/source/optimization/sample_config.md +94 -0
- autorag-0.0.0/docs/source/optimization/strategies.md +78 -0
- autorag-0.0.0/docs/source/roadmap/modular_rag.md +187 -0
- autorag-0.0.0/docs/source/structure.md +61 -0
- autorag-0.0.0/docs/source/test_your_rag.md +147 -0
- autorag-0.0.0/docs/source/troubleshooting.md +180 -0
- autorag-0.0.0/docs/source/tutorial.md +325 -0
- autorag-0.0.0/pyproject.toml +230 -0
- autorag-0.0.0/sample_config/chunk/chunk_full.yaml +32 -0
- autorag-0.0.0/sample_config/chunk/chunk_ko.yaml +19 -0
- autorag-0.0.0/sample_config/chunk/simple_chunk.yaml +3 -0
- autorag-0.0.0/sample_config/parse/all_files_full.yaml +25 -0
- autorag-0.0.0/sample_config/parse/file_types_full.yaml +26 -0
- autorag-0.0.0/sample_config/parse/parse_hybird.yaml +12 -0
- autorag-0.0.0/sample_config/parse/parse_ko.yaml +11 -0
- autorag-0.0.0/sample_config/parse/parse_multimodal.yaml +8 -0
- autorag-0.0.0/sample_config/parse/parse_ocr.yaml +10 -0
- autorag-0.0.0/sample_config/parse/simple_parse.yaml +4 -0
- autorag-0.0.0/sample_config/rag/english/gpu/compact_local.yaml +60 -0
- autorag-0.0.0/sample_config/rag/english/gpu/compact_openai.yaml +115 -0
- autorag-0.0.0/sample_config/rag/english/gpu/full.yaml +168 -0
- autorag-0.0.0/sample_config/rag/english/gpu/half.yaml +135 -0
- autorag-0.0.0/sample_config/rag/english/gpu_api/compact.yaml +119 -0
- autorag-0.0.0/sample_config/rag/english/gpu_api/full.yaml +165 -0
- autorag-0.0.0/sample_config/rag/english/gpu_api/half.yaml +132 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/compact.yaml +97 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/full.yaml +142 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/half.yaml +109 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/simple_bedrock.yaml +33 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/simple_local.yaml +31 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/simple_ollama.yaml +34 -0
- autorag-0.0.0/sample_config/rag/english/non_gpu/simple_openai.yaml +25 -0
- autorag-0.0.0/sample_config/rag/extracted_sample.yaml +47 -0
- autorag-0.0.0/sample_config/rag/full.yaml +173 -0
- autorag-0.0.0/sample_config/rag/korean/gpu/compact_korean.yaml +107 -0
- autorag-0.0.0/sample_config/rag/korean/gpu/full_korean.yaml +171 -0
- autorag-0.0.0/sample_config/rag/korean/gpu/half_korean.yaml +140 -0
- autorag-0.0.0/sample_config/rag/korean/gpu_api/compact_korean.yaml +101 -0
- autorag-0.0.0/sample_config/rag/korean/gpu_api/full_korean.yaml +165 -0
- autorag-0.0.0/sample_config/rag/korean/gpu_api/half_korean.yaml +134 -0
- autorag-0.0.0/sample_config/rag/korean/non_gpu/compact_korean.yaml +92 -0
- autorag-0.0.0/sample_config/rag/korean/non_gpu/full_korean.yaml +156 -0
- autorag-0.0.0/sample_config/rag/korean/non_gpu/half_korean.yaml +125 -0
- autorag-0.0.0/sample_config/rag/korean/non_gpu/simple_korean.yaml +30 -0
- autorag-0.0.0/sample_dataset/README.md +25 -0
- autorag-0.0.0/sample_dataset/eli5/load_eli5_dataset.py +35 -0
- autorag-0.0.0/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +35 -0
- autorag-0.0.0/sample_dataset/msmarco/load_msmarco_dataset.py +37 -0
- autorag-0.0.0/sample_dataset/triviaqa/load_triviaqa_dataset.py +37 -0
- autorag-0.0.0/setup.cfg +4 -0
- autorag-0.0.0/tests/__init__.py +0 -0
- autorag-0.0.0/tests/autorag/data/chunk/test_chunk_base.py +192 -0
- autorag-0.0.0/tests/autorag/data/chunk/test_chunk_run.py +19 -0
- autorag-0.0.0/tests/autorag/data/chunk/test_langchain_chunk.py +111 -0
- autorag-0.0.0/tests/autorag/data/chunk/test_llama_index_chunk.py +161 -0
- autorag-0.0.0/tests/autorag/data/legacy/corpus/test_base_corpus_legacy.py +21 -0
- autorag-0.0.0/tests/autorag/data/legacy/corpus/test_langchain.py +24 -0
- autorag-0.0.0/tests/autorag/data/legacy/corpus/test_llama_index_corpus.py +55 -0
- autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_base_qacreation.py +250 -0
- autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_llama_index_qacreation.py +132 -0
- autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_ragas_qa_creation.py +24 -0
- autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_simple.py +60 -0
- autorag-0.0.0/tests/autorag/data/parse/test_clova.py +136 -0
- autorag-0.0.0/tests/autorag/data/parse/test_langchain_parse.py +228 -0
- autorag-0.0.0/tests/autorag/data/parse/test_llamaparse.py +228 -0
- autorag-0.0.0/tests/autorag/data/parse/test_parse_base.py +84 -0
- autorag-0.0.0/tests/autorag/data/parse/test_parse_run.py +48 -0
- autorag-0.0.0/tests/autorag/data/parse/test_table_hybrid_parse.py +109 -0
- autorag-0.0.0/tests/autorag/data/qa/evolve/base_test_query_evolve.py +25 -0
- autorag-0.0.0/tests/autorag/data/qa/evolve/test_llama_index_query_evolve.py +42 -0
- autorag-0.0.0/tests/autorag/data/qa/evolve/test_openai_query_evolve.py +88 -0
- autorag-0.0.0/tests/autorag/data/qa/filter/test_dontknow.py +177 -0
- autorag-0.0.0/tests/autorag/data/qa/filter/test_passage_dependency.py +180 -0
- autorag-0.0.0/tests/autorag/data/qa/generation_gt/base_test_generation_gt.py +32 -0
- autorag-0.0.0/tests/autorag/data/qa/generation_gt/test_llama_index_gen_gt.py +59 -0
- autorag-0.0.0/tests/autorag/data/qa/generation_gt/test_openai_gen_gt.py +102 -0
- autorag-0.0.0/tests/autorag/data/qa/query/base_test_query_gen.py +33 -0
- autorag-0.0.0/tests/autorag/data/qa/query/test_llama_gen_query.py +96 -0
- autorag-0.0.0/tests/autorag/data/qa/query/test_openai_gen_query.py +155 -0
- autorag-0.0.0/tests/autorag/data/qa/test_data_creation_piepline.py +137 -0
- autorag-0.0.0/tests/autorag/data/qa/test_sample.py +31 -0
- autorag-0.0.0/tests/autorag/data/qa/test_schema.py +199 -0
- autorag-0.0.0/tests/autorag/embedding/test_base.py +74 -0
- autorag-0.0.0/tests/autorag/evaluate/metric/test_generation_metric.py +298 -0
- autorag-0.0.0/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +68 -0
- autorag-0.0.0/tests/autorag/evaluate/metric/test_retrieval_metric.py +107 -0
- autorag-0.0.0/tests/autorag/evaluate/test_evaluate_util.py +41 -0
- autorag-0.0.0/tests/autorag/evaluate/test_generation_evaluate.py +178 -0
- autorag-0.0.0/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +61 -0
- autorag-0.0.0/tests/autorag/evaluate/test_retrieval_evaluate.py +106 -0
- autorag-0.0.0/tests/autorag/nodes/generator/test_generator_base.py +65 -0
- autorag-0.0.0/tests/autorag/nodes/generator/test_llama_index_llm.py +133 -0
- autorag-0.0.0/tests/autorag/nodes/generator/test_openai.py +215 -0
- autorag-0.0.0/tests/autorag/nodes/generator/test_run_generator_node.py +121 -0
- autorag-0.0.0/tests/autorag/nodes/generator/test_vllm.py +84 -0
- autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_hybrid_cc.py +110 -0
- autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_hybrid_rrf.py +99 -0
- autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_run_hybrid_retrieval.py +193 -0
- autorag-0.0.0/tests/autorag/nodes/lexicalretrieval/test_bm25.py +217 -0
- autorag-0.0.0/tests/autorag/nodes/lexicalretrieval/test_run_lexical_retrieval.py +141 -0
- autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +38 -0
- autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +33 -0
- autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +92 -0
- autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +94 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +37 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +34 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +33 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_refine.py +82 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +158 -0
- autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +88 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +28 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +118 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +95 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +53 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_recency_filter.py +136 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +64 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +58 -0
- autorag-0.0.0/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +60 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +81 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +103 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flag_embedding.py +56 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +73 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flashrank_reranker.py +50 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_jina_reranker.py +112 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_koreranker.py +50 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_mixedbreadai_reranker.py +86 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_monot5.py +50 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_openvino_reranker.py +50 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_pass_reranker.py +23 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +117 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +157 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_rankgpt.py +122 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +48 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_tart.py +51 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_time_reranker.py +44 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_upr.py +38 -0
- autorag-0.0.0/tests/autorag/nodes/passagereranker/test_voyageai_reranker.py +94 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_chat_fstring.py +79 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_fstring.py +44 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +47 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +48 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +291 -0
- autorag-0.0.0/tests/autorag/nodes/promptmaker/test_window_replacement.py +60 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_hyde.py +34 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +38 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +16 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_decompose.py +35 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +50 -0
- autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +282 -0
- autorag-0.0.0/tests/autorag/nodes/retrieval/test_hybrid_base.py +234 -0
- autorag-0.0.0/tests/autorag/nodes/retrieval/test_retrieval_base.py +90 -0
- autorag-0.0.0/tests/autorag/nodes/semanticretrieval/test_run_semantic_retrieval.py +143 -0
- autorag-0.0.0/tests/autorag/nodes/semanticretrieval/test_vectordb.py +387 -0
- autorag-0.0.0/tests/autorag/schema/test_base_schema.py +38 -0
- autorag-0.0.0/tests/autorag/schema/test_metricinput_schema.py +84 -0
- autorag-0.0.0/tests/autorag/schema/test_module_schema.py +40 -0
- autorag-0.0.0/tests/autorag/schema/test_node_schema.py +171 -0
- autorag-0.0.0/tests/autorag/test_chunker.py +61 -0
- autorag-0.0.0/tests/autorag/test_cli.py +125 -0
- autorag-0.0.0/tests/autorag/test_dashboard.py +45 -0
- autorag-0.0.0/tests/autorag/test_deploy.py +378 -0
- autorag-0.0.0/tests/autorag/test_evaluator.py +513 -0
- autorag-0.0.0/tests/autorag/test_parser.py +184 -0
- autorag-0.0.0/tests/autorag/test_strategy.py +109 -0
- autorag-0.0.0/tests/autorag/test_support.py +11 -0
- autorag-0.0.0/tests/autorag/test_validator.py +16 -0
- autorag-0.0.0/tests/autorag/test_web.py +47 -0
- autorag-0.0.0/tests/autorag/utils/test_preprocess.py +121 -0
- autorag-0.0.0/tests/autorag/utils/test_util.py +667 -0
- autorag-0.0.0/tests/autorag/vectordb/test_base_vectordb.py +70 -0
- autorag-0.0.0/tests/autorag/vectordb/test_chroma.py +68 -0
- autorag-0.0.0/tests/autorag/vectordb/test_couchbase.py +83 -0
- autorag-0.0.0/tests/autorag/vectordb/test_milvus.py +81 -0
- autorag-0.0.0/tests/autorag/vectordb/test_pinecone.py +80 -0
- autorag-0.0.0/tests/autorag/vectordb/test_qdrant.py +80 -0
- autorag-0.0.0/tests/autorag/vectordb/test_weaviate.py +79 -0
- autorag-0.0.0/tests/conftest.py +5 -0
- autorag-0.0.0/tests/delete_tests.py +33 -0
- autorag-0.0.0/tests/mock.py +149 -0
- autorag-0.0.0/tests/resources/README.md +16 -0
- autorag-0.0.0/tests/resources/chunk_data/sample_parsed.parquet +0 -0
- autorag-0.0.0/tests/resources/corpus_data_sample.parquet +0 -0
- autorag-0.0.0/tests/resources/data_creation/raw_dir/sample1.txt +30 -0
- autorag-0.0.0/tests/resources/data_creation/raw_dir/sample2.txt +27 -0
- autorag-0.0.0/tests/resources/data_creation/raw_dir/sample3.txt +31 -0
- autorag-0.0.0/tests/resources/dataset_sample_gen_by_autorag/corpus.parquet +0 -0
- autorag-0.0.0/tests/resources/dataset_sample_gen_by_autorag/qa.parquet +0 -0
- autorag-0.0.0/tests/resources/full.yaml +87 -0
- autorag-0.0.0/tests/resources/parse_data/all_files/baseball_1.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/all_files/csv_sample.csv +6 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/baseball_1.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/csv_sample.csv +6 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/html_sample.html +38 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/json_sample.json +7 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/markdown_sample.md +49 -0
- autorag-0.0.0/tests/resources/parse_data/all_files_full/xml_sample.xml +132 -0
- autorag-0.0.0/tests/resources/parse_data/clova_data/result_sample.json +4513 -0
- autorag-0.0.0/tests/resources/parse_data/clova_data/result_table.txt +31 -0
- autorag-0.0.0/tests/resources/parse_data/clova_data/result_text.txt +18 -0
- autorag-0.0.0/tests/resources/parse_data/config/all_files.yaml +4 -0
- autorag-0.0.0/tests/resources/parse_data/config/lack_full_parse.yaml +14 -0
- autorag-0.0.0/tests/resources/parse_data/config/lack_simple_parse.yaml +5 -0
- autorag-0.0.0/tests/resources/parse_data/config/perfect_full_parse.yaml +26 -0
- autorag-0.0.0/tests/resources/parse_data/config/perfect_simple_parse.yaml +9 -0
- autorag-0.0.0/tests/resources/parse_data/csv_data/csv_sample.csv +6 -0
- autorag-0.0.0/tests/resources/parse_data/eng_text/baseball_1.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/eng_text/baseball_2.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/html_data/html_sample.html +38 -0
- autorag-0.0.0/tests/resources/parse_data/hybrid_data/nfl_rulebook_both.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/json_data/json_sample.json +7 -0
- autorag-0.0.0/tests/resources/parse_data/korean_table/only_table/kbo_only_table.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/korean_table/table_text/kbo_table_text.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/korean_text/korean_texts_two_page.pdf +0 -0
- autorag-0.0.0/tests/resources/parse_data/markdown_data/markdown_sample.md +49 -0
- autorag-0.0.0/tests/resources/parse_data/xml_data/xml_sample.xml +132 -0
- autorag-0.0.0/tests/resources/qa_data_sample.parquet +0 -0
- autorag-0.0.0/tests/resources/qa_gen_prompts/prompt1.txt +12 -0
- autorag-0.0.0/tests/resources/qa_gen_prompts/prompt2.txt +12 -0
- autorag-0.0.0/tests/resources/qa_gen_prompts/prompt3.txt +12 -0
- autorag-0.0.0/tests/resources/qa_test_data_sample.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/config.yaml +82 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +3 -0
- autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +3 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
- autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/summary.csv +5 -0
- autorag-0.0.0/tests/resources/result_project/0/summary.csv +8 -0
- autorag-0.0.0/tests/resources/result_project/1/config.yaml +82 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
- autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/summary.csv +5 -0
- autorag-0.0.0/tests/resources/result_project/2/config.yaml +82 -0
- autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/summary.csv +3 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
- autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
- autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/summary.csv +5 -0
- autorag-0.0.0/tests/resources/result_project/3/config.yaml +82 -0
- autorag-0.0.0/tests/resources/result_project/best.yaml +83 -0
- autorag-0.0.0/tests/resources/result_project/data/corpus.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/data/qa.parquet +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
- autorag-0.0.0/tests/resources/result_project/resources/chroma/chroma.sqlite3 +3 -0
- autorag-0.0.0/tests/resources/result_project/resources/vectordb.yaml +7 -0
- autorag-0.0.0/tests/resources/result_project/trial.json +18 -0
- autorag-0.0.0/tests/resources/sample_contents_nqa.csv +15 -0
- autorag-0.0.0/tests/resources/sample_project/data/corpus.parquet +0 -0
- autorag-0.0.0/tests/resources/sample_project/data/qa.parquet +0 -0
- autorag-0.0.0/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
- autorag-0.0.0/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
- autorag-0.0.0/tests/resources/sample_project/resources/vectordb.yaml +13 -0
- autorag-0.0.0/tests/resources/simple.yaml +59 -0
- autorag-0.0.0/tests/resources/simple_chunk.yaml +3 -0
- autorag-0.0.0/tests/resources/simple_milvus.yaml +38 -0
- autorag-0.0.0/tests/resources/simple_mock.yaml +37 -0
- autorag-0.0.0/tests/resources/simple_mock_with_llm.yaml +40 -0
- autorag-0.0.0/tests/resources/simple_parse.yaml +4 -0
- autorag-0.0.0/tests/resources/simple_with_llm.yaml +27 -0
- autorag-0.0.0/tests/resources/test_bm25_retrieval.pkl +0 -0
- autorag-0.0.0/uv.lock +9568 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: "[BUG] "
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the bug**
|
|
11
|
+
A clear and concise description of what the bug is.
|
|
12
|
+
|
|
13
|
+
**To Reproduce**
|
|
14
|
+
Steps to reproduce the behavior:
|
|
15
|
+
1. Go to '...'
|
|
16
|
+
2. Click on '....'
|
|
17
|
+
3. Scroll down to '....'
|
|
18
|
+
4. See error
|
|
19
|
+
|
|
20
|
+
**Expected behavior**
|
|
21
|
+
A clear and concise description of what you expected to happen.
|
|
22
|
+
|
|
23
|
+
**Full Error log**
|
|
24
|
+
If applicable, add full error log to help explain your problem.
|
|
25
|
+
|
|
26
|
+
**Code that bug is happened**
|
|
27
|
+
If applicable, add the code that bug is happened.
|
|
28
|
+
(Especially, your AutoRAG YAML file or python codes that you wrote)
|
|
29
|
+
|
|
30
|
+
**Desktop (please complete the following information):**
|
|
31
|
+
- OS: [e.g. Windows, Linux, MacOS]
|
|
32
|
+
- Python version [e.g. 3.10]
|
|
33
|
+
|
|
34
|
+
**Additional context**
|
|
35
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for this project
|
|
4
|
+
title: "[Feature Request]"
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
12
|
+
|
|
13
|
+
**Describe the solution you'd like**
|
|
14
|
+
A clear and concise description of what you want to happen.
|
|
15
|
+
|
|
16
|
+
**Describe alternatives you've considered**
|
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
+
|
|
19
|
+
**Additional context**
|
|
20
|
+
Add any other context or screenshots about the feature request here.
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
# AutoRAG - AI-Powered RAG Pipeline Optimization
|
|
2
|
+
|
|
3
|
+
AutoRAG is a Python package for automatically finding optimal RAG (Retrieval-Augmented Generation) pipelines for your data using AutoML techniques. The system evaluates various RAG module combinations to find the best configuration for your specific use case.
|
|
4
|
+
|
|
5
|
+
**ALWAYS reference these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.**
|
|
6
|
+
|
|
7
|
+
## Working Effectively
|
|
8
|
+
|
|
9
|
+
### Prerequisites and System Setup
|
|
10
|
+
- **CRITICAL**: Use Python 3.10 or higher (Python 3.12 recommended)
|
|
11
|
+
- Install UV package manager for faster dependency management: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
|
12
|
+
- For systems without UV, fallback to pip installation
|
|
13
|
+
- Install system dependencies first (see Platform Dependencies section)
|
|
14
|
+
|
|
15
|
+
### Platform Dependencies
|
|
16
|
+
Install these system packages before building AutoRAG:
|
|
17
|
+
|
|
18
|
+
**Ubuntu/Debian:**
|
|
19
|
+
```bash
|
|
20
|
+
sudo apt-get update
|
|
21
|
+
sudo apt-get install -y build-essential gcc poppler-utils tesseract-ocr libssl-dev
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Java (required for some features):**
|
|
25
|
+
```bash
|
|
26
|
+
# Install Java 17 (required)
|
|
27
|
+
sudo apt-get install openjdk-17-jdk
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Bootstrap, Build, and Test - COMPLETE WORKFLOW
|
|
31
|
+
|
|
32
|
+
**TIMING EXPECTATIONS:**
|
|
33
|
+
- **NEVER CANCEL builds or tests** - they can take 15-45+ minutes
|
|
34
|
+
- Initial dependency installation: 15-30 minutes
|
|
35
|
+
- Full test suite: 15-20 minutes
|
|
36
|
+
- Documentation build: 5-10 minutes
|
|
37
|
+
- **ALWAYS set timeouts to 60+ minutes for builds and 30+ minutes for tests**
|
|
38
|
+
|
|
39
|
+
**1. Clone and Environment Setup:**
|
|
40
|
+
```bash
|
|
41
|
+
git clone https://github.com/Marker-Inc-Korea/AutoRAG.git
|
|
42
|
+
cd AutoRAG/autorag
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**2. Create Virtual Environment and Install (Primary Method - UV):**
|
|
46
|
+
```bash
|
|
47
|
+
# Install UV if not available
|
|
48
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
49
|
+
source ~/.bashrc # Reload shell
|
|
50
|
+
|
|
51
|
+
# Create virtual environment and install
|
|
52
|
+
uv venv
|
|
53
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
54
|
+
|
|
55
|
+
# Install AutoRAG with all extras - TAKES 15-30 MINUTES, NEVER CANCEL
|
|
56
|
+
uv pip install -r pyproject.toml --all-extras -e . --timeout 3600
|
|
57
|
+
|
|
58
|
+
# Install development dependencies - TAKES 5-10 MINUTES
|
|
59
|
+
uv pip install --group dev --timeout 1800
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**3. Fallback Installation Method (Pip):**
|
|
63
|
+
```bash
|
|
64
|
+
# If UV fails, use pip
|
|
65
|
+
python3 -m venv venv
|
|
66
|
+
source venv/bin/activate
|
|
67
|
+
|
|
68
|
+
# Install AutoRAG - TAKES 20-45 MINUTES, NEVER CANCEL
|
|
69
|
+
pip install -e '.[all]' --timeout 3600
|
|
70
|
+
|
|
71
|
+
# Install dev dependencies
|
|
72
|
+
pip install ruff pre-commit pytest pytest-env pytest-xdist pytest-asyncio pytest-mock aioresponses asyncstdlib
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**4. Additional Required Dependencies:**
|
|
76
|
+
```bash
|
|
77
|
+
# Upgrade SSL and install NLTK - REQUIRED
|
|
78
|
+
pip install --upgrade pyOpenSSL
|
|
79
|
+
pip install nltk
|
|
80
|
+
python -c "import nltk; nltk.download('punkt_tab')"
|
|
81
|
+
python -c "import nltk; nltk.download('averaged_perceptron_tagger_eng')"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**5. Setup Testing Environment:**
|
|
85
|
+
Create `pytest.ini` file in the repository root:
|
|
86
|
+
```bash
|
|
87
|
+
cat > pytest.ini << 'EOF'
|
|
88
|
+
[pytest]
|
|
89
|
+
env =
|
|
90
|
+
OPENAI_API_KEY=sk-your-api-key-here
|
|
91
|
+
|
|
92
|
+
log_cli=true
|
|
93
|
+
log_cli_level=INFO
|
|
94
|
+
EOF
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**6. Run Tests - CRITICAL TIMING:**
|
|
98
|
+
```bash
|
|
99
|
+
# Delete conflicting test packages first
|
|
100
|
+
python tests/delete_tests.py
|
|
101
|
+
|
|
102
|
+
# Run tests - TAKES 15-20 MINUTES, NEVER CANCEL
|
|
103
|
+
python -m pytest -o log_cli=true --log-cli-level=INFO -n auto tests/autorag --timeout 1800
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**7. Setup Pre-commit Hooks:**
|
|
107
|
+
```bash
|
|
108
|
+
pre-commit install
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Daily Development Commands
|
|
112
|
+
|
|
113
|
+
**Run the CLI (after installation):**
|
|
114
|
+
```bash
|
|
115
|
+
# Check available commands
|
|
116
|
+
autorag --help
|
|
117
|
+
|
|
118
|
+
# Main commands:
|
|
119
|
+
autorag evaluate --config config.yaml --qa_data_path qa.parquet --corpus_data_path corpus.parquet --project_dir ./project
|
|
120
|
+
autorag validate --config config.yaml --qa_data_path qa.parquet --corpus_data_path corpus.parquet
|
|
121
|
+
autorag run_api --trial_path ./trial --host 0.0.0.0 --port 8000
|
|
122
|
+
autorag dashboard --trial_dir ./trial --port 7690
|
|
123
|
+
autorag run_web --trial_path ./trial --host 0.0.0.0 --port 8501
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Build Documentation:**
|
|
127
|
+
```bash
|
|
128
|
+
cd docs/
|
|
129
|
+
# Install docs dependencies - TAKES 3-5 MINUTES
|
|
130
|
+
pip install -r requirements.txt
|
|
131
|
+
|
|
132
|
+
# Build documentation - TAKES 5-10 MINUTES, NEVER CANCEL
|
|
133
|
+
sphinx-build -b html source build/html --timeout 600
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Code Quality and Linting:**
|
|
137
|
+
```bash
|
|
138
|
+
# Format and lint code (run before committing)
|
|
139
|
+
ruff check --fix
|
|
140
|
+
ruff format
|
|
141
|
+
|
|
142
|
+
# These commands are FAST (< 30 seconds each)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Validation and Testing
|
|
146
|
+
|
|
147
|
+
### Manual Validation Scenarios
|
|
148
|
+
**ALWAYS run these validation scenarios after making changes:**
|
|
149
|
+
|
|
150
|
+
1. **CLI Basic Validation:**
|
|
151
|
+
```bash
|
|
152
|
+
# Test CLI help works
|
|
153
|
+
autorag --help
|
|
154
|
+
|
|
155
|
+
# Test configuration validation (use actual existing files)
|
|
156
|
+
autorag validate --config autorag/sample_config/rag/full.yaml \
|
|
157
|
+
--qa_data_path projects/tutorial_1/qa/qa_8c42b9e6-490d-4971-bb9e-705b36b7a3a2.parquet \
|
|
158
|
+
--corpus_data_path projects/tutorial_1/parse/parse_8c42b9e6-490d-4971-bb9e-705b36b7a3a2/0.parquet
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
2. **API Server Test:**
|
|
162
|
+
```bash
|
|
163
|
+
# Start API server (runs in background)
|
|
164
|
+
autorag run_api --trial_path ./projects/tutorial_1 --host 0.0.0.0 --port 8000 &
|
|
165
|
+
|
|
166
|
+
# Test API endpoint
|
|
167
|
+
curl http://localhost:8000/health
|
|
168
|
+
|
|
169
|
+
# Stop server
|
|
170
|
+
pkill -f "autorag run_api"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
3. **Dashboard Test:**
|
|
174
|
+
```bash
|
|
175
|
+
# Start dashboard (runs in background)
|
|
176
|
+
autorag dashboard --trial_dir ./projects/tutorial_1 --port 7690 &
|
|
177
|
+
|
|
178
|
+
# Verify it's running
|
|
179
|
+
curl http://localhost:7690
|
|
180
|
+
|
|
181
|
+
# Stop dashboard
|
|
182
|
+
pkill -f "autorag dashboard"
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
4. **Full Evaluation Pipeline Test:**
|
|
186
|
+
```bash
|
|
187
|
+
# WARNING: This test requires OpenAI API key and may cost ~$0.30
|
|
188
|
+
# Use sample data from projects/tutorial_1/ (actual files have UUIDs in names)
|
|
189
|
+
autorag evaluate \
|
|
190
|
+
--config projects/tutorial_1/configs/parse_config_8c42b9e6-490d-4971-bb9e-705b36b7a3a2.yaml \
|
|
191
|
+
--qa_data_path projects/tutorial_1/qa/qa_8c42b9e6-490d-4971-bb9e-705b36b7a3a2.parquet \
|
|
192
|
+
--corpus_data_path projects/tutorial_1/parse/parse_8c42b9e6-490d-4971-bb9e-705b36b7a3a2/0.parquet \
|
|
193
|
+
--project_dir projects/tutorial_1/
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Testing Warnings and Notes
|
|
197
|
+
- **OpenAI API Key Required**: Many tests require `OPENAI_API_KEY` environment variable
|
|
198
|
+
- **GitHub Actions**: Tests may fail in CI due to missing API keys - this is expected
|
|
199
|
+
- **GPU Tests**: Some tests require CUDA - use `@pytest.mark.skipif(is_github_action())` to skip in CI
|
|
200
|
+
- **Test Data**: Tests must not leave extra files behind
|
|
201
|
+
- **Mock Usage**: Heavy GPU models and external API calls must use mocks and pytest fixtures
|
|
202
|
+
|
|
203
|
+
## Common Issues and Troubleshooting
|
|
204
|
+
|
|
205
|
+
### Installation Issues
|
|
206
|
+
- **Network timeouts**: Use `--timeout 3600` flag with pip/uv commands
|
|
207
|
+
- **Missing system packages**: Install platform dependencies first
|
|
208
|
+
- **Python version**: Ensure Python 3.10+ is being used
|
|
209
|
+
- **Virtual environment**: Always use a virtual environment to avoid conflicts
|
|
210
|
+
|
|
211
|
+
### Build Failures
|
|
212
|
+
- **Java not found**: Install openjdk-17-jdk
|
|
213
|
+
- **SSL errors**: Run `pip install --upgrade pyOpenSSL`
|
|
214
|
+
- **NLTK missing**: Download required NLTK data as shown above
|
|
215
|
+
- **Permission errors**: Use virtual environment, avoid system-wide installs
|
|
216
|
+
|
|
217
|
+
### Test Failures
|
|
218
|
+
- **API key missing**: Set OPENAI_API_KEY in pytest.ini or environment
|
|
219
|
+
- **Import errors**: Run `python tests/delete_tests.py` to clean conflicting packages
|
|
220
|
+
- **Timeout errors**: Tests can take 15-20 minutes, never cancel early
|
|
221
|
+
|
|
222
|
+
## Project Structure and Key Locations
|
|
223
|
+
|
|
224
|
+
### Repository Layout
|
|
225
|
+
```
|
|
226
|
+
/
|
|
227
|
+
├── .github/ # GitHub workflows and CI/CD
|
|
228
|
+
├── autorag/ # Main Python package directory
|
|
229
|
+
│ ├── autorag/ # Core AutoRAG package
|
|
230
|
+
│ │ ├── cli.py # Command-line interface
|
|
231
|
+
│ │ ├── evaluator.py # Pipeline evaluation logic
|
|
232
|
+
│ │ ├── dashboard.py # Web dashboard
|
|
233
|
+
│ │ ├── nodes/ # RAG pipeline nodes
|
|
234
|
+
│ │ ├── vectordb/ # Vector database integrations
|
|
235
|
+
│ │ └── web.py # Web interface
|
|
236
|
+
│ ├── sample_config/ # Sample configuration files
|
|
237
|
+
│ │ ├── rag/ # RAG pipeline configs
|
|
238
|
+
│ │ ├── chunk/ # Chunking configs
|
|
239
|
+
│ │ └── parse/ # Parsing configs
|
|
240
|
+
│ └── pyproject.toml # Main project configuration
|
|
241
|
+
├── tests/ # Test suite
|
|
242
|
+
├── docs/ # Sphinx documentation
|
|
243
|
+
├── projects/ # Sample projects and datasets
|
|
244
|
+
└── api/ # API server implementation
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Key Files to Check After Changes
|
|
248
|
+
- **Configuration Changes**: Always validate with `autorag validate`
|
|
249
|
+
- **CLI Changes**: Test with `autorag --help` and specific commands
|
|
250
|
+
- **API Changes**: Check `autorag/autorag/deploy/api.py` and test endpoints
|
|
251
|
+
- **Node Changes**: Validate in `autorag/autorag/nodes/` and run related tests
|
|
252
|
+
- **Config Changes**: Update sample configs in `autorag/sample_config/`
|
|
253
|
+
|
|
254
|
+
### Configuration Files
|
|
255
|
+
- **Sample Configs**: `autorag/sample_config/rag/full.yaml` - comprehensive example
|
|
256
|
+
- **Docker Config**: `autorag/Dockerfile.base` - multi-stage build configuration
|
|
257
|
+
- **Test Config**: `projects/tutorial_1/` - working example with test data
|
|
258
|
+
- **Dependencies**: `autorag/pyproject.toml` - all package dependencies and extras
|
|
259
|
+
|
|
260
|
+
## Docker Usage (Alternative Deployment)
|
|
261
|
+
|
|
262
|
+
**Pre-built Images Available:**
|
|
263
|
+
- `autoraghq/autorag:api-latest` - API server
|
|
264
|
+
- `autoraghq/autorag:all` - Full installation
|
|
265
|
+
- `autoraghq/autorag:gpu` - GPU-enabled version
|
|
266
|
+
|
|
267
|
+
**Quick Docker Test:**
|
|
268
|
+
```bash
|
|
269
|
+
# Download sample data first, then run evaluation
|
|
270
|
+
docker run --rm \
|
|
271
|
+
-v ~/.cache/huggingface:/root/.cache/huggingface \
|
|
272
|
+
-v $(pwd)/projects:/usr/src/app/projects \
|
|
273
|
+
-e OPENAI_API_KEY=${OPENAI_API_KEY} \
|
|
274
|
+
autoraghq/autorag:api-latest evaluate \
|
|
275
|
+
--config /usr/src/app/projects/tutorial_1/configs/parse_config_8c42b9e6-490d-4971-bb9e-705b36b7a3a2.yaml \
|
|
276
|
+
--qa_data_path /usr/src/app/projects/tutorial_1/qa/qa_8c42b9e6-490d-4971-bb9e-705b36b7a3a2.parquet \
|
|
277
|
+
--corpus_data_path /usr/src/app/projects/tutorial_1/parse/parse_8c42b9e6-490d-4971-bb9e-705b36b7a3a2/0.parquet \
|
|
278
|
+
--project_dir /usr/src/app/projects/tutorial_1/
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Development Workflow
|
|
282
|
+
|
|
283
|
+
### Before Making Changes
|
|
284
|
+
1. **ALWAYS** run the bootstrap and test sequence above
|
|
285
|
+
2. Create feature branch: `git checkout -b feature/your-feature`
|
|
286
|
+
3. Set up pre-commit hooks: `pre-commit install`
|
|
287
|
+
|
|
288
|
+
### Making Changes
|
|
289
|
+
1. **Make minimal changes** - change as few lines as possible
|
|
290
|
+
2. **Follow existing patterns** in the codebase
|
|
291
|
+
3. **Add tests** for new functionality in `tests/autorag/`
|
|
292
|
+
4. **Update configs** if adding new nodes or features
|
|
293
|
+
|
|
294
|
+
### Before Committing
|
|
295
|
+
1. **Run formatting**: `ruff check --fix && ruff format`
|
|
296
|
+
2. **Run affected tests**: `python -m pytest tests/autorag/path/to/relevant/tests`
|
|
297
|
+
3. **Validate CLI still works**: `autorag --help`
|
|
298
|
+
4. **Test your changes manually** using the validation scenarios above
|
|
299
|
+
|
|
300
|
+
### Submitting Changes
|
|
301
|
+
1. **Ensure all linting passes**: CI will fail if ruff checks fail
|
|
302
|
+
2. **Include test coverage**: Add unit tests for new features
|
|
303
|
+
3. **Document breaking changes**: Update relevant config samples
|
|
304
|
+
4. **Test with sample data**: Ensure tutorial examples still work
|
|
305
|
+
|
|
306
|
+
## Timing Expectations Summary
|
|
307
|
+
|
|
308
|
+
| Operation | Expected Time | Timeout Setting | Notes |
|
|
309
|
+
|-----------|---------------|-----------------|--------|
|
|
310
|
+
| Initial install | 15-30 min | 60+ min | NEVER CANCEL |
|
|
311
|
+
| Full test suite | 15-20 min | 30+ min | NEVER CANCEL |
|
|
312
|
+
| Documentation build | 5-10 min | 15+ min | Usually fast |
|
|
313
|
+
| Code formatting | < 30 sec | 2 min | Very fast |
|
|
314
|
+
| Single test file | 1-5 min | 10 min | Varies by test |
|
|
315
|
+
| API evaluation | 5-15 min | 20+ min | Depends on data size |
|
|
316
|
+
|
|
317
|
+
**CRITICAL**: Always wait for builds and tests to complete. The CI pipeline expects these timings and builds may appear to hang but are actually processing large dependency trees.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "pip" # See documentation for possible values
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "daily"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Publish Python 🐍 distributions 📦 to PyPI
|
|
2
|
+
permissions:
|
|
3
|
+
contents: read
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
release:
|
|
7
|
+
types: [published]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
set-version:
|
|
11
|
+
runs-on: ubuntu-24.04
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- name: Export tag
|
|
16
|
+
id: vars
|
|
17
|
+
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
|
|
18
|
+
if: ${{ github.event_name == 'release' }}
|
|
19
|
+
|
|
20
|
+
- name: Update project version
|
|
21
|
+
run: |
|
|
22
|
+
sed -i "s/^version = \".*\"/version = \"$RELEASE_VERSION\"/" pyproject.toml
|
|
23
|
+
env:
|
|
24
|
+
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
|
|
25
|
+
if: ${{ github.event_name == 'release' }}
|
|
26
|
+
|
|
27
|
+
- name: Upload updated pyproject.toml
|
|
28
|
+
uses: actions/upload-artifact@v4
|
|
29
|
+
with:
|
|
30
|
+
name: pyproject-toml
|
|
31
|
+
path: pyproject.toml
|
|
32
|
+
|
|
33
|
+
publish:
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
needs: [set-version]
|
|
36
|
+
steps:
|
|
37
|
+
- name: Check out
|
|
38
|
+
uses: actions/checkout@v4
|
|
39
|
+
|
|
40
|
+
- name: Set up the python environment
|
|
41
|
+
uses: actions/setup-python@v5
|
|
42
|
+
with:
|
|
43
|
+
python-version: '3.11'
|
|
44
|
+
- name: Install uv
|
|
45
|
+
uses: astral-sh/setup-uv@v6
|
|
46
|
+
with:
|
|
47
|
+
enable-cache: 'true'
|
|
48
|
+
cache-suffix: '3.11'
|
|
49
|
+
- name: Download updated pyproject.toml
|
|
50
|
+
uses: actions/download-artifact@v4
|
|
51
|
+
with:
|
|
52
|
+
name: pyproject-toml
|
|
53
|
+
- name: Install Python dependencies
|
|
54
|
+
run: uv sync --frozen --all-extras
|
|
55
|
+
shell: bash
|
|
56
|
+
|
|
57
|
+
- name: Build package
|
|
58
|
+
run: uv build
|
|
59
|
+
|
|
60
|
+
- name: Publish package
|
|
61
|
+
run: uv publish
|
|
62
|
+
env:
|
|
63
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Sphinx build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- name: Install gcc
|
|
14
|
+
run: |
|
|
15
|
+
sudo apt-get install gcc
|
|
16
|
+
- name: Install uv
|
|
17
|
+
uses: astral-sh/setup-uv@v5
|
|
18
|
+
- name: Install Python 3.10
|
|
19
|
+
run: uv python install 3.10
|
|
20
|
+
- name: Install Venv
|
|
21
|
+
run: uv venv
|
|
22
|
+
- name: Install dependencies
|
|
23
|
+
run: |
|
|
24
|
+
uv pip install -r docs/requirements.txt
|
|
25
|
+
- name: Build HTML
|
|
26
|
+
run: |
|
|
27
|
+
uv run sphinx-build -b html docs/source docs/build/html
|
|
28
|
+
- name: Copy CNAME
|
|
29
|
+
run: |
|
|
30
|
+
cp docs/source/CNAME docs/build/html/CNAME
|
|
31
|
+
- name: Upload artifacts
|
|
32
|
+
uses: actions/upload-artifact@v4
|
|
33
|
+
with:
|
|
34
|
+
name: html-docs
|
|
35
|
+
path: docs/build/html/
|
|
36
|
+
- name: Deploy
|
|
37
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
38
|
+
if: github.ref == 'refs/heads/main'
|
|
39
|
+
with:
|
|
40
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
41
|
+
publish_dir: docs/build/html
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Unit Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
|
|
11
|
+
env:
|
|
12
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
build:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- uses: actions/setup-java@v4
|
|
20
|
+
with:
|
|
21
|
+
distribution: 'zulu'
|
|
22
|
+
java-version: '17'
|
|
23
|
+
- name: Update apt-get
|
|
24
|
+
run: |
|
|
25
|
+
sudo apt-get update
|
|
26
|
+
- name: Install gcc
|
|
27
|
+
run: |
|
|
28
|
+
sudo apt-get install gcc
|
|
29
|
+
- name: Install poppler-utils
|
|
30
|
+
run: |
|
|
31
|
+
sudo apt-get install poppler-utils
|
|
32
|
+
- name: Install tesseract
|
|
33
|
+
run: |
|
|
34
|
+
sudo apt-get install tesseract-ocr
|
|
35
|
+
- name: Install uv
|
|
36
|
+
uses: astral-sh/setup-uv@v5
|
|
37
|
+
- name: Install Python 3.12
|
|
38
|
+
run: uv python install 3.12
|
|
39
|
+
- name: Install Venv
|
|
40
|
+
run: uv venv
|
|
41
|
+
- name: Install AutoRAG
|
|
42
|
+
run: uv sync --all-extras
|
|
43
|
+
- name: Upgrade pyOpenSSL
|
|
44
|
+
run: |
|
|
45
|
+
uv pip install --upgrade pyOpenSSL
|
|
46
|
+
- name: Install NLTK and download model
|
|
47
|
+
run: |
|
|
48
|
+
uv pip install nltk
|
|
49
|
+
uv run python -c "import nltk; nltk.download('punkt_tab')"
|
|
50
|
+
uv run python -c "import nltk; nltk.download('averaged_perceptron_tagger_eng')"
|
|
51
|
+
- name: delete tests package
|
|
52
|
+
run: uv run python tests/delete_tests.py
|
|
53
|
+
- name: Run AutoRAG tests
|
|
54
|
+
run: |
|
|
55
|
+
uv run python -m pytest -o log_cli=true --log-cli-level=INFO -n auto tests/autorag
|