AutoRAG 0.3.24__tar.gz → 0.3.25__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {autorag-0.3.24 → autorag-0.3.25}/PKG-INFO +12 -9
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluator.py +3 -0
- autorag-0.3.25/autorag/nodes/generator/chat.py +65 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/llama_index_llm.py +6 -1
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/minimax_llm.py +22 -46
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/openai_llm.py +10 -20
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/vllm_api.py +10 -6
- {autorag-0.3.24 → autorag-0.3.25}/autorag/schema/node.py +6 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/qdrant.py +5 -5
- {autorag-0.3.24 → autorag-0.3.25}/pyproject.toml +10 -8
- {autorag-0.3.24 → autorag-0.3.25}/sample_dataset/README.md +14 -2
- autorag-0.3.25/sample_dataset/clapnq/load_clapnq_dataset.py +86 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_llama_index_llm.py +33 -2
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_minimax.py +26 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_openai.py +105 -14
- autorag-0.3.25/tests/autorag/nodes/generator/test_vllm_api.py +56 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_cohere_reranker.py +3 -3
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/schema/test_node_schema.py +27 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_evaluator.py +33 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_qdrant.py +34 -4
- autorag-0.3.25/tests/delete_tests.py +38 -0
- autorag-0.3.25/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin +0 -0
- autorag-0.3.25/tests/sample_dataset/test_load_clapnq_dataset.py +51 -0
- autorag-0.3.25/uv.lock +10003 -0
- autorag-0.3.24/tests/delete_tests.py +0 -33
- autorag-0.3.24/uv.lock +0 -9432
- {autorag-0.3.24 → autorag-0.3.25}/.gitignore +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/.pre-commit-config.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/CNAME +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/CONTRIBUTING.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/LICENSE +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/README.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/chunker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/cli.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/dashboard.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/chunk/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/chunk/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/chunk/langchain_chunk.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/chunk/llama_index_chunk.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/chunk/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/corpus/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/corpus/langchain.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/corpus/llama_index.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/llama_index.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/llama_index_default_prompt.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/ragas.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/legacy/qacreation/simple.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/clova.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/langchain_parse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/llamaparse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/parse/table_hybrid_parse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/evolve/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/evolve/llama_index_query_evolve.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/evolve/openai_query_evolve.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/evolve/prompt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/extract_evidence.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/filter/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/filter/dontknow.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/filter/passage_dependency.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/filter/prompt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/generation_gt/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/generation_gt/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/generation_gt/llama_index_gen_gt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/generation_gt/openai_gen_gt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/generation_gt/prompt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/query/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/query/llama_gen_query.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/query/openai_gen_query.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/query/prompt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/sample.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/qa/schema.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/utils/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/data/utils/util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/deploy/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/deploy/api.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/deploy/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/deploy/gradio.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/deploy/swagger.yml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/embedding/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/embedding/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/embedding/vllm.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/generation.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/deepeval_prompt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/g_eval_prompts/coh_detailed.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/g_eval_prompts/con_detailed.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/g_eval_prompts/flu_detailed.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/g_eval_prompts/rel_detailed.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/generation.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/retrieval.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/retrieval_contents.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/metric/util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/retrieval.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/retrieval_contents.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/evaluation/util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/node_line.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/generator/vllm.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/hybridretrieval/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/hybridretrieval/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/hybridretrieval/hybrid_cc.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/hybridretrieval/hybrid_rrf.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/hybridretrieval/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/lexicalretrieval/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/lexicalretrieval/bm25.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/lexicalretrieval/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passageaugmenter/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passageaugmenter/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passageaugmenter/pass_passage_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passageaugmenter/prev_next_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passageaugmenter/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/longllmlingua.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/pass_compressor.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/refine.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagecompressor/tree_summarize.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/pass_passage_filter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/percentile_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/recency.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/similarity_percentile_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/similarity_threshold_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagefilter/threshold_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/cohere.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/colbert.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/flag_embedding.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/flag_embedding_llm.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/flashrank.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/jina.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/koreranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/mixedbreadai.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/monot5.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/nvidia.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/openvino.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/pass_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/rankgpt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/sentence_transformer.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/tart/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/tart/modeling_enc_t5.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/tart/tart.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/tart/tokenization_enc_t5.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/time_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/upr.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/passagereranker/voyageai.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/chat_fstring.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/fstring.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/long_context_reorder.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/promptmaker/window_replacement.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/hyde.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/multi_query_expansion.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/pass_query_expansion.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/query_decompose.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/queryexpansion/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/retrieval/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/retrieval/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/retrieval/run_util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/semanticretrieval/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/semanticretrieval/run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/semanticretrieval/vectordb.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/nodes/util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/parser.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/schema/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/schema/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/schema/metricinput.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/schema/module.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/strategy.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/support.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/utils/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/utils/cast.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/utils/preprocess.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/utils/util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/validator.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/chroma.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/couchbase.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/milvus.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/pinecone.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/vectordb/weaviate.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/autorag/web.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/CNAME +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/Makefile +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/make.bat +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/requirements.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/CNAME +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/data_creation.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/data_creation_pipeline.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/data_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/dcg.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/f1_score.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/integration/couchbase_search_index.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/integration/nvidia_api.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/integration/nvidia_nim.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/integration/ollama_autorag.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/map.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/mrr.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/ndcg.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/ndcg_formula.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/node_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/node_line_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/node_line_summary.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/node_lines.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/node_summary.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/normal_distribution.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/project_folder_example.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/project_folders.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/qa/data_creation_schema.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/resources_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/RAG_paradigms.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/advanced_RAG.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/cycle.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/merger.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/node_line_modular.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/roadmap/policy.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/samsung_sundae.jpeg +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/score_fusion.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/trial_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/trial_json.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/trial_summary.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/web_interface.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/web_interface_gradio.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/compact_structured.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/detail_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/full_modules.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/full_structured.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/full_yaml_structure.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/gpu_modules.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/half_structured.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/non_gpu_modules.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/sample_yaml_folder.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/_static/yaml/simple_structured.png +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.chunk.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.corpus.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.legacy.corpus.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.legacy.qacreation.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.legacy.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.parse.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qa.evolve.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qa.filter.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qa.generation_gt.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qa.query.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qa.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.qacreation.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.data.utils.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.deploy.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.evaluation.metric.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.evaluation.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.generator.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.passageaugmenter.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.passagecompressor.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.passagefilter.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.passagereranker.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.passagereranker.tart.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.promptmaker.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.queryexpansion.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.retrieval.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.nodes.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.schema.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.utils.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/autorag.vectordb.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/api_spec/modules.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/azure_openai.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/conf.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/chunk/chunk.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/chunk/langchain_chunk.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/chunk/llama_index_chunk.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/data_creation.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/data_format.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/legacy/legacy.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/legacy/parse.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/legacy/ragas.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/legacy/tutorial.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/parse/clova.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/parse/langchain_parse.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/parse/llama_parse.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/parse/parse.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/parse/table_hybrid_parse.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/qa_creation/answer_gen.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/qa_creation/evolve.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/qa_creation/filter.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/qa_creation/qa_creation.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/qa_creation/query_gen.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/data_creation/tutorial.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/deploy/api_endpoint.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/deploy/web.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/evaluate_metrics/generation.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/evaluate_metrics/retrieval.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/evaluate_metrics/retrieval_contents.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/index.rst +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/install.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/llm/aws_bedrock.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/llm/huggingface_llm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/llm/llm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/llm/nvidia_nim.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/llm/ollama.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/chroma.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/couchbase.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/milvus.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/pinecone.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/qdrant.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/vectordb.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/integration/vectordb/weaviate.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/local_model.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/migration.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/generator.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/llama_index_llm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/minimax_llm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/openai_llm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/vllm.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/generator/vllm_api.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/index.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_augmenter/passage_augmenter.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_augmenter/prev_next_augmenter.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_compressor/longllmlingua.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_compressor/passage_compressor.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_compressor/refine.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_compressor/tree_summarize.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/passage_filter.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/percentile_cutoff.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/recency_filter.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/similarity_percentile_cutoff.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/similarity_threshold_cutoff.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_filter/threshold_cutoff.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/cohere.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/colbert.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/flag_embedding_llm_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/flag_embedding_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/flashrank_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/jina_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/koreranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/mixedbreadai_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/monot5.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/nvidia_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/openvino_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/passage_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/rankgpt.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/sentence_transformer_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/tart.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/time_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/upr.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/passage_reranker/voyageai_reranker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/prompt_maker/chat_fstring.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/prompt_maker/fstring.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/prompt_maker/long_context_reorder.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/prompt_maker/prompt_maker.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/prompt_maker/window_replacement.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/query_expansion/hyde.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/query_expansion/multi_query_expansion.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/query_expansion/query_decompose.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/query_expansion/query_expansion.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/retrieval/bm25.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/retrieval/hybrid_cc.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/retrieval/hybrid_rrf.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/retrieval/retrieval.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/nodes/retrieval/vectordb.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/optimization/custom_config.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/optimization/folder_structure.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/optimization/optimization.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/optimization/sample_config.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/optimization/strategies.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/roadmap/modular_rag.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/structure.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/test_your_rag.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/troubleshooting.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/docs/source/tutorial.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/chunk/chunk_full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/chunk/chunk_ko.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/chunk/simple_chunk.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/all_files_full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/file_types_full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/parse_hybird.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/parse_ko.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/parse_multimodal.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/parse_ocr.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/parse/simple_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu/compact_local.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu/compact_openai.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu/full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu/half.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu_api/compact.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu_api/full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/gpu_api/half.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/compact.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/half.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_azure_openai.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_bedrock.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_local.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_minimax.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_ollama.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/english/non_gpu/simple_openai.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/extracted_sample.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu/compact_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu/full_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu/half_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu_api/compact_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu_api/full_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/gpu_api/half_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/non_gpu/compact_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/non_gpu/full_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/non_gpu/half_korean.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_config/rag/korean/non_gpu/simple_korean.yaml +0 -0
- {autorag-0.3.24/tests → autorag-0.3.25/sample_dataset/clapnq}/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_dataset/eli5/load_eli5_dataset.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_dataset/hotpotqa/load_hotpotqa_dataset.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_dataset/msmarco/load_msmarco_dataset.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/sample_dataset/triviaqa/load_triviaqa_dataset.py +0 -0
- /autorag-0.3.24/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/link_lists.bin → /autorag-0.3.25/tests/__init__.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/chunk/test_chunk_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/chunk/test_chunk_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/chunk/test_langchain_chunk.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/chunk/test_llama_index_chunk.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/corpus/test_base_corpus_legacy.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/corpus/test_langchain.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/corpus/test_llama_index_corpus.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/qacreation/test_base_qacreation.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/qacreation/test_llama_index_qacreation.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/qacreation/test_ragas_qa_creation.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/legacy/qacreation/test_simple.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_clova.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_langchain_parse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_llamaparse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_parse_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_parse_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/parse/test_table_hybrid_parse.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/evolve/base_test_query_evolve.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/evolve/test_llama_index_query_evolve.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/evolve/test_openai_query_evolve.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/filter/test_dontknow.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/filter/test_passage_dependency.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/generation_gt/base_test_generation_gt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/generation_gt/test_llama_index_gen_gt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/generation_gt/test_openai_gen_gt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/query/base_test_query_gen.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/query/test_llama_gen_query.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/query/test_openai_gen_query.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/test_data_creation_piepline.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/test_sample.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/data/qa/test_schema.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/embedding/test_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/metric/test_generation_metric.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/metric/test_retrieval_contents_metric.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/metric/test_retrieval_metric.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/test_evaluate_util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/test_generation_evaluate.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/test_retrieval_contents_evaluate.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/evaluate/test_retrieval_evaluate.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_generator_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_run_generator_node.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/generator/test_vllm.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/hybridretrieval/test_hybrid_cc.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/hybridretrieval/test_hybrid_rrf.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/hybridretrieval/test_run_hybrid_retrieval.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/lexicalretrieval/test_bm25.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/lexicalretrieval/test_run_lexical_retrieval.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passageaugmenter/test_base_passage_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passageaugmenter/test_pass_passage_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passageaugmenter/test_prev_next_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passageaugmenter/test_run_passage_augmenter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_base_passage_compressor.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_longllmlingua.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_pass_compressor.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_refine.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_run_passage_compressor_node.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagecompressor/test_tree_summarize.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_pass_passage_filter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_passage_filter_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_passage_filter_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_percentile_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_recency_filter.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_similarity_percentile_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_similarity_threshold_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagefilter/test_threshold_cutoff.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_colbert_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_flag_embedding.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_flag_embedding_llm.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_flashrank_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_jina_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_koreranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_mixedbreadai_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_monot5.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_nvidia_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_openvino_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_pass_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_passage_reranker_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_passage_reranker_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_rankgpt.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_sentence_transformer.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_tart.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_time_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_upr.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/passagereranker/test_voyageai_reranker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_chat_fstring.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_fstring.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_long_context_reorder.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_prompt_maker_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_prompt_maker_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/promptmaker/test_window_replacement.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_hyde.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_multi_query_expansion.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_pass_query_expansion.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_query_decompose.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_query_expansion_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/queryexpansion/test_query_expansion_run.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/retrieval/test_hybrid_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/retrieval/test_retrieval_base.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/semanticretrieval/test_run_semantic_retrieval.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/nodes/semanticretrieval/test_vectordb.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/schema/test_base_schema.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/schema/test_metricinput_schema.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/schema/test_module_schema.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_chunker.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_cli.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_dashboard.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_deploy.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_node_line.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_parser.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_strategy.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_support.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_validator.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/test_web.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/utils/test_preprocess.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/utils/test_util.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_base_vectordb.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_chroma.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_couchbase.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_milvus.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_pinecone.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/autorag/vectordb/test_weaviate.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/conftest.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/mock.py +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/README.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/chunk_data/sample_parsed.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/corpus_data_sample.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/data_creation/raw_dir/sample1.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/data_creation/raw_dir/sample2.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/data_creation/raw_dir/sample3.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/dataset_sample_gen_by_autorag/corpus.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/dataset_sample_gen_by_autorag/qa.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/full.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files/baseball_1.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files/csv_sample.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/baseball_1.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/csv_sample.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/html_sample.html +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/json_sample.json +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/markdown_sample.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/all_files_full/xml_sample.xml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/clova_data/result_sample.json +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/clova_data/result_table.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/clova_data/result_text.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/config/all_files.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/config/lack_full_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/config/lack_simple_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/config/perfect_full_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/config/perfect_simple_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/csv_data/csv_sample.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/eng_text/baseball_1.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/eng_text/baseball_2.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/html_data/html_sample.html +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/hybrid_data/nfl_rulebook_both.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/json_data/json_sample.json +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/korean_table/only_table/kbo_only_table.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/korean_table/table_text/kbo_table_text.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/korean_text/korean_texts_two_page.pdf +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/markdown_data/markdown_sample.md +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/parse_data/xml_data/xml_sample.xml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/qa_data_sample.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/qa_gen_prompts/prompt1.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/qa_gen_prompts/prompt2.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/qa_gen_prompts/prompt3.txt +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/qa_test_data_sample.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/config.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/generator/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/generator/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/generator/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/post_retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/hybrid_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/lexical_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/semantic_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/0/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/config.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/hybrid_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/lexical_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/semantic_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/1/retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/config.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/1.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/post_retrieve_node_line/prompt_maker/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/1.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/2.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/query_expansion/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/pre_retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/hybrid_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/lexical_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/passage_reranker/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/best_0.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/semantic_retrieval/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/2/retrieve_node_line/summary.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/3/config.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/best.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/data/corpus.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/data/qa.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/data_level0.bin +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/header.bin +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/chroma/6595d304-5270-4d9f-a267-c191366804ce/length.bin +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/chroma/chroma.sqlite3 +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/resources/vectordb.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/result_project/trial.json +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_contents_nqa.csv +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_project/data/corpus.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_project/data/qa.parquet +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_project/resources/bm25_gpt2.pkl +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_project/resources/bm25_porter_stemmer.pkl +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/sample_project/resources/vectordb.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_chunk.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_milvus.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_mock.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_mock_with_llm.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_parse.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/simple_with_llm.yaml +0 -0
- {autorag-0.3.24 → autorag-0.3.25}/tests/resources/test_bm25_retrieval.pkl +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: AutoRAG
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.25
|
|
4
4
|
Summary: Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Marker-Inc-Korea/AutoRAG
|
|
6
6
|
Author-email: Marker-Inc <vkehfdl1@gmail.com>
|
|
@@ -229,10 +229,10 @@ Requires-Dist: evaluate>=0.4.4
|
|
|
229
229
|
Requires-Dist: fastapi>=0.115.13
|
|
230
230
|
Requires-Dist: fastparquet>=2024.11.0
|
|
231
231
|
Requires-Dist: gradio>=6.15.0
|
|
232
|
-
Requires-Dist: grpcio-health-checking<1.
|
|
233
|
-
Requires-Dist: grpcio-status<1.
|
|
234
|
-
Requires-Dist: grpcio-tools<1.
|
|
235
|
-
Requires-Dist: grpcio<1.
|
|
232
|
+
Requires-Dist: grpcio-health-checking<1.84.0,>=1.66.2
|
|
233
|
+
Requires-Dist: grpcio-status<1.84.0,>=1.66.2
|
|
234
|
+
Requires-Dist: grpcio-tools<1.84.0,>=1.66.2
|
|
235
|
+
Requires-Dist: grpcio<1.84.0,>=1.66.2
|
|
236
236
|
Requires-Dist: ipykernel>=6.29.5
|
|
237
237
|
Requires-Dist: ipywidgets-bokeh>=1.6.0
|
|
238
238
|
Requires-Dist: ipywidgets>=8.1.7
|
|
@@ -251,6 +251,7 @@ Requires-Dist: llama-index-llms-openai>=0.4.7
|
|
|
251
251
|
Requires-Dist: llama-index-readers-file>=0.4.9
|
|
252
252
|
Requires-Dist: llama-index-retrievers-bm25>=0.5.2
|
|
253
253
|
Requires-Dist: llama-index>=0.12.42
|
|
254
|
+
Requires-Dist: llama-parse>=0.6.21
|
|
254
255
|
Requires-Dist: mixedbread-ai>=2.2.6
|
|
255
256
|
Requires-Dist: numpy>=2.2.6
|
|
256
257
|
Requires-Dist: openai>=2.8.0
|
|
@@ -259,7 +260,7 @@ Requires-Dist: panel>=1.7.1
|
|
|
259
260
|
Requires-Dist: pinecone[grpc]
|
|
260
261
|
Requires-Dist: pyarrow>=23.0.1
|
|
261
262
|
Requires-Dist: pydantic>=2.9.2
|
|
262
|
-
Requires-Dist: pymilvus<
|
|
263
|
+
Requires-Dist: pymilvus<4,>=2.6.0b0
|
|
263
264
|
Requires-Dist: pyngrok>=7.2.11
|
|
264
265
|
Requires-Dist: pyyaml>=6.0.2
|
|
265
266
|
Requires-Dist: qdrant-client>=1.12.1
|
|
@@ -300,7 +301,8 @@ Requires-Dist: sudachipy>=0.6.8; extra == 'all'
|
|
|
300
301
|
Requires-Dist: torch>=2.7.1; extra == 'all'
|
|
301
302
|
Requires-Dist: transformers>=4.51.3; extra == 'all'
|
|
302
303
|
Requires-Dist: unstructured[pdf]>=0.17.2; extra == 'all'
|
|
303
|
-
Requires-Dist: vllm
|
|
304
|
+
Requires-Dist: vllm<0.28.0,>=0.11.0; extra == 'all'
|
|
305
|
+
Requires-Dist: xgrammar<0.3.0,>=0.1.32; extra == 'all'
|
|
304
306
|
Provides-Extra: gpu
|
|
305
307
|
Requires-Dist: bert-score>=0.3.13; extra == 'gpu'
|
|
306
308
|
Requires-Dist: flagembedding>=1.2.11; extra == 'gpu'
|
|
@@ -314,7 +316,8 @@ Requires-Dist: sentence-transformers>=4.1.0; extra == 'gpu'
|
|
|
314
316
|
Requires-Dist: sentencepiece>=0.2.0; extra == 'gpu'
|
|
315
317
|
Requires-Dist: torch>=2.7.1; extra == 'gpu'
|
|
316
318
|
Requires-Dist: transformers>=4.51.3; extra == 'gpu'
|
|
317
|
-
Requires-Dist: vllm
|
|
319
|
+
Requires-Dist: vllm<0.28.0,>=0.11.0; extra == 'gpu'
|
|
320
|
+
Requires-Dist: xgrammar<0.3.0,>=0.1.32; extra == 'gpu'
|
|
318
321
|
Provides-Extra: ja
|
|
319
322
|
Requires-Dist: sudachidict-core; extra == 'ja'
|
|
320
323
|
Requires-Dist: sudachipy>=0.6.8; extra == 'ja'
|
|
@@ -151,6 +151,9 @@ class Evaluator:
|
|
|
151
151
|
)
|
|
152
152
|
yaml_dict = load_yaml_config(yaml_path)
|
|
153
153
|
vectordb = yaml_dict.get("vectordb", [])
|
|
154
|
+
for vectordb_config in vectordb:
|
|
155
|
+
if "path" in vectordb_config:
|
|
156
|
+
vectordb_config["path"] = os.path.abspath(vectordb_config["path"])
|
|
154
157
|
|
|
155
158
|
vectordb_config_path = os.path.join(
|
|
156
159
|
self.project_dir, "resources", "vectordb.yaml"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""Helpers for truncating chat prompts without changing their message roles."""
|
|
2
|
+
|
|
3
|
+
from typing import Callable, Dict, List, Sequence, TypeVar, Union
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Token = TypeVar("Token")
|
|
7
|
+
Encode = Callable[[str], Sequence[Token]]
|
|
8
|
+
Decode = Callable[[Sequence[Token]], str]
|
|
9
|
+
Prompt = Union[str, List[Dict]]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def messages_to_string(messages: List[Dict[str, str]]) -> str:
|
|
13
|
+
"""Render messages only for token counting, never for model input."""
|
|
14
|
+
formatted_parts = [
|
|
15
|
+
f"<|im_start|>{message['role']}\n{message['content']}<|im_end|>"
|
|
16
|
+
for message in messages
|
|
17
|
+
]
|
|
18
|
+
formatted_parts.append("<|im_start|>assistant")
|
|
19
|
+
return "\n".join(formatted_parts)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def count_message_tokens(messages: List[Dict], encode: Encode) -> int:
|
|
23
|
+
"""Count the tokenized representation of a chat prompt."""
|
|
24
|
+
return len(encode(messages_to_string(messages)))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def truncate_messages_by_token(
|
|
28
|
+
messages: List[Dict], encode: Encode, decode: Decode, max_token_size: int
|
|
29
|
+
) -> List[Dict]:
|
|
30
|
+
"""Fit a chat prompt in a token budget while preserving message structure."""
|
|
31
|
+
truncated_messages = [dict(message) for message in messages]
|
|
32
|
+
if count_message_tokens(truncated_messages, encode) <= max_token_size:
|
|
33
|
+
return truncated_messages
|
|
34
|
+
|
|
35
|
+
result = [{**message, "content": ""} for message in truncated_messages]
|
|
36
|
+
if count_message_tokens(result, encode) > max_token_size:
|
|
37
|
+
return result
|
|
38
|
+
|
|
39
|
+
for index, message in enumerate(truncated_messages):
|
|
40
|
+
content_tokens = encode(message.get("content", ""))
|
|
41
|
+
low, high = 0, len(content_tokens)
|
|
42
|
+
best_content = ""
|
|
43
|
+
while low <= high:
|
|
44
|
+
mid = (low + high) // 2
|
|
45
|
+
candidate = [dict(item) for item in result]
|
|
46
|
+
candidate[index]["content"] = decode(content_tokens[:mid])
|
|
47
|
+
if count_message_tokens(candidate, encode) <= max_token_size:
|
|
48
|
+
best_content = candidate[index]["content"]
|
|
49
|
+
low = mid + 1
|
|
50
|
+
else:
|
|
51
|
+
high = mid - 1
|
|
52
|
+
|
|
53
|
+
result[index]["content"] = best_content
|
|
54
|
+
|
|
55
|
+
return result
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def truncate_prompt_by_token(
|
|
59
|
+
prompt: Prompt, encode: Encode, decode: Decode, max_token_size: int
|
|
60
|
+
) -> Prompt:
|
|
61
|
+
"""Truncate text or chat prompts while retaining a chat prompt's roles."""
|
|
62
|
+
if isinstance(prompt, list):
|
|
63
|
+
return truncate_messages_by_token(prompt, encode, decode, max_token_size)
|
|
64
|
+
tokens = encode(prompt)
|
|
65
|
+
return decode(tokens[:max_token_size])
|
|
@@ -55,7 +55,12 @@ class LlamaIndexLLM(BaseGenerator):
|
|
|
55
55
|
"`model` or `model_name` parameter must be provided for using huggingfacellm."
|
|
56
56
|
)
|
|
57
57
|
kwargs["tokenizer_name"] = kwargs["model_name"]
|
|
58
|
-
|
|
58
|
+
llm_params = pop_params(llm_class.__init__, kwargs)
|
|
59
|
+
model_fields = getattr(llm_class, "model_fields", {})
|
|
60
|
+
for key in list(kwargs.keys()):
|
|
61
|
+
if key in model_fields:
|
|
62
|
+
llm_params[key] = kwargs.pop(key)
|
|
63
|
+
self.llm_instance: BaseLLM = llm_class(**llm_params)
|
|
59
64
|
|
|
60
65
|
def __del__(self):
|
|
61
66
|
super().__del__()
|
|
@@ -8,6 +8,11 @@ from openai import AsyncOpenAI
|
|
|
8
8
|
from tiktoken import Encoding
|
|
9
9
|
|
|
10
10
|
from autorag.nodes.generator.base import BaseGenerator
|
|
11
|
+
from autorag.nodes.generator.chat import (
|
|
12
|
+
count_message_tokens as count_message_tokens_with_encoder,
|
|
13
|
+
messages_to_string as render_messages_to_string,
|
|
14
|
+
truncate_prompt_by_token,
|
|
15
|
+
)
|
|
11
16
|
from autorag.utils.util import (
|
|
12
17
|
get_event_loop,
|
|
13
18
|
process_batch,
|
|
@@ -186,63 +191,34 @@ class MiniMaxLLM(BaseGenerator):
|
|
|
186
191
|
def truncate_by_token(
|
|
187
192
|
prompt: Union[str, List[Dict]], tokenizer: Encoding, max_token_size: int
|
|
188
193
|
) -> Union[str, List[Dict]]:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
194
|
+
return truncate_prompt_by_token(
|
|
195
|
+
prompt,
|
|
196
|
+
lambda text: tokenizer.encode(text, allowed_special="all"),
|
|
197
|
+
tokenizer.decode,
|
|
198
|
+
max_token_size,
|
|
199
|
+
)
|
|
193
200
|
|
|
194
201
|
|
|
195
202
|
def truncate_messages_by_token(
|
|
196
203
|
messages: List[Dict], tokenizer: Encoding, max_token_size: int
|
|
197
204
|
) -> List[Dict]:
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
candidate = result + [message]
|
|
205
|
-
if count_message_tokens(candidate, tokenizer) <= max_token_size:
|
|
206
|
-
result.append(message)
|
|
207
|
-
continue
|
|
208
|
-
|
|
209
|
-
content_tokens = tokenizer.encode(
|
|
210
|
-
message.get("content", ""), allowed_special="all"
|
|
211
|
-
)
|
|
212
|
-
low, high = 0, len(content_tokens)
|
|
213
|
-
best_content = ""
|
|
214
|
-
while low <= high:
|
|
215
|
-
mid = (low + high) // 2
|
|
216
|
-
truncated_message = {
|
|
217
|
-
**message,
|
|
218
|
-
"content": tokenizer.decode(content_tokens[:mid]),
|
|
219
|
-
}
|
|
220
|
-
candidate = result + [truncated_message]
|
|
221
|
-
if count_message_tokens(candidate, tokenizer) <= max_token_size:
|
|
222
|
-
best_content = truncated_message["content"]
|
|
223
|
-
low = mid + 1
|
|
224
|
-
else:
|
|
225
|
-
high = mid - 1
|
|
226
|
-
|
|
227
|
-
if best_content or not result:
|
|
228
|
-
result.append({**message, "content": best_content})
|
|
229
|
-
break
|
|
230
|
-
|
|
231
|
-
return result
|
|
205
|
+
return truncate_prompt_by_token(
|
|
206
|
+
messages,
|
|
207
|
+
lambda text: tokenizer.encode(text, allowed_special="all"),
|
|
208
|
+
tokenizer.decode,
|
|
209
|
+
max_token_size,
|
|
210
|
+
)
|
|
232
211
|
|
|
233
212
|
|
|
234
213
|
def count_message_tokens(messages: List[Dict], tokenizer: Encoding) -> int:
|
|
235
|
-
return
|
|
214
|
+
return count_message_tokens_with_encoder(
|
|
215
|
+
messages, lambda text: tokenizer.encode(text, allowed_special="all")
|
|
216
|
+
)
|
|
236
217
|
|
|
237
218
|
|
|
238
219
|
def messages_to_string(messages: List[Dict[str, str]]) -> str:
|
|
239
|
-
"""Convert chat messages to string
|
|
240
|
-
|
|
241
|
-
f"<|im_start|>{message['role']}\n{message['content']}<|im_end|>"
|
|
242
|
-
for message in messages
|
|
243
|
-
]
|
|
244
|
-
formatted_parts.append("<|im_start|>assistant")
|
|
245
|
-
return "\n".join(formatted_parts)
|
|
220
|
+
"""Convert chat messages to a string for token counting compatibility."""
|
|
221
|
+
return render_messages_to_string(messages)
|
|
246
222
|
|
|
247
223
|
|
|
248
224
|
def strip_think_tags(text: str) -> str:
|
|
@@ -8,6 +8,7 @@ from openai import AsyncOpenAI
|
|
|
8
8
|
from tiktoken import Encoding
|
|
9
9
|
|
|
10
10
|
from autorag.nodes.generator.base import BaseGenerator
|
|
11
|
+
from autorag.nodes.generator.chat import messages_to_string, truncate_prompt_by_token
|
|
11
12
|
from autorag.utils.util import (
|
|
12
13
|
get_event_loop,
|
|
13
14
|
process_batch,
|
|
@@ -333,16 +334,9 @@ class OpenAILLM(BaseGenerator):
|
|
|
333
334
|
if not self.llm.startswith("gpt-5"):
|
|
334
335
|
raise ValueError("get_result_gpt_5 is only for gpt-5 models.")
|
|
335
336
|
messages = parse_prompt(prompt)
|
|
336
|
-
instruction = "\n\n".join(
|
|
337
|
-
[msg["content"] for msg in messages if msg["role"] == "system"]
|
|
338
|
-
)
|
|
339
|
-
user_input = "\n\n".join(
|
|
340
|
-
[msg["content"] for msg in messages if msg["role"] == "user"]
|
|
341
|
-
)
|
|
342
337
|
response = await self.client.responses.create(
|
|
343
338
|
model=self.llm,
|
|
344
|
-
|
|
345
|
-
input=user_input,
|
|
339
|
+
input=messages,
|
|
346
340
|
**kwargs,
|
|
347
341
|
)
|
|
348
342
|
answer: str = response.output_text
|
|
@@ -354,21 +348,17 @@ class OpenAILLM(BaseGenerator):
|
|
|
354
348
|
def truncate_by_token(
|
|
355
349
|
prompt: Union[str, List[Dict]], tokenizer: Encoding, max_token_size: int
|
|
356
350
|
):
|
|
357
|
-
|
|
358
|
-
prompt
|
|
359
|
-
|
|
360
|
-
|
|
351
|
+
return truncate_prompt_by_token(
|
|
352
|
+
prompt,
|
|
353
|
+
lambda text: tokenizer.encode(text, allowed_special="all"),
|
|
354
|
+
tokenizer.decode,
|
|
355
|
+
max_token_size,
|
|
356
|
+
)
|
|
361
357
|
|
|
362
358
|
|
|
363
359
|
def tiktoken_messages_to_string(messages: List[Dict[str, str]]) -> str:
|
|
364
|
-
"""Convert chat messages to string
|
|
365
|
-
|
|
366
|
-
f"<|im_start|>{message['role']}\n{message['content']}<|im_end|>"
|
|
367
|
-
for message in messages
|
|
368
|
-
]
|
|
369
|
-
formatted_parts.append("<|im_start|>assistant")
|
|
370
|
-
full_string = "\n".join(formatted_parts)
|
|
371
|
-
return full_string
|
|
360
|
+
"""Convert chat messages to a string for token counting compatibility."""
|
|
361
|
+
return messages_to_string(messages)
|
|
372
362
|
|
|
373
363
|
|
|
374
364
|
def parse_prompt(prompt: Union[str, List[Dict]]) -> List[Dict]:
|
|
@@ -7,6 +7,7 @@ import requests
|
|
|
7
7
|
from asyncio import to_thread
|
|
8
8
|
|
|
9
9
|
from autorag.nodes.generator.base import BaseGenerator
|
|
10
|
+
from autorag.nodes.generator.chat import truncate_prompt_by_token
|
|
10
11
|
from autorag.utils.util import get_event_loop, process_batch, result_to_dataframe
|
|
11
12
|
|
|
12
13
|
logger = logging.getLogger("AutoRAG")
|
|
@@ -84,15 +85,18 @@ class VllmAPI(BaseGenerator):
|
|
|
84
85
|
logprob_result = list(map(lambda x: x[2], results))
|
|
85
86
|
return answer_result, token_result, logprob_result
|
|
86
87
|
|
|
87
|
-
def truncate_by_token(
|
|
88
|
+
def truncate_by_token(
|
|
89
|
+
self, prompt: Union[str, List[Dict]]
|
|
90
|
+
) -> Union[str, List[Dict]]:
|
|
88
91
|
"""
|
|
89
92
|
Function to truncate prompts to fit within the maximum token limit.
|
|
90
93
|
"""
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
return truncate_prompt_by_token(
|
|
95
|
+
prompt,
|
|
96
|
+
lambda text: self.encoding_for_model(text)["tokens"],
|
|
97
|
+
lambda tokens: self.decoding_for_model(list(tokens))["prompt"],
|
|
98
|
+
self.max_model_len,
|
|
99
|
+
)
|
|
96
100
|
|
|
97
101
|
def call_vllm_api(self, prompt: Union[str, List[Dict]], **kwargs) -> dict:
|
|
98
102
|
"""
|
|
@@ -22,6 +22,12 @@ class Node:
|
|
|
22
22
|
run_node: Callable = field(init=False)
|
|
23
23
|
|
|
24
24
|
def __post_init__(self):
|
|
25
|
+
if self.node_type == "hybrid_retrieval" and isinstance(
|
|
26
|
+
self.node_params.get("top_k"), list
|
|
27
|
+
):
|
|
28
|
+
raise ValueError(
|
|
29
|
+
"hybrid_retrieval top_k must be an integer, not a list."
|
|
30
|
+
)
|
|
25
31
|
self.run_node = get_support_nodes(self.node_type)
|
|
26
32
|
if self.run_node is None:
|
|
27
33
|
raise ValueError(f"Node type {self.node_type} is not supported.")
|
|
@@ -8,7 +8,7 @@ from qdrant_client.models import (
|
|
|
8
8
|
PointIdsList,
|
|
9
9
|
HasIdCondition,
|
|
10
10
|
Filter,
|
|
11
|
-
|
|
11
|
+
QueryRequest,
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
from typing import List, Tuple, Union
|
|
@@ -148,18 +148,18 @@ class Qdrant(BaseVectorStore):
|
|
|
148
148
|
|
|
149
149
|
search_queries = list(
|
|
150
150
|
map(
|
|
151
|
-
lambda x:
|
|
151
|
+
lambda x: QueryRequest(query=x, limit=top_k, with_vector=True),
|
|
152
152
|
query_embeddings,
|
|
153
153
|
)
|
|
154
154
|
)
|
|
155
155
|
|
|
156
|
-
search_result = self.client.
|
|
156
|
+
search_result = self.client.query_batch_points(
|
|
157
157
|
collection_name=self.collection_name, requests=search_queries
|
|
158
158
|
)
|
|
159
159
|
|
|
160
160
|
# Extract IDs and distances
|
|
161
|
-
ids = [[str(hit.id) for hit in result] for result in search_result]
|
|
162
|
-
scores = [[hit.score for hit in result] for result in search_result]
|
|
161
|
+
ids = [[str(hit.id) for hit in result.points] for result in search_result]
|
|
162
|
+
scores = [[hit.score for hit in result.points] for result in search_result]
|
|
163
163
|
|
|
164
164
|
return ids, scores
|
|
165
165
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "AutoRAG"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.25"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name = "Marker-Inc", email = "vkehfdl1@gmail.com" }
|
|
6
6
|
]
|
|
@@ -46,13 +46,13 @@ dependencies = [
|
|
|
46
46
|
"emoji>=2.14.1",
|
|
47
47
|
"fastapi>=0.115.13",
|
|
48
48
|
"banks>=2.4.2",
|
|
49
|
-
"grpcio>=1.66.2,<1.
|
|
50
|
-
"grpcio-health-checking>=1.66.2,<1.
|
|
51
|
-
"grpcio-status>=1.66.2,<1.
|
|
52
|
-
"grpcio-tools>=1.66.2,<1.
|
|
49
|
+
"grpcio>=1.66.2,<1.84.0",
|
|
50
|
+
"grpcio-health-checking>=1.66.2,<1.84.0",
|
|
51
|
+
"grpcio-status>=1.66.2,<1.84.0",
|
|
52
|
+
"grpcio-tools>=1.66.2,<1.84.0",
|
|
53
53
|
"datasets>=3.5.1",
|
|
54
54
|
# Vector DB
|
|
55
|
-
"pymilvus>=2.6.0b0,<
|
|
55
|
+
"pymilvus>=2.6.0b0,<4", # for using milvus vectordb (3.x drops milvus-lite)
|
|
56
56
|
"chromadb>=1.0.0", # for chroma vectordb
|
|
57
57
|
"weaviate-client>=4.15.2", # for weaviate vectordb
|
|
58
58
|
"pinecone[grpc]", # for pinecone vectordb
|
|
@@ -72,6 +72,7 @@ dependencies = [
|
|
|
72
72
|
"llama-index-llms-openai-like>=0.4.0",
|
|
73
73
|
"llama-index-retrievers-bm25>=0.5.2",
|
|
74
74
|
"llama-index-llms-bedrock>=0.3.8",
|
|
75
|
+
"llama-parse>=0.6.21", # llamaparse parser; no longer transitively provided by llama-index
|
|
75
76
|
# WebUI
|
|
76
77
|
"streamlit>=1.54.0",
|
|
77
78
|
"gradio>=6.15.0",
|
|
@@ -119,7 +120,7 @@ dev = [
|
|
|
119
120
|
"pytest-mock",
|
|
120
121
|
"aioresponses>=0.7.9",
|
|
121
122
|
"asyncstdlib",
|
|
122
|
-
"vllm-mock>=0.0.3",
|
|
123
|
+
"vllm-mock>=0.0.3; sys_platform == 'linux'",
|
|
123
124
|
"ty",
|
|
124
125
|
"deptry",
|
|
125
126
|
]
|
|
@@ -130,7 +131,8 @@ parse = ["PyMuPDF>=1.26.1", "pdfminer.six>=20250506", "pdfplumber>=0.11.7", "jq>
|
|
|
130
131
|
ja = ["sudachipy>=0.6.8", "sudachidict_core"]
|
|
131
132
|
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",
|
|
132
133
|
"sentence-transformers>=4.1.0", "transformers>=4.51.3", "llama-index-llms-ollama>=0.6.0", "llama-index-embeddings-huggingface>=0.5.4",
|
|
133
|
-
"llama-index-llms-huggingface>=0.5.0", "onnxruntime>=1.22.0", "
|
|
134
|
+
"llama-index-llms-huggingface>=0.5.0", "onnxruntime>=1.22.0", "xgrammar>=0.1.32,<0.3.0",
|
|
135
|
+
"vllm>=0.11.0,<0.28.0"]
|
|
134
136
|
all = ["AutoRAG[gpu]", "AutoRAG[ko]", "AutoRAG[parse]", "AutoRAG[ja]"]
|
|
135
137
|
|
|
136
138
|
[project.scripts]
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
The sample_dataset folder does not includes a `qa.parquet`, `corpus.parquet` file that is significantly large and cannot be uploaded directly to Git due to size limitations.
|
|
4
4
|
|
|
5
|
-
To prepare and use datasets available in the sample_dataset folder, specifically `triviaqa`, `hotpotqa`, `msmarco` and `
|
|
5
|
+
To prepare and use datasets available in the sample_dataset folder, specifically `triviaqa`, `hotpotqa`, `msmarco`, `eli5` and `clapnq`, you can follow the outlined methods below.
|
|
6
6
|
|
|
7
7
|
## Usage
|
|
8
8
|
|
|
9
|
-
The example provided uses `triviaqa`, but the same approach applies to `msmarco`, `eli5` and `
|
|
9
|
+
The example provided uses `triviaqa`, but the same approach applies to `msmarco`, `eli5`, `hotpotqa` and `clapnq`.
|
|
10
10
|
|
|
11
11
|
### 1. Run with a specified save path
|
|
12
12
|
To execute the Python script from the terminal and save the dataset to a specified path, use the command:
|
|
@@ -22,4 +22,16 @@ If you run the script without the `--save_path` argument, the dataset will be sa
|
|
|
22
22
|
```bash
|
|
23
23
|
python ./sample_dataset/triviaqa/load_triviaqa_dataset.py
|
|
24
24
|
```
|
|
25
|
+
|
|
26
|
+
ClapNQ's official retrieval corpus and answerable train/development question
|
|
27
|
+
files are downloaded from the `PrimeQA/clapnq` repository. The corpus includes
|
|
28
|
+
the complete retrieval collection rather than only gold passages. Questions
|
|
29
|
+
without a gold passage are omitted because they cannot produce AutoRAG
|
|
30
|
+
`retrieval_gt` entries.
|
|
31
|
+
|
|
32
|
+
To create the ClapNQ sample directly:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
python ./sample_dataset/clapnq/load_clapnq_dataset.py --save_path /path/to/save/dataset
|
|
36
|
+
```
|
|
25
37
|
This behavior allows for a straightforward execution without needing to specify a path, making it convenient for quick tests or when working directly within the target directory.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import pathlib
|
|
2
|
+
from collections.abc import Iterable
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
import click
|
|
6
|
+
import pandas as pd
|
|
7
|
+
from datasets import load_dataset
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
PASSAGES_URL = (
|
|
11
|
+
"https://huggingface.co/datasets/PrimeQA/clapnq_passages/resolve/main/passages.tsv"
|
|
12
|
+
)
|
|
13
|
+
RETRIEVAL_URL = "https://raw.githubusercontent.com/primeqa/clapnq/main/retrieval"
|
|
14
|
+
TRAIN_QUESTIONS_URL = f"{RETRIEVAL_URL}/train/question_train_answerable.tsv"
|
|
15
|
+
TEST_QUESTIONS_URL = f"{RETRIEVAL_URL}/dev/question_dev_answerable.tsv"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _load_tsv(url: str):
|
|
19
|
+
return load_dataset("csv", data_files={"split": url}, delimiter="\t", split="split")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _records_to_dataframes(
|
|
23
|
+
passages: Iterable[dict[str, Any]], questions: Iterable[dict[str, Any]]
|
|
24
|
+
) -> tuple[pd.DataFrame, pd.DataFrame]:
|
|
25
|
+
corpus = pd.DataFrame(
|
|
26
|
+
{
|
|
27
|
+
"doc_id": passage["id"],
|
|
28
|
+
"contents": passage["text"],
|
|
29
|
+
"metadata": {"title": passage.get("title", "")},
|
|
30
|
+
}
|
|
31
|
+
for passage in passages
|
|
32
|
+
)
|
|
33
|
+
corpus_ids = set(corpus["doc_id"])
|
|
34
|
+
qa_rows = []
|
|
35
|
+
for question in questions:
|
|
36
|
+
doc_id = question.get("doc-id-list")
|
|
37
|
+
answers = [
|
|
38
|
+
answer.strip() for answer in (question.get("answers") or "").split("::")
|
|
39
|
+
]
|
|
40
|
+
answers = list(dict.fromkeys(answer for answer in answers if answer))
|
|
41
|
+
if not doc_id or doc_id not in corpus_ids or not answers:
|
|
42
|
+
continue
|
|
43
|
+
qa_rows.append(
|
|
44
|
+
{
|
|
45
|
+
"qid": str(question["id"]),
|
|
46
|
+
"query": question["question"].strip(),
|
|
47
|
+
"retrieval_gt": [[doc_id]],
|
|
48
|
+
"generation_gt": answers,
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
return corpus, pd.DataFrame(qa_rows)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@click.command()
|
|
56
|
+
@click.option(
|
|
57
|
+
"--save_path",
|
|
58
|
+
type=click.Path(file_okay=False, dir_okay=True, path_type=pathlib.Path),
|
|
59
|
+
default=pathlib.Path(__file__).parent,
|
|
60
|
+
help="Path to save sample ClapNQ dataset.",
|
|
61
|
+
)
|
|
62
|
+
def load_clapnq_dataset(save_path: pathlib.Path):
|
|
63
|
+
"""Download the official ClapNQ retrieval corpus and QA splits."""
|
|
64
|
+
paths = {
|
|
65
|
+
"corpus": save_path / "corpus.parquet",
|
|
66
|
+
"train": save_path / "qa_train.parquet",
|
|
67
|
+
"test": save_path / "qa_test.parquet",
|
|
68
|
+
}
|
|
69
|
+
if any(path.exists() for path in paths.values()):
|
|
70
|
+
raised = next(path for path in paths.values() if path.exists())
|
|
71
|
+
raise ValueError(f"{raised.name} already exists")
|
|
72
|
+
|
|
73
|
+
passages = _load_tsv(PASSAGES_URL)
|
|
74
|
+
train_questions = _load_tsv(TRAIN_QUESTIONS_URL)
|
|
75
|
+
test_questions = _load_tsv(TEST_QUESTIONS_URL)
|
|
76
|
+
corpus, train_qa = _records_to_dataframes(passages, train_questions)
|
|
77
|
+
_, test_qa = _records_to_dataframes(passages, test_questions)
|
|
78
|
+
|
|
79
|
+
save_path.mkdir(parents=True, exist_ok=True)
|
|
80
|
+
corpus.to_parquet(paths["corpus"], index=False)
|
|
81
|
+
train_qa.to_parquet(paths["train"], index=False)
|
|
82
|
+
test_qa.to_parquet(paths["test"], index=False)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
if __name__ == "__main__":
|
|
86
|
+
load_clapnq_dataset()
|
|
@@ -23,12 +23,43 @@ from tests.mock import MockLLM
|
|
|
23
23
|
logger = logging.getLogger("AutoRAG")
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
class PydanticCapturingLLM(BaseModel):
|
|
27
|
+
model: str
|
|
28
|
+
is_chat_model: bool
|
|
29
|
+
api_base: str
|
|
30
|
+
api_key: str
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def class_name(cls):
|
|
34
|
+
return "OpenAILike"
|
|
35
|
+
|
|
36
|
+
|
|
26
37
|
@pytest.fixture
|
|
27
38
|
def llama_index_llm_instance():
|
|
28
39
|
generator_models["mock"] = MockLLM
|
|
29
40
|
return LlamaIndexLLM(project_dir=".", llm="mock", temperature=0.5, top_p=0.9)
|
|
30
41
|
|
|
31
42
|
|
|
43
|
+
def test_llama_index_llm_forwards_pydantic_model_fields():
|
|
44
|
+
generator_models["pydantic_capturing"] = PydanticCapturingLLM
|
|
45
|
+
try:
|
|
46
|
+
instance = LlamaIndexLLM(
|
|
47
|
+
project_dir=".",
|
|
48
|
+
llm="pydantic_capturing",
|
|
49
|
+
model="qwen-plus",
|
|
50
|
+
is_chat_model=True,
|
|
51
|
+
api_base="https://example.test/v1",
|
|
52
|
+
api_key="secret",
|
|
53
|
+
)
|
|
54
|
+
finally:
|
|
55
|
+
generator_models.pop("pydantic_capturing")
|
|
56
|
+
|
|
57
|
+
assert instance.llm_instance.model == "qwen-plus"
|
|
58
|
+
assert instance.llm_instance.is_chat_model is True
|
|
59
|
+
assert instance.llm_instance.api_base == "https://example.test/v1"
|
|
60
|
+
assert instance.llm_instance.api_key == "secret"
|
|
61
|
+
|
|
62
|
+
|
|
32
63
|
def test_llama_index_llm(llama_index_llm_instance):
|
|
33
64
|
answers, tokens, log_probs = llama_index_llm_instance._pure(prompts)
|
|
34
65
|
check_generated_texts(answers)
|
|
@@ -110,8 +141,8 @@ Hello, my name is John Doe. My phone number is 1234567890. I am 30 years old. I
|
|
|
110
141
|
|
|
111
142
|
|
|
112
143
|
@pytest.mark.skipif(
|
|
113
|
-
is_github_action(),
|
|
114
|
-
reason="Skipping this test
|
|
144
|
+
is_github_action() or not os.getenv("OPENAI_API_KEY"),
|
|
145
|
+
reason="Skipping this test because it uses the real OpenAI API.",
|
|
115
146
|
)
|
|
116
147
|
@pytest.mark.asyncio()
|
|
117
148
|
async def test_llama_index_llm_astream():
|
|
@@ -426,6 +426,32 @@ class TestTruncateByToken:
|
|
|
426
426
|
assert isinstance(result, list)
|
|
427
427
|
assert result == messages
|
|
428
428
|
|
|
429
|
+
def test_truncate_messages_preserves_roles(self):
|
|
430
|
+
class CharacterTokenizer:
|
|
431
|
+
def encode(self, text, allowed_special="none"):
|
|
432
|
+
return list(text)
|
|
433
|
+
|
|
434
|
+
def decode(self, tokens):
|
|
435
|
+
return "".join(tokens)
|
|
436
|
+
|
|
437
|
+
messages = [
|
|
438
|
+
{"role": "system", "content": "Follow the conversation."},
|
|
439
|
+
{"role": "user", "content": "What is the capital of France?"},
|
|
440
|
+
{"role": "assistant", "content": "Paris."},
|
|
441
|
+
{"role": "user", "content": "And Germany?"},
|
|
442
|
+
]
|
|
443
|
+
|
|
444
|
+
result = truncate_by_token(messages, CharacterTokenizer(), 10_000)
|
|
445
|
+
|
|
446
|
+
assert result == messages
|
|
447
|
+
assert result is not messages
|
|
448
|
+
assert [message["role"] for message in result] == [
|
|
449
|
+
"system",
|
|
450
|
+
"user",
|
|
451
|
+
"assistant",
|
|
452
|
+
"user",
|
|
453
|
+
]
|
|
454
|
+
|
|
429
455
|
|
|
430
456
|
class TestThinkTagHelpers:
|
|
431
457
|
def test_strip_think_tags(self):
|