palimpzest 0.8.2__py3-none-any.whl → 0.8.3__py3-none-any.whl
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.
- palimpzest/constants.py +38 -62
- palimpzest/core/data/iter_dataset.py +5 -5
- palimpzest/core/elements/groupbysig.py +1 -1
- palimpzest/core/elements/records.py +91 -109
- palimpzest/core/lib/schemas.py +23 -0
- palimpzest/core/models.py +3 -3
- palimpzest/prompts/__init__.py +2 -6
- palimpzest/prompts/convert_prompts.py +10 -66
- palimpzest/prompts/critique_and_refine_prompts.py +66 -0
- palimpzest/prompts/filter_prompts.py +8 -46
- palimpzest/prompts/join_prompts.py +12 -75
- palimpzest/prompts/{moa_aggregator_convert_prompts.py → moa_aggregator_prompts.py} +51 -2
- palimpzest/prompts/moa_proposer_prompts.py +87 -0
- palimpzest/prompts/prompt_factory.py +351 -479
- palimpzest/prompts/split_merge_prompts.py +51 -2
- palimpzest/prompts/split_proposer_prompts.py +48 -16
- palimpzest/prompts/utils.py +109 -0
- palimpzest/query/execution/all_sample_execution_strategy.py +1 -1
- palimpzest/query/execution/execution_strategy.py +4 -4
- palimpzest/query/execution/mab_execution_strategy.py +1 -2
- palimpzest/query/execution/parallel_execution_strategy.py +3 -3
- palimpzest/query/execution/single_threaded_execution_strategy.py +8 -8
- palimpzest/query/generators/generators.py +31 -17
- palimpzest/query/operators/__init__.py +15 -2
- palimpzest/query/operators/aggregate.py +21 -19
- palimpzest/query/operators/compute.py +6 -8
- palimpzest/query/operators/convert.py +12 -37
- palimpzest/query/operators/critique_and_refine.py +194 -0
- palimpzest/query/operators/distinct.py +7 -7
- palimpzest/query/operators/filter.py +13 -25
- palimpzest/query/operators/join.py +321 -192
- palimpzest/query/operators/limit.py +4 -4
- palimpzest/query/operators/mixture_of_agents.py +246 -0
- palimpzest/query/operators/physical.py +25 -2
- palimpzest/query/operators/project.py +4 -4
- palimpzest/query/operators/{rag_convert.py → rag.py} +202 -5
- palimpzest/query/operators/retrieve.py +10 -9
- palimpzest/query/operators/scan.py +9 -10
- palimpzest/query/operators/search.py +18 -24
- palimpzest/query/operators/split.py +321 -0
- palimpzest/query/optimizer/__init__.py +12 -8
- palimpzest/query/optimizer/optimizer.py +12 -10
- palimpzest/query/optimizer/rules.py +201 -108
- palimpzest/query/optimizer/tasks.py +18 -6
- palimpzest/validator/validator.py +7 -9
- {palimpzest-0.8.2.dist-info → palimpzest-0.8.3.dist-info}/METADATA +3 -8
- palimpzest-0.8.3.dist-info/RECORD +95 -0
- palimpzest/prompts/critique_and_refine_convert_prompts.py +0 -216
- palimpzest/prompts/moa_proposer_convert_prompts.py +0 -75
- palimpzest/prompts/util_phrases.py +0 -19
- palimpzest/query/operators/critique_and_refine_convert.py +0 -113
- palimpzest/query/operators/mixture_of_agents_convert.py +0 -140
- palimpzest/query/operators/split_convert.py +0 -170
- palimpzest-0.8.2.dist-info/RECORD +0 -95
- {palimpzest-0.8.2.dist-info → palimpzest-0.8.3.dist-info}/WHEEL +0 -0
- {palimpzest-0.8.2.dist-info → palimpzest-0.8.3.dist-info}/licenses/LICENSE +0 -0
- {palimpzest-0.8.2.dist-info → palimpzest-0.8.3.dist-info}/top_level.txt +0 -0
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import math
|
|
4
|
-
|
|
5
|
-
from pydantic.fields import FieldInfo
|
|
6
|
-
|
|
7
|
-
from palimpzest.constants import (
|
|
8
|
-
MODEL_CARDS,
|
|
9
|
-
NAIVE_EST_NUM_INPUT_TOKENS,
|
|
10
|
-
NAIVE_EST_NUM_OUTPUT_TOKENS,
|
|
11
|
-
PromptStrategy,
|
|
12
|
-
)
|
|
13
|
-
from palimpzest.core.elements.records import DataRecord
|
|
14
|
-
from palimpzest.core.models import GenerationStats, OperatorCostEstimates
|
|
15
|
-
from palimpzest.query.generators.generators import Generator
|
|
16
|
-
from palimpzest.query.operators.convert import LLMConvert
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class SplitConvert(LLMConvert):
|
|
20
|
-
def __init__(self, num_chunks: int = 2, min_size_to_chunk: int = 1000, *args, **kwargs):
|
|
21
|
-
kwargs["prompt_strategy"] = None
|
|
22
|
-
super().__init__(*args, **kwargs)
|
|
23
|
-
self.num_chunks = num_chunks
|
|
24
|
-
self.min_size_to_chunk = min_size_to_chunk
|
|
25
|
-
self.split_generator = Generator(self.model, PromptStrategy.SPLIT_PROPOSER, self.reasoning_effort, self.api_base, self.cardinality, self.desc, self.verbose)
|
|
26
|
-
self.split_merge_generator = Generator(self.model, PromptStrategy.SPLIT_MERGER, self.reasoning_effort, self.api_base, self.cardinality, self.desc, self.verbose)
|
|
27
|
-
|
|
28
|
-
# crude adjustment factor for naive estimation in no-sentinel setting
|
|
29
|
-
self.naive_quality_adjustment = 0.6
|
|
30
|
-
|
|
31
|
-
def __str__(self):
|
|
32
|
-
op = super().__str__()
|
|
33
|
-
op += f" Chunk Size: {str(self.num_chunks)}\n"
|
|
34
|
-
op += f" Min Size to Chunk: {str(self.min_size_to_chunk)}\n"
|
|
35
|
-
return op
|
|
36
|
-
|
|
37
|
-
def get_id_params(self):
|
|
38
|
-
id_params = super().get_id_params()
|
|
39
|
-
id_params = {"num_chunks": self.num_chunks, "min_size_to_chunk": self.min_size_to_chunk, **id_params}
|
|
40
|
-
|
|
41
|
-
return id_params
|
|
42
|
-
|
|
43
|
-
def get_op_params(self):
|
|
44
|
-
op_params = super().get_op_params()
|
|
45
|
-
return {"num_chunks": self.num_chunks, "min_size_to_chunk": self.min_size_to_chunk, **op_params}
|
|
46
|
-
|
|
47
|
-
def naive_cost_estimates(self, source_op_cost_estimates: OperatorCostEstimates) -> OperatorCostEstimates:
|
|
48
|
-
"""
|
|
49
|
-
Update the cost per record and quality estimates produced by LLMConvert's naive estimates.
|
|
50
|
-
We adjust the cost per record to account for the reduced number of input tokens following
|
|
51
|
-
the retrieval of relevant chunks, and we make a crude estimate of the quality degradation
|
|
52
|
-
that results from using a downsized input (although this may in fact improve quality in
|
|
53
|
-
some cases).
|
|
54
|
-
"""
|
|
55
|
-
# get naive cost estimates from LLMConvert
|
|
56
|
-
naive_op_cost_estimates = super().naive_cost_estimates(source_op_cost_estimates)
|
|
57
|
-
|
|
58
|
-
# re-compute cost per record assuming we use fewer input tokens; naively assume a single input field
|
|
59
|
-
est_num_input_tokens = NAIVE_EST_NUM_INPUT_TOKENS
|
|
60
|
-
est_num_output_tokens = NAIVE_EST_NUM_OUTPUT_TOKENS
|
|
61
|
-
model_conversion_usd_per_record = (
|
|
62
|
-
MODEL_CARDS[self.model.value]["usd_per_input_token"] * est_num_input_tokens
|
|
63
|
-
+ MODEL_CARDS[self.model.value]["usd_per_output_token"] * est_num_output_tokens
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
# set refined estimate of cost per record
|
|
67
|
-
naive_op_cost_estimates.cost_per_record = model_conversion_usd_per_record
|
|
68
|
-
naive_op_cost_estimates.cost_per_record_lower_bound = naive_op_cost_estimates.cost_per_record
|
|
69
|
-
naive_op_cost_estimates.cost_per_record_upper_bound = naive_op_cost_estimates.cost_per_record
|
|
70
|
-
naive_op_cost_estimates.quality = (naive_op_cost_estimates.quality) * self.naive_quality_adjustment
|
|
71
|
-
naive_op_cost_estimates.quality_lower_bound = naive_op_cost_estimates.quality
|
|
72
|
-
naive_op_cost_estimates.quality_upper_bound = naive_op_cost_estimates.quality
|
|
73
|
-
|
|
74
|
-
return naive_op_cost_estimates
|
|
75
|
-
|
|
76
|
-
def is_image_conversion(self) -> bool:
|
|
77
|
-
"""SplitConvert is currently disallowed on image conversions, so this must be False."""
|
|
78
|
-
return False
|
|
79
|
-
|
|
80
|
-
def get_text_chunks(self, text: str, num_chunks: int) -> list[str]:
|
|
81
|
-
"""
|
|
82
|
-
Given a text string, chunk it into num_chunks substrings of roughly equal size.
|
|
83
|
-
"""
|
|
84
|
-
chunks = []
|
|
85
|
-
|
|
86
|
-
idx, chunk_size = 0, math.ceil(len(text) / num_chunks)
|
|
87
|
-
while idx + chunk_size < len(text):
|
|
88
|
-
chunks.append(text[idx : idx + chunk_size])
|
|
89
|
-
idx += chunk_size
|
|
90
|
-
|
|
91
|
-
if idx < len(text):
|
|
92
|
-
chunks.append(text[idx:])
|
|
93
|
-
|
|
94
|
-
return chunks
|
|
95
|
-
|
|
96
|
-
def get_chunked_candidate(self, candidate: DataRecord, input_fields: list[str]) -> list[DataRecord]:
|
|
97
|
-
"""
|
|
98
|
-
For each text field, chunk the content. If a field is smaller than the chunk size,
|
|
99
|
-
simply include the full field.
|
|
100
|
-
"""
|
|
101
|
-
# compute mapping from each field to its chunked content
|
|
102
|
-
field_name_to_chunked_content = {}
|
|
103
|
-
for field_name in input_fields:
|
|
104
|
-
field = candidate.get_field_type(field_name)
|
|
105
|
-
content = candidate[field_name]
|
|
106
|
-
|
|
107
|
-
# do not chunk this field if it is not a string or a list of strings
|
|
108
|
-
is_string_field = field.annotation in [str, str | None]
|
|
109
|
-
is_list_string_field = field.annotation in [list[str], list[str] | None]
|
|
110
|
-
if not (is_string_field or is_list_string_field):
|
|
111
|
-
field_name_to_chunked_content[field_name] = [content]
|
|
112
|
-
continue
|
|
113
|
-
|
|
114
|
-
# if this is a list of strings, join the strings
|
|
115
|
-
if is_list_string_field:
|
|
116
|
-
content = "[" + ", ".join(content) + "]"
|
|
117
|
-
|
|
118
|
-
# skip this field if its length is less than the min size to chunk
|
|
119
|
-
if len(content) < self.min_size_to_chunk:
|
|
120
|
-
field_name_to_chunked_content[field_name] = [content]
|
|
121
|
-
continue
|
|
122
|
-
|
|
123
|
-
# chunk the content
|
|
124
|
-
field_name_to_chunked_content[field_name] = self.get_text_chunks(content, self.num_chunks)
|
|
125
|
-
|
|
126
|
-
# compute the true number of chunks (may be 1 if all fields are not chunked)
|
|
127
|
-
num_chunks = max(len(chunks) for chunks in field_name_to_chunked_content.values())
|
|
128
|
-
|
|
129
|
-
# create the chunked canidates
|
|
130
|
-
candidates = []
|
|
131
|
-
for chunk_idx in range(num_chunks):
|
|
132
|
-
candidate_copy = candidate.copy()
|
|
133
|
-
for field_name in input_fields:
|
|
134
|
-
field_chunks = field_name_to_chunked_content[field_name]
|
|
135
|
-
candidate_copy[field_name] = field_chunks[chunk_idx] if len(field_chunks) > 1 else field_chunks[0]
|
|
136
|
-
|
|
137
|
-
candidates.append(candidate_copy)
|
|
138
|
-
|
|
139
|
-
return candidates
|
|
140
|
-
|
|
141
|
-
def convert(self, candidate: DataRecord, fields: dict[str, FieldInfo]) -> tuple[dict[str, list], GenerationStats]:
|
|
142
|
-
# get the set of input fields to use for the convert operation
|
|
143
|
-
input_fields = self.get_input_fields()
|
|
144
|
-
|
|
145
|
-
# lookup most relevant chunks for each field using embedding search
|
|
146
|
-
candidate_copy = candidate.copy()
|
|
147
|
-
chunked_candidates = self.get_chunked_candidate(candidate_copy, input_fields)
|
|
148
|
-
|
|
149
|
-
# construct kwargs for generation
|
|
150
|
-
gen_kwargs = {"project_cols": input_fields, "output_schema": self.output_schema}
|
|
151
|
-
|
|
152
|
-
# generate outputs for each chunk separately
|
|
153
|
-
chunk_outputs, chunk_generation_stats_lst = [], []
|
|
154
|
-
for candidate in chunked_candidates:
|
|
155
|
-
_, reasoning, chunk_generation_stats, _ = self.split_generator(candidate, fields, json_output=False, **gen_kwargs)
|
|
156
|
-
chunk_outputs.append(reasoning)
|
|
157
|
-
chunk_generation_stats_lst.append(chunk_generation_stats)
|
|
158
|
-
|
|
159
|
-
# call the merger
|
|
160
|
-
gen_kwargs = {
|
|
161
|
-
"project_cols": input_fields,
|
|
162
|
-
"output_schema": self.output_schema,
|
|
163
|
-
"chunk_outputs": chunk_outputs,
|
|
164
|
-
}
|
|
165
|
-
field_answers, _, merger_gen_stats, _ = self.split_merge_generator(candidate, fields, **gen_kwargs)
|
|
166
|
-
|
|
167
|
-
# compute the total generation stats
|
|
168
|
-
generation_stats = sum(chunk_generation_stats_lst) + merger_gen_stats
|
|
169
|
-
|
|
170
|
-
return field_answers, generation_stats
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
palimpzest/__init__.py,sha256=1PzadDDOVMQJKNEYUH0_tw8tQKUYTT31M0vuzTr2Rqk,1694
|
|
2
|
-
palimpzest/constants.py,sha256=GagsbJl1xCAjgt6Biw27KnHSZgiramxhnerhmYe3P_k,24690
|
|
3
|
-
palimpzest/policy.py,sha256=lIvw_C_rmwCH4LZaeNkAuixl8zw9RAW_JcSWSHPjKyc,11628
|
|
4
|
-
palimpzest/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
palimpzest/agents/compute_agents.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
palimpzest/agents/search_agents.py,sha256=t2QMreB5Ph71aoNk5bBtV-0l8im79z-pMAR3JDAySDw,29418
|
|
7
|
-
palimpzest/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
palimpzest/core/models.py,sha256=fLO4T7x0njNeEbUpbhJm9cdnBva0y0Zw5WGBGdzdS_I,42442
|
|
9
|
-
palimpzest/core/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
palimpzest/core/data/context.py,sha256=x1xYyu9qW65dvtK_XayIfv_CgsCEPW6Qe0DTiSf9sjU,16207
|
|
11
|
-
palimpzest/core/data/context_manager.py,sha256=8hAKWD2jhFZgghTu7AYgjkvKDsJUPVxq8g4nG0HWvfo,6150
|
|
12
|
-
palimpzest/core/data/dataset.py,sha256=M7SxPXzHsfj-ljy_P3ckcJNqGf4RwNxtZI02q_tmL2M,28178
|
|
13
|
-
palimpzest/core/data/index_dataset.py,sha256=adO67DgzHhA4lBME0-h4SjXfdz9UcNMSDGXTpUdKbgE,1929
|
|
14
|
-
palimpzest/core/data/iter_dataset.py,sha256=u7eZNWWT84rH_D8LNIuq0NAnm2roX81ifKTYp-hwY7g,20512
|
|
15
|
-
palimpzest/core/elements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
palimpzest/core/elements/filters.py,sha256=fU2x0eWDwfP52_5fUmqJXTuhs4H0vvHtPZLdA3IIw8I,1642
|
|
17
|
-
palimpzest/core/elements/groupbysig.py,sha256=Fcbt1GSAkxIILS5me0sWaNMLiptLJ6NIY6BIC0S-g3k,2318
|
|
18
|
-
palimpzest/core/elements/records.py,sha256=Su4d8GRNp5-Q1nSWANm-jehyw53tHUl20iGluyEk8NI,19053
|
|
19
|
-
palimpzest/core/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
palimpzest/core/lib/schemas.py,sha256=0qauaG3uW5tCJXNAo1i0G0UgbTaQLSLT6GoNDX8494Q,8376
|
|
21
|
-
palimpzest/prompts/__init__.py,sha256=sdZbC8RWi_IGjFuzKQMdRjS2Ih4zQnkyzFoJ6Q3Ce70,1764
|
|
22
|
-
palimpzest/prompts/agent_prompts.py,sha256=CUzBVLBiPSw8OShtKp4VTpQwtrNMtcMglo-IZHMvuDM,17459
|
|
23
|
-
palimpzest/prompts/context_search.py,sha256=s3pti4XNRiIyiWzjVNL_NqmqEc31jzSKMF2SlN0Aaf8,357
|
|
24
|
-
palimpzest/prompts/convert_prompts.py,sha256=quoIcdIrP4FoPBXlHKeOPjH5lVn8GH30f1tPiu3Xsyw,6037
|
|
25
|
-
palimpzest/prompts/critique_and_refine_convert_prompts.py,sha256=WoXExBxQ7twswd9VCCST26c-2ehZtpD2iQoBi7sqDnQ,7814
|
|
26
|
-
palimpzest/prompts/filter_prompts.py,sha256=drTivlA_WnWkAIzY9GjqO_hfwdy432nMtsV-OYa-mlE,4260
|
|
27
|
-
palimpzest/prompts/join_prompts.py,sha256=fEGZY_zn_dvOJCeUFYrHdg5P3h_H6Fo3FMmdnXwp2l4,5957
|
|
28
|
-
palimpzest/prompts/moa_aggregator_convert_prompts.py,sha256=BQRrtGdr53PTqvXzmFh8kfQ_w9KoKw-zTtmdo-8RFjo,2887
|
|
29
|
-
palimpzest/prompts/moa_proposer_convert_prompts.py,sha256=8vhq0bnikbCzS4CDV5IskFPWF0TC7VZGjeGvpOyIBV8,3476
|
|
30
|
-
palimpzest/prompts/prompt_factory.py,sha256=MpEYoyPXY3gfFGG60O9rlw5A5UejC3CTRHcO6KRhyww,51733
|
|
31
|
-
palimpzest/prompts/split_merge_prompts.py,sha256=0mTZeJhxtvlmv-ro0KwQpxlGgSTwyUhGRHJ-uHk2Zlw,3146
|
|
32
|
-
palimpzest/prompts/split_proposer_prompts.py,sha256=X3hufHPAiQyytZ_TFe2wJkVPgJtClZ9fVgz2zNk2Z5Q,2638
|
|
33
|
-
palimpzest/prompts/util_phrases.py,sha256=ajxzj-B2gE56IENKVKElqw1xKWOF5IahOOqq026Pr00,876
|
|
34
|
-
palimpzest/prompts/validator.py,sha256=pJTZjlt_OiFM3IFOgsJ0jQdayra8iRVrpqENlXI9tQQ,10532
|
|
35
|
-
palimpzest/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
palimpzest/query/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
palimpzest/query/execution/all_sample_execution_strategy.py,sha256=3n2hl8m-WFWIu-a8DiSVsGkz4ej3yB7mSdFR0jsiwAU,14366
|
|
38
|
-
palimpzest/query/execution/execution_strategy.py,sha256=KwBJbWOBOOPBiWRm3ypHcAQiWbCsvtW6UnVU4tHkYz8,18905
|
|
39
|
-
palimpzest/query/execution/execution_strategy_type.py,sha256=vRQBPCQN5_aoyD3TLIeW3VPo15mqF-5RBvEXkENz9FE,987
|
|
40
|
-
palimpzest/query/execution/mab_execution_strategy.py,sha256=paVfB8lqNyUuISqfhkTd6RqOZqpyVty1EAN1sZz7erA,43554
|
|
41
|
-
palimpzest/query/execution/parallel_execution_strategy.py,sha256=Gn5hB5XddX2jCkxx6d7O-DmitK6fbuwBFnnyKhnGYEw,15706
|
|
42
|
-
palimpzest/query/execution/single_threaded_execution_strategy.py,sha256=1eo-Z9G3u92_PjoSX8HmO3D3phYgA8f0Actbgd1-oKY,16247
|
|
43
|
-
palimpzest/query/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
palimpzest/query/generators/generators.py,sha256=WYMcff7axgDEmYqXvy1A-C5FA4s6lI393CcCx-TKTgM,20941
|
|
45
|
-
palimpzest/query/operators/__init__.py,sha256=j-yh0P5tzXGa0JU_g8aNn54wCJDXPCMbmtOmazXXEts,3459
|
|
46
|
-
palimpzest/query/operators/aggregate.py,sha256=QvWr4C1arFSZWVqPSF5F5On6Ise5OF3VVWNGSq6Gfjk,11230
|
|
47
|
-
palimpzest/query/operators/compute.py,sha256=bxMKLRU_o7v603daKeR0FayDZ_V6NLI1fGzgu6E-sac,8473
|
|
48
|
-
palimpzest/query/operators/convert.py,sha256=mpXXYdgcH6zPqypzh3SjTqHjq7PDEbkfdZ1_XEml-nw,17334
|
|
49
|
-
palimpzest/query/operators/critique_and_refine_convert.py,sha256=PbtKva6e3fh3yeUMGlkcpacPD003bFBzgBsw_yy-8fw,5293
|
|
50
|
-
palimpzest/query/operators/distinct.py,sha256=MuF3NlC0QMTSGs0_fe2oly0I5Ow0hfOa7h8BFGhHiCs,2594
|
|
51
|
-
palimpzest/query/operators/filter.py,sha256=jmSGV7xZ8uxXzH-Oko7l8ZPZxNf_qJNkYVAYgiSHl9g,10802
|
|
52
|
-
palimpzest/query/operators/join.py,sha256=rs9_Y59082dlnSJu9rpRDEuv7jDPItKSpYsC8FCMFDM,17837
|
|
53
|
-
palimpzest/query/operators/limit.py,sha256=upJ775cGkxjFHRJm8GpSvtJN1cspg2FVYLN_MrIfUo4,2113
|
|
54
|
-
palimpzest/query/operators/logical.py,sha256=K_dRlNKkda35kQ7gYGsrW9PoFuDPzexpjtDq_FYdhVw,20223
|
|
55
|
-
palimpzest/query/operators/mixture_of_agents_convert.py,sha256=4v2V612NqdVD0RmcJ5VSgTiVliObku-t-A79SXVnpk0,6753
|
|
56
|
-
palimpzest/query/operators/physical.py,sha256=buPZjtP4HKNVfOCNWdBtDnRS217dSsIG74gqZ1jmoyo,8320
|
|
57
|
-
palimpzest/query/operators/project.py,sha256=RX5SbHFRwHcMfiQRofIPQr-AHgIDYm68ifiFZAPu7Fo,2094
|
|
58
|
-
palimpzest/query/operators/rag_convert.py,sha256=1QQGrE22-Ec3-MNbnaU3k4TGHdpi2qZqZR9MHUniEM4,10691
|
|
59
|
-
palimpzest/query/operators/retrieve.py,sha256=v1FTFsSctqH4B37aWgBXYIxgOMJwRWQ2kwwXu1huwaQ,13106
|
|
60
|
-
palimpzest/query/operators/scan.py,sha256=Da_EZUrArzlAameHYCmtqo-xbPOFvbTYSktrUcUEUSc,7398
|
|
61
|
-
palimpzest/query/operators/search.py,sha256=xydO5Kni0RArpvLSn2ajzD4TcH442VjpP2x9NakjzaA,22842
|
|
62
|
-
palimpzest/query/operators/split_convert.py,sha256=acCPlkrUfqHhGD7bU2AXQAhIEeAEIh0itamuCOm4KBk,7787
|
|
63
|
-
palimpzest/query/optimizer/__init__.py,sha256=L2E1rOA-8O9oH6JL56wLI1qUVxXBLubJEG1IHMH-HU4,2384
|
|
64
|
-
palimpzest/query/optimizer/cost_model.py,sha256=OldPy-TJdfsQbYRoKlb3yWeKbi15jcldTIUS6BTi9T8,12678
|
|
65
|
-
palimpzest/query/optimizer/optimizer.py,sha256=mgM6c0d_voGNun2hMzqjfumJVieACtcHsNnBP4LyXAA,19626
|
|
66
|
-
palimpzest/query/optimizer/optimizer_strategy.py,sha256=9YlNGkqwgX0WaV6y8tKOOHVN8kC8GjDI3DttvGW5SYY,10206
|
|
67
|
-
palimpzest/query/optimizer/optimizer_strategy_type.py,sha256=V-MMHvJdnfZKoUX1xxxwh66q1RjN2FL35IsiT1C62c8,1084
|
|
68
|
-
palimpzest/query/optimizer/plan.py,sha256=VIhN7tWT7EoRE9BKYa1qvvOhX7dEaM-aiobByX0qjzg,22900
|
|
69
|
-
palimpzest/query/optimizer/primitives.py,sha256=jMMVq37y1tWiPU1lSSKQP9OP-mzkpSxSmUeDajRYYOQ,5445
|
|
70
|
-
palimpzest/query/optimizer/rules.py,sha256=9AsuVjhiZUc0snQPNhIqeyKpmqFsSv7e-v6BEbp9CDw,43315
|
|
71
|
-
palimpzest/query/optimizer/tasks.py,sha256=DJcKDNbVJox61rnTW0HgT1PtxGx2P_NiLvNroXie-Lg,29509
|
|
72
|
-
palimpzest/query/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
-
palimpzest/query/processor/config.py,sha256=vHVsgeBnKigacO0QA7bLf5q8pJhFWA2j9-p_no2bmYo,2366
|
|
74
|
-
palimpzest/query/processor/query_processor.py,sha256=T4ffPbnOX23G8FDITzmM7Iw7DUEDWIHnwl8XLYllgjg,6240
|
|
75
|
-
palimpzest/query/processor/query_processor_factory.py,sha256=6w9R1Y8AOV22X8MUf7g2G5Qb15BGEZAXQKbCQJafWJ0,8048
|
|
76
|
-
palimpzest/schemabuilder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
|
-
palimpzest/schemabuilder/schema_builder.py,sha256=QraGp66dcD-ej6Y2mER40o86G9JqlBkL7swkJzjUAIY,7968
|
|
78
|
-
palimpzest/tools/README.md,sha256=56_6LPG80uc0CLVhTBP6I1wgIffNv9cyTr0TmVZqmrM,483
|
|
79
|
-
palimpzest/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
-
palimpzest/tools/allenpdf.py,sha256=fXMOmSDdSSLXDKAPYYJ8k4egtWEBf_Me9Lq9tM3iyoA,1690
|
|
81
|
-
palimpzest/tools/pdfparser.py,sha256=0DOVUZLxYfqjxM8WNEfYcyiXb1qW9BWVIHEB_B_YhWA,9570
|
|
82
|
-
palimpzest/tools/skema_tools.py,sha256=HXUFpjMhbVxZwKKkATeK-FwtlTCawaCbeP-uHntI1Kg,669
|
|
83
|
-
palimpzest/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
palimpzest/utils/env_helpers.py,sha256=n81KzoJ459pRxo7QmJA7duazwWsfoMGTHc71D2LatFk,334
|
|
85
|
-
palimpzest/utils/hash_helpers.py,sha256=3A8dA7SbXTwnnvZvPVNqqMLlVRhCKyKF_bjNNAu3Exk,334
|
|
86
|
-
palimpzest/utils/model_helpers.py,sha256=X6SlMgD5I5Aj_cxaFaoGaaNvOOqTNZVmjj6zbfn63Yk,2476
|
|
87
|
-
palimpzest/utils/progress.py,sha256=7gucyZr82udMDZitrrkAOSKHZVljE3R2wv9nf5gA5TM,20807
|
|
88
|
-
palimpzest/utils/udfs.py,sha256=LjHic54B1az-rKgNLur0wOpaz2ko_UodjLEJrazkxvY,1854
|
|
89
|
-
palimpzest/validator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
-
palimpzest/validator/validator.py,sha256=J2tGvJqfg6v5lOQDYYaqAa9d37uVHBrqkNs-a8d1Ic0,16365
|
|
91
|
-
palimpzest-0.8.2.dist-info/licenses/LICENSE,sha256=5GUlHy9lr-Py9kvV38FF1m3yy3NqM18fefuE9wkWumo,1079
|
|
92
|
-
palimpzest-0.8.2.dist-info/METADATA,sha256=bDa2zFfJr_v4Ef6fzq3SCALSoXoXc0uPnefnmVbAzTA,7286
|
|
93
|
-
palimpzest-0.8.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
94
|
-
palimpzest-0.8.2.dist-info/top_level.txt,sha256=raV06dJUgohefUn3ZyJS2uqp_Y76EOLA9Y2e_fxt8Ew,11
|
|
95
|
-
palimpzest-0.8.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|