palimpzest 0.5.4__py3-none-any.whl → 0.6.0__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/__init__.py +7 -9
- palimpzest/constants.py +47 -7
- palimpzest/core/__init__.py +20 -26
- palimpzest/core/data/dataclasses.py +9 -2
- palimpzest/core/data/datareaders.py +497 -0
- palimpzest/core/elements/records.py +29 -37
- palimpzest/core/lib/fields.py +14 -12
- palimpzest/core/lib/schemas.py +80 -94
- palimpzest/policy.py +58 -0
- palimpzest/prompts/__init__.py +22 -0
- palimpzest/prompts/code_synthesis_prompts.py +28 -0
- palimpzest/prompts/convert_prompts.py +87 -0
- palimpzest/prompts/critique_and_refine_convert_prompts.py +216 -0
- palimpzest/prompts/filter_prompts.py +69 -0
- palimpzest/prompts/moa_aggregator_convert_prompts.py +57 -0
- palimpzest/prompts/moa_proposer_convert_prompts.py +79 -0
- palimpzest/prompts/prompt_factory.py +732 -0
- palimpzest/prompts/util_phrases.py +14 -0
- palimpzest/query/execution/execution_strategy.py +0 -3
- palimpzest/query/execution/parallel_execution_strategy.py +12 -25
- palimpzest/query/execution/single_threaded_execution_strategy.py +31 -45
- palimpzest/query/generators/generators.py +71 -347
- palimpzest/query/operators/__init__.py +5 -5
- palimpzest/query/operators/aggregate.py +10 -5
- palimpzest/query/operators/code_synthesis_convert.py +4 -48
- palimpzest/query/operators/convert.py +5 -2
- palimpzest/query/operators/critique_and_refine_convert.py +112 -0
- palimpzest/query/operators/filter.py +1 -1
- palimpzest/query/operators/limit.py +1 -1
- palimpzest/query/operators/logical.py +28 -27
- palimpzest/query/operators/mixture_of_agents_convert.py +4 -1
- palimpzest/query/operators/physical.py +32 -20
- palimpzest/query/operators/project.py +1 -1
- palimpzest/query/operators/rag_convert.py +6 -3
- palimpzest/query/operators/retrieve.py +13 -31
- palimpzest/query/operators/scan.py +150 -0
- palimpzest/query/optimizer/__init__.py +5 -1
- palimpzest/query/optimizer/cost_model.py +18 -34
- palimpzest/query/optimizer/optimizer.py +40 -25
- palimpzest/query/optimizer/optimizer_strategy.py +26 -0
- palimpzest/query/optimizer/plan.py +2 -2
- palimpzest/query/optimizer/rules.py +118 -27
- palimpzest/query/processor/config.py +12 -1
- palimpzest/query/processor/mab_sentinel_processor.py +125 -112
- palimpzest/query/processor/nosentinel_processor.py +46 -62
- palimpzest/query/processor/query_processor.py +10 -20
- palimpzest/query/processor/query_processor_factory.py +12 -5
- palimpzest/query/processor/random_sampling_sentinel_processor.py +112 -91
- palimpzest/query/processor/streaming_processor.py +11 -17
- palimpzest/sets.py +170 -94
- palimpzest/tools/pdfparser.py +5 -64
- palimpzest/utils/datareader_helpers.py +61 -0
- palimpzest/utils/field_helpers.py +69 -0
- palimpzest/utils/hash_helpers.py +3 -2
- palimpzest/utils/udfs.py +0 -28
- {palimpzest-0.5.4.dist-info → palimpzest-0.6.0.dist-info}/METADATA +49 -49
- palimpzest-0.6.0.dist-info/RECORD +87 -0
- {palimpzest-0.5.4.dist-info → palimpzest-0.6.0.dist-info}/top_level.txt +0 -1
- cli/README.md +0 -156
- cli/__init__.py +0 -0
- cli/cli_main.py +0 -390
- palimpzest/config.py +0 -89
- palimpzest/core/data/datasources.py +0 -369
- palimpzest/datamanager/__init__.py +0 -0
- palimpzest/datamanager/datamanager.py +0 -300
- palimpzest/prompts.py +0 -397
- palimpzest/query/operators/datasource.py +0 -202
- palimpzest-0.5.4.dist-info/RECORD +0 -83
- palimpzest-0.5.4.dist-info/entry_points.txt +0 -2
- {palimpzest-0.5.4.dist-info → palimpzest-0.6.0.dist-info}/LICENSE +0 -0
- {palimpzest-0.5.4.dist-info → palimpzest-0.6.0.dist-info}/WHEEL +0 -0
palimpzest/prompts.py
DELETED
|
@@ -1,397 +0,0 @@
|
|
|
1
|
-
"""This file contains prompts used by Palimpzest
|
|
2
|
-
Whenever they are called, they can be parameterized with the str.format() method using the parameter names that are in brackets.
|
|
3
|
-
For now, this is an easy decoupling. In the future, we maybe want a more sophisticated approach like a PromptBuilder.
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
### FORMATTING INSTRUCTIONS ###
|
|
7
|
-
ONE_TO_ONE_OUTPUT_FORMAT_INSTRUCTION = "Remember, your answer must be a valid JSON dictionary. The dictionary should only have the specified output fields."
|
|
8
|
-
ONE_TO_MANY_OUTPUT_FORMAT_INSTRUCTION = "Remember, your answer must be a valid JSON list of dictionaries. The list may contain one or more dictionaries, and each dictionary should only have the specified output fields."
|
|
9
|
-
|
|
10
|
-
### REASONING INSTRUCTION FOR IMAGE PROMPTS ###
|
|
11
|
-
IMAGE_REASONING_SUFFIX = """Let's think step by step in order to answer the question.
|
|
12
|
-
|
|
13
|
-
REASONING: """
|
|
14
|
-
IMAGE_ANSWER_SUFFIX = """Let's think step by step in order to answer the question.
|
|
15
|
-
|
|
16
|
-
ANSWER: """
|
|
17
|
-
|
|
18
|
-
### DEVELOPER / SYSTEM PROMPTS ###
|
|
19
|
-
COT_BOOL_SYSTEM_PROMPT = """You are a helpful assistant whose job is to answer a TRUE / FALSE question.
|
|
20
|
-
You will be presented with a context and a filter condition. Output TRUE if the context satisfies the filter condition, and FALSE otherwise.
|
|
21
|
-
|
|
22
|
-
Remember, your answer must be TRUE or FALSE. Finish your response with a newline character followed by ---
|
|
23
|
-
|
|
24
|
-
An example is shown below:
|
|
25
|
-
---
|
|
26
|
-
CONTEXT:
|
|
27
|
-
{{
|
|
28
|
-
"text": "The quick brown fox jumps over the lazy dog."
|
|
29
|
-
}}
|
|
30
|
-
|
|
31
|
-
INPUT FIELDS:
|
|
32
|
-
- text: a short passage of text
|
|
33
|
-
|
|
34
|
-
FILTER CONDITION: the text mentions an animal
|
|
35
|
-
|
|
36
|
-
Let's think step by step in order to answer the question.
|
|
37
|
-
|
|
38
|
-
REASONING: the text mentions the words "fox" and "dog" which are animals, therefore the answer is TRUE.
|
|
39
|
-
|
|
40
|
-
ANSWER: TRUE
|
|
41
|
-
---
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
COT_BOOL_IMAGE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to answer a TRUE / FALSE question.
|
|
45
|
-
You will be presented with the image(s) and a filter condition. You may also have some textual inputs. Output TRUE if the input(s) satisfy the filter condition, and FALSE otherwise.
|
|
46
|
-
|
|
47
|
-
Remember, your answer must be TRUE or FALSE. Finish your response with a newline character followed by ---
|
|
48
|
-
|
|
49
|
-
An example is shown below:
|
|
50
|
-
---
|
|
51
|
-
CONTEXT:
|
|
52
|
-
{{
|
|
53
|
-
"image": <bytes>,
|
|
54
|
-
"photographer": "CameraEnthusiast1"
|
|
55
|
-
}}
|
|
56
|
-
|
|
57
|
-
INPUT FIELDS:
|
|
58
|
-
- image: an image of a scene
|
|
59
|
-
- photographer: the photographer of the image
|
|
60
|
-
|
|
61
|
-
FILTER CONDITION: there's an animal in this image
|
|
62
|
-
|
|
63
|
-
<image content provided here; assume in this example the image shows a dog and a cat playing>
|
|
64
|
-
|
|
65
|
-
Let's think step by step in order to answer the question.
|
|
66
|
-
|
|
67
|
-
REASONING: the image shows a dog and a cat playing, both of which are animals, therefore the answer is TRUE.
|
|
68
|
-
|
|
69
|
-
ANSWER: TRUE
|
|
70
|
-
---
|
|
71
|
-
"""
|
|
72
|
-
|
|
73
|
-
COT_QA_BASE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to generate a JSON object.
|
|
74
|
-
You will be presented with a context and a set of output fields to generate. Your task is to generate a JSON object which fills in the output fields with the correct values.
|
|
75
|
-
You will be provided with a description of each input field and each output field. All of the fields in the output JSON object can be derived using information from the context.
|
|
76
|
-
|
|
77
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
78
|
-
|
|
79
|
-
An example is shown below:
|
|
80
|
-
---
|
|
81
|
-
CONTEXT:
|
|
82
|
-
{{
|
|
83
|
-
"text": "Augusta Ada King, Countess of Lovelace, also known as Ada Lovelace, was an English mathematician and writer chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine. She was the first to recognise that the machine had applications beyond pure calculation.",
|
|
84
|
-
"birthday": "December 10, 1815"
|
|
85
|
-
}}
|
|
86
|
-
|
|
87
|
-
INPUT FIELDS:
|
|
88
|
-
- text: a text passage describing a scientist
|
|
89
|
-
- birthday: the scientist's birthday
|
|
90
|
-
|
|
91
|
-
OUTPUT FIELDS:
|
|
92
|
-
- name: the name of the scientist
|
|
93
|
-
- birth_year: the year the scientist was born
|
|
94
|
-
|
|
95
|
-
Let's think step by step in order to answer the question.
|
|
96
|
-
|
|
97
|
-
REASONING: the text passage mentions the scientist's name as "Augusta Ada King, Countess of Lovelace, also known as Ada Lovelace" and the scientist's birthday as "December 10, 1815". Therefore, the name of the scientist is "Augusta Ada King" and the birth year is 1815.
|
|
98
|
-
|
|
99
|
-
ANSWER:
|
|
100
|
-
{{
|
|
101
|
-
"name": "Augusta Ada King",
|
|
102
|
-
"birth_year": 1815
|
|
103
|
-
}}
|
|
104
|
-
---
|
|
105
|
-
"""
|
|
106
|
-
|
|
107
|
-
COT_QA_IMAGE_BASE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to produce a JSON object.
|
|
108
|
-
You will be presented with the image(s) and a set of output fields to generate. You may also have some textual inputs. Your task is to generate a JSON object which fills in the output fields with the correct values.
|
|
109
|
-
You will be provided with a description of each output field. All of the fields in the output JSON object can be derived using information from the input(s).
|
|
110
|
-
|
|
111
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
112
|
-
|
|
113
|
-
An example is shown below:
|
|
114
|
-
---
|
|
115
|
-
CONTEXT:
|
|
116
|
-
{{
|
|
117
|
-
"image": <bytes>,
|
|
118
|
-
"photographer": "CameraEnthusiast1"
|
|
119
|
-
}}
|
|
120
|
-
|
|
121
|
-
INPUT FIELDS:
|
|
122
|
-
- image: an image of a scene
|
|
123
|
-
- photographer: the photographer of the image
|
|
124
|
-
|
|
125
|
-
OUTPUT FIELDS:
|
|
126
|
-
- dog_in_image: true if a dog is in the image and false otherwise
|
|
127
|
-
- person_in_image: true if a person is in the image and false otherwise
|
|
128
|
-
|
|
129
|
-
<image content provided here; assume in this example the image shows a dog and a cat playing>
|
|
130
|
-
|
|
131
|
-
Let's think step by step in order to answer the question.
|
|
132
|
-
|
|
133
|
-
REASONING: The image shows a dog playing with a cat, so there is a dog in the image. There is no person in the image.
|
|
134
|
-
|
|
135
|
-
ANSWER:
|
|
136
|
-
{{
|
|
137
|
-
"dog_in_image": true,
|
|
138
|
-
"person_in_image": false
|
|
139
|
-
}}
|
|
140
|
-
---
|
|
141
|
-
"""
|
|
142
|
-
|
|
143
|
-
COT_MOA_PROPOSER_BASE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to produce an answer to a question.
|
|
144
|
-
You will be presented with a context and a set of output fields to generate. Your task is to generate a paragraph or two which describes what you believe is the correct value for each output field.
|
|
145
|
-
Be sure to cite information from the context as evidence of why your answers are correct. Do not hallucinate evidence.
|
|
146
|
-
|
|
147
|
-
You will be provided with a description of each input field and each output field.
|
|
148
|
-
|
|
149
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
150
|
-
|
|
151
|
-
An example is shown below:
|
|
152
|
-
---
|
|
153
|
-
CONTEXT:
|
|
154
|
-
{{
|
|
155
|
-
"text": "Augusta Ada King, Countess of Lovelace, also known as Ada Lovelace, was an English mathematician and writer chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine. She was the first to recognise that the machine had applications beyond pure calculation.",
|
|
156
|
-
"birthday": "December 10, 1815"
|
|
157
|
-
}}
|
|
158
|
-
|
|
159
|
-
INPUT FIELDS:
|
|
160
|
-
- text: a text passage describing a scientist
|
|
161
|
-
- birthday: the scientist's birthday
|
|
162
|
-
|
|
163
|
-
OUTPUT FIELDS:
|
|
164
|
-
- name: the name of the scientist
|
|
165
|
-
- birth_year: the year the scientist was born
|
|
166
|
-
|
|
167
|
-
Let's think step by step in order to answer the question.
|
|
168
|
-
|
|
169
|
-
ANSWER: the text passage mentions the scientist's name as "Augusta Ada King, Countess of Lovelace, also known as Ada Lovelace" and the scientist's birthday as "December 10, 1815". Therefore, the name of the scientist is "Augusta Ada King" and the birth year is 1815.
|
|
170
|
-
---
|
|
171
|
-
"""
|
|
172
|
-
|
|
173
|
-
COT_MOA_PROPOSER_IMAGE_BASE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to produce an answer to a question.
|
|
174
|
-
You will be presented with the image(s) and a set of output fields to generate. You may also have some textual inputs. Your task is to generate a paragraph or two which describes what you believe is the correct value for each output field.
|
|
175
|
-
Be sure to cite information from the input(s) as evidence of why your answers are correct. Do not hallucinate evidence.
|
|
176
|
-
|
|
177
|
-
You will be provided with a description of each input field and each output field.
|
|
178
|
-
|
|
179
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
180
|
-
|
|
181
|
-
An example is shown below:
|
|
182
|
-
---
|
|
183
|
-
CONTEXT:
|
|
184
|
-
{{
|
|
185
|
-
"image": <bytes>,
|
|
186
|
-
"photographer": "CameraEnthusiast1"
|
|
187
|
-
}}
|
|
188
|
-
|
|
189
|
-
INPUT FIELDS:
|
|
190
|
-
- image: an image of a scene
|
|
191
|
-
- photographer: the photographer of the image
|
|
192
|
-
|
|
193
|
-
OUTPUT FIELDS:
|
|
194
|
-
- dog_in_image: true if a dog is in the image and false otherwise
|
|
195
|
-
- person_in_image: true if a person is in the image and false otherwise
|
|
196
|
-
|
|
197
|
-
<image content provided here; assume in this example the image shows a dog and a cat playing>
|
|
198
|
-
|
|
199
|
-
Let's think step by step in order to answer the question.
|
|
200
|
-
|
|
201
|
-
ANSWER: The image shows a dog playing with a cat, so there is a dog in the image. There is no person in the image.
|
|
202
|
-
---
|
|
203
|
-
"""
|
|
204
|
-
|
|
205
|
-
COT_MOA_AGG_BASE_SYSTEM_PROMPT = """You are a helpful assistant whose job is to generate a JSON object.
|
|
206
|
-
You will be presented with one or more outputs produced by a set of models. Your task is to synthesize these responses into a single, high-quality JSON object which fills in the output fields with the correct values.
|
|
207
|
-
It is crucial to critically evaluate the information provided in these responses, recognizing that some of it may be biased or incorrect.
|
|
208
|
-
|
|
209
|
-
You will be provided with a description of each input field and each output field. All of the fields in the output JSON object can be derived using information from the model responses.
|
|
210
|
-
|
|
211
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
212
|
-
|
|
213
|
-
An example is shown below:
|
|
214
|
-
---
|
|
215
|
-
MODEL RESPONSE 1: the text mentions the scientist's full name "Augusta Ada King, Countess of Lovelace" and states she was an English mathematician who worked on Babbage's Analytical Engine.
|
|
216
|
-
|
|
217
|
-
MODEL RESPONSE 2: the text passage mentions the scientist's name as "Augusta Ada King, Countess of Lovelace, also known as Ada Lovelace" and the scientist's birthday as "December 10, 1815". Therefore, the name of the scientist is "Augusta Ada King" and the birth year is 1815.
|
|
218
|
-
|
|
219
|
-
INPUT FIELDS:
|
|
220
|
-
- text: a text passage describing a scientist
|
|
221
|
-
- birthday: the scientist's birthday
|
|
222
|
-
|
|
223
|
-
OUTPUT FIELDS:
|
|
224
|
-
- name: the name of the scientist
|
|
225
|
-
- birth_year: the year the scientist was born
|
|
226
|
-
|
|
227
|
-
Let's think step by step in order to answer the question.
|
|
228
|
-
|
|
229
|
-
REASONING: Looking at both model responses, they agree that the scientist's formal name is "Augusta Ada King". Model Response 2 correctly extracts the birth year from the birthday field as 1815. The responses are consistent and provide sufficient evidence for these values.
|
|
230
|
-
|
|
231
|
-
ANSWER:
|
|
232
|
-
{{
|
|
233
|
-
"name": "Augusta Ada King",
|
|
234
|
-
"birth_year": 1815
|
|
235
|
-
}}
|
|
236
|
-
---
|
|
237
|
-
"""
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
### USER / INSTANCE-SPECIFIC PROMPTS ###
|
|
241
|
-
COT_BOOL_USER_PROMPT = """You are a helpful assistant whose job is to answer a TRUE / FALSE question.
|
|
242
|
-
You will be presented with a context and a filter condition. Output TRUE if the context satisfies the filter condition, and FALSE otherwise.
|
|
243
|
-
|
|
244
|
-
Remember, your answer must be TRUE or FALSE. Finish your response with a newline character followed by ---
|
|
245
|
-
---
|
|
246
|
-
CONTEXT:
|
|
247
|
-
{context}
|
|
248
|
-
|
|
249
|
-
INPUT FIELDS:
|
|
250
|
-
{input_fields_desc}
|
|
251
|
-
|
|
252
|
-
FILTER CONDITION: {filter_condition}
|
|
253
|
-
|
|
254
|
-
Let's think step by step in order to answer the question.
|
|
255
|
-
|
|
256
|
-
REASONING: """
|
|
257
|
-
|
|
258
|
-
COT_BOOL_IMAGE_USER_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to answer a TRUE / FALSE question.
|
|
259
|
-
You will be presented with the image(s) and a filter condition. You may also have some textual inputs. Output TRUE if the input(s) satisfy the filter condition, and FALSE otherwise.
|
|
260
|
-
|
|
261
|
-
Remember, your answer must be TRUE or FALSE. Finish your response with a newline character followed by ---
|
|
262
|
-
---
|
|
263
|
-
CONTEXT:
|
|
264
|
-
{context}
|
|
265
|
-
|
|
266
|
-
INPUT FIELDS:
|
|
267
|
-
{input_fields_desc}
|
|
268
|
-
|
|
269
|
-
FILTER CONDITION: {filter_condition}
|
|
270
|
-
|
|
271
|
-
"""
|
|
272
|
-
|
|
273
|
-
COT_QA_BASE_USER_PROMPT = """You are a helpful assistant whose job is to generate a JSON object.
|
|
274
|
-
You will be presented with a context and a set of output fields to generate. Your task is to generate a JSON object which fills in the output fields with the correct values.
|
|
275
|
-
You will be provided with a description of each input field and each output field. All of the fields in the output JSON object can be derived using information from the context.
|
|
276
|
-
|
|
277
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
278
|
-
---
|
|
279
|
-
CONTEXT:
|
|
280
|
-
{context}
|
|
281
|
-
|
|
282
|
-
INPUT FIELDS:
|
|
283
|
-
{input_fields_desc}
|
|
284
|
-
|
|
285
|
-
OUTPUT FIELDS:
|
|
286
|
-
{output_fields_desc}
|
|
287
|
-
|
|
288
|
-
Let's think step by step in order to answer the question.
|
|
289
|
-
|
|
290
|
-
REASONING: """
|
|
291
|
-
|
|
292
|
-
COT_QA_IMAGE_BASE_USER_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to produce a JSON object.
|
|
293
|
-
You will be presented with the image(s) and a set of output fields to generate. You may also have some textual inputs. Your task is to generate a JSON object which fills in the output fields with the correct values.
|
|
294
|
-
You will be provided with a description of each output field. All of the fields in the output JSON object can be derived using information from the input(s).
|
|
295
|
-
|
|
296
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
297
|
-
---
|
|
298
|
-
CONTEXT:
|
|
299
|
-
{context}
|
|
300
|
-
|
|
301
|
-
INPUT FIELDS:
|
|
302
|
-
{input_fields_desc}
|
|
303
|
-
|
|
304
|
-
OUTPUT FIELDS:
|
|
305
|
-
{output_fields_desc}
|
|
306
|
-
|
|
307
|
-
"""
|
|
308
|
-
|
|
309
|
-
COT_MOA_PROPOSER_BASE_USER_PROMPT = """You are a helpful assistant whose job is to produce an answer to a question.
|
|
310
|
-
You will be presented with a context and a set of output fields to generate. Your task is to generate a paragraph or two which describes what you believe is the correct value for each output field.
|
|
311
|
-
Be sure to cite information from the context as evidence of why your answers are correct. Do not hallucinate evidence.
|
|
312
|
-
|
|
313
|
-
You will be provided with a description of each input field and each output field.
|
|
314
|
-
|
|
315
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
316
|
-
---
|
|
317
|
-
CONTEXT:
|
|
318
|
-
{context}
|
|
319
|
-
|
|
320
|
-
INPUT FIELDS:
|
|
321
|
-
{input_fields_desc}
|
|
322
|
-
|
|
323
|
-
OUTPUT FIELDS:
|
|
324
|
-
{output_fields_desc}
|
|
325
|
-
|
|
326
|
-
Let's think step by step in order to answer the question.
|
|
327
|
-
|
|
328
|
-
REASONING: """
|
|
329
|
-
|
|
330
|
-
COT_MOA_PROPOSER_IMAGE_BASE_USER_PROMPT = """You are a helpful assistant whose job is to analyze input image(s) and/or text in order to produce an answer to a question.
|
|
331
|
-
You will be presented with the image(s) and a set of output fields to generate. You may also have some textual inputs. Your task is to generate a paragraph or two which describes what you believe is the correct value for each output field.
|
|
332
|
-
Be sure to cite information from the input(s) as evidence of why your answers are correct. Do not hallucinate evidence.
|
|
333
|
-
|
|
334
|
-
You will be provided with a description of each input field and each output field.
|
|
335
|
-
|
|
336
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
337
|
-
---
|
|
338
|
-
CONTEXT:
|
|
339
|
-
{context}
|
|
340
|
-
|
|
341
|
-
INPUT FIELDS:
|
|
342
|
-
{input_fields_desc}
|
|
343
|
-
|
|
344
|
-
OUTPUT FIELDS:
|
|
345
|
-
{output_fields_desc}
|
|
346
|
-
|
|
347
|
-
"""
|
|
348
|
-
|
|
349
|
-
COT_MOA_AGG_BASE_USER_PROMPT = """You are a helpful assistant whose job is to generate a JSON object.
|
|
350
|
-
You will be presented with one or more outputs produced by a set of models. Your task is to synthesize these responses into a single, high-quality JSON object which fills in the output fields with the correct values.
|
|
351
|
-
It is crucial to critically evaluate the information provided in these responses, recognizing that some of it may be biased or incorrect.
|
|
352
|
-
|
|
353
|
-
You will be provided with a description of each input field and each output field. All of the fields in the output JSON object can be derived using information from the model responses.
|
|
354
|
-
|
|
355
|
-
{output_format_instruction} Finish your response with a newline character followed by ---
|
|
356
|
-
---
|
|
357
|
-
{model_responses}
|
|
358
|
-
|
|
359
|
-
INPUT FIELDS:
|
|
360
|
-
{input_fields_desc}
|
|
361
|
-
|
|
362
|
-
OUTPUT FIELDS:
|
|
363
|
-
{output_fields_desc}
|
|
364
|
-
|
|
365
|
-
Let's think step by step in order to answer the question.
|
|
366
|
-
|
|
367
|
-
REASONING: """
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
### CODE SYNTHESIS PROMPTS ###
|
|
371
|
-
EXAMPLE_PROMPT = """Example{idx}:
|
|
372
|
-
Example Input
|
|
373
|
-
-------------
|
|
374
|
-
{example_inputs}
|
|
375
|
-
|
|
376
|
-
Example Output
|
|
377
|
-
--------------
|
|
378
|
-
{example_output}
|
|
379
|
-
"""
|
|
380
|
-
|
|
381
|
-
CODEGEN_PROMPT = """You are a helpful programming assistant and an expert {language} programmer. Implement the {language} function `{api}` that extracts `{output}` ({output_desc}) from given inputs:
|
|
382
|
-
{inputs_desc}
|
|
383
|
-
{examples_desc}
|
|
384
|
-
Notice that the evaluation will severely punish incorrect outputs. Thus, when the function is uncertain, it should return `None` to abstain instead of returning an incorrect guess.
|
|
385
|
-
{advice}
|
|
386
|
-
Return the implementation only."""
|
|
387
|
-
|
|
388
|
-
ADVICEGEN_PROMPT = """You are a helpful programming assistant and an expert {language} programmer. Your job is to provide programming ideas to help me write {language} programs.
|
|
389
|
-
For example, if I want to complete a task: "extract the salary number (in USD) from a given employee's document", you can provide me with {n} different ways to do it like:
|
|
390
|
-
Idea 1: Use regular expressions to extract the salary number: a number with a dollar sign in front of it. For example, $100,000.
|
|
391
|
-
Idea 2: Find the table entry with the salary number.
|
|
392
|
-
Idea 3: Use a pre-trained NLP model to extract the salary number.
|
|
393
|
-
#
|
|
394
|
-
Now, consider the following {language} programming task that extracts `{output}` ({output_desc}) from given inputs:
|
|
395
|
-
{examples_desc}
|
|
396
|
-
Please provide me with {n} different ideas to complete this task. Return the ideas only, following the format above.
|
|
397
|
-
"""
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import time
|
|
4
|
-
from abc import ABC, abstractmethod
|
|
5
|
-
|
|
6
|
-
from palimpzest.constants import (
|
|
7
|
-
LOCAL_SCAN_TIME_PER_KB,
|
|
8
|
-
MEMORY_SCAN_TIME_PER_KB,
|
|
9
|
-
Cardinality,
|
|
10
|
-
)
|
|
11
|
-
from palimpzest.core.data.dataclasses import OperatorCostEstimates, RecordOpStats
|
|
12
|
-
from palimpzest.core.elements.records import DataRecord, DataRecordSet
|
|
13
|
-
from palimpzest.query.operators.physical import PhysicalOperator
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class DataSourcePhysicalOp(PhysicalOperator, ABC):
|
|
17
|
-
"""
|
|
18
|
-
Physical operators which implement DataSources require slightly more information
|
|
19
|
-
in order to accurately compute naive cost estimates. Thus, we use a slightly
|
|
20
|
-
modified abstract base class for these operators.
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
def __init__(self, dataset_id: str, *args, **kwargs):
|
|
24
|
-
super().__init__(*args, **kwargs)
|
|
25
|
-
self.dataset_id = dataset_id
|
|
26
|
-
|
|
27
|
-
def __str__(self):
|
|
28
|
-
op = f"{self.op_name()}({self.dataset_id}) -> {self.output_schema}\n"
|
|
29
|
-
op += f" ({', '.join(self.output_schema.field_names())[:30]})\n"
|
|
30
|
-
return op
|
|
31
|
-
|
|
32
|
-
def get_id_params(self):
|
|
33
|
-
id_params = super().get_id_params()
|
|
34
|
-
return {"dataset_id": self.dataset_id, **id_params}
|
|
35
|
-
|
|
36
|
-
def get_op_params(self):
|
|
37
|
-
op_params = super().get_op_params()
|
|
38
|
-
return {"dataset_id": self.dataset_id, **op_params}
|
|
39
|
-
|
|
40
|
-
def naive_cost_estimates(
|
|
41
|
-
self,
|
|
42
|
-
source_op_cost_estimates: OperatorCostEstimates,
|
|
43
|
-
input_cardinality: Cardinality,
|
|
44
|
-
input_record_size_in_bytes: int | float,
|
|
45
|
-
) -> OperatorCostEstimates:
|
|
46
|
-
"""
|
|
47
|
-
This function returns a naive estimate of this operator's:
|
|
48
|
-
- cardinality
|
|
49
|
-
- time_per_record
|
|
50
|
-
- cost_per_record
|
|
51
|
-
- quality
|
|
52
|
-
|
|
53
|
-
For the implemented operator. These will be used by the CostModel
|
|
54
|
-
when PZ does not have sample execution data -- and it will be necessary
|
|
55
|
-
in some cases even when sample execution data is present. (For example,
|
|
56
|
-
the cardinality of each operator cannot be estimated based on sample
|
|
57
|
-
execution data alone -- thus DataSourcePhysicalOps need to give
|
|
58
|
-
at least ballpark correct estimates of this quantity).
|
|
59
|
-
"""
|
|
60
|
-
raise NotImplementedError("Abstract method")
|
|
61
|
-
|
|
62
|
-
@abstractmethod
|
|
63
|
-
def get_datasource(self):
|
|
64
|
-
raise NotImplementedError("Abstract method")
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
class MarshalAndScanDataOp(DataSourcePhysicalOp):
|
|
68
|
-
def naive_cost_estimates(
|
|
69
|
-
self,
|
|
70
|
-
source_op_cost_estimates: OperatorCostEstimates,
|
|
71
|
-
input_record_size_in_bytes: int | float,
|
|
72
|
-
dataset_type: str,
|
|
73
|
-
) -> OperatorCostEstimates:
|
|
74
|
-
# get inputs needed for naive cost estimation
|
|
75
|
-
# TODO: we should rename cardinality --> "multiplier" or "selectivity" one-to-one / one-to-many
|
|
76
|
-
|
|
77
|
-
# estimate time spent reading each record
|
|
78
|
-
per_record_size_kb = input_record_size_in_bytes / 1024.0
|
|
79
|
-
time_per_record = (
|
|
80
|
-
LOCAL_SCAN_TIME_PER_KB * per_record_size_kb
|
|
81
|
-
if dataset_type in ["dir", "file"]
|
|
82
|
-
else MEMORY_SCAN_TIME_PER_KB * per_record_size_kb
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
# estimate output cardinality
|
|
86
|
-
cardinality = source_op_cost_estimates.cardinality
|
|
87
|
-
|
|
88
|
-
# for now, assume no cost per record for reading data
|
|
89
|
-
return OperatorCostEstimates(
|
|
90
|
-
cardinality=cardinality,
|
|
91
|
-
time_per_record=time_per_record,
|
|
92
|
-
cost_per_record=0,
|
|
93
|
-
quality=1.0,
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
def __call__(self, candidate: DataRecord) -> DataRecordSet:
|
|
97
|
-
"""
|
|
98
|
-
This function takes the candidate -- which is a DataRecord with a SourceRecord schema --
|
|
99
|
-
and invokes its get_item_fn on the given idx to return the next DataRecord from the DataSource.
|
|
100
|
-
"""
|
|
101
|
-
start_time = time.time()
|
|
102
|
-
records = candidate.get_item_fn(candidate.idx)
|
|
103
|
-
end_time = time.time()
|
|
104
|
-
|
|
105
|
-
# if records is a DataRecord (instead of a list) wrap it in a list
|
|
106
|
-
if isinstance(records, DataRecord):
|
|
107
|
-
records = [records]
|
|
108
|
-
|
|
109
|
-
# assert that every element of records is a DataRecord and has a source_id
|
|
110
|
-
for dr in records:
|
|
111
|
-
assert isinstance(dr, DataRecord), "Output from DataSource.get_item() must be a DataRecord or List[DataRecord]"
|
|
112
|
-
|
|
113
|
-
# create RecordOpStats objects
|
|
114
|
-
record_op_stats_lst = []
|
|
115
|
-
for record in records:
|
|
116
|
-
record_op_stats = RecordOpStats(
|
|
117
|
-
record_id=record.id,
|
|
118
|
-
record_parent_id=record.parent_id,
|
|
119
|
-
record_source_id=record.source_id,
|
|
120
|
-
record_state=record.to_dict(include_bytes=False),
|
|
121
|
-
op_id=self.get_op_id(),
|
|
122
|
-
logical_op_id=self.logical_op_id,
|
|
123
|
-
op_name=self.op_name(),
|
|
124
|
-
time_per_record=(end_time - start_time) / len(records),
|
|
125
|
-
cost_per_record=0.0,
|
|
126
|
-
op_details={k: str(v) for k, v in self.get_id_params().items()},
|
|
127
|
-
)
|
|
128
|
-
record_op_stats_lst.append(record_op_stats)
|
|
129
|
-
|
|
130
|
-
# construct and return DataRecordSet object
|
|
131
|
-
record_set = DataRecordSet(records, record_op_stats_lst)
|
|
132
|
-
|
|
133
|
-
return record_set
|
|
134
|
-
|
|
135
|
-
def get_datasource(self):
|
|
136
|
-
return self.datadir.get_registered_dataset(self.dataset_id)
|
|
137
|
-
|
|
138
|
-
def get_datasource_type(self):
|
|
139
|
-
return self.datadir.get_registered_dataset_type(self.dataset_id)
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
class CacheScanDataOp(DataSourcePhysicalOp):
|
|
143
|
-
def naive_cost_estimates(
|
|
144
|
-
self,
|
|
145
|
-
source_op_cost_estimates: OperatorCostEstimates,
|
|
146
|
-
input_record_size_in_bytes: int | float,
|
|
147
|
-
):
|
|
148
|
-
# get inputs needed for naive cost estimation
|
|
149
|
-
# TODO: we should rename cardinality --> "multiplier" or "selectivity" one-to-one / one-to-many
|
|
150
|
-
|
|
151
|
-
# estimate time spent reading each record
|
|
152
|
-
per_record_size_kb = input_record_size_in_bytes / 1024.0
|
|
153
|
-
time_per_record = LOCAL_SCAN_TIME_PER_KB * per_record_size_kb
|
|
154
|
-
|
|
155
|
-
# estimate output cardinality
|
|
156
|
-
cardinality = source_op_cost_estimates.cardinality
|
|
157
|
-
|
|
158
|
-
# for now, assume no cost per record for reading from cache
|
|
159
|
-
return OperatorCostEstimates(
|
|
160
|
-
cardinality=cardinality,
|
|
161
|
-
time_per_record=time_per_record,
|
|
162
|
-
cost_per_record=0,
|
|
163
|
-
quality=1.0,
|
|
164
|
-
)
|
|
165
|
-
|
|
166
|
-
def __call__(self, candidate: DataRecord) -> DataRecordSet:
|
|
167
|
-
start_time = time.time()
|
|
168
|
-
records = candidate.get_item_fn(candidate.idx)
|
|
169
|
-
end_time = time.time()
|
|
170
|
-
|
|
171
|
-
# if records is a DataRecord (instead of a list) wrap it in a list
|
|
172
|
-
if isinstance(records, DataRecord):
|
|
173
|
-
records = [records]
|
|
174
|
-
|
|
175
|
-
# assert that every element of records is a DataRecord and has a source_id
|
|
176
|
-
for dr in records:
|
|
177
|
-
assert isinstance(dr, DataRecord), "Output from DataSource.get_item() must be a DataRecord or List[DataRecord]"
|
|
178
|
-
|
|
179
|
-
# create RecordOpStats objects
|
|
180
|
-
record_op_stats_lst = []
|
|
181
|
-
for record in records:
|
|
182
|
-
record_op_stats = RecordOpStats(
|
|
183
|
-
record_id=record.id,
|
|
184
|
-
record_parent_id=record.parent_id,
|
|
185
|
-
record_source_id=record.source_id,
|
|
186
|
-
record_state=record.to_dict(include_bytes=False),
|
|
187
|
-
op_id=self.get_op_id(),
|
|
188
|
-
logical_op_id=self.logical_op_id,
|
|
189
|
-
op_name=self.op_name(),
|
|
190
|
-
time_per_record=(end_time - start_time) / len(records),
|
|
191
|
-
cost_per_record=0.0,
|
|
192
|
-
op_details={k: str(v) for k, v in self.get_id_params().items()},
|
|
193
|
-
)
|
|
194
|
-
record_op_stats_lst.append(record_op_stats)
|
|
195
|
-
|
|
196
|
-
# construct and eturn DataRecordSet object
|
|
197
|
-
record_set = DataRecordSet(records, record_op_stats_lst)
|
|
198
|
-
|
|
199
|
-
return record_set
|
|
200
|
-
|
|
201
|
-
def get_datasource(self):
|
|
202
|
-
return self.datadir.get_cached_result(self.dataset_id)
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
cli/README.md,sha256=8_oUl_yl_BIwI8hgEwYapuTTweQh9RlJ2ADbDFSfuTg,5690
|
|
2
|
-
cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
cli/cli_main.py,sha256=D1rKqA89qUx16IR-k65a1KnCCQeynWrNgXItRHhXKWA,11333
|
|
4
|
-
palimpzest/__init__.py,sha256=L59dJSHD2m9-JaPzRPENfNsFQ34bvakaJEwzlTK8d2c,744
|
|
5
|
-
palimpzest/config.py,sha256=3rwtnfySDpFc4jD3__08QMd5Qb2aZNtYALT6GXtzkdo,3160
|
|
6
|
-
palimpzest/constants.py,sha256=NEVlHCKNfWslJXUMW90tAVZSO9oazrD0vJer2z39a6w,12633
|
|
7
|
-
palimpzest/policy.py,sha256=nqUU9CaciLazuJyQjC7r0HAn9KO2kuKkjIQ1qYyQRT4,10223
|
|
8
|
-
palimpzest/prompts.py,sha256=gov2ul-ggQ_8KsYXDsJpOTAhGHo9Zqw3TF4CXVZMsfI,16797
|
|
9
|
-
palimpzest/sets.py,sha256=a_1igrB9Gs_AM2rA131Swf2iy5nH2bbNjKtYM7afXRA,10969
|
|
10
|
-
palimpzest/core/__init__.py,sha256=Onhh-PvzmPIkEHvmfyV3YbIMcTuxs6wTeZDkgdATA1c,1598
|
|
11
|
-
palimpzest/core/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
palimpzest/core/data/dataclasses.py,sha256=45KKLbgz6p8RBm_vGCBFVVoQQhavb7iE0-gufehOj8Y,19210
|
|
13
|
-
palimpzest/core/data/datasources.py,sha256=R0rfaunjU-nTilbtUw6vlvPwIhPcimFsutcjzCJFs7c,12398
|
|
14
|
-
palimpzest/core/elements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
palimpzest/core/elements/filters.py,sha256=zBBYRUnPfEYb85IfC04TJkS45GxgL5KfXASIHWwlwow,1554
|
|
16
|
-
palimpzest/core/elements/groupbysig.py,sha256=1qHuR2-fcW-E4rxPSieYGSXZYwvFaPwf1ld9VPWvWjw,2233
|
|
17
|
-
palimpzest/core/elements/records.py,sha256=Ei3d-eAjnkNT8Ne1u2N46Iv8MXdyg2n2MxZ2cgyMGiM,14143
|
|
18
|
-
palimpzest/core/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
palimpzest/core/lib/fields.py,sha256=kfL1bG1ic8dJFWX6oYbvih7c24hb0lN_sl74wkWVKeU,3963
|
|
20
|
-
palimpzest/core/lib/schemas.py,sha256=Nz5DBaCk6toZmHL1xNi1R8KiyPt4lnQ2SnrM9iqb9eU,17732
|
|
21
|
-
palimpzest/datamanager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
palimpzest/datamanager/datamanager.py,sha256=H01K0DDC-5aqnLmTZoAYDQcNvPJLAld5jCccT6hRD7c,12080
|
|
23
|
-
palimpzest/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
palimpzest/query/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
palimpzest/query/execution/execution_strategy.py,sha256=twU6lToTv58ln7GolVD5Ale6cLIf5-LgT9mzb1lSaVA,2590
|
|
26
|
-
palimpzest/query/execution/parallel_execution_strategy.py,sha256=iyZnTpAmTAwSiRgPGqvhpQObWAAyBYnxA9XKHUPpKOc,12037
|
|
27
|
-
palimpzest/query/execution/single_threaded_execution_strategy.py,sha256=-tHmb7EVjFb6TH7KNZ77JXjzSjibkLdBSXijscRvXcQ,14581
|
|
28
|
-
palimpzest/query/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
palimpzest/query/generators/generators.py,sha256=z0JOJq1TBy_QDcX0lx1_-Da9frx4wQivIjDLiAKWe3Q,32620
|
|
30
|
-
palimpzest/query/operators/__init__.py,sha256=HKKo91j-Jcu0u058R5FlnYmAIKrfwkn9JL0lbB1Gigg,3327
|
|
31
|
-
palimpzest/query/operators/aggregate.py,sha256=_vEbDGiMi_Kujjw-ORCKRHfpRvvG5_kwotaciTOJ714,9942
|
|
32
|
-
palimpzest/query/operators/code_synthesis_convert.py,sha256=NOlEn_dJygdUm4w3tuus3rRPgZuebCpBdKnOEc6DVeo,23512
|
|
33
|
-
palimpzest/query/operators/convert.py,sha256=BdrJjMHHmdzabxON2QVWqsSExChdUt5lqSCO5pCx6fA,19828
|
|
34
|
-
palimpzest/query/operators/datasource.py,sha256=k2jr2uI6OIZSuIhmaTXmxcAn_tcB4aGwAJSd8aht2hs,7767
|
|
35
|
-
palimpzest/query/operators/filter.py,sha256=93Jq46yKsMqucYRlIVymB3TNZnChhDhRyY9_j4uYTpo,10370
|
|
36
|
-
palimpzest/query/operators/limit.py,sha256=NnxplYen1bgax_0DbEy86IR2dRwnfjL3GkkcIr7CO2g,2101
|
|
37
|
-
palimpzest/query/operators/logical.py,sha256=izKiBKfhoI-CJdKQoqLrU0ahER-W4bU_MZiOVrTCZA4,14649
|
|
38
|
-
palimpzest/query/operators/mixture_of_agents_convert.py,sha256=gpX05W07wVGaX2ZIqA0Z9qUCJy9QdHhCwkRnXhSJ3pE,6561
|
|
39
|
-
palimpzest/query/operators/physical.py,sha256=q8N52EUeukrNcNAccB78x33lzU9b2-jiODB_B-9ABak,7947
|
|
40
|
-
palimpzest/query/operators/project.py,sha256=B0cuV307uf0ApV7ToCxnBu91eOI_FQweT7sr-9A9ftw,2082
|
|
41
|
-
palimpzest/query/operators/rag_convert.py,sha256=9bTmAczk9AnqehEq98NI2gxjBwgu0dRSukP6vpaIbiY,8365
|
|
42
|
-
palimpzest/query/operators/retrieve.py,sha256=4I0asx0eO90q5zfi1sudC0cDnyOLTv-nlV8Y4ZfBF3o,4989
|
|
43
|
-
palimpzest/query/operators/token_reduction_convert.py,sha256=yy9GYMPt-LQxPdwIgVyhCb9hi_8FRorGU8XqK_3jq9g,8513
|
|
44
|
-
palimpzest/query/optimizer/__init__.py,sha256=2af1v_3Dyyi5Y1la4cY2eyyKsjmRU6Lfoxeqf4U92Fo,2981
|
|
45
|
-
palimpzest/query/optimizer/cost_model.py,sha256=joUjt5oeA86dq_cRqp_hbPm2G-yNpSz5Jps000YbTbc,45518
|
|
46
|
-
palimpzest/query/optimizer/optimizer.py,sha256=aGwDy9W4Fv0uoD-i2KZ9erfe7Yv811PyyTWBdKM09s4,19722
|
|
47
|
-
palimpzest/query/optimizer/optimizer_strategy.py,sha256=71HbRWLbliAw2eV6PnqqkbPiLx7iqKFe2e23V3g-P_E,11874
|
|
48
|
-
palimpzest/query/optimizer/plan.py,sha256=VfHfHRE2vuNl-hT2Bbdwb_iVW_CVOVPBG7fLOk31VIU,5786
|
|
49
|
-
palimpzest/query/optimizer/primitives.py,sha256=ikaX8YcDM3IrxKt98OX-mYujRYQtdMlDgsFKyjchMMA,4061
|
|
50
|
-
palimpzest/query/optimizer/rules.py,sha256=vfy3oivZvFMxu0nLK0etkX9DYXfaxug0hRpAL67iE0E,39427
|
|
51
|
-
palimpzest/query/optimizer/tasks.py,sha256=ORyPpAbbVAUjkxh3WyDYw2I8Z6RfQLUsLGOh5987zTI,28058
|
|
52
|
-
palimpzest/query/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
palimpzest/query/processor/config.py,sha256=YWxRW__n17gwtaorFXbxuRUmcpTowmdHL_mQFh96YnM,2751
|
|
54
|
-
palimpzest/query/processor/mab_sentinel_processor.py,sha256=6qDD0A6viKRknYN215DcQlwyt40NrXXrUtDRfNaeR58,45673
|
|
55
|
-
palimpzest/query/processor/nosentinel_processor.py,sha256=jQuvAbfXVASb561OZeDS545fr_-eHg8qODK8UErk3s0,27713
|
|
56
|
-
palimpzest/query/processor/query_processor.py,sha256=1bM6KhGsOPEPgsx33blmh3NVGheuwndRSk6TRqqSjYA,11558
|
|
57
|
-
palimpzest/query/processor/query_processor_factory.py,sha256=2GiOYnG4OGsaLAIipEYVK0ptejp7CKPXN3bfCDSjJbI,7739
|
|
58
|
-
palimpzest/query/processor/random_sampling_sentinel_processor.py,sha256=c6V1CV7FhhFjgleXR19bieNCX6NM0qvxYPla01rOrwY,29975
|
|
59
|
-
palimpzest/query/processor/streaming_processor.py,sha256=LCX4FW3trgk-LX89x-5yxKNZO-Qk8AXV3PJBvlPS92w,6933
|
|
60
|
-
palimpzest/schemabuilder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
-
palimpzest/schemabuilder/schema_builder.py,sha256=kGEv-Adba-FNziRrlG0zwx317IuD7rmzNl2GecvnbDw,8528
|
|
62
|
-
palimpzest/tools/README.md,sha256=56_6LPG80uc0CLVhTBP6I1wgIffNv9cyTr0TmVZqmrM,483
|
|
63
|
-
palimpzest/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
-
palimpzest/tools/allenpdf.py,sha256=fXMOmSDdSSLXDKAPYYJ8k4egtWEBf_Me9Lq9tM3iyoA,1690
|
|
65
|
-
palimpzest/tools/pdfparser.py,sha256=Nwb9mBr9t0CbpNa0ohdBLkNF4BMcwKTUEJvc8gSm-0A,12372
|
|
66
|
-
palimpzest/tools/skema_tools.py,sha256=HXUFpjMhbVxZwKKkATeK-FwtlTCawaCbeP-uHntI1Kg,669
|
|
67
|
-
palimpzest/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
|
-
palimpzest/utils/demo_helpers.py,sha256=BcNgtTz4O9iGriefy6f26BtJd_G5SQPzD3oQg_qLUdU,2522
|
|
69
|
-
palimpzest/utils/env_helpers.py,sha256=n81KzoJ459pRxo7QmJA7duazwWsfoMGTHc71D2LatFk,334
|
|
70
|
-
palimpzest/utils/generation_helpers.py,sha256=jveE9iQQtUQ94nuU6c1zuWoQMkwizr037S8si4n35jo,3230
|
|
71
|
-
palimpzest/utils/hash_helpers.py,sha256=FMvClHCVhJWKI-OAyeUI4kgT57VE9ROSgGw7tCQ4Y3c,283
|
|
72
|
-
palimpzest/utils/index_helpers.py,sha256=7webOjV2vYF7UJ_YsNdoX5OyR1zJ6lSLWO1mQSGWz0Q,123
|
|
73
|
-
palimpzest/utils/model_helpers.py,sha256=dZdMkZ6zOBqG3uBCkmzXG1yQAoaGL3wF6lNSgnvigEQ,2399
|
|
74
|
-
palimpzest/utils/progress.py,sha256=GYmPUBdG7xmqbqj1UiSNP-pWZKmRMLX797MBgrOPugM,7214
|
|
75
|
-
palimpzest/utils/sandbox.py,sha256=Ge96gmzqeOGlNkMCG9A95_PB8wRQbvTFua136of8FcA,6465
|
|
76
|
-
palimpzest/utils/token_reduction_helpers.py,sha256=Ob95PcqCsbGLiBdQ-4YQsWGWRppb2hvQyt0gi1fzL-Y,3855
|
|
77
|
-
palimpzest/utils/udfs.py,sha256=V1SGxXjkrdFmv5vE8vZhqFcAn8fvWUHBLQmV10VZ62A,2848
|
|
78
|
-
palimpzest-0.5.4.dist-info/LICENSE,sha256=5GUlHy9lr-Py9kvV38FF1m3yy3NqM18fefuE9wkWumo,1079
|
|
79
|
-
palimpzest-0.5.4.dist-info/METADATA,sha256=GSQpHcSooQvVqzvuL_IsROjdjDW4k5OxMfw2q6h-5F4,7336
|
|
80
|
-
palimpzest-0.5.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
81
|
-
palimpzest-0.5.4.dist-info/entry_points.txt,sha256=YyHoEmjhWcXfblAvTWeWj6cJHWPS20ZMGvf7-tVQDoQ,41
|
|
82
|
-
palimpzest-0.5.4.dist-info/top_level.txt,sha256=cVbFwaCyGJfBS9RpFQ7_g3wEgQ1BzLDCymEEDAYWC0g,15
|
|
83
|
-
palimpzest-0.5.4.dist-info/RECORD,,
|