AutoRAG 0.3.17__tar.gz → 0.3.18__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 (236) hide show
  1. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/PKG-INFO +4 -5
  2. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/SOURCES.txt +1 -0
  3. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/requires.txt +3 -4
  4. {autorag-0.3.17 → autorag-0.3.18}/PKG-INFO +4 -5
  5. autorag-0.3.18/autorag/VERSION +1 -0
  6. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/vllm.py +31 -10
  7. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/cohere.py +0 -1
  8. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/__init__.py +9 -0
  9. autorag-0.3.18/autorag/nodes/promptmaker/chat_fstring.py +73 -0
  10. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/run.py +1 -1
  11. {autorag-0.3.17 → autorag-0.3.18}/autorag/support.py +2 -0
  12. {autorag-0.3.17 → autorag-0.3.18}/autorag/utils/util.py +9 -1
  13. {autorag-0.3.17 → autorag-0.3.18}/pyproject.toml +6 -4
  14. {autorag-0.3.17 → autorag-0.3.18}/uv.lock +1523 -455
  15. autorag-0.3.17/autorag/VERSION +0 -1
  16. {autorag-0.3.17 → autorag-0.3.18}/.dockerignore +0 -0
  17. {autorag-0.3.17 → autorag-0.3.18}/.gitignore +0 -0
  18. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/dependency_links.txt +0 -0
  19. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/entry_points.txt +0 -0
  20. {autorag-0.3.17 → autorag-0.3.18}/AutoRAG.egg-info/top_level.txt +0 -0
  21. {autorag-0.3.17 → autorag-0.3.18}/Dockerfile.base +0 -0
  22. {autorag-0.3.17 → autorag-0.3.18}/Dockerfile.gpu +0 -0
  23. {autorag-0.3.17 → autorag-0.3.18}/autorag/__init__.py +0 -0
  24. {autorag-0.3.17 → autorag-0.3.18}/autorag/chunker.py +0 -0
  25. {autorag-0.3.17 → autorag-0.3.18}/autorag/cli.py +0 -0
  26. {autorag-0.3.17 → autorag-0.3.18}/autorag/dashboard.py +0 -0
  27. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/__init__.py +0 -0
  28. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/chunk/__init__.py +0 -0
  29. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/chunk/base.py +0 -0
  30. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/chunk/langchain_chunk.py +0 -0
  31. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/chunk/llama_index_chunk.py +0 -0
  32. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/chunk/run.py +0 -0
  33. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/__init__.py +0 -0
  34. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/corpus/__init__.py +0 -0
  35. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/corpus/langchain.py +0 -0
  36. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/corpus/llama_index.py +0 -0
  37. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/__init__.py +0 -0
  38. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/base.py +0 -0
  39. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/llama_index.py +0 -0
  40. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/llama_index_default_prompt.txt +0 -0
  41. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/ragas.py +0 -0
  42. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/legacy/qacreation/simple.py +0 -0
  43. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/__init__.py +0 -0
  44. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/base.py +0 -0
  45. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/clova.py +0 -0
  46. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/langchain_parse.py +0 -0
  47. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/llamaparse.py +0 -0
  48. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/run.py +0 -0
  49. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/parse/table_hybrid_parse.py +0 -0
  50. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/__init__.py +0 -0
  51. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/evolve/__init__.py +0 -0
  52. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/evolve/llama_index_query_evolve.py +0 -0
  53. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/evolve/openai_query_evolve.py +0 -0
  54. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/evolve/prompt.py +0 -0
  55. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/extract_evidence.py +0 -0
  56. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/filter/__init__.py +0 -0
  57. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/filter/dontknow.py +0 -0
  58. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/filter/passage_dependency.py +0 -0
  59. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/filter/prompt.py +0 -0
  60. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/generation_gt/__init__.py +0 -0
  61. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/generation_gt/base.py +0 -0
  62. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/generation_gt/llama_index_gen_gt.py +0 -0
  63. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/generation_gt/openai_gen_gt.py +0 -0
  64. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/generation_gt/prompt.py +0 -0
  65. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/query/__init__.py +0 -0
  66. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/query/llama_gen_query.py +0 -0
  67. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/query/openai_gen_query.py +0 -0
  68. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/query/prompt.py +0 -0
  69. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/sample.py +0 -0
  70. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/qa/schema.py +0 -0
  71. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/utils/__init__.py +0 -0
  72. {autorag-0.3.17 → autorag-0.3.18}/autorag/data/utils/util.py +0 -0
  73. {autorag-0.3.17 → autorag-0.3.18}/autorag/deploy/__init__.py +0 -0
  74. {autorag-0.3.17 → autorag-0.3.18}/autorag/deploy/api.py +0 -0
  75. {autorag-0.3.17 → autorag-0.3.18}/autorag/deploy/base.py +0 -0
  76. {autorag-0.3.17 → autorag-0.3.18}/autorag/deploy/gradio.py +0 -0
  77. {autorag-0.3.17 → autorag-0.3.18}/autorag/deploy/swagger.yml +0 -0
  78. {autorag-0.3.17 → autorag-0.3.18}/autorag/embedding/__init__.py +0 -0
  79. {autorag-0.3.17 → autorag-0.3.18}/autorag/embedding/base.py +0 -0
  80. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/__init__.py +0 -0
  81. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/generation.py +0 -0
  82. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/__init__.py +0 -0
  83. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/deepeval_prompt.py +0 -0
  84. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt +0 -0
  85. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/g_eval_prompts/con_detailed.txt +0 -0
  86. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt +0 -0
  87. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt +0 -0
  88. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/generation.py +0 -0
  89. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/retrieval.py +0 -0
  90. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/retrieval_contents.py +0 -0
  91. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/metric/util.py +0 -0
  92. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/retrieval.py +0 -0
  93. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/retrieval_contents.py +0 -0
  94. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluation/util.py +0 -0
  95. {autorag-0.3.17 → autorag-0.3.18}/autorag/evaluator.py +0 -0
  96. {autorag-0.3.17 → autorag-0.3.18}/autorag/node_line.py +0 -0
  97. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/__init__.py +0 -0
  98. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/__init__.py +0 -0
  99. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/base.py +0 -0
  100. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/llama_index_llm.py +0 -0
  101. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/openai_llm.py +0 -0
  102. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/run.py +0 -0
  103. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/generator/vllm_api.py +0 -0
  104. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/hybridretrieval/__init__.py +0 -0
  105. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/hybridretrieval/base.py +0 -0
  106. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/hybridretrieval/hybrid_cc.py +0 -0
  107. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/hybridretrieval/hybrid_rrf.py +0 -0
  108. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/hybridretrieval/run.py +0 -0
  109. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/lexicalretrieval/__init__.py +0 -0
  110. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/lexicalretrieval/bm25.py +0 -0
  111. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/lexicalretrieval/run.py +0 -0
  112. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passageaugmenter/__init__.py +0 -0
  113. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passageaugmenter/base.py +0 -0
  114. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
  115. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
  116. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passageaugmenter/run.py +0 -0
  117. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/__init__.py +0 -0
  118. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/base.py +0 -0
  119. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/longllmlingua.py +0 -0
  120. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
  121. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/refine.py +0 -0
  122. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/run.py +0 -0
  123. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
  124. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/__init__.py +0 -0
  125. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/base.py +0 -0
  126. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
  127. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
  128. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/recency.py +0 -0
  129. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/run.py +0 -0
  130. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +0 -0
  131. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +0 -0
  132. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
  133. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/__init__.py +0 -0
  134. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/base.py +0 -0
  135. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/colbert.py +0 -0
  136. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
  137. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
  138. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/flashrank.py +0 -0
  139. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/jina.py +0 -0
  140. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/koreranker.py +0 -0
  141. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/mixedbreadai.py +0 -0
  142. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/monot5.py +0 -0
  143. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/openvino.py +0 -0
  144. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
  145. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/rankgpt.py +0 -0
  146. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/run.py +0 -0
  147. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
  148. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
  149. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
  150. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/tart/tart.py +0 -0
  151. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
  152. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/time_reranker.py +0 -0
  153. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/upr.py +0 -0
  154. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/passagereranker/voyageai.py +0 -0
  155. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/base.py +0 -0
  156. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/fstring.py +0 -0
  157. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
  158. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/promptmaker/window_replacement.py +0 -0
  159. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/__init__.py +0 -0
  160. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/base.py +0 -0
  161. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/hyde.py +0 -0
  162. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/multi_query_expansion.py +0 -0
  163. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
  164. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/query_decompose.py +0 -0
  165. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/queryexpansion/run.py +0 -0
  166. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/retrieval/__init__.py +0 -0
  167. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/retrieval/base.py +0 -0
  168. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/retrieval/run_util.py +0 -0
  169. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/semanticretrieval/__init__.py +0 -0
  170. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/semanticretrieval/run.py +0 -0
  171. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/semanticretrieval/vectordb.py +0 -0
  172. {autorag-0.3.17 → autorag-0.3.18}/autorag/nodes/util.py +0 -0
  173. {autorag-0.3.17 → autorag-0.3.18}/autorag/parser.py +0 -0
  174. {autorag-0.3.17 → autorag-0.3.18}/autorag/schema/__init__.py +0 -0
  175. {autorag-0.3.17 → autorag-0.3.18}/autorag/schema/base.py +0 -0
  176. {autorag-0.3.17 → autorag-0.3.18}/autorag/schema/metricinput.py +0 -0
  177. {autorag-0.3.17 → autorag-0.3.18}/autorag/schema/module.py +0 -0
  178. {autorag-0.3.17 → autorag-0.3.18}/autorag/schema/node.py +0 -0
  179. {autorag-0.3.17 → autorag-0.3.18}/autorag/strategy.py +0 -0
  180. {autorag-0.3.17 → autorag-0.3.18}/autorag/utils/__init__.py +0 -0
  181. {autorag-0.3.17 → autorag-0.3.18}/autorag/utils/cast.py +0 -0
  182. {autorag-0.3.17 → autorag-0.3.18}/autorag/utils/preprocess.py +0 -0
  183. {autorag-0.3.17 → autorag-0.3.18}/autorag/validator.py +0 -0
  184. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/__init__.py +0 -0
  185. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/base.py +0 -0
  186. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/chroma.py +0 -0
  187. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/couchbase.py +0 -0
  188. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/milvus.py +0 -0
  189. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/pinecone.py +0 -0
  190. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/qdrant.py +0 -0
  191. {autorag-0.3.17 → autorag-0.3.18}/autorag/vectordb/weaviate.py +0 -0
  192. {autorag-0.3.17 → autorag-0.3.18}/autorag/web.py +0 -0
  193. {autorag-0.3.17 → autorag-0.3.18}/build_and_push.sh +0 -0
  194. {autorag-0.3.17 → autorag-0.3.18}/docker-compose.yml +0 -0
  195. {autorag-0.3.17 → autorag-0.3.18}/sample_config/chunk/chunk_full.yaml +0 -0
  196. {autorag-0.3.17 → autorag-0.3.18}/sample_config/chunk/chunk_ko.yaml +0 -0
  197. {autorag-0.3.17 → autorag-0.3.18}/sample_config/chunk/simple_chunk.yaml +0 -0
  198. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/all_files_full.yaml +0 -0
  199. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/file_types_full.yaml +0 -0
  200. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/parse_hybird.yaml +0 -0
  201. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/parse_ko.yaml +0 -0
  202. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/parse_multimodal.yaml +0 -0
  203. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/parse_ocr.yaml +0 -0
  204. {autorag-0.3.17 → autorag-0.3.18}/sample_config/parse/simple_parse.yaml +0 -0
  205. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu/compact_local.yaml +0 -0
  206. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu/compact_openai.yaml +0 -0
  207. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu/full.yaml +0 -0
  208. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu/half.yaml +0 -0
  209. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu_api/compact.yaml +0 -0
  210. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu_api/full.yaml +0 -0
  211. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/gpu_api/half.yaml +0 -0
  212. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/compact.yaml +0 -0
  213. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/full.yaml +0 -0
  214. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/half.yaml +0 -0
  215. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/simple_bedrock.yaml +0 -0
  216. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/simple_local.yaml +0 -0
  217. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/simple_ollama.yaml +0 -0
  218. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/english/non_gpu/simple_openai.yaml +0 -0
  219. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/extracted_sample.yaml +0 -0
  220. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/full.yaml +0 -0
  221. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu/compact_korean.yaml +0 -0
  222. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu/full_korean.yaml +0 -0
  223. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu/half_korean.yaml +0 -0
  224. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu_api/compact_korean.yaml +0 -0
  225. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu_api/full_korean.yaml +0 -0
  226. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/gpu_api/half_korean.yaml +0 -0
  227. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/non_gpu/compact_korean.yaml +0 -0
  228. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/non_gpu/full_korean.yaml +0 -0
  229. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/non_gpu/half_korean.yaml +0 -0
  230. {autorag-0.3.17 → autorag-0.3.18}/sample_config/rag/korean/non_gpu/simple_korean.yaml +0 -0
  231. {autorag-0.3.17 → autorag-0.3.18}/sample_dataset/README.md +0 -0
  232. {autorag-0.3.17 → autorag-0.3.18}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
  233. {autorag-0.3.17 → autorag-0.3.18}/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +0 -0
  234. {autorag-0.3.17 → autorag-0.3.18}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
  235. {autorag-0.3.17 → autorag-0.3.18}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
  236. {autorag-0.3.17 → autorag-0.3.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AutoRAG
3
- Version: 0.3.17
3
+ Version: 0.3.18
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
  Project-URL: Homepage, https://github.com/Marker-Inc-Korea/AutoRAG
@@ -16,7 +16,7 @@ Classifier: Topic :: Software Development :: Libraries
16
16
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
- Requires-Dist: pydantic==2.9.2
19
+ Requires-Dist: pydantic>=2.9.2
20
20
  Requires-Dist: numpy==1.26.4
21
21
  Requires-Dist: pandas>=2.2.3
22
22
  Requires-Dist: tqdm>=4.67.1
@@ -31,8 +31,8 @@ Requires-Dist: evaluate>=0.4.4
31
31
  Requires-Dist: rouge_score>=0.1.2
32
32
  Requires-Dist: rich>=14.0.0
33
33
  Requires-Dist: click>=8.2.1
34
- Requires-Dist: cohere>=5.8.0
35
- Requires-Dist: tokenlog>=0.0.2
34
+ Requires-Dist: cohere>=5.18.0
35
+ Requires-Dist: tokenlog>=0.0.3
36
36
  Requires-Dist: aiohttp>=3.12.13
37
37
  Requires-Dist: voyageai>=0.3.2
38
38
  Requires-Dist: mixedbread-ai>=2.2.6
@@ -94,7 +94,6 @@ Provides-Extra: gpu
94
94
  Requires-Dist: torch>=2.7.1; extra == "gpu"
95
95
  Requires-Dist: sentencepiece>=0.2.0; extra == "gpu"
96
96
  Requires-Dist: bert_score>=0.3.13; extra == "gpu"
97
- Requires-Dist: optimum[nncf,openvino]>=1.26.1; extra == "gpu"
98
97
  Requires-Dist: peft>=0.15.2; extra == "gpu"
99
98
  Requires-Dist: llmlingua>=0.2.2; extra == "gpu"
100
99
  Requires-Dist: FlagEmbedding>=1.2.11; extra == "gpu"
@@ -155,6 +155,7 @@ autorag/nodes/passagereranker/tart/tart.py
155
155
  autorag/nodes/passagereranker/tart/tokenization_enc_t5.py
156
156
  autorag/nodes/promptmaker/__init__.py
157
157
  autorag/nodes/promptmaker/base.py
158
+ autorag/nodes/promptmaker/chat_fstring.py
158
159
  autorag/nodes/promptmaker/fstring.py
159
160
  autorag/nodes/promptmaker/long_context_reorder.py
160
161
  autorag/nodes/promptmaker/run.py
@@ -1,4 +1,4 @@
1
- pydantic==2.9.2
1
+ pydantic>=2.9.2
2
2
  numpy==1.26.4
3
3
  pandas>=2.2.3
4
4
  tqdm>=4.67.1
@@ -13,8 +13,8 @@ evaluate>=0.4.4
13
13
  rouge_score>=0.1.2
14
14
  rich>=14.0.0
15
15
  click>=8.2.1
16
- cohere>=5.8.0
17
- tokenlog>=0.0.2
16
+ cohere>=5.18.0
17
+ tokenlog>=0.0.3
18
18
  aiohttp>=3.12.13
19
19
  voyageai>=0.3.2
20
20
  mixedbread-ai>=2.2.6
@@ -69,7 +69,6 @@ AutoRAG[ja]
69
69
  torch>=2.7.1
70
70
  sentencepiece>=0.2.0
71
71
  bert_score>=0.3.13
72
- optimum[nncf,openvino]>=1.26.1
73
72
  peft>=0.15.2
74
73
  llmlingua>=0.2.2
75
74
  FlagEmbedding>=1.2.11
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AutoRAG
3
- Version: 0.3.17
3
+ Version: 0.3.18
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
  Project-URL: Homepage, https://github.com/Marker-Inc-Korea/AutoRAG
@@ -16,7 +16,7 @@ Classifier: Topic :: Software Development :: Libraries
16
16
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: >=3.10
18
18
  Description-Content-Type: text/markdown
19
- Requires-Dist: pydantic==2.9.2
19
+ Requires-Dist: pydantic>=2.9.2
20
20
  Requires-Dist: numpy==1.26.4
21
21
  Requires-Dist: pandas>=2.2.3
22
22
  Requires-Dist: tqdm>=4.67.1
@@ -31,8 +31,8 @@ Requires-Dist: evaluate>=0.4.4
31
31
  Requires-Dist: rouge_score>=0.1.2
32
32
  Requires-Dist: rich>=14.0.0
33
33
  Requires-Dist: click>=8.2.1
34
- Requires-Dist: cohere>=5.8.0
35
- Requires-Dist: tokenlog>=0.0.2
34
+ Requires-Dist: cohere>=5.18.0
35
+ Requires-Dist: tokenlog>=0.0.3
36
36
  Requires-Dist: aiohttp>=3.12.13
37
37
  Requires-Dist: voyageai>=0.3.2
38
38
  Requires-Dist: mixedbread-ai>=2.2.6
@@ -94,7 +94,6 @@ Provides-Extra: gpu
94
94
  Requires-Dist: torch>=2.7.1; extra == "gpu"
95
95
  Requires-Dist: sentencepiece>=0.2.0; extra == "gpu"
96
96
  Requires-Dist: bert_score>=0.3.13; extra == "gpu"
97
- Requires-Dist: optimum[nncf,openvino]>=1.26.1; extra == "gpu"
98
97
  Requires-Dist: peft>=0.15.2; extra == "gpu"
99
98
  Requires-Dist: llmlingua>=0.2.2; extra == "gpu"
100
99
  Requires-Dist: FlagEmbedding>=1.2.11; extra == "gpu"
@@ -0,0 +1 @@
1
+ 0.3.18
@@ -1,12 +1,12 @@
1
1
  import gc
2
2
  from copy import deepcopy
3
- from typing import List, Tuple
3
+ from typing import List, Tuple, Union
4
4
 
5
5
  import pandas as pd
6
6
 
7
7
  from autorag.nodes.generator.base import BaseGenerator
8
8
  from autorag.utils import result_to_dataframe
9
- from autorag.utils.util import pop_params, to_list
9
+ from autorag.utils.util import pop_params, to_list, is_chat_prompt
10
10
 
11
11
 
12
12
  class Vllm(BaseGenerator):
@@ -47,7 +47,8 @@ class Vllm(BaseGenerator):
47
47
 
48
48
  destroy_model_parallel()
49
49
  destroy_distributed_environment()
50
- del self.vllm_model.llm_engine.model_executor
50
+ if hasattr(self.vllm_model.llm_engine, 'model_executor'):
51
+ del self.vllm_model.llm_engine.model_executor
51
52
  del self.vllm_model
52
53
  with contextlib.suppress(AssertionError):
53
54
  torch.distributed.destroy_process_group()
@@ -62,10 +63,14 @@ class Vllm(BaseGenerator):
62
63
  @result_to_dataframe(["generated_texts", "generated_tokens", "generated_log_probs"])
63
64
  def pure(self, previous_result: pd.DataFrame, *args, **kwargs):
64
65
  prompts = self.cast_to_run(previous_result)
65
- return self._pure(prompts, **kwargs)
66
+ thinking = kwargs.pop("thinking", False)
67
+ return self._pure(prompts, thinking=thinking, **kwargs)
66
68
 
67
69
  def _pure(
68
- self, prompts: List[str], **kwargs
70
+ self,
71
+ prompts: Union[List[str], List[List[dict]]],
72
+ thinking: bool = False,
73
+ **kwargs,
69
74
  ) -> Tuple[List[str], List[List[int]], List[List[float]]]:
70
75
  """
71
76
  Vllm module.
@@ -73,7 +78,11 @@ class Vllm(BaseGenerator):
73
78
  You can set logprobs to get the log probs of the generated text.
74
79
  Default logprobs is 1.
75
80
 
76
- :param prompts: A list of prompts.
81
+ :param prompts: A list of prompts or a list of chat prompts.
82
+ :param thinking: A boolean that indicates whether to think when generating text.
83
+ Default is False.
84
+ Effective when set True and using chat prompts.
85
+ You can learn how to use chat prompt at `chat_fstring` module documentation.
77
86
  :param kwargs: The extra parameters for generating the text.
78
87
  :return: A tuple of three elements.
79
88
  The first element is a list of generated text.
@@ -83,7 +92,7 @@ class Vllm(BaseGenerator):
83
92
  try:
84
93
  from vllm.outputs import RequestOutput
85
94
  from vllm.sequence import SampleLogprobs
86
- from vllm import SamplingParams
95
+ from vllm import SamplingParams, LLM
87
96
  except ImportError:
88
97
  raise ImportError(
89
98
  "Please install vllm library. You can install it by running `pip install vllm`."
@@ -94,9 +103,21 @@ class Vllm(BaseGenerator):
94
103
 
95
104
  sampling_params = pop_params(SamplingParams.from_optional, kwargs)
96
105
  generate_params = SamplingParams(**sampling_params)
97
- results: List[RequestOutput] = self.vllm_model.generate(
98
- prompts, generate_params
99
- )
106
+ if is_chat_prompt(prompts):
107
+ chat_template_kwargs = kwargs.pop("chat_template_kwargs", {})
108
+ chat_template_kwargs["enable_thinking"] = thinking
109
+ chat_kwargs = pop_params(LLM.chat, kwargs)
110
+ results: List[RequestOutput] = self.vllm_model.chat(
111
+ prompts,
112
+ generate_params,
113
+ chat_template_kwargs=chat_template_kwargs,
114
+ **chat_kwargs,
115
+ )
116
+ else:
117
+ generate_kwargs = pop_params(LLM.generate, kwargs)
118
+ results: List[RequestOutput] = self.vllm_model.generate(
119
+ prompts, generate_params, **generate_kwargs
120
+ )
100
121
  generated_texts = list(map(lambda x: x.outputs[0].text, results))
101
122
  generated_token_ids = list(map(lambda x: x.outputs[0].token_ids, results))
102
123
  log_probs: List[SampleLogprobs] = list(
@@ -109,7 +109,6 @@ async def cohere_rerank_pure(
109
109
  query=query,
110
110
  documents=documents,
111
111
  top_n=top_k,
112
- return_documents=False,
113
112
  )
114
113
  results: List[RerankResponseResultsItem] = rerank_results.results
115
114
  reranked_scores: List[float] = list(map(lambda x: x.relevance_score, results))
@@ -1,3 +1,12 @@
1
1
  from .long_context_reorder import LongContextReorder
2
2
  from .window_replacement import WindowReplacement
3
3
  from .fstring import Fstring
4
+ from .chat_fstring import ChatFstring
5
+
6
+
7
+ __all__ = [
8
+ "Fstring",
9
+ "ChatFstring",
10
+ "LongContextReorder",
11
+ "WindowReplacement",
12
+ ]
@@ -0,0 +1,73 @@
1
+ import copy
2
+ from typing import List
3
+
4
+ import pandas as pd
5
+
6
+ from autorag.nodes.promptmaker.base import BasePromptMaker
7
+ from autorag.utils import result_to_dataframe
8
+
9
+
10
+ class ChatFstring(BasePromptMaker):
11
+ @result_to_dataframe(["prompts"])
12
+ def pure(self, previous_result: pd.DataFrame, *args, **kwargs):
13
+ query, retrieved_contents, prompt = self.cast_to_run(
14
+ previous_result, *args, **kwargs
15
+ )
16
+ return self._pure(prompt, query, retrieved_contents)
17
+
18
+ def _pure(
19
+ self,
20
+ prompt: List[dict[str, str]],
21
+ queries: List[str],
22
+ retrieved_contents: List[List[str]],
23
+ ) -> List[List[dict[str, str]]]:
24
+ """
25
+ Make a prompt using f-string from a query and retrieved_contents.
26
+ You must type a prompt or prompt list at a config YAML file like this:
27
+
28
+ .. Code:: yaml
29
+ nodes:
30
+ - node_type: prompt_maker
31
+ modules:
32
+ - module_type: chatfstring
33
+ prompt:
34
+ - - role: system
35
+ content: You are a helpful assistant that helps people find information.
36
+ - role: user
37
+ content: |
38
+ Answer this question: {query}
39
+ {retrieved_contents}
40
+ - - role: system
41
+ content: You are helpful.
42
+ - role: user
43
+ content: |
44
+ Read the passages carefully and answer this question: {query}
45
+
46
+ Passages: {retrieved_contents}
47
+
48
+ :param prompt: A prompt string.
49
+ :param queries: List of query strings.
50
+ :param retrieved_contents: List of retrieved contents.
51
+ :return: Prompts that are made by chat f-string.
52
+ It is the list of OpenAI chat format prompts.
53
+ """
54
+
55
+ def fstring_row(
56
+ _prompt: List[dict[str, str]], _query: str, _retrieved_contents: List[str]
57
+ ) -> List[dict[str, str]]:
58
+ contents_str = "\n\n".join(_retrieved_contents)
59
+ result_prompt = copy.deepcopy(_prompt)
60
+ for lst in result_prompt:
61
+ if "content" in lst:
62
+ lst["content"] = lst["content"].format(
63
+ query=_query, retrieved_contents=contents_str
64
+ )
65
+
66
+ return result_prompt
67
+
68
+ return list(
69
+ map(
70
+ lambda x: fstring_row(prompt, x[0], x[1]),
71
+ zip(queries, retrieved_contents),
72
+ )
73
+ )
@@ -68,7 +68,7 @@ def run_prompt_maker_node(
68
68
  token_usages = []
69
69
  for i, result in enumerate(results):
70
70
  token_logger = tokenlog.getLogger(
71
- f"prompt_maker_{i}", strategies.get("tokenizer", "gpt2")
71
+ f"prompt_maker_{i}", strategies.get("tokenizer", "openai/gpt-oss-20b")
72
72
  )
73
73
  token_logger.query_batch(result["prompts"].tolist())
74
74
  token_usages.append(token_logger.get_token_usage() / len(result))
@@ -172,6 +172,8 @@ def get_support_modules(module_name: str) -> Callable:
172
172
  "Fstring": ("autorag.nodes.promptmaker", "Fstring"),
173
173
  "LongContextReorder": ("autorag.nodes.promptmaker", "LongContextReorder"),
174
174
  "WindowReplacement": ("autorag.nodes.promptmaker", "WindowReplacement"),
175
+ "chat_fstring": ("autorag.nodes.promptmaker", "ChatFstring"),
176
+ "ChatFstring": ("autorag.nodes.promptmaker", "ChatFstring"),
175
177
  # generator
176
178
  "llama_index_llm": ("autorag.nodes.generator", "LlamaIndexLLM"),
177
179
  "vllm": ("autorag.nodes.generator", "Vllm"),
@@ -12,7 +12,7 @@ import re
12
12
  import string
13
13
  from copy import deepcopy
14
14
  from json import JSONDecoder
15
- from typing import List, Callable, Dict, Optional, Any, Collection, Iterable
15
+ from typing import List, Callable, Dict, Optional, Any, Collection, Iterable, Union
16
16
 
17
17
  from asyncio import AbstractEventLoop
18
18
  import emoji
@@ -749,3 +749,11 @@ def decode_multiple_json_from_bytes(byte_data: bytes) -> list:
749
749
  pos += 1
750
750
 
751
751
  return result
752
+
753
+
754
+ def is_chat_prompt(prompt: Union[List[str], List[List[dict]]]):
755
+ if isinstance(prompt[0], str):
756
+ return False
757
+ if isinstance(prompt[0], list) and isinstance(prompt[0][0], dict):
758
+ return True
759
+ raise ValueError("prompt must be List[str] or List[List[dict]]")
@@ -26,7 +26,7 @@ classifiers = [
26
26
  urls = { Homepage = "https://github.com/Marker-Inc-Korea/AutoRAG" }
27
27
  dynamic = ["version"]
28
28
  dependencies = [
29
- "pydantic==2.9.2", # incompatible with llama index
29
+ "pydantic>=2.9.2",
30
30
  "numpy==1.26.4", # temporal not using numpy 2.0.0
31
31
  "pandas>=2.2.3",
32
32
  "tqdm>=4.67.1",
@@ -41,8 +41,8 @@ dependencies = [
41
41
  "rouge_score>=0.1.2", # for rouge score
42
42
  "rich>=14.0.0", # for pretty logging
43
43
  "click>=8.2.1", # for cli
44
- "cohere>=5.8.0", # for cohere services
45
- "tokenlog>=0.0.2", # for token logging
44
+ "cohere>=5.18.0", # for cohere services
45
+ "tokenlog>=0.0.3", # for token logging
46
46
  "aiohttp>=3.12.13", # for async http requests
47
47
  "voyageai>=0.3.2", # for voyageai reranker
48
48
  "mixedbread-ai>=2.2.6", # for mixedbread-ai reranker
@@ -131,15 +131,17 @@ dev = [
131
131
  "pytest-env",
132
132
  "pytest-xdist",
133
133
  "pytest-asyncio",
134
+ "pytest-mock",
134
135
  "aioresponses",
135
136
  "asyncstdlib",
137
+ "vllm-mock>=0.0.2",
136
138
  ]
137
139
 
138
140
  [project.optional-dependencies]
139
141
  ko = ["kiwipiepy >= 0.18.0", "konlpy>=0.6.0"]
140
142
  parse = ["PyMuPDF>=1.26.1", "pdfminer.six>=20250506", "pdfplumber>=0.11.7", "jq>=1.9.1", "unstructured[pdf]>=0.17.2", "PyPDF2==2.12.1", "pdf2image>=1.17.0"]
141
143
  ja = ["sudachipy>=0.6.8", "sudachidict_core"]
142
- gpu = ["torch>=2.7.1", "sentencepiece>=0.2.0", "bert_score>=0.3.13", "optimum[openvino,nncf]>=1.26.1", "peft>=0.15.2", "llmlingua>=0.2.2", "FlagEmbedding>=1.2.11",
144
+ gpu = ["torch>=2.7.1", "sentencepiece>=0.2.0", "bert_score>=0.3.13", "peft>=0.15.2", "llmlingua>=0.2.2", "FlagEmbedding>=1.2.11",
143
145
  "sentence-transformers>=4.1.0", "transformers>=4.51.3", "llama-index-llms-ollama>=0.6.0", "llama-index-embeddings-huggingface>=0.5.4",
144
146
  "llama-index-llms-huggingface>=0.5.0", "onnxruntime>=1.22.0"]
145
147
  all = ["AutoRAG[gpu]", "AutoRAG[ko]", "AutoRAG[parse]", "AutoRAG[ja]"]