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.
Files changed (697) hide show
  1. autorag-0.0.0/.github/FUNDING.yml +2 -0
  2. autorag-0.0.0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  3. autorag-0.0.0/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. autorag-0.0.0/.github/copilot-instructions.md +317 -0
  5. autorag-0.0.0/.github/dependabot.yml +11 -0
  6. autorag-0.0.0/.github/workflows/publish.yml +63 -0
  7. autorag-0.0.0/.github/workflows/sphinx.yml +41 -0
  8. autorag-0.0.0/.github/workflows/test.yml +55 -0
  9. autorag-0.0.0/.gitignore +168 -0
  10. autorag-0.0.0/.pre-commit-config.yaml +23 -0
  11. autorag-0.0.0/AutoRAG.egg-info/PKG-INFO +780 -0
  12. autorag-0.0.0/AutoRAG.egg-info/SOURCES.txt +695 -0
  13. autorag-0.0.0/AutoRAG.egg-info/dependency_links.txt +1 -0
  14. autorag-0.0.0/AutoRAG.egg-info/entry_points.txt +2 -0
  15. autorag-0.0.0/AutoRAG.egg-info/requires.txt +98 -0
  16. autorag-0.0.0/AutoRAG.egg-info/top_level.txt +1 -0
  17. autorag-0.0.0/CNAME +1 -0
  18. autorag-0.0.0/CODE_OF_CONDUCT.md +39 -0
  19. autorag-0.0.0/CONTRIBUTING.md +106 -0
  20. autorag-0.0.0/LICENSE +201 -0
  21. autorag-0.0.0/PKG-INFO +780 -0
  22. autorag-0.0.0/README.md +464 -0
  23. autorag-0.0.0/autorag/__init__.py +82 -0
  24. autorag-0.0.0/autorag/chunker.py +51 -0
  25. autorag-0.0.0/autorag/cli.py +209 -0
  26. autorag-0.0.0/autorag/dashboard.py +199 -0
  27. autorag-0.0.0/autorag/data/__init__.py +109 -0
  28. autorag-0.0.0/autorag/data/chunk/__init__.py +2 -0
  29. autorag-0.0.0/autorag/data/chunk/base.py +128 -0
  30. autorag-0.0.0/autorag/data/chunk/langchain_chunk.py +76 -0
  31. autorag-0.0.0/autorag/data/chunk/llama_index_chunk.py +96 -0
  32. autorag-0.0.0/autorag/data/chunk/run.py +38 -0
  33. autorag-0.0.0/autorag/data/legacy/__init__.py +0 -0
  34. autorag-0.0.0/autorag/data/legacy/corpus/__init__.py +2 -0
  35. autorag-0.0.0/autorag/data/legacy/corpus/langchain.py +47 -0
  36. autorag-0.0.0/autorag/data/legacy/corpus/llama_index.py +93 -0
  37. autorag-0.0.0/autorag/data/legacy/qacreation/__init__.py +6 -0
  38. autorag-0.0.0/autorag/data/legacy/qacreation/base.py +239 -0
  39. autorag-0.0.0/autorag/data/legacy/qacreation/llama_index.py +253 -0
  40. autorag-0.0.0/autorag/data/legacy/qacreation/llama_index_default_prompt.txt +54 -0
  41. autorag-0.0.0/autorag/data/legacy/qacreation/ragas.py +75 -0
  42. autorag-0.0.0/autorag/data/legacy/qacreation/simple.py +99 -0
  43. autorag-0.0.0/autorag/data/parse/__init__.py +1 -0
  44. autorag-0.0.0/autorag/data/parse/base.py +79 -0
  45. autorag-0.0.0/autorag/data/parse/clova.py +194 -0
  46. autorag-0.0.0/autorag/data/parse/langchain_parse.py +87 -0
  47. autorag-0.0.0/autorag/data/parse/llamaparse.py +126 -0
  48. autorag-0.0.0/autorag/data/parse/run.py +141 -0
  49. autorag-0.0.0/autorag/data/parse/table_hybrid_parse.py +134 -0
  50. autorag-0.0.0/autorag/data/qa/__init__.py +3 -0
  51. autorag-0.0.0/autorag/data/qa/evolve/__init__.py +0 -0
  52. autorag-0.0.0/autorag/data/qa/evolve/llama_index_query_evolve.py +64 -0
  53. autorag-0.0.0/autorag/data/qa/evolve/openai_query_evolve.py +81 -0
  54. autorag-0.0.0/autorag/data/qa/evolve/prompt.py +288 -0
  55. autorag-0.0.0/autorag/data/qa/extract_evidence.py +1 -0
  56. autorag-0.0.0/autorag/data/qa/filter/__init__.py +0 -0
  57. autorag-0.0.0/autorag/data/qa/filter/dontknow.py +117 -0
  58. autorag-0.0.0/autorag/data/qa/filter/passage_dependency.py +88 -0
  59. autorag-0.0.0/autorag/data/qa/filter/prompt.py +73 -0
  60. autorag-0.0.0/autorag/data/qa/generation_gt/__init__.py +0 -0
  61. autorag-0.0.0/autorag/data/qa/generation_gt/base.py +16 -0
  62. autorag-0.0.0/autorag/data/qa/generation_gt/llama_index_gen_gt.py +41 -0
  63. autorag-0.0.0/autorag/data/qa/generation_gt/openai_gen_gt.py +84 -0
  64. autorag-0.0.0/autorag/data/qa/generation_gt/prompt.py +27 -0
  65. autorag-0.0.0/autorag/data/qa/query/__init__.py +0 -0
  66. autorag-0.0.0/autorag/data/qa/query/llama_gen_query.py +82 -0
  67. autorag-0.0.0/autorag/data/qa/query/openai_gen_query.py +95 -0
  68. autorag-0.0.0/autorag/data/qa/query/prompt.py +201 -0
  69. autorag-0.0.0/autorag/data/qa/sample.py +26 -0
  70. autorag-0.0.0/autorag/data/qa/schema.py +322 -0
  71. autorag-0.0.0/autorag/data/utils/__init__.py +0 -0
  72. autorag-0.0.0/autorag/data/utils/util.py +103 -0
  73. autorag-0.0.0/autorag/deploy/__init__.py +9 -0
  74. autorag-0.0.0/autorag/deploy/api.py +303 -0
  75. autorag-0.0.0/autorag/deploy/base.py +235 -0
  76. autorag-0.0.0/autorag/deploy/gradio.py +74 -0
  77. autorag-0.0.0/autorag/deploy/swagger.yml +202 -0
  78. autorag-0.0.0/autorag/embedding/__init__.py +0 -0
  79. autorag-0.0.0/autorag/embedding/base.py +144 -0
  80. autorag-0.0.0/autorag/embedding/vllm.py +256 -0
  81. autorag-0.0.0/autorag/evaluation/__init__.py +3 -0
  82. autorag-0.0.0/autorag/evaluation/generation.py +88 -0
  83. autorag-0.0.0/autorag/evaluation/metric/__init__.py +22 -0
  84. autorag-0.0.0/autorag/evaluation/metric/deepeval_prompt.py +322 -0
  85. autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt +32 -0
  86. autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/con_detailed.txt +33 -0
  87. autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt +26 -0
  88. autorag-0.0.0/autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt +33 -0
  89. autorag-0.0.0/autorag/evaluation/metric/generation.py +504 -0
  90. autorag-0.0.0/autorag/evaluation/metric/retrieval.py +115 -0
  91. autorag-0.0.0/autorag/evaluation/metric/retrieval_contents.py +65 -0
  92. autorag-0.0.0/autorag/evaluation/metric/util.py +88 -0
  93. autorag-0.0.0/autorag/evaluation/retrieval.py +83 -0
  94. autorag-0.0.0/autorag/evaluation/retrieval_contents.py +65 -0
  95. autorag-0.0.0/autorag/evaluation/util.py +43 -0
  96. autorag-0.0.0/autorag/evaluator.py +559 -0
  97. autorag-0.0.0/autorag/node_line.py +65 -0
  98. autorag-0.0.0/autorag/nodes/__init__.py +0 -0
  99. autorag-0.0.0/autorag/nodes/generator/__init__.py +4 -0
  100. autorag-0.0.0/autorag/nodes/generator/base.py +103 -0
  101. autorag-0.0.0/autorag/nodes/generator/llama_index_llm.py +169 -0
  102. autorag-0.0.0/autorag/nodes/generator/openai_llm.py +329 -0
  103. autorag-0.0.0/autorag/nodes/generator/run.py +148 -0
  104. autorag-0.0.0/autorag/nodes/generator/vllm.py +147 -0
  105. autorag-0.0.0/autorag/nodes/generator/vllm_api.py +191 -0
  106. autorag-0.0.0/autorag/nodes/hybridretrieval/__init__.py +2 -0
  107. autorag-0.0.0/autorag/nodes/hybridretrieval/base.py +58 -0
  108. autorag-0.0.0/autorag/nodes/hybridretrieval/hybrid_cc.py +227 -0
  109. autorag-0.0.0/autorag/nodes/hybridretrieval/hybrid_rrf.py +149 -0
  110. autorag-0.0.0/autorag/nodes/hybridretrieval/run.py +137 -0
  111. autorag-0.0.0/autorag/nodes/lexicalretrieval/__init__.py +1 -0
  112. autorag-0.0.0/autorag/nodes/lexicalretrieval/bm25.py +381 -0
  113. autorag-0.0.0/autorag/nodes/lexicalretrieval/run.py +148 -0
  114. autorag-0.0.0/autorag/nodes/passageaugmenter/__init__.py +2 -0
  115. autorag-0.0.0/autorag/nodes/passageaugmenter/base.py +76 -0
  116. autorag-0.0.0/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +43 -0
  117. autorag-0.0.0/autorag/nodes/passageaugmenter/prev_next_augmenter.py +155 -0
  118. autorag-0.0.0/autorag/nodes/passageaugmenter/run.py +131 -0
  119. autorag-0.0.0/autorag/nodes/passagecompressor/__init__.py +4 -0
  120. autorag-0.0.0/autorag/nodes/passagecompressor/base.py +78 -0
  121. autorag-0.0.0/autorag/nodes/passagecompressor/longllmlingua.py +115 -0
  122. autorag-0.0.0/autorag/nodes/passagecompressor/pass_compressor.py +16 -0
  123. autorag-0.0.0/autorag/nodes/passagecompressor/refine.py +54 -0
  124. autorag-0.0.0/autorag/nodes/passagecompressor/run.py +186 -0
  125. autorag-0.0.0/autorag/nodes/passagecompressor/tree_summarize.py +56 -0
  126. autorag-0.0.0/autorag/nodes/passagefilter/__init__.py +6 -0
  127. autorag-0.0.0/autorag/nodes/passagefilter/base.py +40 -0
  128. autorag-0.0.0/autorag/nodes/passagefilter/pass_passage_filter.py +14 -0
  129. autorag-0.0.0/autorag/nodes/passagefilter/percentile_cutoff.py +58 -0
  130. autorag-0.0.0/autorag/nodes/passagefilter/recency.py +105 -0
  131. autorag-0.0.0/autorag/nodes/passagefilter/run.py +138 -0
  132. autorag-0.0.0/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +134 -0
  133. autorag-0.0.0/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +112 -0
  134. autorag-0.0.0/autorag/nodes/passagefilter/threshold_cutoff.py +78 -0
  135. autorag-0.0.0/autorag/nodes/passagereranker/__init__.py +16 -0
  136. autorag-0.0.0/autorag/nodes/passagereranker/base.py +44 -0
  137. autorag-0.0.0/autorag/nodes/passagereranker/cohere.py +118 -0
  138. autorag-0.0.0/autorag/nodes/passagereranker/colbert.py +213 -0
  139. autorag-0.0.0/autorag/nodes/passagereranker/flag_embedding.py +112 -0
  140. autorag-0.0.0/autorag/nodes/passagereranker/flag_embedding_llm.py +101 -0
  141. autorag-0.0.0/autorag/nodes/passagereranker/flashrank.py +245 -0
  142. autorag-0.0.0/autorag/nodes/passagereranker/jina.py +115 -0
  143. autorag-0.0.0/autorag/nodes/passagereranker/koreranker.py +136 -0
  144. autorag-0.0.0/autorag/nodes/passagereranker/mixedbreadai.py +126 -0
  145. autorag-0.0.0/autorag/nodes/passagereranker/monot5.py +190 -0
  146. autorag-0.0.0/autorag/nodes/passagereranker/openvino.py +191 -0
  147. autorag-0.0.0/autorag/nodes/passagereranker/pass_reranker.py +31 -0
  148. autorag-0.0.0/autorag/nodes/passagereranker/rankgpt.py +170 -0
  149. autorag-0.0.0/autorag/nodes/passagereranker/run.py +145 -0
  150. autorag-0.0.0/autorag/nodes/passagereranker/sentence_transformer.py +129 -0
  151. autorag-0.0.0/autorag/nodes/passagereranker/tart/__init__.py +1 -0
  152. autorag-0.0.0/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +152 -0
  153. autorag-0.0.0/autorag/nodes/passagereranker/tart/tart.py +139 -0
  154. autorag-0.0.0/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +112 -0
  155. autorag-0.0.0/autorag/nodes/passagereranker/time_reranker.py +72 -0
  156. autorag-0.0.0/autorag/nodes/passagereranker/upr.py +160 -0
  157. autorag-0.0.0/autorag/nodes/passagereranker/voyageai.py +109 -0
  158. autorag-0.0.0/autorag/nodes/promptmaker/__init__.py +12 -0
  159. autorag-0.0.0/autorag/nodes/promptmaker/base.py +32 -0
  160. autorag-0.0.0/autorag/nodes/promptmaker/chat_fstring.py +73 -0
  161. autorag-0.0.0/autorag/nodes/promptmaker/fstring.py +49 -0
  162. autorag-0.0.0/autorag/nodes/promptmaker/long_context_reorder.py +83 -0
  163. autorag-0.0.0/autorag/nodes/promptmaker/run.py +283 -0
  164. autorag-0.0.0/autorag/nodes/promptmaker/window_replacement.py +85 -0
  165. autorag-0.0.0/autorag/nodes/queryexpansion/__init__.py +4 -0
  166. autorag-0.0.0/autorag/nodes/queryexpansion/base.py +62 -0
  167. autorag-0.0.0/autorag/nodes/queryexpansion/hyde.py +43 -0
  168. autorag-0.0.0/autorag/nodes/queryexpansion/multi_query_expansion.py +57 -0
  169. autorag-0.0.0/autorag/nodes/queryexpansion/pass_query_expansion.py +22 -0
  170. autorag-0.0.0/autorag/nodes/queryexpansion/query_decompose.py +111 -0
  171. autorag-0.0.0/autorag/nodes/queryexpansion/run.py +308 -0
  172. autorag-0.0.0/autorag/nodes/retrieval/__init__.py +0 -0
  173. autorag-0.0.0/autorag/nodes/retrieval/base.py +127 -0
  174. autorag-0.0.0/autorag/nodes/retrieval/run_util.py +152 -0
  175. autorag-0.0.0/autorag/nodes/semanticretrieval/__init__.py +1 -0
  176. autorag-0.0.0/autorag/nodes/semanticretrieval/run.py +148 -0
  177. autorag-0.0.0/autorag/nodes/semanticretrieval/vectordb.py +339 -0
  178. autorag-0.0.0/autorag/nodes/util.py +16 -0
  179. autorag-0.0.0/autorag/parser.py +37 -0
  180. autorag-0.0.0/autorag/schema/__init__.py +3 -0
  181. autorag-0.0.0/autorag/schema/base.py +35 -0
  182. autorag-0.0.0/autorag/schema/metricinput.py +99 -0
  183. autorag-0.0.0/autorag/schema/module.py +24 -0
  184. autorag-0.0.0/autorag/schema/node.py +144 -0
  185. autorag-0.0.0/autorag/strategy.py +165 -0
  186. autorag-0.0.0/autorag/support.py +235 -0
  187. autorag-0.0.0/autorag/utils/__init__.py +8 -0
  188. autorag-0.0.0/autorag/utils/cast.py +45 -0
  189. autorag-0.0.0/autorag/utils/preprocess.py +149 -0
  190. autorag-0.0.0/autorag/utils/util.py +759 -0
  191. autorag-0.0.0/autorag/validator.py +98 -0
  192. autorag-0.0.0/autorag/vectordb/__init__.py +75 -0
  193. autorag-0.0.0/autorag/vectordb/base.py +73 -0
  194. autorag-0.0.0/autorag/vectordb/chroma.py +118 -0
  195. autorag-0.0.0/autorag/vectordb/couchbase.py +239 -0
  196. autorag-0.0.0/autorag/vectordb/milvus.py +169 -0
  197. autorag-0.0.0/autorag/vectordb/pinecone.py +121 -0
  198. autorag-0.0.0/autorag/vectordb/qdrant.py +155 -0
  199. autorag-0.0.0/autorag/vectordb/weaviate.py +184 -0
  200. autorag-0.0.0/autorag/web.py +81 -0
  201. autorag-0.0.0/docs/CNAME +1 -0
  202. autorag-0.0.0/docs/Makefile +20 -0
  203. autorag-0.0.0/docs/make.bat +35 -0
  204. autorag-0.0.0/docs/requirements.txt +9 -0
  205. autorag-0.0.0/docs/source/CNAME +1 -0
  206. autorag-0.0.0/docs/source/_static/data_creation.png +0 -0
  207. autorag-0.0.0/docs/source/_static/data_creation_pipeline.png +0 -0
  208. autorag-0.0.0/docs/source/_static/data_folder.png +0 -0
  209. autorag-0.0.0/docs/source/_static/dcg.png +0 -0
  210. autorag-0.0.0/docs/source/_static/f1_score.png +0 -0
  211. autorag-0.0.0/docs/source/_static/integration/couchbase_search_index.png +0 -0
  212. autorag-0.0.0/docs/source/_static/integration/nvidia_api.png +0 -0
  213. autorag-0.0.0/docs/source/_static/integration/nvidia_nim.png +0 -0
  214. autorag-0.0.0/docs/source/_static/integration/ollama_autorag.png +0 -0
  215. autorag-0.0.0/docs/source/_static/map.png +0 -0
  216. autorag-0.0.0/docs/source/_static/mrr.png +0 -0
  217. autorag-0.0.0/docs/source/_static/ndcg.png +0 -0
  218. autorag-0.0.0/docs/source/_static/ndcg_formula.png +0 -0
  219. autorag-0.0.0/docs/source/_static/node_folder.png +0 -0
  220. autorag-0.0.0/docs/source/_static/node_line_folder.png +0 -0
  221. autorag-0.0.0/docs/source/_static/node_line_summary.png +0 -0
  222. autorag-0.0.0/docs/source/_static/node_lines.png +0 -0
  223. autorag-0.0.0/docs/source/_static/node_summary.png +0 -0
  224. autorag-0.0.0/docs/source/_static/normal_distribution.png +0 -0
  225. autorag-0.0.0/docs/source/_static/project_folder_example.png +0 -0
  226. autorag-0.0.0/docs/source/_static/project_folders.png +0 -0
  227. autorag-0.0.0/docs/source/_static/qa/data_creation_schema.png +0 -0
  228. autorag-0.0.0/docs/source/_static/resources_folder.png +0 -0
  229. autorag-0.0.0/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
  230. autorag-0.0.0/docs/source/_static/roadmap/advanced_RAG.png +0 -0
  231. autorag-0.0.0/docs/source/_static/roadmap/cycle.png +0 -0
  232. autorag-0.0.0/docs/source/_static/roadmap/merger.png +0 -0
  233. autorag-0.0.0/docs/source/_static/roadmap/node_line_modular.png +0 -0
  234. autorag-0.0.0/docs/source/_static/roadmap/policy.png +0 -0
  235. autorag-0.0.0/docs/source/_static/samsung_sundae.jpeg +0 -0
  236. autorag-0.0.0/docs/source/_static/score_fusion.png +0 -0
  237. autorag-0.0.0/docs/source/_static/trial_folder.png +0 -0
  238. autorag-0.0.0/docs/source/_static/trial_json.png +0 -0
  239. autorag-0.0.0/docs/source/_static/trial_summary.png +0 -0
  240. autorag-0.0.0/docs/source/_static/web_interface.png +0 -0
  241. autorag-0.0.0/docs/source/_static/web_interface_gradio.png +0 -0
  242. autorag-0.0.0/docs/source/_static/yaml/compact_structured.png +0 -0
  243. autorag-0.0.0/docs/source/_static/yaml/detail_folder.png +0 -0
  244. autorag-0.0.0/docs/source/_static/yaml/full_modules.png +0 -0
  245. autorag-0.0.0/docs/source/_static/yaml/full_structured.png +0 -0
  246. autorag-0.0.0/docs/source/_static/yaml/full_yaml_structure.png +0 -0
  247. autorag-0.0.0/docs/source/_static/yaml/gpu_modules.png +0 -0
  248. autorag-0.0.0/docs/source/_static/yaml/half_structured.png +0 -0
  249. autorag-0.0.0/docs/source/_static/yaml/non_gpu_modules.png +0 -0
  250. autorag-0.0.0/docs/source/_static/yaml/sample_yaml_folder.png +0 -0
  251. autorag-0.0.0/docs/source/_static/yaml/simple_structured.png +0 -0
  252. autorag-0.0.0/docs/source/api_spec/autorag.data.chunk.rst +45 -0
  253. autorag-0.0.0/docs/source/api_spec/autorag.data.corpus.rst +29 -0
  254. autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.corpus.rst +29 -0
  255. autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.qacreation.rst +45 -0
  256. autorag-0.0.0/docs/source/api_spec/autorag.data.legacy.rst +19 -0
  257. autorag-0.0.0/docs/source/api_spec/autorag.data.parse.rst +61 -0
  258. autorag-0.0.0/docs/source/api_spec/autorag.data.qa.evolve.rst +37 -0
  259. autorag-0.0.0/docs/source/api_spec/autorag.data.qa.filter.rst +37 -0
  260. autorag-0.0.0/docs/source/api_spec/autorag.data.qa.generation_gt.rst +45 -0
  261. autorag-0.0.0/docs/source/api_spec/autorag.data.qa.query.rst +37 -0
  262. autorag-0.0.0/docs/source/api_spec/autorag.data.qa.rst +48 -0
  263. autorag-0.0.0/docs/source/api_spec/autorag.data.qacreation.rst +45 -0
  264. autorag-0.0.0/docs/source/api_spec/autorag.data.rst +22 -0
  265. autorag-0.0.0/docs/source/api_spec/autorag.data.utils.rst +21 -0
  266. autorag-0.0.0/docs/source/api_spec/autorag.deploy.rst +37 -0
  267. autorag-0.0.0/docs/source/api_spec/autorag.evaluation.metric.rst +53 -0
  268. autorag-0.0.0/docs/source/api_spec/autorag.evaluation.rst +53 -0
  269. autorag-0.0.0/docs/source/api_spec/autorag.nodes.generator.rst +53 -0
  270. autorag-0.0.0/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +45 -0
  271. autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagecompressor.rst +61 -0
  272. autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagefilter.rst +77 -0
  273. autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagereranker.rst +165 -0
  274. autorag-0.0.0/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +37 -0
  275. autorag-0.0.0/docs/source/api_spec/autorag.nodes.promptmaker.rst +53 -0
  276. autorag-0.0.0/docs/source/api_spec/autorag.nodes.queryexpansion.rst +61 -0
  277. autorag-0.0.0/docs/source/api_spec/autorag.nodes.retrieval.rst +61 -0
  278. autorag-0.0.0/docs/source/api_spec/autorag.nodes.rst +36 -0
  279. autorag-0.0.0/docs/source/api_spec/autorag.rst +107 -0
  280. autorag-0.0.0/docs/source/api_spec/autorag.schema.rst +45 -0
  281. autorag-0.0.0/docs/source/api_spec/autorag.utils.rst +29 -0
  282. autorag-0.0.0/docs/source/api_spec/autorag.vectordb.rst +69 -0
  283. autorag-0.0.0/docs/source/api_spec/modules.rst +5 -0
  284. autorag-0.0.0/docs/source/conf.py +45 -0
  285. autorag-0.0.0/docs/source/data_creation/chunk/chunk.md +164 -0
  286. autorag-0.0.0/docs/source/data_creation/chunk/langchain_chunk.md +47 -0
  287. autorag-0.0.0/docs/source/data_creation/chunk/llama_index_chunk.md +57 -0
  288. autorag-0.0.0/docs/source/data_creation/data_creation.md +35 -0
  289. autorag-0.0.0/docs/source/data_creation/data_format.md +190 -0
  290. autorag-0.0.0/docs/source/data_creation/legacy/legacy.md +13 -0
  291. autorag-0.0.0/docs/source/data_creation/legacy/parse.md +104 -0
  292. autorag-0.0.0/docs/source/data_creation/legacy/ragas.md +76 -0
  293. autorag-0.0.0/docs/source/data_creation/legacy/tutorial.md +268 -0
  294. autorag-0.0.0/docs/source/data_creation/parse/clova.md +30 -0
  295. autorag-0.0.0/docs/source/data_creation/parse/langchain_parse.md +123 -0
  296. autorag-0.0.0/docs/source/data_creation/parse/llama_parse.md +96 -0
  297. autorag-0.0.0/docs/source/data_creation/parse/parse.md +194 -0
  298. autorag-0.0.0/docs/source/data_creation/parse/table_hybrid_parse.md +52 -0
  299. autorag-0.0.0/docs/source/data_creation/qa_creation/answer_gen.md +85 -0
  300. autorag-0.0.0/docs/source/data_creation/qa_creation/evolve.md +84 -0
  301. autorag-0.0.0/docs/source/data_creation/qa_creation/filter.md +112 -0
  302. autorag-0.0.0/docs/source/data_creation/qa_creation/qa_creation.md +166 -0
  303. autorag-0.0.0/docs/source/data_creation/qa_creation/query_gen.md +158 -0
  304. autorag-0.0.0/docs/source/data_creation/tutorial.md +166 -0
  305. autorag-0.0.0/docs/source/deploy/api_endpoint.md +306 -0
  306. autorag-0.0.0/docs/source/deploy/web.md +58 -0
  307. autorag-0.0.0/docs/source/evaluate_metrics/generation.md +127 -0
  308. autorag-0.0.0/docs/source/evaluate_metrics/retrieval.md +223 -0
  309. autorag-0.0.0/docs/source/evaluate_metrics/retrieval_contents.md +85 -0
  310. autorag-0.0.0/docs/source/index.rst +175 -0
  311. autorag-0.0.0/docs/source/install.md +166 -0
  312. autorag-0.0.0/docs/source/integration/llm/aws_bedrock.md +64 -0
  313. autorag-0.0.0/docs/source/integration/llm/huggingface_llm.md +57 -0
  314. autorag-0.0.0/docs/source/integration/llm/llm.md +123 -0
  315. autorag-0.0.0/docs/source/integration/llm/nvidia_nim.md +59 -0
  316. autorag-0.0.0/docs/source/integration/llm/ollama.md +120 -0
  317. autorag-0.0.0/docs/source/integration/vectordb/chroma.md +111 -0
  318. autorag-0.0.0/docs/source/integration/vectordb/couchbase.md +193 -0
  319. autorag-0.0.0/docs/source/integration/vectordb/milvus.md +157 -0
  320. autorag-0.0.0/docs/source/integration/vectordb/pinecone.md +161 -0
  321. autorag-0.0.0/docs/source/integration/vectordb/qdrant.md +166 -0
  322. autorag-0.0.0/docs/source/integration/vectordb/vectordb.md +107 -0
  323. autorag-0.0.0/docs/source/integration/vectordb/weaviate.md +253 -0
  324. autorag-0.0.0/docs/source/local_model.md +274 -0
  325. autorag-0.0.0/docs/source/migration.md +157 -0
  326. autorag-0.0.0/docs/source/nodes/generator/generator.md +86 -0
  327. autorag-0.0.0/docs/source/nodes/generator/llama_index_llm.md +37 -0
  328. autorag-0.0.0/docs/source/nodes/generator/openai_llm.md +60 -0
  329. autorag-0.0.0/docs/source/nodes/generator/vllm.md +104 -0
  330. autorag-0.0.0/docs/source/nodes/generator/vllm_api.md +38 -0
  331. autorag-0.0.0/docs/source/nodes/index.md +82 -0
  332. autorag-0.0.0/docs/source/nodes/passage_augmenter/passage_augmenter.md +61 -0
  333. autorag-0.0.0/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +32 -0
  334. autorag-0.0.0/docs/source/nodes/passage_compressor/longllmlingua.md +32 -0
  335. autorag-0.0.0/docs/source/nodes/passage_compressor/passage_compressor.md +65 -0
  336. autorag-0.0.0/docs/source/nodes/passage_compressor/refine.md +38 -0
  337. autorag-0.0.0/docs/source/nodes/passage_compressor/tree_summarize.md +32 -0
  338. autorag-0.0.0/docs/source/nodes/passage_filter/passage_filter.md +64 -0
  339. autorag-0.0.0/docs/source/nodes/passage_filter/percentile_cutoff.md +29 -0
  340. autorag-0.0.0/docs/source/nodes/passage_filter/recency_filter.md +40 -0
  341. autorag-0.0.0/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +35 -0
  342. autorag-0.0.0/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +37 -0
  343. autorag-0.0.0/docs/source/nodes/passage_filter/threshold_cutoff.md +29 -0
  344. autorag-0.0.0/docs/source/nodes/passage_reranker/cohere.md +55 -0
  345. autorag-0.0.0/docs/source/nodes/passage_reranker/colbert.md +24 -0
  346. autorag-0.0.0/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +26 -0
  347. autorag-0.0.0/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +26 -0
  348. autorag-0.0.0/docs/source/nodes/passage_reranker/flashrank_reranker.md +29 -0
  349. autorag-0.0.0/docs/source/nodes/passage_reranker/jina_reranker.md +49 -0
  350. autorag-0.0.0/docs/source/nodes/passage_reranker/koreranker.md +25 -0
  351. autorag-0.0.0/docs/source/nodes/passage_reranker/mixedbreadai_reranker.md +50 -0
  352. autorag-0.0.0/docs/source/nodes/passage_reranker/monot5.md +54 -0
  353. autorag-0.0.0/docs/source/nodes/passage_reranker/openvino_reranker.md +24 -0
  354. autorag-0.0.0/docs/source/nodes/passage_reranker/passage_reranker.md +77 -0
  355. autorag-0.0.0/docs/source/nodes/passage_reranker/rankgpt.md +34 -0
  356. autorag-0.0.0/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +25 -0
  357. autorag-0.0.0/docs/source/nodes/passage_reranker/tart.md +26 -0
  358. autorag-0.0.0/docs/source/nodes/passage_reranker/time_reranker.md +26 -0
  359. autorag-0.0.0/docs/source/nodes/passage_reranker/upr.md +36 -0
  360. autorag-0.0.0/docs/source/nodes/passage_reranker/voyageai_reranker.md +52 -0
  361. autorag-0.0.0/docs/source/nodes/prompt_maker/chat_fstring.md +41 -0
  362. autorag-0.0.0/docs/source/nodes/prompt_maker/fstring.md +23 -0
  363. autorag-0.0.0/docs/source/nodes/prompt_maker/long_context_reorder.md +27 -0
  364. autorag-0.0.0/docs/source/nodes/prompt_maker/prompt_maker.md +85 -0
  365. autorag-0.0.0/docs/source/nodes/prompt_maker/window_replacement.md +32 -0
  366. autorag-0.0.0/docs/source/nodes/query_expansion/hyde.md +34 -0
  367. autorag-0.0.0/docs/source/nodes/query_expansion/multi_query_expansion.md +37 -0
  368. autorag-0.0.0/docs/source/nodes/query_expansion/query_decompose.md +85 -0
  369. autorag-0.0.0/docs/source/nodes/query_expansion/query_expansion.md +84 -0
  370. autorag-0.0.0/docs/source/nodes/retrieval/bm25.md +68 -0
  371. autorag-0.0.0/docs/source/nodes/retrieval/hybrid_cc.md +59 -0
  372. autorag-0.0.0/docs/source/nodes/retrieval/hybrid_rrf.md +37 -0
  373. autorag-0.0.0/docs/source/nodes/retrieval/retrieval.md +89 -0
  374. autorag-0.0.0/docs/source/nodes/retrieval/vectordb.md +33 -0
  375. autorag-0.0.0/docs/source/optimization/custom_config.md +154 -0
  376. autorag-0.0.0/docs/source/optimization/folder_structure.md +135 -0
  377. autorag-0.0.0/docs/source/optimization/optimization.md +130 -0
  378. autorag-0.0.0/docs/source/optimization/sample_config.md +94 -0
  379. autorag-0.0.0/docs/source/optimization/strategies.md +78 -0
  380. autorag-0.0.0/docs/source/roadmap/modular_rag.md +187 -0
  381. autorag-0.0.0/docs/source/structure.md +61 -0
  382. autorag-0.0.0/docs/source/test_your_rag.md +147 -0
  383. autorag-0.0.0/docs/source/troubleshooting.md +180 -0
  384. autorag-0.0.0/docs/source/tutorial.md +325 -0
  385. autorag-0.0.0/pyproject.toml +230 -0
  386. autorag-0.0.0/sample_config/chunk/chunk_full.yaml +32 -0
  387. autorag-0.0.0/sample_config/chunk/chunk_ko.yaml +19 -0
  388. autorag-0.0.0/sample_config/chunk/simple_chunk.yaml +3 -0
  389. autorag-0.0.0/sample_config/parse/all_files_full.yaml +25 -0
  390. autorag-0.0.0/sample_config/parse/file_types_full.yaml +26 -0
  391. autorag-0.0.0/sample_config/parse/parse_hybird.yaml +12 -0
  392. autorag-0.0.0/sample_config/parse/parse_ko.yaml +11 -0
  393. autorag-0.0.0/sample_config/parse/parse_multimodal.yaml +8 -0
  394. autorag-0.0.0/sample_config/parse/parse_ocr.yaml +10 -0
  395. autorag-0.0.0/sample_config/parse/simple_parse.yaml +4 -0
  396. autorag-0.0.0/sample_config/rag/english/gpu/compact_local.yaml +60 -0
  397. autorag-0.0.0/sample_config/rag/english/gpu/compact_openai.yaml +115 -0
  398. autorag-0.0.0/sample_config/rag/english/gpu/full.yaml +168 -0
  399. autorag-0.0.0/sample_config/rag/english/gpu/half.yaml +135 -0
  400. autorag-0.0.0/sample_config/rag/english/gpu_api/compact.yaml +119 -0
  401. autorag-0.0.0/sample_config/rag/english/gpu_api/full.yaml +165 -0
  402. autorag-0.0.0/sample_config/rag/english/gpu_api/half.yaml +132 -0
  403. autorag-0.0.0/sample_config/rag/english/non_gpu/compact.yaml +97 -0
  404. autorag-0.0.0/sample_config/rag/english/non_gpu/full.yaml +142 -0
  405. autorag-0.0.0/sample_config/rag/english/non_gpu/half.yaml +109 -0
  406. autorag-0.0.0/sample_config/rag/english/non_gpu/simple_bedrock.yaml +33 -0
  407. autorag-0.0.0/sample_config/rag/english/non_gpu/simple_local.yaml +31 -0
  408. autorag-0.0.0/sample_config/rag/english/non_gpu/simple_ollama.yaml +34 -0
  409. autorag-0.0.0/sample_config/rag/english/non_gpu/simple_openai.yaml +25 -0
  410. autorag-0.0.0/sample_config/rag/extracted_sample.yaml +47 -0
  411. autorag-0.0.0/sample_config/rag/full.yaml +173 -0
  412. autorag-0.0.0/sample_config/rag/korean/gpu/compact_korean.yaml +107 -0
  413. autorag-0.0.0/sample_config/rag/korean/gpu/full_korean.yaml +171 -0
  414. autorag-0.0.0/sample_config/rag/korean/gpu/half_korean.yaml +140 -0
  415. autorag-0.0.0/sample_config/rag/korean/gpu_api/compact_korean.yaml +101 -0
  416. autorag-0.0.0/sample_config/rag/korean/gpu_api/full_korean.yaml +165 -0
  417. autorag-0.0.0/sample_config/rag/korean/gpu_api/half_korean.yaml +134 -0
  418. autorag-0.0.0/sample_config/rag/korean/non_gpu/compact_korean.yaml +92 -0
  419. autorag-0.0.0/sample_config/rag/korean/non_gpu/full_korean.yaml +156 -0
  420. autorag-0.0.0/sample_config/rag/korean/non_gpu/half_korean.yaml +125 -0
  421. autorag-0.0.0/sample_config/rag/korean/non_gpu/simple_korean.yaml +30 -0
  422. autorag-0.0.0/sample_dataset/README.md +25 -0
  423. autorag-0.0.0/sample_dataset/eli5/load_eli5_dataset.py +35 -0
  424. autorag-0.0.0/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +35 -0
  425. autorag-0.0.0/sample_dataset/msmarco/load_msmarco_dataset.py +37 -0
  426. autorag-0.0.0/sample_dataset/triviaqa/load_triviaqa_dataset.py +37 -0
  427. autorag-0.0.0/setup.cfg +4 -0
  428. autorag-0.0.0/tests/__init__.py +0 -0
  429. autorag-0.0.0/tests/autorag/data/chunk/test_chunk_base.py +192 -0
  430. autorag-0.0.0/tests/autorag/data/chunk/test_chunk_run.py +19 -0
  431. autorag-0.0.0/tests/autorag/data/chunk/test_langchain_chunk.py +111 -0
  432. autorag-0.0.0/tests/autorag/data/chunk/test_llama_index_chunk.py +161 -0
  433. autorag-0.0.0/tests/autorag/data/legacy/corpus/test_base_corpus_legacy.py +21 -0
  434. autorag-0.0.0/tests/autorag/data/legacy/corpus/test_langchain.py +24 -0
  435. autorag-0.0.0/tests/autorag/data/legacy/corpus/test_llama_index_corpus.py +55 -0
  436. autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_base_qacreation.py +250 -0
  437. autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_llama_index_qacreation.py +132 -0
  438. autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_ragas_qa_creation.py +24 -0
  439. autorag-0.0.0/tests/autorag/data/legacy/qacreation/test_simple.py +60 -0
  440. autorag-0.0.0/tests/autorag/data/parse/test_clova.py +136 -0
  441. autorag-0.0.0/tests/autorag/data/parse/test_langchain_parse.py +228 -0
  442. autorag-0.0.0/tests/autorag/data/parse/test_llamaparse.py +228 -0
  443. autorag-0.0.0/tests/autorag/data/parse/test_parse_base.py +84 -0
  444. autorag-0.0.0/tests/autorag/data/parse/test_parse_run.py +48 -0
  445. autorag-0.0.0/tests/autorag/data/parse/test_table_hybrid_parse.py +109 -0
  446. autorag-0.0.0/tests/autorag/data/qa/evolve/base_test_query_evolve.py +25 -0
  447. autorag-0.0.0/tests/autorag/data/qa/evolve/test_llama_index_query_evolve.py +42 -0
  448. autorag-0.0.0/tests/autorag/data/qa/evolve/test_openai_query_evolve.py +88 -0
  449. autorag-0.0.0/tests/autorag/data/qa/filter/test_dontknow.py +177 -0
  450. autorag-0.0.0/tests/autorag/data/qa/filter/test_passage_dependency.py +180 -0
  451. autorag-0.0.0/tests/autorag/data/qa/generation_gt/base_test_generation_gt.py +32 -0
  452. autorag-0.0.0/tests/autorag/data/qa/generation_gt/test_llama_index_gen_gt.py +59 -0
  453. autorag-0.0.0/tests/autorag/data/qa/generation_gt/test_openai_gen_gt.py +102 -0
  454. autorag-0.0.0/tests/autorag/data/qa/query/base_test_query_gen.py +33 -0
  455. autorag-0.0.0/tests/autorag/data/qa/query/test_llama_gen_query.py +96 -0
  456. autorag-0.0.0/tests/autorag/data/qa/query/test_openai_gen_query.py +155 -0
  457. autorag-0.0.0/tests/autorag/data/qa/test_data_creation_piepline.py +137 -0
  458. autorag-0.0.0/tests/autorag/data/qa/test_sample.py +31 -0
  459. autorag-0.0.0/tests/autorag/data/qa/test_schema.py +199 -0
  460. autorag-0.0.0/tests/autorag/embedding/test_base.py +74 -0
  461. autorag-0.0.0/tests/autorag/evaluate/metric/test_generation_metric.py +298 -0
  462. autorag-0.0.0/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +68 -0
  463. autorag-0.0.0/tests/autorag/evaluate/metric/test_retrieval_metric.py +107 -0
  464. autorag-0.0.0/tests/autorag/evaluate/test_evaluate_util.py +41 -0
  465. autorag-0.0.0/tests/autorag/evaluate/test_generation_evaluate.py +178 -0
  466. autorag-0.0.0/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +61 -0
  467. autorag-0.0.0/tests/autorag/evaluate/test_retrieval_evaluate.py +106 -0
  468. autorag-0.0.0/tests/autorag/nodes/generator/test_generator_base.py +65 -0
  469. autorag-0.0.0/tests/autorag/nodes/generator/test_llama_index_llm.py +133 -0
  470. autorag-0.0.0/tests/autorag/nodes/generator/test_openai.py +215 -0
  471. autorag-0.0.0/tests/autorag/nodes/generator/test_run_generator_node.py +121 -0
  472. autorag-0.0.0/tests/autorag/nodes/generator/test_vllm.py +84 -0
  473. autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_hybrid_cc.py +110 -0
  474. autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_hybrid_rrf.py +99 -0
  475. autorag-0.0.0/tests/autorag/nodes/hybridretrieval/test_run_hybrid_retrieval.py +193 -0
  476. autorag-0.0.0/tests/autorag/nodes/lexicalretrieval/test_bm25.py +217 -0
  477. autorag-0.0.0/tests/autorag/nodes/lexicalretrieval/test_run_lexical_retrieval.py +141 -0
  478. autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +38 -0
  479. autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +33 -0
  480. autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +92 -0
  481. autorag-0.0.0/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +94 -0
  482. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +37 -0
  483. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +34 -0
  484. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +33 -0
  485. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_refine.py +82 -0
  486. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +158 -0
  487. autorag-0.0.0/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +88 -0
  488. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +28 -0
  489. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +118 -0
  490. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +95 -0
  491. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +53 -0
  492. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_recency_filter.py +136 -0
  493. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +64 -0
  494. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +58 -0
  495. autorag-0.0.0/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +60 -0
  496. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +81 -0
  497. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +103 -0
  498. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flag_embedding.py +56 -0
  499. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +73 -0
  500. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_flashrank_reranker.py +50 -0
  501. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_jina_reranker.py +112 -0
  502. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_koreranker.py +50 -0
  503. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_mixedbreadai_reranker.py +86 -0
  504. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_monot5.py +50 -0
  505. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_openvino_reranker.py +50 -0
  506. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_pass_reranker.py +23 -0
  507. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +117 -0
  508. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +157 -0
  509. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_rankgpt.py +122 -0
  510. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +48 -0
  511. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_tart.py +51 -0
  512. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_time_reranker.py +44 -0
  513. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_upr.py +38 -0
  514. autorag-0.0.0/tests/autorag/nodes/passagereranker/test_voyageai_reranker.py +94 -0
  515. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_chat_fstring.py +79 -0
  516. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_fstring.py +44 -0
  517. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +47 -0
  518. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +48 -0
  519. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +291 -0
  520. autorag-0.0.0/tests/autorag/nodes/promptmaker/test_window_replacement.py +60 -0
  521. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_hyde.py +34 -0
  522. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +38 -0
  523. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +16 -0
  524. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_decompose.py +35 -0
  525. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +50 -0
  526. autorag-0.0.0/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +282 -0
  527. autorag-0.0.0/tests/autorag/nodes/retrieval/test_hybrid_base.py +234 -0
  528. autorag-0.0.0/tests/autorag/nodes/retrieval/test_retrieval_base.py +90 -0
  529. autorag-0.0.0/tests/autorag/nodes/semanticretrieval/test_run_semantic_retrieval.py +143 -0
  530. autorag-0.0.0/tests/autorag/nodes/semanticretrieval/test_vectordb.py +387 -0
  531. autorag-0.0.0/tests/autorag/schema/test_base_schema.py +38 -0
  532. autorag-0.0.0/tests/autorag/schema/test_metricinput_schema.py +84 -0
  533. autorag-0.0.0/tests/autorag/schema/test_module_schema.py +40 -0
  534. autorag-0.0.0/tests/autorag/schema/test_node_schema.py +171 -0
  535. autorag-0.0.0/tests/autorag/test_chunker.py +61 -0
  536. autorag-0.0.0/tests/autorag/test_cli.py +125 -0
  537. autorag-0.0.0/tests/autorag/test_dashboard.py +45 -0
  538. autorag-0.0.0/tests/autorag/test_deploy.py +378 -0
  539. autorag-0.0.0/tests/autorag/test_evaluator.py +513 -0
  540. autorag-0.0.0/tests/autorag/test_parser.py +184 -0
  541. autorag-0.0.0/tests/autorag/test_strategy.py +109 -0
  542. autorag-0.0.0/tests/autorag/test_support.py +11 -0
  543. autorag-0.0.0/tests/autorag/test_validator.py +16 -0
  544. autorag-0.0.0/tests/autorag/test_web.py +47 -0
  545. autorag-0.0.0/tests/autorag/utils/test_preprocess.py +121 -0
  546. autorag-0.0.0/tests/autorag/utils/test_util.py +667 -0
  547. autorag-0.0.0/tests/autorag/vectordb/test_base_vectordb.py +70 -0
  548. autorag-0.0.0/tests/autorag/vectordb/test_chroma.py +68 -0
  549. autorag-0.0.0/tests/autorag/vectordb/test_couchbase.py +83 -0
  550. autorag-0.0.0/tests/autorag/vectordb/test_milvus.py +81 -0
  551. autorag-0.0.0/tests/autorag/vectordb/test_pinecone.py +80 -0
  552. autorag-0.0.0/tests/autorag/vectordb/test_qdrant.py +80 -0
  553. autorag-0.0.0/tests/autorag/vectordb/test_weaviate.py +79 -0
  554. autorag-0.0.0/tests/conftest.py +5 -0
  555. autorag-0.0.0/tests/delete_tests.py +33 -0
  556. autorag-0.0.0/tests/mock.py +149 -0
  557. autorag-0.0.0/tests/resources/README.md +16 -0
  558. autorag-0.0.0/tests/resources/chunk_data/sample_parsed.parquet +0 -0
  559. autorag-0.0.0/tests/resources/corpus_data_sample.parquet +0 -0
  560. autorag-0.0.0/tests/resources/data_creation/raw_dir/sample1.txt +30 -0
  561. autorag-0.0.0/tests/resources/data_creation/raw_dir/sample2.txt +27 -0
  562. autorag-0.0.0/tests/resources/data_creation/raw_dir/sample3.txt +31 -0
  563. autorag-0.0.0/tests/resources/dataset_sample_gen_by_autorag/corpus.parquet +0 -0
  564. autorag-0.0.0/tests/resources/dataset_sample_gen_by_autorag/qa.parquet +0 -0
  565. autorag-0.0.0/tests/resources/full.yaml +87 -0
  566. autorag-0.0.0/tests/resources/parse_data/all_files/baseball_1.pdf +0 -0
  567. autorag-0.0.0/tests/resources/parse_data/all_files/csv_sample.csv +6 -0
  568. autorag-0.0.0/tests/resources/parse_data/all_files_full/baseball_1.pdf +0 -0
  569. autorag-0.0.0/tests/resources/parse_data/all_files_full/csv_sample.csv +6 -0
  570. autorag-0.0.0/tests/resources/parse_data/all_files_full/html_sample.html +38 -0
  571. autorag-0.0.0/tests/resources/parse_data/all_files_full/json_sample.json +7 -0
  572. autorag-0.0.0/tests/resources/parse_data/all_files_full/markdown_sample.md +49 -0
  573. autorag-0.0.0/tests/resources/parse_data/all_files_full/xml_sample.xml +132 -0
  574. autorag-0.0.0/tests/resources/parse_data/clova_data/result_sample.json +4513 -0
  575. autorag-0.0.0/tests/resources/parse_data/clova_data/result_table.txt +31 -0
  576. autorag-0.0.0/tests/resources/parse_data/clova_data/result_text.txt +18 -0
  577. autorag-0.0.0/tests/resources/parse_data/config/all_files.yaml +4 -0
  578. autorag-0.0.0/tests/resources/parse_data/config/lack_full_parse.yaml +14 -0
  579. autorag-0.0.0/tests/resources/parse_data/config/lack_simple_parse.yaml +5 -0
  580. autorag-0.0.0/tests/resources/parse_data/config/perfect_full_parse.yaml +26 -0
  581. autorag-0.0.0/tests/resources/parse_data/config/perfect_simple_parse.yaml +9 -0
  582. autorag-0.0.0/tests/resources/parse_data/csv_data/csv_sample.csv +6 -0
  583. autorag-0.0.0/tests/resources/parse_data/eng_text/baseball_1.pdf +0 -0
  584. autorag-0.0.0/tests/resources/parse_data/eng_text/baseball_2.pdf +0 -0
  585. autorag-0.0.0/tests/resources/parse_data/html_data/html_sample.html +38 -0
  586. autorag-0.0.0/tests/resources/parse_data/hybrid_data/nfl_rulebook_both.pdf +0 -0
  587. autorag-0.0.0/tests/resources/parse_data/json_data/json_sample.json +7 -0
  588. autorag-0.0.0/tests/resources/parse_data/korean_table/only_table/kbo_only_table.pdf +0 -0
  589. autorag-0.0.0/tests/resources/parse_data/korean_table/table_text/kbo_table_text.pdf +0 -0
  590. autorag-0.0.0/tests/resources/parse_data/korean_text/korean_texts_two_page.pdf +0 -0
  591. autorag-0.0.0/tests/resources/parse_data/markdown_data/markdown_sample.md +49 -0
  592. autorag-0.0.0/tests/resources/parse_data/xml_data/xml_sample.xml +132 -0
  593. autorag-0.0.0/tests/resources/qa_data_sample.parquet +0 -0
  594. autorag-0.0.0/tests/resources/qa_gen_prompts/prompt1.txt +12 -0
  595. autorag-0.0.0/tests/resources/qa_gen_prompts/prompt2.txt +12 -0
  596. autorag-0.0.0/tests/resources/qa_gen_prompts/prompt3.txt +12 -0
  597. autorag-0.0.0/tests/resources/qa_test_data_sample.parquet +0 -0
  598. autorag-0.0.0/tests/resources/result_project/0/config.yaml +82 -0
  599. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
  600. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/best_0.parquet +0 -0
  601. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +2 -0
  602. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  603. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
  604. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
  605. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +3 -0
  606. autorag-0.0.0/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +3 -0
  607. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  608. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  609. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  610. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  611. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
  612. autorag-0.0.0/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +2 -0
  613. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
  614. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
  615. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
  616. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
  617. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
  618. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
  619. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
  620. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  621. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +2 -0
  622. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
  623. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
  624. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
  625. autorag-0.0.0/tests/resources/result_project/0/retrieve_node_line/summary.csv +5 -0
  626. autorag-0.0.0/tests/resources/result_project/0/summary.csv +8 -0
  627. autorag-0.0.0/tests/resources/result_project/1/config.yaml +82 -0
  628. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  629. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  630. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  631. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  632. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
  633. autorag-0.0.0/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +2 -0
  634. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
  635. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
  636. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
  637. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
  638. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
  639. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
  640. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
  641. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  642. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +2 -0
  643. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
  644. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
  645. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
  646. autorag-0.0.0/tests/resources/result_project/1/retrieve_node_line/summary.csv +5 -0
  647. autorag-0.0.0/tests/resources/result_project/2/config.yaml +82 -0
  648. autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  649. autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
  650. autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
  651. autorag-0.0.0/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/summary.csv +3 -0
  652. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  653. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  654. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  655. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  656. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +4 -0
  657. autorag-0.0.0/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +2 -0
  658. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
  659. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
  660. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/summary.csv +2 -0
  661. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
  662. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
  663. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/summary.csv +2 -0
  664. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
  665. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  666. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +2 -0
  667. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
  668. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
  669. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/summary.csv +2 -0
  670. autorag-0.0.0/tests/resources/result_project/2/retrieve_node_line/summary.csv +5 -0
  671. autorag-0.0.0/tests/resources/result_project/3/config.yaml +82 -0
  672. autorag-0.0.0/tests/resources/result_project/best.yaml +83 -0
  673. autorag-0.0.0/tests/resources/result_project/data/corpus.parquet +0 -0
  674. autorag-0.0.0/tests/resources/result_project/data/qa.parquet +0 -0
  675. autorag-0.0.0/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
  676. autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
  677. autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
  678. autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
  679. autorag-0.0.0/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
  680. autorag-0.0.0/tests/resources/result_project/resources/chroma/chroma.sqlite3 +3 -0
  681. autorag-0.0.0/tests/resources/result_project/resources/vectordb.yaml +7 -0
  682. autorag-0.0.0/tests/resources/result_project/trial.json +18 -0
  683. autorag-0.0.0/tests/resources/sample_contents_nqa.csv +15 -0
  684. autorag-0.0.0/tests/resources/sample_project/data/corpus.parquet +0 -0
  685. autorag-0.0.0/tests/resources/sample_project/data/qa.parquet +0 -0
  686. autorag-0.0.0/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
  687. autorag-0.0.0/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
  688. autorag-0.0.0/tests/resources/sample_project/resources/vectordb.yaml +13 -0
  689. autorag-0.0.0/tests/resources/simple.yaml +59 -0
  690. autorag-0.0.0/tests/resources/simple_chunk.yaml +3 -0
  691. autorag-0.0.0/tests/resources/simple_milvus.yaml +38 -0
  692. autorag-0.0.0/tests/resources/simple_mock.yaml +37 -0
  693. autorag-0.0.0/tests/resources/simple_mock_with_llm.yaml +40 -0
  694. autorag-0.0.0/tests/resources/simple_parse.yaml +4 -0
  695. autorag-0.0.0/tests/resources/simple_with_llm.yaml +27 -0
  696. autorag-0.0.0/tests/resources/test_bm25_retrieval.pkl +0 -0
  697. autorag-0.0.0/uv.lock +9568 -0
@@ -0,0 +1,2 @@
1
+ ko_fi: autorag
2
+ polar: Marker-Inc-Korea
@@ -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