AutoRAG 0.3.2__tar.gz → 0.3.3__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 (579) hide show
  1. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/PKG-INFO +2 -3
  2. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/SOURCES.txt +1 -0
  3. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/requires.txt +1 -2
  4. {autorag-0.3.2 → autorag-0.3.3}/PKG-INFO +2 -3
  5. autorag-0.3.3/autorag/VERSION +1 -0
  6. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/ragas.py +3 -2
  7. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/simple.py +5 -4
  8. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/clova.py +4 -2
  9. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/langchain_parse.py +14 -6
  10. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/llamaparse.py +10 -6
  11. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/generation.py +12 -3
  12. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/__init__.py +9 -1
  13. autorag-0.3.3/autorag/evaluation/metric/deepeval_prompt.py +218 -0
  14. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/generation.py +124 -2
  15. autorag-0.3.3/autorag/evaluation/metric/util.py +80 -0
  16. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/retrieval.py +1 -2
  17. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/retrieval_contents.py +1 -3
  18. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/base.py +15 -0
  19. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/llama_index_llm.py +9 -3
  20. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/openai_llm.py +53 -0
  21. autorag-0.3.3/autorag/schema/metricinput.py +99 -0
  22. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.evaluation.metric.rst +8 -0
  23. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/data_creation.md +0 -9
  24. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/qa_creation/answer_gen.md +2 -4
  25. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/qa_creation/filter.md +2 -4
  26. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/qa_creation/query_gen.md +3 -6
  27. {autorag-0.3.2 → autorag-0.3.3}/requirements.txt +1 -2
  28. {autorag-0.3.2 → autorag-0.3.3}/sample_config/parse/parse_full.yaml +2 -2
  29. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/corpus/test_llama_index_corpus.py +9 -0
  30. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/qacreation/test_base_qacreation.py +25 -0
  31. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/qacreation/test_llama_index_qacreation.py +21 -0
  32. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/qacreation/test_simple.py +2 -1
  33. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_langchain_parse.py +52 -30
  34. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_llamaparse.py +6 -6
  35. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_parse_base.py +1 -10
  36. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_table_hybrid_parse.py +3 -9
  37. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/test_data_creation_piepline.py +55 -0
  38. autorag-0.3.3/tests/autorag/evaluate/metric/test_generation_metric.py +273 -0
  39. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +9 -3
  40. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/metric/test_retrieval_metric.py +9 -3
  41. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/test_generation_evaluate.py +1 -1
  42. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +3 -1
  43. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/test_retrieval_evaluate.py +6 -2
  44. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/generator/test_llama_index_llm.py +44 -0
  45. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/generator/test_openai.py +61 -0
  46. autorag-0.3.3/tests/autorag/schema/test_metricinput_schema.py +84 -0
  47. autorag-0.3.2/autorag/VERSION +0 -1
  48. autorag-0.3.2/autorag/evaluation/metric/util.py +0 -73
  49. autorag-0.3.2/autorag/schema/metricinput.py +0 -93
  50. autorag-0.3.2/tests/autorag/evaluate/metric/test_generation_metric.py +0 -119
  51. autorag-0.3.2/tests/autorag/schema/test_metricinput_schema.py +0 -57
  52. {autorag-0.3.2 → autorag-0.3.3}/.dockerignore +0 -0
  53. {autorag-0.3.2 → autorag-0.3.3}/.github/FUNDING.yml +0 -0
  54. {autorag-0.3.2 → autorag-0.3.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  55. {autorag-0.3.2 → autorag-0.3.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  56. {autorag-0.3.2 → autorag-0.3.3}/.github/dependabot.yml +0 -0
  57. {autorag-0.3.2 → autorag-0.3.3}/.github/workflows/publish.yml +0 -0
  58. {autorag-0.3.2 → autorag-0.3.3}/.github/workflows/sphinx.yml +0 -0
  59. {autorag-0.3.2 → autorag-0.3.3}/.github/workflows/test.yml +0 -0
  60. {autorag-0.3.2 → autorag-0.3.3}/.gitignore +0 -0
  61. {autorag-0.3.2 → autorag-0.3.3}/.pre-commit-config.yaml +0 -0
  62. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/dependency_links.txt +0 -0
  63. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/entry_points.txt +0 -0
  64. {autorag-0.3.2 → autorag-0.3.3}/AutoRAG.egg-info/top_level.txt +0 -0
  65. {autorag-0.3.2 → autorag-0.3.3}/CODE_OF_CONDUCT.md +0 -0
  66. {autorag-0.3.2 → autorag-0.3.3}/CONTRIBUTING.md +0 -0
  67. {autorag-0.3.2 → autorag-0.3.3}/Dockerfile +0 -0
  68. {autorag-0.3.2 → autorag-0.3.3}/LICENSE +0 -0
  69. {autorag-0.3.2 → autorag-0.3.3}/README.md +0 -0
  70. {autorag-0.3.2 → autorag-0.3.3}/autorag/__init__.py +0 -0
  71. {autorag-0.3.2 → autorag-0.3.3}/autorag/chunker.py +0 -0
  72. {autorag-0.3.2 → autorag-0.3.3}/autorag/cli.py +0 -0
  73. {autorag-0.3.2 → autorag-0.3.3}/autorag/dashboard.py +0 -0
  74. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/__init__.py +0 -0
  75. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/chunk/__init__.py +0 -0
  76. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/chunk/base.py +0 -0
  77. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/chunk/langchain_chunk.py +0 -0
  78. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/chunk/llama_index_chunk.py +0 -0
  79. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/chunk/run.py +0 -0
  80. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/__init__.py +0 -0
  81. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/corpus/__init__.py +0 -0
  82. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/corpus/langchain.py +0 -0
  83. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/corpus/llama_index.py +0 -0
  84. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/__init__.py +0 -0
  85. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/base.py +0 -0
  86. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/llama_index.py +0 -0
  87. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/legacy/qacreation/llama_index_default_prompt.txt +0 -0
  88. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/__init__.py +0 -0
  89. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/base.py +0 -0
  90. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/run.py +0 -0
  91. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/parse/table_hybrid_parse.py +0 -0
  92. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/__init__.py +0 -0
  93. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/evolve/__init__.py +0 -0
  94. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/evolve/llama_index_query_evolve.py +0 -0
  95. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/evolve/openai_query_evolve.py +0 -0
  96. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/evolve/prompt.py +0 -0
  97. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/extract_evidence.py +0 -0
  98. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/filter/__init__.py +0 -0
  99. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/filter/dontknow.py +0 -0
  100. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/filter/passage_dependency.py +0 -0
  101. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/filter/prompt.py +0 -0
  102. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/generation_gt/__init__.py +0 -0
  103. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/generation_gt/base.py +0 -0
  104. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/generation_gt/llama_index_gen_gt.py +0 -0
  105. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/generation_gt/openai_gen_gt.py +0 -0
  106. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/generation_gt/prompt.py +0 -0
  107. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/query/__init__.py +0 -0
  108. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/query/llama_gen_query.py +0 -0
  109. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/query/openai_gen_query.py +0 -0
  110. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/query/prompt.py +0 -0
  111. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/sample.py +0 -0
  112. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/qa/schema.py +0 -0
  113. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/utils/__init__.py +0 -0
  114. {autorag-0.3.2 → autorag-0.3.3}/autorag/data/utils/util.py +0 -0
  115. {autorag-0.3.2 → autorag-0.3.3}/autorag/deploy.py +0 -0
  116. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/__init__.py +0 -0
  117. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt +0 -0
  118. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/g_eval_prompts/con_detailed.txt +0 -0
  119. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt +0 -0
  120. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt +0 -0
  121. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/retrieval.py +0 -0
  122. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/metric/retrieval_contents.py +0 -0
  123. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluation/util.py +0 -0
  124. {autorag-0.3.2 → autorag-0.3.3}/autorag/evaluator.py +0 -0
  125. {autorag-0.3.2 → autorag-0.3.3}/autorag/node_line.py +0 -0
  126. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/__init__.py +0 -0
  127. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/__init__.py +0 -0
  128. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/run.py +0 -0
  129. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/generator/vllm.py +0 -0
  130. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passageaugmenter/__init__.py +0 -0
  131. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passageaugmenter/base.py +0 -0
  132. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
  133. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
  134. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passageaugmenter/run.py +0 -0
  135. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/__init__.py +0 -0
  136. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/base.py +0 -0
  137. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/longllmlingua.py +0 -0
  138. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
  139. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/refine.py +0 -0
  140. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/run.py +0 -0
  141. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
  142. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/__init__.py +0 -0
  143. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/base.py +0 -0
  144. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
  145. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
  146. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/recency.py +0 -0
  147. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/run.py +0 -0
  148. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +0 -0
  149. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +0 -0
  150. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
  151. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/__init__.py +0 -0
  152. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/base.py +0 -0
  153. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/cohere.py +0 -0
  154. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/colbert.py +0 -0
  155. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
  156. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
  157. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/jina.py +0 -0
  158. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/koreranker.py +0 -0
  159. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/monot5.py +0 -0
  160. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
  161. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/rankgpt.py +0 -0
  162. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/run.py +0 -0
  163. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
  164. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
  165. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
  166. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/tart/tart.py +0 -0
  167. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
  168. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/time_reranker.py +0 -0
  169. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/passagereranker/upr.py +0 -0
  170. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/__init__.py +0 -0
  171. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/base.py +0 -0
  172. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/fstring.py +0 -0
  173. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
  174. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/run.py +0 -0
  175. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/promptmaker/window_replacement.py +0 -0
  176. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/__init__.py +0 -0
  177. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/base.py +0 -0
  178. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/hyde.py +0 -0
  179. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/multi_query_expansion.py +0 -0
  180. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
  181. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/query_decompose.py +0 -0
  182. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/queryexpansion/run.py +0 -0
  183. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/__init__.py +0 -0
  184. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/base.py +0 -0
  185. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/bm25.py +0 -0
  186. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/hybrid_cc.py +0 -0
  187. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/hybrid_rrf.py +0 -0
  188. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/run.py +0 -0
  189. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/retrieval/vectordb.py +0 -0
  190. {autorag-0.3.2 → autorag-0.3.3}/autorag/nodes/util.py +0 -0
  191. {autorag-0.3.2 → autorag-0.3.3}/autorag/parser.py +0 -0
  192. {autorag-0.3.2 → autorag-0.3.3}/autorag/schema/__init__.py +0 -0
  193. {autorag-0.3.2 → autorag-0.3.3}/autorag/schema/base.py +0 -0
  194. {autorag-0.3.2 → autorag-0.3.3}/autorag/schema/module.py +0 -0
  195. {autorag-0.3.2 → autorag-0.3.3}/autorag/schema/node.py +0 -0
  196. {autorag-0.3.2 → autorag-0.3.3}/autorag/strategy.py +0 -0
  197. {autorag-0.3.2 → autorag-0.3.3}/autorag/support.py +0 -0
  198. {autorag-0.3.2 → autorag-0.3.3}/autorag/utils/__init__.py +0 -0
  199. {autorag-0.3.2 → autorag-0.3.3}/autorag/utils/preprocess.py +0 -0
  200. {autorag-0.3.2 → autorag-0.3.3}/autorag/utils/util.py +0 -0
  201. {autorag-0.3.2 → autorag-0.3.3}/autorag/validator.py +0 -0
  202. {autorag-0.3.2 → autorag-0.3.3}/autorag/web.py +0 -0
  203. {autorag-0.3.2 → autorag-0.3.3}/docker-compose.yml +0 -0
  204. {autorag-0.3.2 → autorag-0.3.3}/docs/Makefile +0 -0
  205. {autorag-0.3.2 → autorag-0.3.3}/docs/make.bat +0 -0
  206. {autorag-0.3.2 → autorag-0.3.3}/docs/requirements.txt +0 -0
  207. {autorag-0.3.2 → autorag-0.3.3}/docs/source/CNAME +0 -0
  208. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/data_creation.png +0 -0
  209. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/data_folder.png +0 -0
  210. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/dcg.png +0 -0
  211. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/f1_score.png +0 -0
  212. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/map.png +0 -0
  213. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/mrr.png +0 -0
  214. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/ndcg.png +0 -0
  215. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/ndcg_formula.png +0 -0
  216. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/node_folder.png +0 -0
  217. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/node_line_folder.png +0 -0
  218. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/node_line_summary.png +0 -0
  219. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/node_lines.png +0 -0
  220. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/node_summary.png +0 -0
  221. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/normal_distribution.png +0 -0
  222. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/project_folder_example.png +0 -0
  223. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/project_folders.png +0 -0
  224. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/resources_folder.png +0 -0
  225. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
  226. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/advanced_RAG.png +0 -0
  227. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/cycle.png +0 -0
  228. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/merger.png +0 -0
  229. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/node_line_modular.png +0 -0
  230. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/roadmap/policy.png +0 -0
  231. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/samsung_sundae.jpeg +0 -0
  232. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/score_fusion.png +0 -0
  233. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/trial_folder.png +0 -0
  234. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/trial_json.png +0 -0
  235. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/trial_summary.png +0 -0
  236. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/web_interface.png +0 -0
  237. {autorag-0.3.2 → autorag-0.3.3}/docs/source/_static/web_interface_gradio.png +0 -0
  238. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.chunk.rst +0 -0
  239. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.corpus.rst +0 -0
  240. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.legacy.corpus.rst +0 -0
  241. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.legacy.qacreation.rst +0 -0
  242. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.legacy.rst +0 -0
  243. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.parse.rst +0 -0
  244. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qa.evolve.rst +0 -0
  245. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qa.filter.rst +0 -0
  246. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qa.generation_gt.rst +0 -0
  247. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qa.query.rst +0 -0
  248. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qa.rst +0 -0
  249. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.qacreation.rst +0 -0
  250. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.rst +0 -0
  251. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.data.utils.rst +0 -0
  252. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.evaluation.rst +0 -0
  253. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.generator.rst +0 -0
  254. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +0 -0
  255. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.passagecompressor.rst +0 -0
  256. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.passagefilter.rst +0 -0
  257. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.passagereranker.rst +0 -0
  258. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +0 -0
  259. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.promptmaker.rst +0 -0
  260. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.queryexpansion.rst +0 -0
  261. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.retrieval.rst +0 -0
  262. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.nodes.rst +0 -0
  263. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.rst +0 -0
  264. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.schema.rst +0 -0
  265. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/autorag.utils.rst +0 -0
  266. {autorag-0.3.2 → autorag-0.3.3}/docs/source/api_spec/modules.rst +0 -0
  267. {autorag-0.3.2 → autorag-0.3.3}/docs/source/conf.py +0 -0
  268. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/chunk/chunk.md +0 -0
  269. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/chunk/langchain_chunk.md +0 -0
  270. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/chunk/llama_index_chunk.md +0 -0
  271. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/data_format.md +0 -0
  272. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/legacy/legacy.md +0 -0
  273. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/legacy/ragas.md +0 -0
  274. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/legacy/tutorial.md +0 -0
  275. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/parse/clova.md +0 -0
  276. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/parse/langchain_parse.md +0 -0
  277. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/parse/llama_parse.md +0 -0
  278. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/parse/parse.md +0 -0
  279. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/parse/table_hybrid_parse.md +0 -0
  280. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/qa_creation/evolve.md +0 -0
  281. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/qa_creation/qa_creation.md +0 -0
  282. {autorag-0.3.2 → autorag-0.3.3}/docs/source/data_creation/tutorial.md +0 -0
  283. {autorag-0.3.2 → autorag-0.3.3}/docs/source/deploy/api_endpoint.md +0 -0
  284. {autorag-0.3.2 → autorag-0.3.3}/docs/source/deploy/web.md +0 -0
  285. {autorag-0.3.2 → autorag-0.3.3}/docs/source/evaluate_metrics/generation.md +0 -0
  286. {autorag-0.3.2 → autorag-0.3.3}/docs/source/evaluate_metrics/retrieval.md +0 -0
  287. {autorag-0.3.2 → autorag-0.3.3}/docs/source/evaluate_metrics/retrieval_contents.md +0 -0
  288. {autorag-0.3.2 → autorag-0.3.3}/docs/source/index.rst +0 -0
  289. {autorag-0.3.2 → autorag-0.3.3}/docs/source/install.md +0 -0
  290. {autorag-0.3.2 → autorag-0.3.3}/docs/source/local_model.md +0 -0
  291. {autorag-0.3.2 → autorag-0.3.3}/docs/source/migration.md +0 -0
  292. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/generator/generator.md +0 -0
  293. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/generator/llama_index_llm.md +0 -0
  294. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/generator/openai_llm.md +0 -0
  295. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/generator/vllm.md +0 -0
  296. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/index.md +0 -0
  297. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_augmenter/passage_augmenter.md +0 -0
  298. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +0 -0
  299. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_compressor/longllmlingua.md +0 -0
  300. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_compressor/passage_compressor.md +0 -0
  301. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_compressor/refine.md +0 -0
  302. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_compressor/tree_summarize.md +0 -0
  303. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/passage_filter.md +0 -0
  304. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/percentile_cutoff.md +0 -0
  305. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/recency_filter.md +0 -0
  306. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +0 -0
  307. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +0 -0
  308. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_filter/threshold_cutoff.md +0 -0
  309. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/cohere.md +0 -0
  310. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/colbert.md +0 -0
  311. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +0 -0
  312. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +0 -0
  313. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/jina_reranker.md +0 -0
  314. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/koreranker.md +0 -0
  315. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/monot5.md +0 -0
  316. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/passage_reranker.md +0 -0
  317. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/rankgpt.md +0 -0
  318. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +0 -0
  319. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/tart.md +0 -0
  320. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/time_reranker.md +0 -0
  321. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/passage_reranker/upr.md +0 -0
  322. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/prompt_maker/fstring.md +0 -0
  323. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/prompt_maker/long_context_reorder.md +0 -0
  324. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/prompt_maker/prompt_maker.md +0 -0
  325. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/prompt_maker/window_replacement.md +0 -0
  326. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/query_expansion/hyde.md +0 -0
  327. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/query_expansion/multi_query_expansion.md +0 -0
  328. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/query_expansion/query_decompose.md +0 -0
  329. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/query_expansion/query_expansion.md +0 -0
  330. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/retrieval/bm25.md +0 -0
  331. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/retrieval/hybrid_cc.md +0 -0
  332. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/retrieval/hybrid_rrf.md +0 -0
  333. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/retrieval/retrieval.md +0 -0
  334. {autorag-0.3.2 → autorag-0.3.3}/docs/source/nodes/retrieval/vectordb.md +0 -0
  335. {autorag-0.3.2 → autorag-0.3.3}/docs/source/optimization/custom_config.md +0 -0
  336. {autorag-0.3.2 → autorag-0.3.3}/docs/source/optimization/folder_structure.md +0 -0
  337. {autorag-0.3.2 → autorag-0.3.3}/docs/source/optimization/optimization.md +0 -0
  338. {autorag-0.3.2 → autorag-0.3.3}/docs/source/optimization/strategies.md +0 -0
  339. {autorag-0.3.2 → autorag-0.3.3}/docs/source/roadmap/modular_rag.md +0 -0
  340. {autorag-0.3.2 → autorag-0.3.3}/docs/source/structure.md +0 -0
  341. {autorag-0.3.2 → autorag-0.3.3}/docs/source/troubleshooting.md +0 -0
  342. {autorag-0.3.2 → autorag-0.3.3}/docs/source/tutorial.md +0 -0
  343. {autorag-0.3.2 → autorag-0.3.3}/projects/tutorial_1/config.yaml +0 -0
  344. {autorag-0.3.2 → autorag-0.3.3}/pyproject.toml +0 -0
  345. {autorag-0.3.2 → autorag-0.3.3}/sample_config/chunk/chunk_full.yaml +0 -0
  346. {autorag-0.3.2 → autorag-0.3.3}/sample_config/chunk/chunk_ko.yaml +0 -0
  347. {autorag-0.3.2 → autorag-0.3.3}/sample_config/chunk/simple_chunk.yaml +0 -0
  348. {autorag-0.3.2 → autorag-0.3.3}/sample_config/parse/parse_hybird.yaml +0 -0
  349. {autorag-0.3.2 → autorag-0.3.3}/sample_config/parse/parse_ko.yaml +0 -0
  350. {autorag-0.3.2 → autorag-0.3.3}/sample_config/parse/parse_ocr.yaml +0 -0
  351. {autorag-0.3.2 → autorag-0.3.3}/sample_config/parse/simple_parse.yaml +0 -0
  352. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/compact/compact_local.yaml +0 -0
  353. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/compact/compact_openai.yaml +0 -0
  354. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/config_korean.yaml +0 -0
  355. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/extracted_sample.yaml +0 -0
  356. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/full.yaml +0 -0
  357. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/simple/simple_local.yaml +0 -0
  358. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/simple/simple_ollama.yaml +0 -0
  359. {autorag-0.3.2 → autorag-0.3.3}/sample_config/rag/simple/simple_openai.yaml +0 -0
  360. {autorag-0.3.2 → autorag-0.3.3}/sample_dataset/README.md +0 -0
  361. {autorag-0.3.2 → autorag-0.3.3}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
  362. {autorag-0.3.2 → autorag-0.3.3}/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +0 -0
  363. {autorag-0.3.2 → autorag-0.3.3}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
  364. {autorag-0.3.2 → autorag-0.3.3}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
  365. {autorag-0.3.2 → autorag-0.3.3}/setup.cfg +0 -0
  366. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/chunk/test_chunk_base.py +0 -0
  367. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/chunk/test_chunk_run.py +0 -0
  368. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/chunk/test_langchain_chunk.py +0 -0
  369. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/chunk/test_llama_index_chunk.py +0 -0
  370. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/corpus/test_base_corpus_legacy.py +0 -0
  371. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/corpus/test_langchain.py +0 -0
  372. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/legacy/qacreation/test_ragas_qa_creation.py +0 -0
  373. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_clova.py +0 -0
  374. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/parse/test_parse_run.py +0 -0
  375. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/evolve/base_test_query_evolve.py +0 -0
  376. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/evolve/test_llama_index_query_evolve.py +0 -0
  377. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/evolve/test_openai_query_evolve.py +0 -0
  378. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/filter/test_dontknow.py +0 -0
  379. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/filter/test_passage_dependency.py +0 -0
  380. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/generation_gt/base_test_generation_gt.py +0 -0
  381. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/generation_gt/test_llama_index_gen_gt.py +0 -0
  382. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/generation_gt/test_openai_gen_gt.py +0 -0
  383. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/query/base_test_query_gen.py +0 -0
  384. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/query/test_llama_gen_query.py +0 -0
  385. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/query/test_openai_gen_query.py +0 -0
  386. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/test_sample.py +0 -0
  387. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/data/qa/test_schema.py +0 -0
  388. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/evaluate/test_evaluate_util.py +0 -0
  389. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/generator/test_generator_base.py +0 -0
  390. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/generator/test_run_generator_node.py +0 -0
  391. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/generator/test_vllm.py +0 -0
  392. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +0 -0
  393. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +0 -0
  394. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +0 -0
  395. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +0 -0
  396. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +0 -0
  397. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +0 -0
  398. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +0 -0
  399. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_refine.py +0 -0
  400. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +0 -0
  401. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +0 -0
  402. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +0 -0
  403. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +0 -0
  404. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +0 -0
  405. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +0 -0
  406. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_recency_filter.py +0 -0
  407. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +0 -0
  408. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +0 -0
  409. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +0 -0
  410. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +0 -0
  411. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +0 -0
  412. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_flag_embedding.py +0 -0
  413. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +0 -0
  414. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_jina_reranker.py +0 -0
  415. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_koreranker.py +0 -0
  416. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_monot5.py +0 -0
  417. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_pass_reranker.py +0 -0
  418. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +0 -0
  419. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +0 -0
  420. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_rankgpt.py +0 -0
  421. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +0 -0
  422. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_tart.py +0 -0
  423. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_time_reranker.py +0 -0
  424. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/passagereranker/test_upr.py +0 -0
  425. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/promptmaker/test_fstring.py +0 -0
  426. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +0 -0
  427. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +0 -0
  428. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +0 -0
  429. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/promptmaker/test_window_replacement.py +0 -0
  430. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_hyde.py +0 -0
  431. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +0 -0
  432. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +0 -0
  433. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_query_decompose.py +0 -0
  434. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +0 -0
  435. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +0 -0
  436. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_bm25.py +0 -0
  437. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_hybrid_base.py +0 -0
  438. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_hybrid_cc.py +0 -0
  439. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_hybrid_rrf.py +0 -0
  440. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_retrieval_base.py +0 -0
  441. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_run_retrieval_node.py +0 -0
  442. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/nodes/retrieval/test_vectordb.py +0 -0
  443. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/schema/test_base.py +0 -0
  444. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/schema/test_module_schema.py +0 -0
  445. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/schema/test_node_schema.py +0 -0
  446. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_chunker.py +0 -0
  447. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_cli.py +0 -0
  448. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_dashboard.py +0 -0
  449. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_deploy.py +0 -0
  450. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_evaluator.py +0 -0
  451. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_parser.py +0 -0
  452. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_strategy.py +0 -0
  453. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_support.py +0 -0
  454. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_validator.py +0 -0
  455. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/test_web.py +0 -0
  456. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/utils/test_preprocess.py +0 -0
  457. {autorag-0.3.2 → autorag-0.3.3}/tests/autorag/utils/test_util.py +0 -0
  458. {autorag-0.3.2 → autorag-0.3.3}/tests/conftest.py +0 -0
  459. {autorag-0.3.2 → autorag-0.3.3}/tests/delete_tests.py +0 -0
  460. {autorag-0.3.2 → autorag-0.3.3}/tests/mock.py +0 -0
  461. {autorag-0.3.2 → autorag-0.3.3}/tests/requirements.txt +0 -0
  462. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/README.md +0 -0
  463. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/chunk_data/sample_parsed.parquet +0 -0
  464. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/corpus_data_sample.parquet +0 -0
  465. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/data_creation/raw_dir/sample1.txt +0 -0
  466. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/data_creation/raw_dir/sample2.txt +0 -0
  467. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/data_creation/raw_dir/sample3.txt +0 -0
  468. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/full.yaml +0 -0
  469. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/all_files/baseball_1.pdf +0 -0
  470. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/all_files/csv_sample.csv +0 -0
  471. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/clova_data/result_sample.json +0 -0
  472. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/clova_data/result_table.txt +0 -0
  473. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/clova_data/result_text.txt +0 -0
  474. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/csv_data/csv_sample.csv +0 -0
  475. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/eng_text/baseball_1.pdf +0 -0
  476. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/eng_text/baseball_2.pdf +0 -0
  477. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/html_data/html_sample.html +0 -0
  478. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/hybrid_data/nfl_rulebook_both.pdf +0 -0
  479. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/json_data/json_sample.json +0 -0
  480. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/korean_table/only_table/kbo_only_table.pdf +0 -0
  481. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/korean_table/table_text/kbo_table_text.pdf +0 -0
  482. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/korean_text/korean_texts_two_page.pdf +0 -0
  483. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/markdown_data/markdown_sample.md +0 -0
  484. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/parse_data/xml_data/xml_sample.xml +0 -0
  485. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/qa_data_sample.parquet +0 -0
  486. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/qa_gen_prompts/prompt1.txt +0 -0
  487. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/qa_gen_prompts/prompt2.txt +0 -0
  488. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/qa_gen_prompts/prompt3.txt +0 -0
  489. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/qa_test_data_sample.parquet +0 -0
  490. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/config.yaml +0 -0
  491. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
  492. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/1.parquet +0 -0
  493. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/2.parquet +0 -0
  494. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/3.parquet +0 -0
  495. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/4.parquet +0 -0
  496. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/5.parquet +0 -0
  497. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/best_5.parquet +0 -0
  498. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +0 -0
  499. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  500. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
  501. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
  502. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
  503. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +0 -0
  504. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  505. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  506. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  507. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  508. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  509. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +0 -0
  510. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/0.parquet +0 -0
  511. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
  512. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_compressor/summary.csv +0 -0
  513. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
  514. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/1.parquet +0 -0
  515. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  516. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +0 -0
  517. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/retrieval/0.parquet +0 -0
  518. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/retrieval/1.parquet +0 -0
  519. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/retrieval/best_0.parquet +0 -0
  520. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/retrieval/summary.csv +0 -0
  521. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/retrieve_node_line/summary.csv +0 -0
  522. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/0/summary.csv +0 -0
  523. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/config.yaml +0 -0
  524. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  525. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  526. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  527. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  528. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  529. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +0 -0
  530. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/passage_filter/0.parquet +0 -0
  531. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
  532. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/1.parquet +0 -0
  533. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  534. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +0 -0
  535. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/retrieval/0.parquet +0 -0
  536. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/retrieval/1.parquet +0 -0
  537. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/retrieval/best_0.parquet +0 -0
  538. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/1/retrieve_node_line/retrieval/summary.csv +0 -0
  539. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/config.yaml +0 -0
  540. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
  541. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
  542. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
  543. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
  544. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
  545. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
  546. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +0 -0
  547. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/0.parquet +0 -0
  548. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/best_0.parquet +0 -0
  549. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_compressor/summary.csv +0 -0
  550. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
  551. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/1.parquet +0 -0
  552. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
  553. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +0 -0
  554. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/retrieval/0.parquet +0 -0
  555. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/retrieval/1.parquet +0 -0
  556. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/retrieval/best_0.parquet +0 -0
  557. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/retrieval/summary.csv +0 -0
  558. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/2/retrieve_node_line/summary.csv +0 -0
  559. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/3/config.yaml +0 -0
  560. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/best.yaml +0 -0
  561. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/data/corpus.parquet +0 -0
  562. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/data/qa.parquet +0 -0
  563. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
  564. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
  565. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
  566. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
  567. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
  568. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/resources/chroma/chroma.sqlite3 +0 -0
  569. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/result_project/trial.json +0 -0
  570. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/sample_contents_nqa.csv +0 -0
  571. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/sample_project/data/corpus.parquet +0 -0
  572. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/sample_project/data/qa.parquet +0 -0
  573. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
  574. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
  575. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/simple.yaml +0 -0
  576. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/simple_chunk.yaml +0 -0
  577. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/simple_mock.yaml +0 -0
  578. {autorag-0.3.2 → autorag-0.3.3}/tests/resources/simple_parse.yaml +0 -0
  579. {autorag-0.3.2 → autorag-0.3.3}/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.3.2
3
+ Version: 0.3.3
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
@@ -238,14 +238,12 @@ Requires-Dist: click
238
238
  Requires-Dist: Flask
239
239
  Requires-Dist: torch
240
240
  Requires-Dist: sentencepiece
241
- Requires-Dist: guidance
242
241
  Requires-Dist: cohere>=5.8.0
243
242
  Requires-Dist: tokenlog>=0.0.2
244
243
  Requires-Dist: aiohttp
245
244
  Requires-Dist: bert_score
246
245
  Requires-Dist: sentence-transformers
247
246
  Requires-Dist: FlagEmbedding
248
- Requires-Dist: ragas
249
247
  Requires-Dist: llmlingua
250
248
  Requires-Dist: peft
251
249
  Requires-Dist: llama-index>=0.11.0
@@ -263,6 +261,7 @@ Requires-Dist: gradio
263
261
  Requires-Dist: langchain-core>=0.3.0
264
262
  Requires-Dist: langchain-unstructured>=0.1.5
265
263
  Requires-Dist: langchain-upstage
264
+ Requires-Dist: langchain-community>=0.3.0
266
265
  Requires-Dist: panel
267
266
  Requires-Dist: seaborn
268
267
  Requires-Dist: ipykernel
@@ -87,6 +87,7 @@ autorag/evaluation/retrieval.py
87
87
  autorag/evaluation/retrieval_contents.py
88
88
  autorag/evaluation/util.py
89
89
  autorag/evaluation/metric/__init__.py
90
+ autorag/evaluation/metric/deepeval_prompt.py
90
91
  autorag/evaluation/metric/generation.py
91
92
  autorag/evaluation/metric/retrieval.py
92
93
  autorag/evaluation/metric/retrieval_contents.py
@@ -17,14 +17,12 @@ click
17
17
  Flask
18
18
  torch
19
19
  sentencepiece
20
- guidance
21
20
  cohere>=5.8.0
22
21
  tokenlog>=0.0.2
23
22
  aiohttp
24
23
  bert_score
25
24
  sentence-transformers
26
25
  FlagEmbedding
27
- ragas
28
26
  llmlingua
29
27
  peft
30
28
  llama-index>=0.11.0
@@ -42,6 +40,7 @@ gradio
42
40
  langchain-core>=0.3.0
43
41
  langchain-unstructured>=0.1.5
44
42
  langchain-upstage
43
+ langchain-community>=0.3.0
45
44
  panel
46
45
  seaborn
47
46
  ipykernel
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AutoRAG
3
- Version: 0.3.2
3
+ Version: 0.3.3
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
@@ -238,14 +238,12 @@ Requires-Dist: click
238
238
  Requires-Dist: Flask
239
239
  Requires-Dist: torch
240
240
  Requires-Dist: sentencepiece
241
- Requires-Dist: guidance
242
241
  Requires-Dist: cohere>=5.8.0
243
242
  Requires-Dist: tokenlog>=0.0.2
244
243
  Requires-Dist: aiohttp
245
244
  Requires-Dist: bert_score
246
245
  Requires-Dist: sentence-transformers
247
246
  Requires-Dist: FlagEmbedding
248
- Requires-Dist: ragas
249
247
  Requires-Dist: llmlingua
250
248
  Requires-Dist: peft
251
249
  Requires-Dist: llama-index>=0.11.0
@@ -263,6 +261,7 @@ Requires-Dist: gradio
263
261
  Requires-Dist: langchain-core>=0.3.0
264
262
  Requires-Dist: langchain-unstructured>=0.1.5
265
263
  Requires-Dist: langchain-upstage
264
+ Requires-Dist: langchain-community>=0.3.0
266
265
  Requires-Dist: panel
267
266
  Requires-Dist: seaborn
268
267
  Requires-Dist: ipykernel
@@ -0,0 +1 @@
1
+ 0.3.3
@@ -5,8 +5,6 @@ import pandas as pd
5
5
  from langchain_core.embeddings import Embeddings
6
6
  from langchain_core.language_models import BaseChatModel
7
7
  from langchain_openai import ChatOpenAI, OpenAIEmbeddings
8
- from ragas.testset import TestsetGenerator
9
- from ragas.testset.evolutions import simple, reasoning, multi_context
10
8
 
11
9
  from autorag.data.utils.util import corpus_df_to_langchain_documents
12
10
  from autorag.utils import cast_qa_dataset
@@ -37,6 +35,9 @@ def generate_qa_ragas(
37
35
  You can input 'with_debugging_logs', 'is_async', 'raise_exceptions', and 'run_config'.
38
36
  :return: QA dataset dataframe.
39
37
  """
38
+ from ragas.testset import TestsetGenerator
39
+ from ragas.testset.evolutions import simple, reasoning, multi_context
40
+
40
41
  if generator_llm is None:
41
42
  generator_llm = ChatOpenAI(model="gpt-3.5-turbo-16k")
42
43
  if critic_llm is None:
@@ -3,12 +3,10 @@ import pathlib
3
3
  import uuid
4
4
  from typing import Callable
5
5
 
6
- import guidance
7
6
  import pandas as pd
8
- from guidance import models, gen
9
7
 
10
8
 
11
- def generate_qa_row(llm: models.Model, corpus_data_row):
9
+ def generate_qa_row(llm, corpus_data_row):
12
10
  """
13
11
  this sample code to generate rag dataset using OpenAI chat model
14
12
 
@@ -16,6 +14,9 @@ def generate_qa_row(llm: models.Model, corpus_data_row):
16
14
  :param corpus_data_row: need "contents" column
17
15
  :return: should to be dict which has "query", "generation_gt" columns at least.
18
16
  """
17
+ from guidance import gen
18
+ import guidance
19
+
19
20
  temp_llm = llm
20
21
  with guidance.user():
21
22
  temp_llm += f"""
@@ -48,7 +49,7 @@ def generate_qa_row(llm: models.Model, corpus_data_row):
48
49
 
49
50
 
50
51
  def generate_simple_qa_dataset(
51
- llm: models.Model,
52
+ llm,
52
53
  corpus_data: pd.DataFrame,
53
54
  output_filepath: str,
54
55
  generate_row_function: Callable,
@@ -99,8 +99,10 @@ async def clova_ocr_pure(
99
99
  raise RuntimeError(
100
100
  f"Invalid response from Clova API: {resp_json['detail']}"
101
101
  )
102
-
103
- table_html = json_to_html_table(resp_json["images"][0]["tables"][0]["cells"])
102
+ if "tables" in resp_json["images"][0].keys():
103
+ table_html = json_to_html_table(
104
+ resp_json["images"][0]["tables"][0]["cells"]
105
+ )
104
106
  page_text = extract_text_from_fields(resp_json["images"][0]["fields"])
105
107
 
106
108
  if table_html:
@@ -1,4 +1,5 @@
1
1
  import multiprocessing as mp
2
+ from itertools import chain
2
3
  from typing import List, Tuple
3
4
 
4
5
  from autorag.data import parse_modules
@@ -20,6 +21,7 @@ def langchain_parse(
20
21
  if parse_method in ["directory", "unstructured"]:
21
22
  results = parse_all_files(data_path_list, parse_method, **kwargs)
22
23
  texts, path = results[0], results[1]
24
+ pages = [-1] * len(texts)
23
25
 
24
26
  else:
25
27
  num_workers = mp.cpu_count()
@@ -30,14 +32,14 @@ def langchain_parse(
30
32
  [(data_path, parse_method, kwargs) for data_path in data_path_list],
31
33
  )
32
34
 
33
- texts, path = zip(*results)
34
- texts, path = list(texts), list(path)
35
- pages = [-1] * len(texts)
35
+ texts, path, pages = (list(chain.from_iterable(item)) for item in zip(*results))
36
36
 
37
37
  return texts, path, pages
38
38
 
39
39
 
40
- def langchain_parse_pure(data_path: str, parse_method: str, kwargs) -> Tuple[str, str]:
40
+ def langchain_parse_pure(
41
+ data_path: str, parse_method: str, kwargs
42
+ ) -> Tuple[List[str], List[str], List[int]]:
41
43
  """
42
44
  Parses a single file using the specified parse method.
43
45
 
@@ -54,12 +56,18 @@ def langchain_parse_pure(data_path: str, parse_method: str, kwargs) -> Tuple[str
54
56
 
55
57
  # Load the text from the file
56
58
  documents = parse_instance.load()
57
- text = documents[0].page_content
59
+
60
+ texts = list(map(lambda x: x.page_content, documents))
61
+ path = [data_path] * len(texts)
62
+ if parse_method in ["pymupdf", "pdfplumber", "pypdf", "pypdfium2"]:
63
+ pages = list(range(1, len(documents) + 1))
64
+ else:
65
+ pages = [-1] * len(texts)
58
66
 
59
67
  # Clean up the parse instance
60
68
  del parse_instance
61
69
 
62
- return text, data_path
70
+ return texts, path, pages
63
71
 
64
72
 
65
73
  def parse_all_files(
@@ -1,4 +1,5 @@
1
1
  from typing import List, Tuple
2
+ from itertools import chain
2
3
 
3
4
  from llama_parse import LlamaParse
4
5
 
@@ -30,15 +31,18 @@ def llama_parse(
30
31
 
31
32
  del parse_instance
32
33
 
33
- texts, path = zip(*results)
34
- pages = [-1] * len(texts)
34
+ texts, path, pages = (list(chain.from_iterable(item)) for item in zip(*results))
35
35
 
36
- return list(texts), list(path), pages
36
+ return texts, path, pages
37
37
 
38
38
 
39
- async def llama_parse_pure(data_path: str, parse_instance) -> Tuple[str, str]:
39
+ async def llama_parse_pure(
40
+ data_path: str, parse_instance
41
+ ) -> Tuple[List[str], List[str], List[int]]:
40
42
  documents = await parse_instance.aload_data(data_path)
41
43
 
42
- text = documents[0].text
44
+ texts = list(map(lambda x: x.text, documents))
45
+ path = [data_path] * len(texts)
46
+ pages = list(range(1, len(documents) + 1))
43
47
 
44
- return text, data_path
48
+ return texts, path, pages
@@ -11,17 +11,27 @@ from autorag.evaluation.metric.generation import (
11
11
  sem_score,
12
12
  g_eval,
13
13
  bert_score,
14
+ deepeval_faithfulness,
14
15
  )
15
16
  from autorag.evaluation.util import cast_metrics
16
17
  from autorag.schema.metricinput import MetricInput
17
18
 
18
19
  GENERATION_METRIC_FUNC_DICT = {
19
- func.__name__: func for func in [bleu, meteor, rouge, sem_score, g_eval, bert_score]
20
+ func.__name__: func
21
+ for func in [
22
+ bleu,
23
+ meteor,
24
+ rouge,
25
+ sem_score,
26
+ g_eval,
27
+ bert_score,
28
+ deepeval_faithfulness,
29
+ ]
20
30
  }
21
31
 
22
32
 
23
33
  def evaluate_generation(
24
- metric_inputs: List[MetricInput], metrics: Union[List[str], List[Dict]]
34
+ metric_inputs: List[MetricInput], metrics: Union[List[str], List[Dict]]
25
35
  ):
26
36
  def decorator_evaluate_generation(func: Callable):
27
37
  @functools.wraps(func)
@@ -55,7 +65,6 @@ def evaluate_generation(
55
65
  f"{metric_name} will be ignored."
56
66
  )
57
67
  else:
58
-
59
68
  metric_scores[metric_name] = GENERATION_METRIC_FUNC_DICT[
60
69
  metric_name
61
70
  ](
@@ -1,4 +1,12 @@
1
- from .generation import bleu, meteor, rouge, sem_score, g_eval, bert_score
1
+ from .generation import (
2
+ bleu,
3
+ meteor,
4
+ rouge,
5
+ sem_score,
6
+ g_eval,
7
+ bert_score,
8
+ deepeval_faithfulness,
9
+ )
2
10
  from .retrieval import (
3
11
  retrieval_f1,
4
12
  retrieval_recall,
@@ -0,0 +1,218 @@
1
+ class FaithfulnessTemplate:
2
+ @staticmethod
3
+ def generate_claims(text, lang: str = "en"):
4
+ if lang == "en":
5
+ return f"""Based on the given text, please generate a comprehensive list of FACTUAL claims that can inferred from the provided text.
6
+
7
+ Example:
8
+ Example Text:
9
+ "Einstein won the noble prize in 1968 for his discovery of the photoelectric effect."
10
+
11
+ Example JSON:
12
+ {{
13
+ "claims": [
14
+ "Einstein won the noble prize for his discovery of the photoelectric effect.",
15
+ "Einstein won the noble prize in 1968."
16
+ ]
17
+ }}
18
+ ===== END OF EXAMPLE ======
19
+
20
+ **
21
+ IMPORTANT: Please make sure to only return in JSON format, with the "claims" key as a list of strings. No words or explanation is needed.
22
+ Only include claims that are factual, and the claims you extract should include the full context it was presented in, NOT cherry picked facts.
23
+ You should NOT include any prior knowledge, and take the text at face value when extracting claims.
24
+ **
25
+
26
+ Text:
27
+ {text}
28
+
29
+ JSON:
30
+ """
31
+ elif lang == "ko":
32
+ return f"""주어진 텍스트에서 찾을 수 있는 사실적 정보들의 목록을 생성하세요.
33
+
34
+ 예시:
35
+ 예시 텍스트:
36
+ “아인슈타인은 1968년에 광전 효과 발견으로 노벨상을 수상했다.”
37
+
38
+ 예시 JSON:
39
+ {{
40
+ “claims”: [
41
+ “아인슈타인은 광전 효과 발견으로 노벨상을 수상했다.”,
42
+ “아인슈타인은 1968년에 노벨상을 수상했다.”
43
+ ]
44
+ }}
45
+ ===== 예시 끝 ======
46
+
47
+ **
48
+ 중요: 오직 JSON 형식으로 “claims” 키가 문자열 목록으로 반환되도록 해야 합니다. 다른 단어나 설명은 필요하지 않습니다.
49
+ 사실에 기반한 주장만 포함하며, 추출한 주장은 전체 맥락을 유지해야 하며, 부분적으로 선택된 사실을 포함하지 않아야 합니다.
50
+ 사전 지식은 포함하지 말고, 텍스트에만 기초해 주장들을 추출해야 합니다.
51
+ **
52
+
53
+ 텍스트:
54
+ {text}
55
+
56
+ JSON:
57
+ """
58
+ else:
59
+ raise ValueError(f"Language {lang} is not supported.")
60
+
61
+ @staticmethod
62
+ def generate_truths(text, lang: str = "en"):
63
+ if lang == "en":
64
+ return f"""Based on the given text, please generate a comprehensive list of FACTUAL, undisputed truths that can inferred from the provided text.
65
+
66
+ Example:
67
+ Example Text:
68
+ "Einstein won the noble prize in 1968 for his discovery of the photoelectric effect."
69
+
70
+ Example JSON:
71
+ {{
72
+ "truths": [
73
+ "Einstein won the noble prize for his discovery of the photoelectric effect.",
74
+ "Einstein won the noble prize in 1968."
75
+ ]
76
+ }}
77
+ ===== END OF EXAMPLE ======
78
+
79
+ **
80
+ IMPORTANT: Please make sure to only return in JSON format, with the "truths" key as a list of strings. No words or explanation is needed.
81
+ Only include truths that are factual.
82
+ **
83
+
84
+ Text:
85
+ {text}
86
+
87
+ JSON:
88
+ """
89
+ elif lang == "ko":
90
+ return f"""주어진 텍스트에서 추출할 수 있는 사실적이고 논란이 없는 진실들의 목록을 생성하세요.
91
+
92
+ 예시:
93
+ 예시 텍스트:
94
+ "아인슈타인은 1968년에 광전 효과 발견으로 노벨상을 수상했다."
95
+
96
+ 예시 JSON:
97
+ {{
98
+ "truths": [
99
+ "아인슈타인은 광전 효과 발견으로 노벨상을 수상했다.",
100
+ "아인슈타인은 1968년에 노벨상을 수상했다."
101
+ ]
102
+ }}
103
+ ===== 예시 끝 ======
104
+
105
+ **
106
+ 중요: 오직 JSON 형식으로 "truths" 키가 문자열 목록으로 반환되도록 해야 합니다. 다른 단어나 설명은 필요하지 않습니다.
107
+ 사실에 기반한 진실만 포함해야 합니다.
108
+ **
109
+
110
+ 텍스트:
111
+ {text}
112
+
113
+ JSON:"""
114
+ else:
115
+ raise ValueError(f"Language {lang} is not supported.")
116
+
117
+ @staticmethod
118
+ def generate_verdicts(claims, retrieval_context, lang: str = "en"):
119
+ if lang == "en":
120
+ return f"""Based on the given claims, which is a list of strings, generate a list of JSON objects to indicate whether EACH claim contradicts any facts in the retrieval context. The JSON will have 2 fields: 'verdict' and 'reason'.
121
+ The 'verdict' key should STRICTLY be either 'yes', 'no', or 'idk', which states whether the given claim agrees with the context.
122
+ Provide a 'reason' ONLY if the answer is 'no'.
123
+ The provided claim is drawn from the actual output. Try to provide a correction in the reason using the facts in the retrieval context.
124
+
125
+ **
126
+ IMPORTANT: Please make sure to only return in JSON format, with the 'verdicts' key as a list of JSON objects.
127
+ Example retrieval contexts: "Einstein won the Nobel Prize for his discovery of the photoelectric effect. Einstein won the Nobel Prize in 1968. Einstein is a German Scientist."
128
+ Example claims: ["Barack Obama is a caucasian male.", "Zurich is a city in London", "Einstein won the Nobel Prize for the discovery of the photoelectric effect which may have contributed to his fame.", "Einstein won the Nobel Prize in 1969 for his discovery of the photoelectric effect.", "Einstein was a Germen chef."]
129
+
130
+ Example:
131
+ {{
132
+ "verdicts": [
133
+ {{
134
+ "verdict": "idk"
135
+ }},
136
+ {{
137
+ "verdict": "idk"
138
+ }},
139
+ {{
140
+ "verdict": "yes"
141
+ }},
142
+ {{
143
+ "verdict": "no",
144
+ "reason": "The actual output claims Einstein won the Nobel Prize in 1969, which is untrue as the retrieval context states it is 1968 instead."
145
+ }},
146
+ {{
147
+ "verdict": "no",
148
+ "reason": "The actual output claims Einstein is a Germen chef, which is not correct as the retrieval context states he was a German scientist instead."
149
+ }},
150
+ ]
151
+ }}
152
+ ===== END OF EXAMPLE ======
153
+
154
+ The length of 'verdicts' SHOULD BE STRICTLY EQUAL to that of claims.
155
+ You DON'T have to provide a reason if the answer is 'yes' or 'idk'.
156
+ ONLY provide a 'no' answer if the retrieval context DIRECTLY CONTRADICTS the claims. YOU SHOULD NEVER USE YOUR PRIOR KNOWLEDGE IN YOUR JUDGEMENT.
157
+ Claims made using vague, suggestive, speculative language such as 'may have', 'possibility due to', does NOT count as a contradiction.
158
+ Claims that is not backed up due to a lack of information/is not mentioned in the retrieval contexts MUST be answered 'idk', otherwise I WILL DIE.
159
+ **
160
+
161
+ Retrieval Contexts:
162
+ {retrieval_context}
163
+
164
+ Claims:
165
+ {claims}
166
+
167
+ JSON:
168
+ """
169
+ elif lang == "ko":
170
+ return f"""주어진 주장에 대해, 각 주장이 주어진 문맥의 사실들과 모순되는지를 나타내는 JSON 객체 목록을 생성하세요. JSON은 두 개의 필드인 'verdict'와 'reason'으로 구성됩니다.
171
+ 'verdict'는 'yes', 'no', 또는 'idk' 중 하나여야 하며, 주어진 주장이 문맥과 일치하는지를 나타냅니다.
172
+ 'verdict'가 'no'인 경우에만 'reason'을 제공하세요. 'reason'에는 문맥에 따라 주장을 수정하는 내용이 포함되어야 합니다.
173
+
174
+ **
175
+ 중요: 오직 JSON 형식으로 'verdicts' 키가 JSON 객체 목록으로 반환되도록 해야 합니다.
176
+ 예시 문맥: "아인슈타인은 광전 효과 발견으로 노벨상을 수상했다. 아인슈타인은 1968년에 노벨상을 수상했다. 아인슈타인은 독일 과학자이다."
177
+ 예시 주장: ["버락 오바마는 백인 남성이다.", "취리히는 런던에 있는 도시이다.", "아인슈타인은 광전 효과 발견으로 노벨상을 수상했으며, 이는 그의 명성에 기여했을 것이다.", "아인슈타인은 1969년에 광전 효과 발견으로 노벨상을 수상했다.", "아인슈타인은 독일 요리사였다."]
178
+
179
+ 예시:
180
+ {{
181
+ "verdicts": [
182
+ {{
183
+ "verdict": "idk"
184
+ }},
185
+ {{
186
+ "verdict": "idk"
187
+ }},
188
+ {{
189
+ "verdict": "yes"
190
+ }},
191
+ {{
192
+ "verdict": "no",
193
+ "reason": "실제 출력은 아인슈타인이 1969년에 노벨상을 수상했다고 주장하지만, 문맥에서는 1968년이라고 명시되어 있습니다."
194
+ }},
195
+ {{
196
+ "verdict": "no",
197
+ "reason": "실제 출력은 아인슈타인이 독일 요리사라고 주장하지만, 문맥에서는 그가 독일 과학자라고 명시되어 있습니다."
198
+ }},
199
+ ]
200
+ }}
201
+ ===== 예시 끝 ======
202
+
203
+ 'verdicts' 리스트의 길이는 반드시 주장들의 길이와 같아야 합니다.
204
+ 'yes' 또는 'idk'일 경우 'reason'을 제공할 필요가 없습니다.
205
+ 검색된 문맥과 직접적으로 모순되는 경우에만 'no' 답변을 제공하세요. 절대로 선험적인 지식을 사용하지 마세요.
206
+ '~일 수 있다', '가능성이 있다'와 같은 모호한 표현은 모순으로 간주하지 마세요.
207
+ 문맥에 대한 정보 부족으로 뒷받침되지 않거나 언급되지 않은 주장은 반드시 'idk'로 답변하세요, 그렇지 않으면 내가 죽습니다.
208
+ **
209
+
210
+ 주어진 문맥:
211
+ {retrieval_context}
212
+
213
+ 주장:
214
+ {claims}
215
+
216
+ JSON:"""
217
+ else:
218
+ raise ValueError(f"Language {lang} is not supported.")
@@ -10,19 +10,27 @@ import torch
10
10
  from llama_index.core.embeddings import BaseEmbedding
11
11
  from llama_index.embeddings.openai import OpenAIEmbedding
12
12
  from openai import AsyncOpenAI
13
+ from pydantic import BaseModel
13
14
  from rouge_score import tokenizers
14
15
  from rouge_score.rouge_scorer import RougeScorer
15
16
  from sacrebleu.metrics.bleu import BLEU
16
17
 
17
18
  from autorag import embedding_models
18
- from autorag.evaluation.metric.util import autorag_metric_loop
19
- from autorag.evaluation.metric.util import calculate_cosine_similarity
19
+ from autorag.evaluation.metric.deepeval_prompt import FaithfulnessTemplate
20
+ from autorag.evaluation.metric.util import (
21
+ autorag_metric_loop,
22
+ calculate_cosine_similarity,
23
+ )
24
+ from autorag.nodes.generator import OpenAILLM
25
+ from autorag.nodes.generator.base import BaseGenerator
20
26
  from autorag.schema.metricinput import MetricInput
27
+ from autorag.support import get_support_modules
21
28
  from autorag.utils.util import (
22
29
  get_event_loop,
23
30
  process_batch,
24
31
  openai_truncate_by_token,
25
32
  convert_inputs_to_list,
33
+ pop_params,
26
34
  )
27
35
 
28
36
 
@@ -58,6 +66,120 @@ def huggingface_evaluate(
58
66
  return result
59
67
 
60
68
 
69
+ def make_generator_instance(generator_module_type: str, llm: str, **kwargs):
70
+ llm_class = get_support_modules(generator_module_type)
71
+ init_params = pop_params(llm_class.__init__, kwargs)
72
+ return llm_class(project_dir="", llm=llm, **init_params)
73
+
74
+
75
+ @autorag_metric_loop(fields_to_check=["retrieval_gt_contents", "generated_texts"])
76
+ def deepeval_faithfulness(
77
+ metric_inputs: List[MetricInput],
78
+ generator_module_type: str = "openai_llm",
79
+ lang: str = "en",
80
+ llm: str = "gpt-4o-2024-08-06",
81
+ batch: int = 16,
82
+ **kwargs,
83
+ ) -> List[float]:
84
+ """
85
+ Compute deepeval faithfulness metric.
86
+ Its default model is gpt-4o-2024-08-06.
87
+ Since it uses OpenAI model, please be aware of the expensive cost.
88
+
89
+ :param metric_inputs: The list of MetricInput schema (Required Field -> "generation_gt", "generated_texts")
90
+ :param generator_module_type: Generator module type.
91
+ The default is "openai_llm".
92
+ You can use like "llama_index_llm" or "vllm".
93
+ :param lang: The prompt language that you want to use.
94
+ "en" and "ko" are supported.
95
+ Korean prompt is not officially supported by DeepEval, but it can be translated by AutoRAG developers.
96
+ Default is "en".
97
+ :param llm: The model name to use for generation.
98
+ Or llm if using llama_index_llm.
99
+ The default is "gpt-4o-2024-08-06".
100
+ :param batch: The batch size for processing.
101
+ Default is 16.
102
+ :param kwargs: The extra parameters for initializing the llm instance.
103
+ :return: The metric scores.
104
+ """
105
+
106
+ class Truth(BaseModel):
107
+ truths: List[str]
108
+
109
+ class Claim(BaseModel):
110
+ claims: List[str]
111
+
112
+ class Verdict(BaseModel):
113
+ verdict: str
114
+ reason: Optional[str]
115
+
116
+ class FaithfulnessVerdicts(BaseModel):
117
+ verdicts: List[Verdict]
118
+
119
+ def calculate_score(verdicts: List[Verdict]) -> float:
120
+ number_of_verdicts = len(verdicts)
121
+ if number_of_verdicts == 0:
122
+ return 1
123
+
124
+ faithfulness_count = 0
125
+ for verdict in verdicts:
126
+ if verdict.verdict.strip().lower() != "no":
127
+ faithfulness_count += 1
128
+
129
+ score = faithfulness_count / number_of_verdicts
130
+ return score
131
+
132
+ retrieval_contexts = list(map(lambda x: x.retrieval_gt_contents, metric_inputs))
133
+ truth_prompts = list(
134
+ map(lambda x: FaithfulnessTemplate.generate_truths(x, lang), retrieval_contexts)
135
+ )
136
+
137
+ generated_texts = list(map(lambda x: x.generated_texts, metric_inputs))
138
+ claim_prompts = list(
139
+ map(lambda x: FaithfulnessTemplate.generate_claims(x, lang), generated_texts)
140
+ )
141
+
142
+ generator: BaseGenerator = make_generator_instance(
143
+ generator_module_type, llm=llm, batch=batch, **kwargs
144
+ )
145
+ if isinstance(generator, OpenAILLM): # Because of the event loop error at the httpx
146
+ # TODO: Fix the httpx APIConnectionError at the many repetitive request to the OpenAILLM on the same instance
147
+ truth_responses: List[Truth] = generator.structured_output(truth_prompts, Truth)
148
+ claim_responses: List[Claim] = make_generator_instance(
149
+ generator_module_type, llm=llm, batch=batch, **kwargs
150
+ ).structured_output(claim_prompts, Claim)
151
+ verdict_prompts = list(
152
+ map(
153
+ lambda claim, truth: FaithfulnessTemplate.generate_verdicts(
154
+ "\n\n".join(claim.claims), "\n\n".join(truth.truths), lang
155
+ ),
156
+ claim_responses,
157
+ truth_responses,
158
+ )
159
+ )
160
+ verdict_responses: List[FaithfulnessVerdicts] = make_generator_instance(
161
+ generator_module_type, llm=llm, batch=batch, **kwargs
162
+ ).structured_output(verdict_prompts, FaithfulnessVerdicts)
163
+ else:
164
+ truth_responses: List[Truth] = generator.structured_output(truth_prompts, Truth)
165
+ claim_responses: List[Claim] = generator.structured_output(claim_prompts, Claim)
166
+ verdict_prompts = list(
167
+ map(
168
+ lambda claim, truth: FaithfulnessTemplate.generate_verdicts(
169
+ "\n\n".join(claim.claims), "\n\n".join(truth.truths), lang
170
+ ),
171
+ claim_responses,
172
+ truth_responses,
173
+ )
174
+ )
175
+ verdict_responses: List[FaithfulnessVerdicts] = generator.structured_output(
176
+ verdict_prompts, FaithfulnessVerdicts
177
+ )
178
+
179
+ result = list(map(lambda x: calculate_score(x.verdicts), verdict_responses))
180
+ return result
181
+
182
+
61
183
  @autorag_metric_loop(fields_to_check=["generation_gt", "generated_texts"])
62
184
  def bleu(
63
185
  metric_inputs: List[MetricInput],