flashrag-dev 0.1.3.dev20241121__tar.gz → 0.1.3.dev20241122__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.
- {flashrag-dev-0.1.3.dev20241121/flashrag_dev.egg-info → flashrag-dev-0.1.3.dev20241122}/PKG-INFO +1 -1
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/dataset/dataset.py +3 -1
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/active_pipeline.py +18 -16
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/index_builder.py +6 -1
- flashrag-dev-0.1.3.dev20241122/flashrag/version.py +1 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122/flashrag_dev.egg-info}/PKG-INFO +1 -1
- flashrag-dev-0.1.3.dev20241121/flashrag/version.py +0 -1
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/LICENSE +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/README.md +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/config/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/config/basic_config.yaml +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/config/config.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/dataset/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/dataset/utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/_bleu.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/evaluator.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/metrics.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/fid.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/generator.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/openai_generator.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/stop_word_criteria.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/judger/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/judger/judger.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/branching_pipeline.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/pipeline.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/replug_utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/base_prompt.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/selfask_examplars.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/trace_examplars.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/kg_refiner.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/llmlingua_compressor.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/refiner.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/selective_context_compressor.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/__main__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/encoder.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/reranker.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/retriever.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/__init__.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/constants.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/pred_parse.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/utils.py +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/SOURCES.txt +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/dependency_links.txt +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/requires.txt +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/top_level.txt +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/pyproject.toml +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/setup.cfg +0 -0
- {flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/setup.py +0 -0
{flashrag-dev-0.1.3.dev20241121/flashrag_dev.egg-info → flashrag-dev-0.1.3.dev20241122}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flashrag-dev
|
|
3
|
-
Version: 0.1.3.
|
|
3
|
+
Version: 0.1.3.dev20241122
|
|
4
4
|
Summary: A library for efficient Retrieval-Augmented Generation research
|
|
5
5
|
Home-page: https://github.com/RUC-NLPIR/FlashRAG
|
|
6
6
|
Author: Jiajie Jin, Yutao Zhu, Chenghao Zhang, Xinyu Yang, Zhicheng Dou
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/dataset/dataset.py
RENAMED
|
@@ -176,7 +176,9 @@ class Dataset:
|
|
|
176
176
|
save_data = [item.to_dict() for item in self.data]
|
|
177
177
|
def custom_serializer(obj):
|
|
178
178
|
if isinstance(obj, np.float32):
|
|
179
|
-
return float(obj)
|
|
179
|
+
return float(obj)
|
|
180
|
+
if isinstance(obj, np.bool_):
|
|
181
|
+
return str(obj)
|
|
180
182
|
raise TypeError(f"Type {type(obj)} not serializable")
|
|
181
183
|
with open(save_path, "w", encoding="utf-8") as f:
|
|
182
184
|
json.dump(save_data, f, indent=4, default=custom_serializer)
|
|
@@ -171,15 +171,14 @@ class SelfRAGPipeline(BasicPipeline):
|
|
|
171
171
|
|
|
172
172
|
else:
|
|
173
173
|
# result for total batch
|
|
174
|
-
all_pred_token_ids = []
|
|
175
174
|
all_pred_text = []
|
|
176
175
|
all_pred_log_probs = []
|
|
177
|
-
|
|
176
|
+
# For vllm, requesting too many logprobes can seriously affect speed
|
|
177
|
+
# 20 probs is enough for calculate
|
|
178
|
+
preds = self.generator.generate(input_prompts, return_raw_output=True, logprobs=20, max_tokens=1, skip_special_tokens=False)
|
|
178
179
|
for single_pred in preds:
|
|
179
|
-
pred_token_ids = single_pred.outputs[0].token_ids
|
|
180
180
|
pred_text = single_pred.outputs[0].text
|
|
181
181
|
pred_log_probs = single_pred.outputs[0].logprobs
|
|
182
|
-
all_pred_token_ids.append(pred_token_ids)
|
|
183
182
|
all_pred_text.append(pred_text)
|
|
184
183
|
all_pred_log_probs.append(pred_log_probs)
|
|
185
184
|
|
|
@@ -190,8 +189,9 @@ class SelfRAGPipeline(BasicPipeline):
|
|
|
190
189
|
for tok, tok_id in self.ret_tokens.items():
|
|
191
190
|
if tok_id not in all_pred_log_probs[idx][0]:
|
|
192
191
|
score_dict[tok] = -100
|
|
193
|
-
|
|
194
|
-
|
|
192
|
+
else:
|
|
193
|
+
prob = all_pred_log_probs[idx][0][tok_id].logprob
|
|
194
|
+
score_dict[tok] = np.exp(prob)
|
|
195
195
|
do_retrieve = (
|
|
196
196
|
score_dict["[Retrieval]"] / (score_dict["[Retrieval]"] + score_dict["[No Retrieval]"])
|
|
197
197
|
> self.threshold
|
|
@@ -417,7 +417,7 @@ class SelfRAGPipeline(BasicPipeline):
|
|
|
417
417
|
else:
|
|
418
418
|
aug_prompts = [prompt + prev_generation]
|
|
419
419
|
|
|
420
|
-
item_pred = self.generator.generate(aug_prompts, return_raw_output=True)
|
|
420
|
+
item_pred = self.generator.generate(aug_prompts, return_raw_output=True, logprobs=5)
|
|
421
421
|
_, preds, scores, overall_score_dict = self.critic_preds(item_pred)
|
|
422
422
|
|
|
423
423
|
for i, (pred, p_score) in enumerate(zip(preds, scores)):
|
|
@@ -602,15 +602,17 @@ class SelfRAGPipeline(BasicPipeline):
|
|
|
602
602
|
|
|
603
603
|
return dataset
|
|
604
604
|
|
|
605
|
-
def run(self, dataset, do_eval=True, pred_process_fun=None,
|
|
606
|
-
all_dataset_list = []
|
|
605
|
+
def run(self, dataset, do_eval=True, pred_process_fun=None, long_form=False):
|
|
607
606
|
run_func = self.run_batch_pred_long_form if long_form else self.run_batch_pred
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
607
|
+
|
|
608
|
+
# # to avoid oom, split the total dataset into small batches
|
|
609
|
+
# all_dataset_list = []
|
|
610
|
+
# for batch_dataset in tqdm(get_batch_dataset(dataset, batch_size=batch_size), desc="Batch dataset: "):
|
|
611
|
+
# batch_dataset = run_func(batch_dataset)
|
|
612
|
+
# all_dataset_list.append(batch_dataset)
|
|
613
|
+
# dataset = merge_batch_dataset(all_dataset_list)
|
|
614
|
+
|
|
615
|
+
dataset = run_func(dataset)
|
|
614
616
|
dataset = self.evaluate(dataset, do_eval=do_eval, pred_process_fun=pred_process_fun)
|
|
615
617
|
return dataset
|
|
616
618
|
|
|
@@ -645,7 +647,7 @@ class SelfRAGPipeline(BasicPipeline):
|
|
|
645
647
|
item.update_output("prompt", prompt_list)
|
|
646
648
|
all_input_list += prompt_list
|
|
647
649
|
|
|
648
|
-
batch_pred = self.generator.generate(all_input_list, return_raw_output=True, logprobs=
|
|
650
|
+
batch_pred = self.generator.generate(all_input_list, return_raw_output=True, logprobs=5)
|
|
649
651
|
|
|
650
652
|
# parse output based on retrieval flag
|
|
651
653
|
pred_idx = 0
|
|
@@ -165,14 +165,19 @@ class Index_Builder:
|
|
|
165
165
|
"""Building BM25 index based on bm25s library."""
|
|
166
166
|
|
|
167
167
|
import bm25s
|
|
168
|
+
import Stemmer
|
|
168
169
|
|
|
169
170
|
self.save_dir = os.path.join(self.save_dir, 'bm25')
|
|
170
171
|
os.makedirs(self.save_dir, exist_ok=True)
|
|
171
172
|
|
|
172
173
|
corpus = datasets.load_dataset("json", data_files=self.corpus_path, split="train")
|
|
173
174
|
corpus_text = corpus['contents']
|
|
175
|
+
stemmer = Stemmer.Stemmer('english')
|
|
176
|
+
tokenizer = bm25s.tokenization.Tokenizer(stemmer=stemmer)
|
|
177
|
+
corpus_tokens = tokenizer.tokenize(corpus_text, return_as='tuple')
|
|
178
|
+
|
|
174
179
|
retriever = bm25s.BM25(corpus=corpus, backend='numba')
|
|
175
|
-
retriever.index(
|
|
180
|
+
retriever.index(corpus_tokens)
|
|
176
181
|
retriever.save(self.save_dir,corpus=corpus)
|
|
177
182
|
|
|
178
183
|
print("Finish!")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.3dev20241122"
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122/flashrag_dev.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flashrag-dev
|
|
3
|
-
Version: 0.1.3.
|
|
3
|
+
Version: 0.1.3.dev20241122
|
|
4
4
|
Summary: A library for efficient Retrieval-Augmented Generation research
|
|
5
5
|
Home-page: https://github.com/RUC-NLPIR/FlashRAG
|
|
6
6
|
Author: Jiajie Jin, Yutao Zhu, Chenghao Zhang, Xinyu Yang, Zhicheng Dou
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.3dev20241121"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/config/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/config/basic_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/dataset/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/_bleu.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/evaluator.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/metrics.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/evaluator/utils.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/generator/utils.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/judger/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/pipeline.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/pipeline/replug_utils.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/base_prompt.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/prompt/trace_examplars.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/kg_refiner.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/refiner/refiner.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/__main__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/encoder.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/reranker.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/retriever.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/retriever/utils.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/__init__.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/constants.py
RENAMED
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag/utils/pred_parse.py
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{flashrag-dev-0.1.3.dev20241121 → flashrag-dev-0.1.3.dev20241122}/flashrag_dev.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|