AutoRAG 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/PKG-INFO +2 -1
  2. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/SOURCES.txt +6 -0
  3. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/requires.txt +1 -0
  4. {autorag-0.2.0 → autorag-0.2.1}/PKG-INFO +2 -1
  5. autorag-0.2.1/autorag/VERSION +1 -0
  6. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/__init__.py +1 -0
  7. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/base.py +9 -0
  8. autorag-0.2.1/autorag/nodes/passagecompressor/longllmlingua.py +87 -0
  9. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/queryexpansion/__init__.py +1 -0
  10. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/queryexpansion/base.py +21 -19
  11. autorag-0.2.1/autorag/nodes/queryexpansion/hyde.py +31 -0
  12. autorag-0.2.1/autorag/nodes/queryexpansion/multi_query_expansion.py +52 -0
  13. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/queryexpansion/query_decompose.py +23 -25
  14. {autorag-0.2.0 → autorag-0.2.1}/autorag/strategy.py +11 -0
  15. {autorag-0.2.0 → autorag-0.2.1}/autorag/support.py +2 -0
  16. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagecompressor.rst +8 -0
  17. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.queryexpansion.rst +8 -0
  18. autorag-0.2.1/docs/source/nodes/passage_compressor/longllmlingua.md +25 -0
  19. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_compressor/passage_compressor.md +1 -0
  20. autorag-0.2.1/docs/source/nodes/query_expansion/hyde.md +27 -0
  21. autorag-0.2.1/docs/source/nodes/query_expansion/multi_query_expansion.md +30 -0
  22. autorag-0.2.1/docs/source/nodes/query_expansion/query_decompose.md +26 -0
  23. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/query_expansion/query_expansion.md +1 -0
  24. {autorag-0.2.0 → autorag-0.2.1}/docs/source/optimization/strategies.md +18 -1
  25. {autorag-0.2.0 → autorag-0.2.1}/requirements.txt +1 -0
  26. {autorag-0.2.0 → autorag-0.2.1}/sample_config/full.yaml +9 -1
  27. autorag-0.2.1/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +29 -0
  28. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_hyde.py +9 -6
  29. autorag-0.2.1/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +27 -0
  30. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_decompose.py +9 -6
  31. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +38 -9
  32. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_strategy.py +13 -1
  33. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/full.yaml +4 -2
  34. autorag-0.2.0/autorag/VERSION +0 -1
  35. autorag-0.2.0/autorag/nodes/queryexpansion/hyde.py +0 -40
  36. autorag-0.2.0/docs/source/nodes/query_expansion/hyde.md +0 -22
  37. autorag-0.2.0/docs/source/nodes/query_expansion/query_decompose.md +0 -22
  38. {autorag-0.2.0 → autorag-0.2.1}/.github/dependabot.yml +0 -0
  39. {autorag-0.2.0 → autorag-0.2.1}/.github/workflows/publish.yml +0 -0
  40. {autorag-0.2.0 → autorag-0.2.1}/.github/workflows/sphinx.yml +0 -0
  41. {autorag-0.2.0 → autorag-0.2.1}/.github/workflows/test.yml +0 -0
  42. {autorag-0.2.0 → autorag-0.2.1}/.gitignore +0 -0
  43. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/dependency_links.txt +0 -0
  44. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/entry_points.txt +0 -0
  45. {autorag-0.2.0 → autorag-0.2.1}/AutoRAG.egg-info/top_level.txt +0 -0
  46. {autorag-0.2.0 → autorag-0.2.1}/CODE_OF_CONDUCT.md +0 -0
  47. {autorag-0.2.0 → autorag-0.2.1}/CONTRIBUTING.md +0 -0
  48. {autorag-0.2.0 → autorag-0.2.1}/LICENSE +0 -0
  49. {autorag-0.2.0 → autorag-0.2.1}/README.md +0 -0
  50. {autorag-0.2.0 → autorag-0.2.1}/autorag/__init__.py +0 -0
  51. {autorag-0.2.0 → autorag-0.2.1}/autorag/cli.py +0 -0
  52. {autorag-0.2.0 → autorag-0.2.1}/autorag/dashboard.py +0 -0
  53. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/__init__.py +0 -0
  54. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/corpus/__init__.py +0 -0
  55. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/corpus/langchain.py +0 -0
  56. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/corpus/llama_index.py +0 -0
  57. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/__init__.py +0 -0
  58. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/base.py +0 -0
  59. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/llama_index.py +0 -0
  60. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/llama_index_default_prompt.txt +0 -0
  61. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/ragas.py +0 -0
  62. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/qacreation/simple.py +0 -0
  63. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/utils/__init__.py +0 -0
  64. {autorag-0.2.0 → autorag-0.2.1}/autorag/data/utils/util.py +0 -0
  65. {autorag-0.2.0 → autorag-0.2.1}/autorag/deploy.py +0 -0
  66. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/__init__.py +0 -0
  67. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/generation.py +0 -0
  68. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/__init__.py +0 -0
  69. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/coh_detailed.txt +0 -0
  70. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/con_detailed.txt +0 -0
  71. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/flu_detailed.txt +0 -0
  72. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/g_eval_prompts/rel_detailed.txt +0 -0
  73. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/generation.py +0 -0
  74. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/retrieval.py +0 -0
  75. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/retrieval_contents.py +0 -0
  76. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/metric/util.py +0 -0
  77. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/retrieval.py +0 -0
  78. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/retrieval_contents.py +0 -0
  79. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluate/util.py +0 -0
  80. {autorag-0.2.0 → autorag-0.2.1}/autorag/evaluator.py +0 -0
  81. {autorag-0.2.0 → autorag-0.2.1}/autorag/node_line.py +0 -0
  82. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/__init__.py +0 -0
  83. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/__init__.py +0 -0
  84. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/base.py +0 -0
  85. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/llama_index_llm.py +0 -0
  86. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/openai_llm.py +0 -0
  87. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/run.py +0 -0
  88. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/generator/vllm.py +0 -0
  89. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passageaugmenter/__init__.py +0 -0
  90. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passageaugmenter/base.py +0 -0
  91. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
  92. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
  93. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passageaugmenter/run.py +0 -0
  94. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
  95. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/refine.py +0 -0
  96. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/run.py +0 -0
  97. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
  98. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/__init__.py +0 -0
  99. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/base.py +0 -0
  100. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
  101. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
  102. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/recency.py +0 -0
  103. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/run.py +0 -0
  104. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +0 -0
  105. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +0 -0
  106. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
  107. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/__init__.py +0 -0
  108. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/base.py +0 -0
  109. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/cohere.py +0 -0
  110. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/colbert.py +0 -0
  111. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
  112. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
  113. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/jina.py +0 -0
  114. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/koreranker.py +0 -0
  115. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/monot5.py +0 -0
  116. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
  117. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/rankgpt.py +0 -0
  118. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/run.py +0 -0
  119. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
  120. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
  121. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
  122. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/tart.py +0 -0
  123. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
  124. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/time_reranker.py +0 -0
  125. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/passagereranker/upr.py +0 -0
  126. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/promptmaker/__init__.py +0 -0
  127. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/promptmaker/base.py +0 -0
  128. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/promptmaker/fstring.py +0 -0
  129. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
  130. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/promptmaker/run.py +0 -0
  131. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
  132. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/queryexpansion/run.py +0 -0
  133. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/__init__.py +0 -0
  134. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/base.py +0 -0
  135. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/bm25.py +0 -0
  136. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_cc.py +0 -0
  137. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_dbsf.py +0 -0
  138. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_rrf.py +0 -0
  139. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/hybrid_rsf.py +0 -0
  140. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/run.py +0 -0
  141. {autorag-0.2.0 → autorag-0.2.1}/autorag/nodes/retrieval/vectordb.py +0 -0
  142. {autorag-0.2.0 → autorag-0.2.1}/autorag/schema/__init__.py +0 -0
  143. {autorag-0.2.0 → autorag-0.2.1}/autorag/schema/module.py +0 -0
  144. {autorag-0.2.0 → autorag-0.2.1}/autorag/schema/node.py +0 -0
  145. {autorag-0.2.0 → autorag-0.2.1}/autorag/utils/__init__.py +0 -0
  146. {autorag-0.2.0 → autorag-0.2.1}/autorag/utils/preprocess.py +0 -0
  147. {autorag-0.2.0 → autorag-0.2.1}/autorag/utils/util.py +0 -0
  148. {autorag-0.2.0 → autorag-0.2.1}/autorag/web.py +0 -0
  149. {autorag-0.2.0 → autorag-0.2.1}/docs/Makefile +0 -0
  150. {autorag-0.2.0 → autorag-0.2.1}/docs/make.bat +0 -0
  151. {autorag-0.2.0 → autorag-0.2.1}/docs/requirements.txt +0 -0
  152. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/data_creation.png +0 -0
  153. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/data_folder.png +0 -0
  154. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/dcg.png +0 -0
  155. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/f1_score.png +0 -0
  156. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/map.png +0 -0
  157. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/mrr.png +0 -0
  158. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/ndcg.png +0 -0
  159. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/ndcg_formula.png +0 -0
  160. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/node_folder.png +0 -0
  161. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/node_line_folder.png +0 -0
  162. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/node_line_summary.png +0 -0
  163. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/node_lines.png +0 -0
  164. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/node_summary.png +0 -0
  165. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/project_folder_example.png +0 -0
  166. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/project_folders.png +0 -0
  167. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/resources_folder.png +0 -0
  168. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
  169. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/advanced_RAG.png +0 -0
  170. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/cycle.png +0 -0
  171. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/merger.png +0 -0
  172. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/node_line_modular.png +0 -0
  173. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/roadmap/policy.png +0 -0
  174. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/samsung_sundae.jpeg +0 -0
  175. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/trial_folder.png +0 -0
  176. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/trial_json.png +0 -0
  177. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/trial_summary.png +0 -0
  178. {autorag-0.2.0 → autorag-0.2.1}/docs/source/_static/web_interface.png +0 -0
  179. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.data.corpus.rst +0 -0
  180. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.data.qacreation.rst +0 -0
  181. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.data.rst +0 -0
  182. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.data.utils.rst +0 -0
  183. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.evaluate.metric.rst +0 -0
  184. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.evaluate.rst +0 -0
  185. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.generator.rst +0 -0
  186. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +0 -0
  187. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagefilter.rst +0 -0
  188. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagereranker.rst +0 -0
  189. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +0 -0
  190. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.promptmaker.rst +0 -0
  191. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.retrieval.rst +0 -0
  192. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.nodes.rst +0 -0
  193. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.rst +0 -0
  194. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.schema.rst +0 -0
  195. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/autorag.utils.rst +0 -0
  196. {autorag-0.2.0 → autorag-0.2.1}/docs/source/api_spec/modules.rst +0 -0
  197. {autorag-0.2.0 → autorag-0.2.1}/docs/source/conf.py +0 -0
  198. {autorag-0.2.0 → autorag-0.2.1}/docs/source/data_creation/data_format.md +0 -0
  199. {autorag-0.2.0 → autorag-0.2.1}/docs/source/data_creation/ragas.md +0 -0
  200. {autorag-0.2.0 → autorag-0.2.1}/docs/source/data_creation/tutorial.md +0 -0
  201. {autorag-0.2.0 → autorag-0.2.1}/docs/source/deploy/api_endpoint.md +0 -0
  202. {autorag-0.2.0 → autorag-0.2.1}/docs/source/deploy/web.md +0 -0
  203. {autorag-0.2.0 → autorag-0.2.1}/docs/source/evaluate_metrics/generation.md +0 -0
  204. {autorag-0.2.0 → autorag-0.2.1}/docs/source/evaluate_metrics/retrieval.md +0 -0
  205. {autorag-0.2.0 → autorag-0.2.1}/docs/source/evaluate_metrics/retrieval_contents.md +0 -0
  206. {autorag-0.2.0 → autorag-0.2.1}/docs/source/index.rst +0 -0
  207. {autorag-0.2.0 → autorag-0.2.1}/docs/source/install.md +0 -0
  208. {autorag-0.2.0 → autorag-0.2.1}/docs/source/local_model.md +0 -0
  209. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/generator/generator.md +0 -0
  210. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/generator/llama_index_llm.md +0 -0
  211. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/generator/openai_llm.md +0 -0
  212. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/generator/vllm.md +0 -0
  213. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/index.md +0 -0
  214. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_augmenter/passage_augmenter.md +0 -0
  215. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +0 -0
  216. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_compressor/refine.md +0 -0
  217. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_compressor/tree_summarize.md +0 -0
  218. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/passage_filter.md +0 -0
  219. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/percentile_cutoff.md +0 -0
  220. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/recency_filter.md +0 -0
  221. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +0 -0
  222. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +0 -0
  223. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_filter/threshold_cutoff.md +0 -0
  224. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/cohere.md +0 -0
  225. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/colbert.md +0 -0
  226. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +0 -0
  227. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +0 -0
  228. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/jina_reranker.md +0 -0
  229. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/koreranker.md +0 -0
  230. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/monot5.md +0 -0
  231. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/passage_reranker.md +0 -0
  232. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/rankgpt.md +0 -0
  233. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +0 -0
  234. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/tart.md +0 -0
  235. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/time_reranker.md +0 -0
  236. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/passage_reranker/upr.md +0 -0
  237. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/prompt_maker/fstring.md +0 -0
  238. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/prompt_maker/long_context_reorder.md +0 -0
  239. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/prompt_maker/prompt_maker.md +0 -0
  240. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/bm25.md +0 -0
  241. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_cc.md +0 -0
  242. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_dbsf.md +0 -0
  243. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_rrf.md +0 -0
  244. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/hybrid_rsf.md +0 -0
  245. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/retrieval.md +0 -0
  246. {autorag-0.2.0 → autorag-0.2.1}/docs/source/nodes/retrieval/vectordb.md +0 -0
  247. {autorag-0.2.0 → autorag-0.2.1}/docs/source/optimization/custom_config.md +0 -0
  248. {autorag-0.2.0 → autorag-0.2.1}/docs/source/optimization/folder_structure.md +0 -0
  249. {autorag-0.2.0 → autorag-0.2.1}/docs/source/optimization/optimization.md +0 -0
  250. {autorag-0.2.0 → autorag-0.2.1}/docs/source/optimization/sample_full_config.yaml +0 -0
  251. {autorag-0.2.0 → autorag-0.2.1}/docs/source/roadmap/modular_rag.md +0 -0
  252. {autorag-0.2.0 → autorag-0.2.1}/docs/source/structure.md +0 -0
  253. {autorag-0.2.0 → autorag-0.2.1}/docs/source/troubleshooting.md +0 -0
  254. {autorag-0.2.0 → autorag-0.2.1}/docs/source/tutorial.md +0 -0
  255. {autorag-0.2.0 → autorag-0.2.1}/pyproject.toml +0 -0
  256. {autorag-0.2.0 → autorag-0.2.1}/sample_config/compact_local.yaml +0 -0
  257. {autorag-0.2.0 → autorag-0.2.1}/sample_config/compact_openai.yaml +0 -0
  258. {autorag-0.2.0 → autorag-0.2.1}/sample_config/config_korean.yaml +0 -0
  259. {autorag-0.2.0 → autorag-0.2.1}/sample_config/extracted_sample.yaml +0 -0
  260. {autorag-0.2.0 → autorag-0.2.1}/sample_config/simple_local.yaml +0 -0
  261. {autorag-0.2.0 → autorag-0.2.1}/sample_config/simple_openai.yaml +0 -0
  262. {autorag-0.2.0 → autorag-0.2.1}/sample_dataset/README.md +0 -0
  263. {autorag-0.2.0 → autorag-0.2.1}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
  264. {autorag-0.2.0 → autorag-0.2.1}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
  265. {autorag-0.2.0 → autorag-0.2.1}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
  266. {autorag-0.2.0 → autorag-0.2.1}/setup.cfg +0 -0
  267. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/corpus/test_base.py +0 -0
  268. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/corpus/test_langchain.py +0 -0
  269. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/corpus/test_llama_index_corpus.py +0 -0
  270. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/qacreation/test_base_qacreation.py +0 -0
  271. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/qacreation/test_llama_index_qacreation.py +0 -0
  272. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/qacreation/test_ragas_qa_creation.py +0 -0
  273. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/data/qacreation/test_simple.py +0 -0
  274. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_generation_metric.py +0 -0
  275. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +0 -0
  276. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/metric/test_retrieval_metric.py +0 -0
  277. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/test_evaluate_util.py +0 -0
  278. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/test_generation_evaluate.py +0 -0
  279. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +0 -0
  280. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/evaluate/test_retrieval_evaluate.py +0 -0
  281. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/generator/test_generator_base.py +0 -0
  282. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/generator/test_llama_index_llm.py +0 -0
  283. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/generator/test_openai.py +0 -0
  284. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/generator/test_run_generator_node.py +0 -0
  285. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/generator/test_vllm.py +0 -0
  286. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +0 -0
  287. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +0 -0
  288. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +0 -0
  289. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +0 -0
  290. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +0 -0
  291. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +0 -0
  292. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_refine.py +0 -0
  293. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +0 -0
  294. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +0 -0
  295. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +0 -0
  296. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +0 -0
  297. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +0 -0
  298. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +0 -0
  299. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_recency_filter.py +0 -0
  300. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +0 -0
  301. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +0 -0
  302. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +0 -0
  303. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +0 -0
  304. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +0 -0
  305. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_flag_embedding.py +0 -0
  306. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +0 -0
  307. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_jina_reranker.py +0 -0
  308. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_koreranker.py +0 -0
  309. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_monot5.py +0 -0
  310. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_pass_reranker.py +0 -0
  311. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +0 -0
  312. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +0 -0
  313. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_rankgpt.py +0 -0
  314. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +0 -0
  315. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_tart.py +0 -0
  316. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_time_reranker.py +0 -0
  317. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/passagereranker/test_upr.py +0 -0
  318. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_fstring.py +0 -0
  319. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +0 -0
  320. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +0 -0
  321. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +0 -0
  322. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +0 -0
  323. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +0 -0
  324. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_bm25.py +0 -0
  325. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_base.py +0 -0
  326. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_cc.py +0 -0
  327. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_dbsf.py +0 -0
  328. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_rrf.py +0 -0
  329. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_hybrid_rsf.py +0 -0
  330. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_retrieval_base.py +0 -0
  331. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_run_retrieval_node.py +0 -0
  332. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/nodes/retrieval/test_vectordb.py +0 -0
  333. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/schema/test_module_schema.py +0 -0
  334. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/schema/test_node_schema.py +0 -0
  335. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_cli.py +0 -0
  336. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_dashboard.py +0 -0
  337. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_deploy.py +0 -0
  338. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_evaluator.py +0 -0
  339. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_support.py +0 -0
  340. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/test_web.py +0 -0
  341. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/utils/test_preprocess.py +0 -0
  342. {autorag-0.2.0 → autorag-0.2.1}/tests/autorag/utils/test_util.py +0 -0
  343. {autorag-0.2.0 → autorag-0.2.1}/tests/conftest.py +0 -0
  344. {autorag-0.2.0 → autorag-0.2.1}/tests/delete_tests.py +0 -0
  345. {autorag-0.2.0 → autorag-0.2.1}/tests/mock.py +0 -0
  346. {autorag-0.2.0 → autorag-0.2.1}/tests/requirements.txt +0 -0
  347. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/README.md +0 -0
  348. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/corpus_data_sample.parquet +0 -0
  349. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample1.txt +0 -0
  350. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample2.txt +0 -0
  351. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/data_creation/raw_dir/sample3.txt +0 -0
  352. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/qa_data_sample.parquet +0 -0
  353. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt1.txt +0 -0
  354. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt2.txt +0 -0
  355. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/qa_gen_prompts/prompt3.txt +0 -0
  356. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/qa_test_data_sample.parquet +0 -0
  357. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/config.yaml +0 -0
  358. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
  359. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/1.parquet +0 -0
  360. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/2.parquet +0 -0
  361. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/3.parquet +0 -0
  362. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/4.parquet +0 -0
  363. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/5.parquet +0 -0
  364. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/best_5.parquet +0 -0
  365. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +0 -0
  366. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  367. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
  368. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
  369. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
  370. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +0 -0
  371. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  372. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  373. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  374. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  375. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  376. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +0 -0
  377. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/0.parquet +0 -0
  378. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
  379. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/summary.csv +0 -0
  380. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
  381. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/1.parquet +0 -0
  382. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  383. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +0 -0
  384. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/0.parquet +0 -0
  385. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/1.parquet +0 -0
  386. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/best_0.parquet +0 -0
  387. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/retrieval/summary.csv +0 -0
  388. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/retrieve_node_line/summary.csv +0 -0
  389. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/0/summary.csv +0 -0
  390. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/config.yaml +0 -0
  391. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  392. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  393. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  394. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  395. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  396. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +0 -0
  397. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_filter/0.parquet +0 -0
  398. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
  399. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/1.parquet +0 -0
  400. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  401. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +0 -0
  402. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/0.parquet +0 -0
  403. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/1.parquet +0 -0
  404. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/best_0.parquet +0 -0
  405. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/1/retrieve_node_line/retrieval/summary.csv +0 -0
  406. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/config.yaml +0 -0
  407. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  408. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  409. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  410. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  411. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  412. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  413. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +0 -0
  414. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/0.parquet +0 -0
  415. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
  416. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/summary.csv +0 -0
  417. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
  418. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/1.parquet +0 -0
  419. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  420. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +0 -0
  421. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/0.parquet +0 -0
  422. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/1.parquet +0 -0
  423. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/best_0.parquet +0 -0
  424. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/retrieval/summary.csv +0 -0
  425. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/2/retrieve_node_line/summary.csv +0 -0
  426. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/3/config.yaml +0 -0
  427. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/best.yaml +0 -0
  428. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/data/corpus.parquet +0 -0
  429. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/data/qa.parquet +0 -0
  430. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
  431. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
  432. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
  433. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
  434. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
  435. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/resources/chroma/chroma.sqlite3 +0 -0
  436. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/result_project/trial.json +0 -0
  437. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/sample_contents_nqa.csv +0 -0
  438. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/sample_project/data/corpus.parquet +0 -0
  439. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/sample_project/data/qa.parquet +0 -0
  440. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
  441. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
  442. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/simple.yaml +0 -0
  443. {autorag-0.2.0 → autorag-0.2.1}/tests/resources/test_bm25_retrieval.pkl +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AutoRAG
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.
5
5
  Author-email: Marker-Inc <vkehfdl1@gmail.com>
6
6
  License: Apache License
@@ -250,6 +250,7 @@ Requires-Dist: FlagEmbedding
250
250
  Requires-Dist: ragas
251
251
  Requires-Dist: ray
252
252
  Requires-Dist: kiwipiepy
253
+ Requires-Dist: llmlingua
253
254
  Requires-Dist: llama-index>=0.10.1
254
255
  Requires-Dist: llama-index-core>=0.10.1
255
256
  Requires-Dist: llama-index-embeddings-openai
@@ -65,6 +65,7 @@ autorag/nodes/passageaugmenter/prev_next_augmenter.py
65
65
  autorag/nodes/passageaugmenter/run.py
66
66
  autorag/nodes/passagecompressor/__init__.py
67
67
  autorag/nodes/passagecompressor/base.py
68
+ autorag/nodes/passagecompressor/longllmlingua.py
68
69
  autorag/nodes/passagecompressor/pass_compressor.py
69
70
  autorag/nodes/passagecompressor/refine.py
70
71
  autorag/nodes/passagecompressor/run.py
@@ -105,6 +106,7 @@ autorag/nodes/promptmaker/run.py
105
106
  autorag/nodes/queryexpansion/__init__.py
106
107
  autorag/nodes/queryexpansion/base.py
107
108
  autorag/nodes/queryexpansion/hyde.py
109
+ autorag/nodes/queryexpansion/multi_query_expansion.py
108
110
  autorag/nodes/queryexpansion/pass_query_expansion.py
109
111
  autorag/nodes/queryexpansion/query_decompose.py
110
112
  autorag/nodes/queryexpansion/run.py
@@ -195,6 +197,7 @@ docs/source/nodes/generator/openai_llm.md
195
197
  docs/source/nodes/generator/vllm.md
196
198
  docs/source/nodes/passage_augmenter/passage_augmenter.md
197
199
  docs/source/nodes/passage_augmenter/prev_next_augmenter.md
200
+ docs/source/nodes/passage_compressor/longllmlingua.md
198
201
  docs/source/nodes/passage_compressor/passage_compressor.md
199
202
  docs/source/nodes/passage_compressor/refine.md
200
203
  docs/source/nodes/passage_compressor/tree_summarize.md
@@ -221,6 +224,7 @@ docs/source/nodes/prompt_maker/fstring.md
221
224
  docs/source/nodes/prompt_maker/long_context_reorder.md
222
225
  docs/source/nodes/prompt_maker/prompt_maker.md
223
226
  docs/source/nodes/query_expansion/hyde.md
227
+ docs/source/nodes/query_expansion/multi_query_expansion.md
224
228
  docs/source/nodes/query_expansion/query_decompose.md
225
229
  docs/source/nodes/query_expansion/query_expansion.md
226
230
  docs/source/nodes/retrieval/bm25.md
@@ -282,6 +286,7 @@ tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py
282
286
  tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py
283
287
  tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py
284
288
  tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py
289
+ tests/autorag/nodes/passagecompressor/test_longllmlingua.py
285
290
  tests/autorag/nodes/passagecompressor/test_pass_compressor.py
286
291
  tests/autorag/nodes/passagecompressor/test_refine.py
287
292
  tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py
@@ -314,6 +319,7 @@ tests/autorag/nodes/promptmaker/test_long_context_reorder.py
314
319
  tests/autorag/nodes/promptmaker/test_prompt_maker_base.py
315
320
  tests/autorag/nodes/promptmaker/test_prompt_maker_run.py
316
321
  tests/autorag/nodes/queryexpansion/test_hyde.py
322
+ tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py
317
323
  tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py
318
324
  tests/autorag/nodes/queryexpansion/test_query_decompose.py
319
325
  tests/autorag/nodes/queryexpansion/test_query_expansion_base.py
@@ -29,6 +29,7 @@ FlagEmbedding
29
29
  ragas
30
30
  ray
31
31
  kiwipiepy
32
+ llmlingua
32
33
  llama-index>=0.10.1
33
34
  llama-index-core>=0.10.1
34
35
  llama-index-embeddings-openai
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AutoRAG
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.
5
5
  Author-email: Marker-Inc <vkehfdl1@gmail.com>
6
6
  License: Apache License
@@ -250,6 +250,7 @@ Requires-Dist: FlagEmbedding
250
250
  Requires-Dist: ragas
251
251
  Requires-Dist: ray
252
252
  Requires-Dist: kiwipiepy
253
+ Requires-Dist: llmlingua
253
254
  Requires-Dist: llama-index>=0.10.1
254
255
  Requires-Dist: llama-index-core>=0.10.1
255
256
  Requires-Dist: llama-index-embeddings-openai
@@ -0,0 +1 @@
1
+ 0.2.1
@@ -1,3 +1,4 @@
1
+ from .longllmlingua import longllmlingua
1
2
  from .pass_compressor import pass_compressor
2
3
  from .refine import refine
3
4
  from .tree_summarize import tree_summarize
@@ -46,6 +46,15 @@ def passage_compressor_node(func):
46
46
  )
47
47
  del llm
48
48
  result = list(map(lambda x: [x], result))
49
+ elif func.__name__ == 'longllmlingua':
50
+ result = func(
51
+ queries=queries,
52
+ contents=retrieved_contents,
53
+ scores=retrieve_scores,
54
+ ids=retrieved_ids,
55
+ **kwargs
56
+ )
57
+ result = list(map(lambda x: [x], result))
49
58
  elif func.__name__ == 'pass_compressor':
50
59
  result = func(contents=retrieved_contents)
51
60
  else:
@@ -0,0 +1,87 @@
1
+ from typing import List, Optional
2
+
3
+ import torch
4
+ from llmlingua import PromptCompressor
5
+
6
+ from autorag.nodes.passagecompressor.base import passage_compressor_node
7
+
8
+
9
+ @passage_compressor_node
10
+ def longllmlingua(queries: List[str],
11
+ contents: List[List[str]],
12
+ scores,
13
+ ids,
14
+ model_name: str = "NousResearch/Llama-2-7b-hf",
15
+ instructions: Optional[str] = None,
16
+ target_token: int = 300,
17
+ **kwargs,
18
+ ) -> List[str]:
19
+ """
20
+ Compresses the retrieved texts using LongLLMLingua.
21
+ For more information, visit https://github.com/microsoft/LLMLingua.
22
+
23
+ :param queries: The queries for retrieved passages.
24
+ :param contents: The contents of retrieved passages.
25
+ :param scores: The scores of retrieved passages.
26
+ Do not use in this function, so you can pass an empty list.
27
+ :param ids: The ids of retrieved passages.
28
+ Do not use in this function, so you can pass an empty list.
29
+ :param model_name: The model name to use for compression.
30
+ Default is "NousResearch/Llama-2-7b-hf".
31
+ :param instructions: The instructions for compression.
32
+ Default is None. When it is None, it will use default instructions.
33
+ :param target_token: The target token for compression.
34
+ Default is 300.
35
+ :param kwargs: Additional keyword arguments.
36
+ :return: The list of compressed texts.
37
+ """
38
+ if instructions is None:
39
+ instructions = "Given the context, please answer the final question"
40
+ llm_lingua = PromptCompressor(
41
+ model_name=model_name,
42
+ )
43
+ results = [llmlingua_pure(query, contents_, llm_lingua, instructions, target_token, **kwargs)
44
+ for query, contents_ in zip(queries, contents)]
45
+
46
+ del llm_lingua
47
+ if torch.cuda.is_available():
48
+ torch.cuda.empty_cache()
49
+
50
+ return results
51
+
52
+
53
+ def llmlingua_pure(query: str,
54
+ contents: List[str],
55
+ llm_lingua: PromptCompressor,
56
+ instructions: str,
57
+ target_token: int = 300,
58
+ **kwargs,
59
+ ) -> str:
60
+ """
61
+ Return the compressed text.
62
+
63
+ :param query: The query for retrieved passages.
64
+ :param contents: The contents of retrieved passages.
65
+ :param llm_lingua: The llm instance that will be used to compress.
66
+ :param instructions: The instructions for compression.
67
+ :param target_token: The target token for compression.
68
+ Default is 300.
69
+ :param kwargs: Additional keyword arguments.
70
+ :return: The compressed text.
71
+ """
72
+ # split by "\n\n" (recommended by LongLLMLingua authors)
73
+ new_context_texts = [c for context in contents for c in context.split("\n\n")]
74
+ compressed_prompt = llm_lingua.compress_prompt(
75
+ new_context_texts,
76
+ question=query,
77
+ instruction=instructions,
78
+ rank_method="longllmlingua",
79
+ target_token=target_token,
80
+ **kwargs,
81
+ )
82
+ compressed_prompt_txt = compressed_prompt["compressed_prompt"]
83
+
84
+ # separate out the question and instruction
85
+ result = '\n\n'.join(compressed_prompt_txt.split("\n\n")[1:-1])
86
+
87
+ return result
@@ -1,3 +1,4 @@
1
1
  from .hyde import hyde
2
+ from .multi_query_expansion import multi_query_expansion
2
3
  from .pass_query_expansion import pass_query_expansion
3
4
  from .query_decompose import query_decompose
@@ -1,11 +1,11 @@
1
1
  import functools
2
2
  import logging
3
3
  from pathlib import Path
4
- from typing import List, Union
4
+ from typing import List, Union, Dict, Optional
5
5
 
6
6
  import pandas as pd
7
7
 
8
- from autorag import generator_models
8
+ from autorag.support import get_support_modules
9
9
  from autorag.utils import result_to_dataframe, validate_qa_dataset
10
10
 
11
11
  logger = logging.getLogger("AutoRAG")
@@ -28,31 +28,33 @@ def query_expansion_node(func):
28
28
  if func.__name__ == "pass_query_expansion":
29
29
  return func(queries=queries)
30
30
 
31
- # set module parameters
32
- llm_str = kwargs.pop("llm")
33
-
34
31
  # pop prompt from kwargs
35
32
  if "prompt" in kwargs.keys():
36
33
  prompt = kwargs.pop("prompt")
37
34
  else:
38
35
  prompt = ""
39
36
 
40
- # pop batch from kwargs
41
- if "batch" in kwargs.keys():
42
- batch = kwargs.pop("batch")
43
- else:
44
- batch = 16
45
-
46
- # set llm model for query expansion
47
- if llm_str in generator_models:
48
- llm = generator_models[llm_str](**kwargs)
49
- else:
50
- logger.error(f"llm_str {llm_str} does not exist.")
51
- raise KeyError(f"llm_str {llm_str} does not exist.")
37
+ # set generator module for query expansion
38
+ generator_callable, generator_param = make_generator_callable_param(kwargs)
52
39
 
53
40
  # run query expansion function
54
- expanded_queries = func(queries=queries, llm=llm, prompt=prompt, batch=batch)
55
- del llm
41
+ expanded_queries = func(queries=queries,
42
+ prompt=prompt,
43
+ generator_func=generator_callable,
44
+ generator_params=generator_param)
56
45
  return expanded_queries
57
46
 
58
47
  return wrapper
48
+
49
+
50
+ def make_generator_callable_param(generator_dict: Optional[Dict]):
51
+ if 'generator_module_type' not in generator_dict.keys():
52
+ generator_dict = {
53
+ 'generator_module_type': 'llama_index_llm',
54
+ 'llm': 'openai',
55
+ 'model': 'gpt-3.5-turbo',
56
+ }
57
+ module_str = generator_dict.pop('generator_module_type')
58
+ module_callable = get_support_modules(module_str)
59
+ module_param = generator_dict
60
+ return module_callable, module_param
@@ -0,0 +1,31 @@
1
+ from typing import List, Dict, Callable
2
+
3
+ import pandas as pd
4
+
5
+ from autorag.nodes.queryexpansion.base import query_expansion_node
6
+
7
+ hyde_prompt = "Please write a passage to answer the question"
8
+
9
+
10
+ @query_expansion_node
11
+ def hyde(queries: List[str],
12
+ generator_func: Callable,
13
+ generator_params: Dict,
14
+ prompt: str = hyde_prompt) -> List[List[str]]:
15
+ """
16
+ HyDE, which inspired by "Precise Zero-shot Dense Retrieval without Relevance Labels" (https://arxiv.org/pdf/2212.10496.pdf)
17
+ LLM model creates a hypothetical passage.
18
+ And then, retrieve passages using hypothetical passage as a query.
19
+ :param queries: List[str], queries to retrieve.
20
+ :param generator_func: Callable, generator functions.
21
+ :param generator_params: Dict, generator parameters.
22
+ :param prompt: prompt to use when generating hypothetical passage
23
+ :return: List[List[str]], List of hyde results.
24
+ """
25
+ full_prompts = list(
26
+ map(lambda x: (prompt if not bool(prompt) else hyde_prompt) + f"\nQuestion: {x}\nPassage:", queries))
27
+ input_df = pd.DataFrame({"prompts": full_prompts})
28
+ result_df = generator_func(project_dir=None, previous_result=input_df, **generator_params)
29
+ answers = result_df['generated_texts'].tolist()
30
+ results = list(map(lambda x: [x], answers))
31
+ return results
@@ -0,0 +1,52 @@
1
+ from typing import List, Dict, Callable
2
+
3
+ import pandas as pd
4
+
5
+ from autorag.nodes.queryexpansion.base import query_expansion_node
6
+
7
+ multi_query_expansion_prompt = """You are an AI language model assistant.
8
+ Your task is to generate 3 different versions of the given user
9
+ question to retrieve relevant documents from a vector database.
10
+ By generating multiple perspectives on the user question,
11
+ your goal is to help the user overcome some of the limitations
12
+ of distance-based similarity search. Provide these alternative
13
+ questions separated by newlines. Original question: {question}"""
14
+
15
+
16
+ @query_expansion_node
17
+ def multi_query_expansion(queries: List[str],
18
+ generator_func: Callable,
19
+ generator_params: Dict,
20
+ prompt: str = multi_query_expansion_prompt) -> List[List[str]]:
21
+ """
22
+ Expand a list of queries using a multi-query expansion approach.
23
+ LLM model generate 3 different versions queries for each input query.
24
+
25
+ :param queries: List[str], queries to decompose.
26
+ :param generator_func: Callable, generator functions.
27
+ :param generator_params: Dict, generator parameters.
28
+ :param prompt: str, prompt to use for multi-query expansion.
29
+ default prompt comes from langchain MultiQueryRetriever default query prompt.
30
+ :return: List[List[str]], list of expansion query.
31
+ """
32
+ full_prompts = []
33
+ for query in queries:
34
+ if bool(prompt):
35
+ full_prompt = f"prompt: {prompt}\n\n question: {query}"
36
+ else:
37
+ full_prompt = multi_query_expansion_prompt.format(question=query)
38
+ full_prompts.append(full_prompt)
39
+ input_df = pd.DataFrame({"prompts": full_prompts})
40
+ result_df = generator_func(project_dir=None, previous_result=input_df, **generator_params)
41
+ answers = result_df['generated_texts'].tolist()
42
+ results = list(map(lambda x: get_multi_query_expansion(x[0], x[1]), zip(queries, answers)))
43
+ return results
44
+
45
+
46
+ def get_multi_query_expansion(query: str, answer: str) -> List[str]:
47
+ try:
48
+ queries = answer.split("\n")
49
+ queries.insert(0, query)
50
+ return queries
51
+ except:
52
+ return [query]
@@ -1,10 +1,8 @@
1
- import asyncio
2
- from typing import List
1
+ from typing import List, Callable, Dict
3
2
 
4
- from llama_index.core.service_context_elements.llm_predictor import LLMPredictorType
3
+ import pandas as pd
5
4
 
6
5
  from autorag.nodes.queryexpansion.base import query_expansion_node
7
- from autorag.utils.util import process_batch
8
6
 
9
7
  decompose_prompt = """Decompose a question in self-contained sub-questions. Use \"The question needs no decomposition\" when no decomposition is needed.
10
8
 
@@ -54,44 +52,44 @@ decompose_prompt = """Decompose a question in self-contained sub-questions. Use
54
52
 
55
53
 
56
54
  @query_expansion_node
57
- def query_decompose(queries: List[str], llm: LLMPredictorType,
58
- prompt: str = decompose_prompt,
59
- batch: int = 16) -> List[List[str]]:
55
+ def query_decompose(queries: List[str],
56
+ generator_func: Callable,
57
+ generator_params: Dict,
58
+ prompt: str = decompose_prompt) -> List[List[str]]:
60
59
  """
61
60
  decompose query to little piece of questions.
62
61
  :param queries: List[str], queries to decompose.
63
- :param llm: LLMPredictorType, language model to use.
62
+ :param generator_func: Callable, generator functions.
63
+ :param generator_params: Dict, generator parameters.
64
64
  :param prompt: str, prompt to use for query decomposition.
65
65
  default prompt comes from Visconde's StrategyQA few-shot prompt.
66
- :param batch: int, batch size for llm.
67
- Default is 16.
68
66
  :return: List[List[str]], list of decomposed query. Return input query if query is not decomposable.
69
67
  """
70
- # Run async query_decompose_pure function
71
- tasks = [query_decompose_pure(query, llm, prompt) for query in queries]
72
- loop = asyncio.get_event_loop()
73
- results = loop.run_until_complete(process_batch(tasks, batch_size=batch))
68
+ full_prompts = []
69
+ for query in queries:
70
+ if bool(prompt):
71
+ full_prompt = f"prompt: {prompt}\n\n question: {query}"
72
+ else:
73
+ full_prompt = decompose_prompt.format(question=query)
74
+ full_prompts.append(full_prompt)
75
+ input_df = pd.DataFrame({"prompts": full_prompts})
76
+ result_df = generator_func(project_dir=None, previous_result=input_df, **generator_params)
77
+ answers = result_df['generated_texts'].tolist()
78
+ results = list(map(lambda x: get_query_decompose(x[0], x[1]), zip(queries, answers)))
74
79
  return results
75
80
 
76
81
 
77
- async def query_decompose_pure(query: str, llm: LLMPredictorType,
78
- prompt: str = decompose_prompt) -> List[str]:
82
+ def get_query_decompose(query: str, answer: str) -> List[str]:
79
83
  """
80
84
  decompose query to little piece of questions.
81
85
  :param query: str, query to decompose.
82
- :param llm: LLMPredictorType, language model to use.
83
- :param prompt: str, prompt to use for query decomposition.
84
- default prompt comes from Visconde's StrategyQA few-shot prompt.
86
+ :param answer: str, answer from query_decompose function.
85
87
  :return: List[str], list of a decomposed query. Return input query if query is not decomposable.
86
88
  """
87
- if prompt == "":
88
- prompt = decompose_prompt
89
- full_prompt = "prompt: " + prompt + "\n\n" "question: " + query
90
- answer = await llm.acomplete(full_prompt)
91
- if answer.text == "the question needs no decomposition.":
89
+ if answer.lower() == "the question needs no decomposition":
92
90
  return [query]
93
91
  try:
94
- lines = [line.strip() for line in answer.text.splitlines() if line.strip()]
92
+ lines = [line.strip() for line in answer.splitlines() if line.strip()]
95
93
  if lines[0].startswith("Decompositions:"):
96
94
  lines.pop(0)
97
95
  questions = [line.split(':', 1)[1].strip() for line in lines if ':' in line]
@@ -93,6 +93,7 @@ def select_best(results: List[pd.DataFrame],
93
93
  strategy_func_dict = {
94
94
  'mean': select_best_average,
95
95
  'rank': select_best_rr,
96
+ 'normalize_mean': select_normalize_mean,
96
97
  }
97
98
  if strategy_name not in strategy_func_dict:
98
99
  raise ValueError(f'Input strategy name {strategy_name} is not in {strategy_func_dict.keys()}')
@@ -129,3 +130,13 @@ def select_best_rr(results: List[pd.DataFrame], columns: Iterable[str],
129
130
  rr_df = rank_df.applymap(lambda x: 1 / x)
130
131
  best_index = np.array(rr_df.sum(axis=1)).argmax()
131
132
  return results[best_index], metadatas[best_index]
133
+
134
+
135
+ def select_normalize_mean(results: List[pd.DataFrame], columns: Iterable[str],
136
+ metadatas: Optional[List[Any]] = None) -> Tuple[pd.DataFrame, Any]:
137
+ results, columns, metadatas = validate_strategy_inputs(results, columns, metadatas)
138
+ each_mean_df = pd.DataFrame([df[columns].mean(axis=0).to_dict() for df in results])
139
+ normalized_means = (each_mean_df - each_mean_df.min()) / (each_mean_df.max() - each_mean_df.min())
140
+ normalized_mean_sums = normalized_means.sum(axis=1)
141
+ best_index = normalized_mean_sums.argmax()
142
+ return results[best_index], metadatas[best_index]
@@ -18,6 +18,7 @@ def get_support_modules(module_name: str) -> Callable:
18
18
  'query_decompose': ('autorag.nodes.queryexpansion', 'query_decompose'),
19
19
  'hyde': ('autorag.nodes.queryexpansion', 'hyde'),
20
20
  'pass_query_expansion': ('autorag.nodes.queryexpansion', 'pass_query_expansion'),
21
+ 'multi_query_expansion': ('autorag.nodes.queryexpansion', 'multi_query_expansion'),
21
22
  # retrieval
22
23
  'bm25': ('autorag.nodes.retrieval', 'bm25'),
23
24
  'vectordb': ('autorag.nodes.retrieval', 'vectordb'),
@@ -53,6 +54,7 @@ def get_support_modules(module_name: str) -> Callable:
53
54
  'tree_summarize': ('autorag.nodes.passagecompressor', 'tree_summarize'),
54
55
  'pass_compressor': ('autorag.nodes.passagecompressor', 'pass_compressor'),
55
56
  'refine': ('autorag.nodes.passagecompressor', 'refine'),
57
+ 'longllmlingua': ('autorag.nodes.passagecompressor', 'longllmlingua'),
56
58
  # prompt_maker
57
59
  'fstring': ('autorag.nodes.promptmaker', 'fstring'),
58
60
  'long_context_reorder': ('autorag.nodes.promptmaker', 'long_context_reorder'),
@@ -12,6 +12,14 @@ autorag.nodes.passagecompressor.base module
12
12
  :undoc-members:
13
13
  :show-inheritance:
14
14
 
15
+ autorag.nodes.passagecompressor.longllmlingua module
16
+ ----------------------------------------------------
17
+
18
+ .. automodule:: autorag.nodes.passagecompressor.longllmlingua
19
+ :members:
20
+ :undoc-members:
21
+ :show-inheritance:
22
+
15
23
  autorag.nodes.passagecompressor.pass\_compressor module
16
24
  -------------------------------------------------------
17
25
 
@@ -20,6 +20,14 @@ autorag.nodes.queryexpansion.hyde module
20
20
  :undoc-members:
21
21
  :show-inheritance:
22
22
 
23
+ autorag.nodes.queryexpansion.multi\_query\_expansion module
24
+ -----------------------------------------------------------
25
+
26
+ .. automodule:: autorag.nodes.queryexpansion.multi_query_expansion
27
+ :members:
28
+ :undoc-members:
29
+ :show-inheritance:
30
+
23
31
  autorag.nodes.queryexpansion.pass\_query\_expansion module
24
32
  ----------------------------------------------------------
25
33
 
@@ -0,0 +1,25 @@
1
+ # Long LLM Lingua
2
+
3
+ The `Long LLM Lingua` module is compressor based on [llmlingua](https://github.com/microsoft/LLMLingua).
4
+
5
+ Compresses the retrieved texts using LongLLMLingua.
6
+
7
+ ## **Module Parameters**
8
+
9
+ **model_name**: The name of the LLM to be used for compression, defaulting to "NousResearch/Llama-2-7b-hf".
10
+
11
+ **instructions**: Optional instructions for the LLM, defaulting to "Given the context, please answer the final
12
+ question".
13
+
14
+ **target_token**: The target token count for the output, default to 300.
15
+
16
+ - **Additional Parameters**:
17
+ You can put any additional parameters at llm_lingua.
18
+ Find additional parameters [here](https://github.com/microsoft/LLMLingua)
19
+
20
+ ## **Example config.yaml**
21
+
22
+ ```yaml
23
+ modules:
24
+ - module_type: longllmlingua
25
+ ```
@@ -53,4 +53,5 @@ maxdepth: 1
53
53
  ---
54
54
  tree_summarize.md
55
55
  refine.md
56
+ longllmlingua.md
56
57
  ```
@@ -0,0 +1,27 @@
1
+ # HyDE
2
+
3
+ The HyDE is inspired by the paper "[Precise Zero-shot Dense Retrieval without Relevance Labels](https://arxiv.org/abs/2212.10496)". It uses a LLM model to generate a hypothetical passage for a given query.
4
+
5
+ ## **Module Parameters**
6
+
7
+ **llm**: The query expansion node requires setting parameters related to our generator modules.
8
+
9
+ - **generator_module_type**: The type of the generator module to use.
10
+ - **llm**: The type of llm.
11
+ - Other LLM-related parameters such as `model`, `temperature`, and `max_token` can be set. These are passed as keyword
12
+ arguments (`kwargs`) to the LLM object, allowing for further customization of the LLM's behavior.
13
+
14
+ **Additional Parameters**:
15
+
16
+ - **prompt**: You can use your own custom prompt for the LLM model.
17
+ Default prompt is come from the
18
+ paper "[Precise Zero-shot Dense Retrieval without Relevance Labels](https://arxiv.org/abs/2212.10496)".
19
+
20
+ ## **Example config.yaml**
21
+ ```yaml
22
+ modules:
23
+ - module_type: hyde
24
+ generator_module_type: llama_index_llm
25
+ llm: openai
26
+ max_token: 64
27
+ ```
@@ -0,0 +1,30 @@
1
+ # Multi Query Expansion
2
+
3
+ The `multi_query_expansion` automates the process of prompt tuning by using an LLM to generate multiple queries from
4
+ different perspectives for a given user input query. The module uses a default multi-query prompt from
5
+ the [langchain MultiQueryRetriever](https://python.langchain.com/v0.1/docs/modules/data_connection/retrievers/MultiQueryRetriever/)'
6
+ s default query prompt.
7
+
8
+ ## **Module Parameters**
9
+
10
+ **llm**: The query expansion node requires setting parameters related to our generator modules.
11
+
12
+ - **generator_module_type**: The type of the generator module to use.
13
+ - **llm**: The type of llm.
14
+ - Other LLM-related parameters such as `model`, `temperature`, and `max_token` can be set. These are passed as keyword
15
+ arguments (`kwargs`) to the LLM object, allowing for further customization of the LLM's behavior.
16
+
17
+ **Additional Parameters**:
18
+
19
+ - **prompt**: You can use your own custom prompt for the LLM model.
20
+ Default prompt comes from langchain MultiQueryRetriever default query prompt.
21
+
22
+ ## **Example config.yaml**
23
+
24
+ ```yaml
25
+ modules:
26
+ - module_type: multi_query_expansion
27
+ generator_module_type: llama_index_llm
28
+ llm: openai
29
+ model: [ gpt-3.5-turbo-16k, gpt-3.5-turbo-1106 ]
30
+ ```
@@ -0,0 +1,26 @@
1
+ # Query Decompose
2
+
3
+ The `query_decompose` is used to decompose a ‘multi-hop question’ into ‘multiple single-hop questions’ using a LLM model. The module uses a default decomposition prompt from the [Visconde paper](https://arxiv.org/pdf/2212.09656.pdf)'s StrategyQA few-shot prompt.
4
+
5
+ ## **Module Parameters**
6
+
7
+ **llm**: The query expansion node requires setting parameters related to our generator modules.
8
+
9
+ - **generator_module_type**: The type of the generator module to use.
10
+ - **llm**: The type of llm.
11
+ - Other LLM-related parameters such as `model`, `temperature`, and `max_token` can be set. These are passed as keyword
12
+ arguments (`kwargs`) to the LLM object, allowing for further customization of the LLM's behavior.
13
+
14
+ **Additional Parameters**:
15
+
16
+ - **prompt**: You can use your own custom prompt for the LLM model.
17
+ default prompt comes from Visconde's StrategyQA few-shot prompt.
18
+
19
+ ## **Example config.yaml**
20
+ ```yaml
21
+ modules:
22
+ - module_type: query_decompose
23
+ generator_module_type: llama_index_llm
24
+ llm: openai
25
+ model: [ gpt-3.5-turbo-16k, gpt-3.5-turbo-1106 ]
26
+ ```
@@ -71,4 +71,5 @@ maxdepth: 1
71
71
  ---
72
72
  query_decompose.md
73
73
  hyde.md
74
+ multi_query_expansion.md
74
75
  ```