edsl 0.1.35__py3-none-any.whl → 0.1.36__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.
- edsl/Base.py +5 -0
- edsl/__init__.py +1 -0
- edsl/__version__.py +1 -1
- edsl/agents/Agent.py +37 -9
- edsl/agents/Invigilator.py +2 -1
- edsl/agents/InvigilatorBase.py +5 -1
- edsl/agents/PromptConstructor.py +31 -67
- edsl/conversation/Conversation.py +1 -1
- edsl/coop/PriceFetcher.py +14 -18
- edsl/coop/coop.py +42 -8
- edsl/data/RemoteCacheSync.py +97 -0
- edsl/exceptions/coop.py +8 -0
- edsl/inference_services/InferenceServiceABC.py +28 -0
- edsl/inference_services/InferenceServicesCollection.py +10 -4
- edsl/inference_services/models_available_cache.py +25 -1
- edsl/inference_services/registry.py +24 -16
- edsl/jobs/Jobs.py +327 -206
- edsl/jobs/interviews/Interview.py +65 -10
- edsl/jobs/interviews/InterviewExceptionCollection.py +9 -0
- edsl/jobs/interviews/InterviewExceptionEntry.py +31 -9
- edsl/jobs/runners/JobsRunnerAsyncio.py +8 -13
- edsl/jobs/tasks/QuestionTaskCreator.py +1 -5
- edsl/jobs/tasks/TaskHistory.py +23 -7
- edsl/language_models/LanguageModel.py +3 -0
- edsl/prompts/Prompt.py +24 -38
- edsl/prompts/__init__.py +1 -1
- edsl/questions/QuestionBasePromptsMixin.py +18 -18
- edsl/questions/QuestionFunctional.py +7 -3
- edsl/questions/descriptors.py +24 -24
- edsl/results/Dataset.py +12 -0
- edsl/results/Result.py +2 -0
- edsl/results/Results.py +13 -1
- edsl/scenarios/FileStore.py +20 -5
- edsl/scenarios/Scenario.py +15 -1
- edsl/scenarios/__init__.py +2 -0
- edsl/surveys/Survey.py +3 -0
- edsl/surveys/instructions/Instruction.py +20 -3
- {edsl-0.1.35.dist-info → edsl-0.1.36.dist-info}/METADATA +1 -1
- {edsl-0.1.35.dist-info → edsl-0.1.36.dist-info}/RECORD +41 -57
- edsl/jobs/FailedQuestion.py +0 -78
- edsl/jobs/interviews/InterviewStatusMixin.py +0 -33
- edsl/jobs/tasks/task_management.py +0 -13
- edsl/prompts/QuestionInstructionsBase.py +0 -10
- edsl/prompts/library/agent_instructions.py +0 -38
- edsl/prompts/library/agent_persona.py +0 -21
- edsl/prompts/library/question_budget.py +0 -30
- edsl/prompts/library/question_checkbox.py +0 -38
- edsl/prompts/library/question_extract.py +0 -23
- edsl/prompts/library/question_freetext.py +0 -18
- edsl/prompts/library/question_linear_scale.py +0 -24
- edsl/prompts/library/question_list.py +0 -26
- edsl/prompts/library/question_multiple_choice.py +0 -54
- edsl/prompts/library/question_numerical.py +0 -35
- edsl/prompts/library/question_rank.py +0 -25
- edsl/prompts/prompt_config.py +0 -37
- edsl/prompts/registry.py +0 -202
- {edsl-0.1.35.dist-info → edsl-0.1.36.dist-info}/LICENSE +0 -0
- {edsl-0.1.35.dist-info → edsl-0.1.36.dist-info}/WHEEL +0 -0
edsl/results/Result.py
CHANGED
@@ -75,6 +75,7 @@ class Result(Base, UserDict):
|
|
75
75
|
question_to_attributes: Optional[dict] = None,
|
76
76
|
generated_tokens: Optional[dict] = None,
|
77
77
|
comments_dict: Optional[dict] = None,
|
78
|
+
cache_used_dict: Optional[dict] = None,
|
78
79
|
):
|
79
80
|
"""Initialize a Result object.
|
80
81
|
|
@@ -130,6 +131,7 @@ class Result(Base, UserDict):
|
|
130
131
|
self.question_to_attributes = question_to_attributes
|
131
132
|
self.generated_tokens = generated_tokens
|
132
133
|
self.comments_dict = comments_dict or {}
|
134
|
+
self.cache_used_dict = cache_used_dict or {}
|
133
135
|
|
134
136
|
self._combined_dict = None
|
135
137
|
self._problem_keys = None
|
edsl/results/Results.py
CHANGED
@@ -29,6 +29,7 @@ from edsl.results.ResultsFetchMixin import ResultsFetchMixin
|
|
29
29
|
from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
|
30
30
|
from edsl.utilities.utilities import dict_hash
|
31
31
|
|
32
|
+
|
32
33
|
from edsl.Base import Base
|
33
34
|
|
34
35
|
|
@@ -89,6 +90,7 @@ class Results(UserList, Mixins, Base):
|
|
89
90
|
cache: Optional["Cache"] = None,
|
90
91
|
job_uuid: Optional[str] = None,
|
91
92
|
total_results: Optional[int] = None,
|
93
|
+
task_history: Optional["TaskHistory"] = None,
|
92
94
|
):
|
93
95
|
"""Instantiate a `Results` object with a survey and a list of `Result` objects.
|
94
96
|
|
@@ -100,6 +102,7 @@ class Results(UserList, Mixins, Base):
|
|
100
102
|
"""
|
101
103
|
super().__init__(data)
|
102
104
|
from edsl.data.Cache import Cache
|
105
|
+
from edsl.jobs.tasks.TaskHistory import TaskHistory
|
103
106
|
|
104
107
|
self.survey = survey
|
105
108
|
self.created_columns = created_columns or []
|
@@ -107,6 +110,8 @@ class Results(UserList, Mixins, Base):
|
|
107
110
|
self._total_results = total_results
|
108
111
|
self.cache = cache or Cache()
|
109
112
|
|
113
|
+
self.task_history = task_history or TaskHistory(interviews=[])
|
114
|
+
|
110
115
|
if hasattr(self, "_add_output_functions"):
|
111
116
|
self._add_output_functions()
|
112
117
|
|
@@ -276,6 +281,7 @@ class Results(UserList, Mixins, Base):
|
|
276
281
|
"survey": self.survey.to_dict(),
|
277
282
|
"created_columns": self.created_columns,
|
278
283
|
"cache": Cache() if not hasattr(self, "cache") else self.cache.to_dict(),
|
284
|
+
"task_history": self.task_history.to_dict(),
|
279
285
|
}
|
280
286
|
|
281
287
|
def compare(self, other_results):
|
@@ -295,6 +301,10 @@ class Results(UserList, Mixins, Base):
|
|
295
301
|
"b_not_a": [other_results[i] for i in indices_other],
|
296
302
|
}
|
297
303
|
|
304
|
+
@property
|
305
|
+
def has_unfixed_exceptions(self):
|
306
|
+
return self.task_history.has_unfixed_exceptions
|
307
|
+
|
298
308
|
@add_edsl_version
|
299
309
|
def to_dict(self) -> dict[str, Any]:
|
300
310
|
"""Convert the Results object to a dictionary.
|
@@ -305,7 +315,7 @@ class Results(UserList, Mixins, Base):
|
|
305
315
|
|
306
316
|
>>> r = Results.example()
|
307
317
|
>>> r.to_dict().keys()
|
308
|
-
dict_keys(['data', 'survey', 'created_columns', 'cache', 'edsl_version', 'edsl_class_name'])
|
318
|
+
dict_keys(['data', 'survey', 'created_columns', 'cache', 'task_history', 'edsl_version', 'edsl_class_name'])
|
309
319
|
"""
|
310
320
|
return self._to_dict()
|
311
321
|
|
@@ -358,6 +368,7 @@ class Results(UserList, Mixins, Base):
|
|
358
368
|
"""
|
359
369
|
from edsl import Survey, Cache
|
360
370
|
from edsl.results.Result import Result
|
371
|
+
from edsl.jobs.tasks.TaskHistory import TaskHistory
|
361
372
|
|
362
373
|
try:
|
363
374
|
results = cls(
|
@@ -367,6 +378,7 @@ class Results(UserList, Mixins, Base):
|
|
367
378
|
cache=(
|
368
379
|
Cache.from_dict(data.get("cache")) if "cache" in data else Cache()
|
369
380
|
),
|
381
|
+
task_history=TaskHistory.from_dict(data.get("task_history")),
|
370
382
|
)
|
371
383
|
except Exception as e:
|
372
384
|
raise ResultsDeserializationError(f"Error in Results.from_dict: {e}")
|
edsl/scenarios/FileStore.py
CHANGED
@@ -77,8 +77,19 @@ class FileStore(Scenario):
|
|
77
77
|
def __str__(self):
|
78
78
|
return "FileStore: self.path"
|
79
79
|
|
80
|
+
@classmethod
|
81
|
+
def example(self):
|
82
|
+
import tempfile
|
83
|
+
|
84
|
+
with tempfile.NamedTemporaryFile(suffix=".txt", delete=False) as f:
|
85
|
+
f.write(b"Hello, World!")
|
86
|
+
|
87
|
+
return self(path=f.name)
|
88
|
+
|
80
89
|
@property
|
81
90
|
def size(self) -> int:
|
91
|
+
if self.base64_string != None:
|
92
|
+
return (len(self.base64_string) / 4.0) * 3 # from base64 to char size
|
82
93
|
return os.path.getsize(self.path)
|
83
94
|
|
84
95
|
def upload_google(self, refresh: bool = False) -> None:
|
@@ -93,7 +104,7 @@ class FileStore(Scenario):
|
|
93
104
|
return cls(**d)
|
94
105
|
|
95
106
|
def __repr__(self):
|
96
|
-
return f"FileStore({self.path})"
|
107
|
+
return f"FileStore(path='{self.path}')"
|
97
108
|
|
98
109
|
def encode_file_to_base64_string(self, file_path: str):
|
99
110
|
try:
|
@@ -272,7 +283,8 @@ class CSVFileStore(FileStore):
|
|
272
283
|
|
273
284
|
with tempfile.NamedTemporaryFile(suffix=".csv", delete=False) as f:
|
274
285
|
r.to_csv(filename=f.name)
|
275
|
-
|
286
|
+
|
287
|
+
return cls(f.name)
|
276
288
|
|
277
289
|
def view(self):
|
278
290
|
import pandas as pd
|
@@ -352,7 +364,8 @@ class PDFFileStore(FileStore):
|
|
352
364
|
|
353
365
|
with tempfile.NamedTemporaryFile(suffix=".pdf", delete=False) as f:
|
354
366
|
f.write(pdf_string.encode())
|
355
|
-
|
367
|
+
|
368
|
+
return cls(f.name)
|
356
369
|
|
357
370
|
|
358
371
|
class PNGFileStore(FileStore):
|
@@ -367,7 +380,8 @@ class PNGFileStore(FileStore):
|
|
367
380
|
|
368
381
|
with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as f:
|
369
382
|
f.write(png_string.encode())
|
370
|
-
|
383
|
+
|
384
|
+
return cls(f.name)
|
371
385
|
|
372
386
|
def view(self):
|
373
387
|
import matplotlib.pyplot as plt
|
@@ -407,7 +421,8 @@ class HTMLFileStore(FileStore):
|
|
407
421
|
|
408
422
|
with tempfile.NamedTemporaryFile(suffix=".html", delete=False) as f:
|
409
423
|
f.write("<html><body><h1>Test</h1></body></html>".encode())
|
410
|
-
|
424
|
+
|
425
|
+
return cls(f.name)
|
411
426
|
|
412
427
|
def view(self):
|
413
428
|
import webbrowser
|
edsl/scenarios/Scenario.py
CHANGED
@@ -134,7 +134,13 @@ class Scenario(Base, UserDict, ScenarioHtmlMixin):
|
|
134
134
|
>>> s.to_dict()
|
135
135
|
{'food': 'wood chips', 'edsl_version': '...', 'edsl_class_name': 'Scenario'}
|
136
136
|
"""
|
137
|
-
|
137
|
+
from edsl.scenarios.FileStore import FileStore
|
138
|
+
|
139
|
+
d = self.data.copy()
|
140
|
+
for key, value in d.items():
|
141
|
+
if isinstance(value, FileStore):
|
142
|
+
d[key] = value.to_dict()
|
143
|
+
return d
|
138
144
|
|
139
145
|
@add_edsl_version
|
140
146
|
def to_dict(self) -> dict:
|
@@ -439,6 +445,14 @@ class Scenario(Base, UserDict, ScenarioHtmlMixin):
|
|
439
445
|
>>> Scenario.from_dict({"food": "wood chips"})
|
440
446
|
Scenario({'food': 'wood chips'})
|
441
447
|
"""
|
448
|
+
from edsl.scenarios.FileStore import FileStore
|
449
|
+
|
450
|
+
for key, value in d.items():
|
451
|
+
# TODO: we should check this better if its a FileStore + add remote security check against path traversal
|
452
|
+
if (
|
453
|
+
isinstance(value, dict) and "base64_string" in value and "path" in value
|
454
|
+
) or isinstance(value, FileStore):
|
455
|
+
d[key] = FileStore.from_dict(value)
|
442
456
|
return cls(d)
|
443
457
|
|
444
458
|
def _table(self) -> tuple[dict, list]:
|
edsl/scenarios/__init__.py
CHANGED
edsl/surveys/Survey.py
CHANGED
@@ -5,9 +5,12 @@ from edsl.utilities.decorators import add_edsl_version, remove_edsl_version
|
|
5
5
|
|
6
6
|
|
7
7
|
class Instruction:
|
8
|
-
def __init__(
|
8
|
+
def __init__(
|
9
|
+
self, name, text, preamble="You were given the following instructions:"
|
10
|
+
):
|
9
11
|
self.name = name
|
10
12
|
self.text = text
|
13
|
+
self.preamble = preamble
|
11
14
|
|
12
15
|
def __str__(self):
|
13
16
|
return self.text
|
@@ -16,7 +19,17 @@ class Instruction:
|
|
16
19
|
return """Instruction(name="{}", text="{}")""".format(self.name, self.text)
|
17
20
|
|
18
21
|
def _to_dict(self):
|
19
|
-
return {
|
22
|
+
return {
|
23
|
+
"name": self.name,
|
24
|
+
"text": self.text,
|
25
|
+
"edsl_class_name": "Instruction",
|
26
|
+
"preamble": self.preamble,
|
27
|
+
}
|
28
|
+
|
29
|
+
def add_question(self, question) -> "Survey":
|
30
|
+
from edsl import Survey
|
31
|
+
|
32
|
+
return Survey([self, question])
|
20
33
|
|
21
34
|
@add_edsl_version
|
22
35
|
def to_dict(self):
|
@@ -31,4 +44,8 @@ class Instruction:
|
|
31
44
|
@classmethod
|
32
45
|
@remove_edsl_version
|
33
46
|
def from_dict(cls, data):
|
34
|
-
return cls(
|
47
|
+
return cls(
|
48
|
+
data["name"],
|
49
|
+
data["text"],
|
50
|
+
data.get("preamble", "You were given the following instructions:"),
|
51
|
+
)
|
@@ -1,13 +1,13 @@
|
|
1
|
-
edsl/Base.py,sha256=
|
1
|
+
edsl/Base.py,sha256=xm_WdwWrQRO0Iy88XsOSRm00ZNHv5pX4LbFid8oilX8,9433
|
2
2
|
edsl/BaseDiff.py,sha256=RoVEh52UJs22yMa7k7jv8se01G62jJNWnBzaZngo-Ug,8260
|
3
3
|
edsl/TemplateLoader.py,sha256=sDBlSMt7EfOduM7w3h6v03gvh_Rzn9hVrlS-iLSQdZA,849
|
4
|
-
edsl/__init__.py,sha256=
|
5
|
-
edsl/__version__.py,sha256=
|
6
|
-
edsl/agents/Agent.py,sha256=
|
4
|
+
edsl/__init__.py,sha256=5dKXbmvmALx-_7KRNdC66cvP_dpLpsfTDBV57SMgTzY,1817
|
5
|
+
edsl/__version__.py,sha256=z6JYG2yALo9HI8zZMbgirtKP92kE14gI-nkfBP7Sf24,23
|
6
|
+
edsl/agents/Agent.py,sha256=OJlBBdiHJztpvbyFwIevF2skYZdtvinkP9OccpSH0to,29454
|
7
7
|
edsl/agents/AgentList.py,sha256=qo8VK3Ov0YOSbsBcHmlwLZBH81CcDfy5IEcx9AVH78M,10963
|
8
|
-
edsl/agents/Invigilator.py,sha256=
|
9
|
-
edsl/agents/InvigilatorBase.py,sha256=
|
10
|
-
edsl/agents/PromptConstructor.py,sha256=
|
8
|
+
edsl/agents/Invigilator.py,sha256=m4T-z4aNCGd4LKjLXVNI2VszYW-pQeScfcFAxkb0pWc,9080
|
9
|
+
edsl/agents/InvigilatorBase.py,sha256=tE0Te6OGp8JSGF-yMkaY6fbKhrWt6ZI2jc8P5S374dQ,10435
|
10
|
+
edsl/agents/PromptConstructor.py,sha256=QRpGbTfOPCdLcehR0miDNwDBIKb1mmIyVKUHP8Kgj8s,13605
|
11
11
|
edsl/agents/__init__.py,sha256=B1dWfV4QWOo8cc2KeuetdFGeNhZ8XHc0Q8YhQW9k7BE,136
|
12
12
|
edsl/agents/descriptors.py,sha256=m8ND3-2-JbgNX1HGakBNLIeemwsgYa1mQxYO9GW33hw,2934
|
13
13
|
edsl/agents/prompt_helpers.py,sha256=rHUxM_F0kCOkJmnhCyK-amFKViAYvpRRLD8LHFLGqQw,5023
|
@@ -40,17 +40,18 @@ edsl/conjure/__init__.py,sha256=1lPYFjV73GzYYSXiTyxopM4nKcXVHumEEo0fe06DbMo,535
|
|
40
40
|
edsl/conjure/examples/placeholder.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
41
|
edsl/conjure/naming_utilities.py,sha256=8uoGaCPZQKLwz2HudtsFSovivTGumQrFYxXxck5WUZQ,4964
|
42
42
|
edsl/conjure/utilities.py,sha256=yRdOJx9KIpWXMx41Bbfysx7Zd4v2ROwca5L4T1rmtQM,5539
|
43
|
-
edsl/conversation/Conversation.py,sha256=
|
43
|
+
edsl/conversation/Conversation.py,sha256=h_t9JWbMlec2788ojtxi0skYicchrDsy2j6K-mDpHKM,7633
|
44
44
|
edsl/conversation/car_buying.py,sha256=Quh2Q8O9YoCyTKJUy3li376QFIOcL1gX0y89w3wlSl4,1950
|
45
45
|
edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUeiJqTxVPA,2616
|
46
46
|
edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
|
47
|
-
edsl/coop/PriceFetcher.py,sha256=
|
47
|
+
edsl/coop/PriceFetcher.py,sha256=pCCWBqFnSv8iYpgQKhAzVCdan1xTCNesZgmIB34N4HY,1770
|
48
48
|
edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
|
49
|
-
edsl/coop/coop.py,sha256=
|
49
|
+
edsl/coop/coop.py,sha256=TwtJY4uYOnSbWXPNZ-o3MFZigswBJnqmIyGFeoQSHws,29846
|
50
50
|
edsl/coop/utils.py,sha256=UZwljKYW_Yjw7RYcjOg3SW7fn1pyHQfJ1fM48TBNoss,3601
|
51
51
|
edsl/data/Cache.py,sha256=jDt0LoZjLpGnM8-CraQEcsQaVg--U3BiBR1zHj0nDn8,16536
|
52
52
|
edsl/data/CacheEntry.py,sha256=_5UiFaJQu_U-Z1_lEPt-h6Gaidp2Eunk02wOd3Ni3MQ,7252
|
53
53
|
edsl/data/CacheHandler.py,sha256=DxbfeT2nZGRu8yQkbWr2tyEnhNiClevMsd5KZMCq2f0,4793
|
54
|
+
edsl/data/RemoteCacheSync.py,sha256=is3j644YAZDPCt4bMxOZpXtJkCXLs_hoKukxQosKKXM,3628
|
54
55
|
edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
|
55
56
|
edsl/data/__init__.py,sha256=KBNGGEuGHq--D-TlpAQmvv_If906dJc1Gsy028zOx78,170
|
56
57
|
edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
|
@@ -59,7 +60,7 @@ edsl/enums.py,sha256=Z6nhaP8p3z0UJSfsCGb6VQUtGUKw3AK6yC0UDwOi05c,5247
|
|
59
60
|
edsl/exceptions/__init__.py,sha256=HVg-U-rJ0fRoG9Rws6gnK5S9B68SkPWDPsoD6KpMZ-A,1370
|
60
61
|
edsl/exceptions/agents.py,sha256=3SORFwFbMGrF6-vAL2GrKEVdPcXo7md_k2oYufnVXHA,673
|
61
62
|
edsl/exceptions/configuration.py,sha256=qH2sInNTndKlCLAaNgaXHyRFdKQHL7-dElB_j8wz9g4,351
|
62
|
-
edsl/exceptions/coop.py,sha256=
|
63
|
+
edsl/exceptions/coop.py,sha256=xunPPrnbcNHn60wnH-Qw0rC_Ey99X_N7HnOBF8BQg7E,138
|
63
64
|
edsl/exceptions/data.py,sha256=K24CjgwFiMWxrF1Z2dF6F7Vfrge_y9kMK_wsYYSaroU,209
|
64
65
|
edsl/exceptions/general.py,sha256=zAyJnppPjjxQAn6X3A5fetmv5FUR7kQDU58vwBKvAks,1114
|
65
66
|
edsl/exceptions/jobs.py,sha256=sSUATmzBIN1oINWuwPExxPqIWmfCo0XYj_yR4dJzVjo,803
|
@@ -74,47 +75,44 @@ edsl/inference_services/AzureAI.py,sha256=Xd3r4Y5OQReW-hG67ymK3LSDLiHj5hMFuvGEz5
|
|
74
75
|
edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
|
75
76
|
edsl/inference_services/GoogleService.py,sha256=CeyQ2Db_cCFOIVvetSwsFLqenJFrg4EGoRYwIe7-7-U,5422
|
76
77
|
edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
|
77
|
-
edsl/inference_services/InferenceServiceABC.py,sha256=
|
78
|
-
edsl/inference_services/InferenceServicesCollection.py,sha256=
|
78
|
+
edsl/inference_services/InferenceServiceABC.py,sha256=Js_XFM4678C0NrTXbmSKLyIsiNzye55gOoz2-FyiC7E,4694
|
79
|
+
edsl/inference_services/InferenceServicesCollection.py,sha256=fq6hiBeJal3V_JhnMrKljvmewCL70hNV1jCzmuk5AOI,3016
|
79
80
|
edsl/inference_services/MistralAIService.py,sha256=7mUsBEZdEWIjfh4qMNemTT2xYMq7k0yuMLGtDTdfp4Y,3878
|
80
81
|
edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
|
81
82
|
edsl/inference_services/OpenAIService.py,sha256=wraTu62bZojmgAXHNG6pJMMPZiyO1pSDfY73LVaBR_I,7621
|
82
83
|
edsl/inference_services/TestService.py,sha256=-jTXkl_qLt1k8gJjRb0SMgTb9EY-XMTP-ZUL9AJcUCA,3009
|
83
84
|
edsl/inference_services/TogetherAIService.py,sha256=p_31ccrfN25kZF2xlAlUkb7w1EL4lGjmkSv-5qZ7TtY,6301
|
84
85
|
edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
85
|
-
edsl/inference_services/models_available_cache.py,sha256=
|
86
|
+
edsl/inference_services/models_available_cache.py,sha256=bOvevfRn2HlmBcHalaDkjFLxiw0JJhsXVUHZo_OhgjA,4061
|
86
87
|
edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
|
87
|
-
edsl/inference_services/registry.py,sha256=
|
88
|
+
edsl/inference_services/registry.py,sha256=Fn6va65MqD9lnFvT603ZnU7Ok8IW64M2MzOH57kf9-A,1240
|
88
89
|
edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
|
89
90
|
edsl/jobs/Answers.py,sha256=c4LpigQjdnMr7iJu8571C4FggGPVudfT7hbJgmgKW40,1821
|
90
|
-
edsl/jobs/
|
91
|
-
edsl/jobs/Jobs.py,sha256=oryxhrBuXs9Ba8mt5BSIjX3gT37hdzothL5xH0ygrkU,37227
|
91
|
+
edsl/jobs/Jobs.py,sha256=_MrbSg-gWWASEEpPtiZcfTX-D8rN3NMg9V0vVZXLFeg,40176
|
92
92
|
edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
|
93
93
|
edsl/jobs/buckets/BucketCollection.py,sha256=11CRisE1WAPcAlI3YJK3DVvu0AqSvv8KskXo4Q1waSk,2286
|
94
94
|
edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
|
95
95
|
edsl/jobs/buckets/TokenBucket.py,sha256=7fG4omzTcj5xC2iJLO9bfBkdAGs6Y3weXzlA3BgPr0E,9090
|
96
|
-
edsl/jobs/interviews/Interview.py,sha256=
|
97
|
-
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=
|
98
|
-
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=
|
96
|
+
edsl/jobs/interviews/Interview.py,sha256=hInquPQ0msoQfcNPemXmtIo3SMrECbqICYhno_6m_n0,25987
|
97
|
+
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=ZIe9nnI8pznxp1D0K2Ii9SHorc9-f0k_lQV-Giq41P8,3666
|
98
|
+
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=2eXLeeGYWOhV8dhtJ-oj05yd1PLKU8j2y3ztqo3ZwHo,5727
|
99
99
|
edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
|
100
100
|
edsl/jobs/interviews/InterviewStatisticsCollection.py,sha256=_ZZ0fnZBQiIywP9Q_wWjpWhlfcPe2cn32GKut10t5RI,788
|
101
101
|
edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcKrs8YiPnz8jpufBSJL7SU,2485
|
102
102
|
edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
|
103
|
-
edsl/jobs/interviews/InterviewStatusMixin.py,sha256=VV0Pel-crUsLoGpTifeIIkXsLGj0bfuO--UtpRnH-dU,1251
|
104
103
|
edsl/jobs/interviews/ReportErrors.py,sha256=RSzDU2rWwtjfztj7sqaMab0quCiY-X2bG3AEOxhTim8,1745
|
105
104
|
edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
|
106
|
-
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=
|
105
|
+
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=Uo-05NIWqDWp4fdIewirEWSTX1yBwFqBSL1TldyizS4,12739
|
107
106
|
edsl/jobs/runners/JobsRunnerStatus.py,sha256=4eCh9sRpswGdKeSMW9pCGCAjJZa-OrWUPI7tsxIy_g4,12112
|
108
107
|
edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
109
|
-
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=
|
108
|
+
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=K-xATHIXMWPTMOnms5UDW30eTIlIfebf7oOEfwrh1ME,10072
|
110
109
|
edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
|
111
|
-
edsl/jobs/tasks/TaskHistory.py,sha256=
|
110
|
+
edsl/jobs/tasks/TaskHistory.py,sha256=k2uspUTjzBiFSH5I5in-IGFR4sTsI593sLlca63uFn8,14832
|
112
111
|
edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
|
113
|
-
edsl/jobs/tasks/task_management.py,sha256=KMToZuXzMlnHRHUF_VHL0-lHMTGhklf2GHVuwEEHtzA,301
|
114
112
|
edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
|
115
113
|
edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
|
116
114
|
edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
|
117
|
-
edsl/language_models/LanguageModel.py,sha256=
|
115
|
+
edsl/language_models/LanguageModel.py,sha256=7kXi42P6m8kku-_UxstTapIzI-3N8a3Ks3_IRJEgxpc,25395
|
118
116
|
edsl/language_models/ModelList.py,sha256=GhjRV7y1jRvP_Yjgwv6fxksTVb8sFPBiiRRfdqW-hgg,2852
|
119
117
|
edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
|
120
118
|
edsl/language_models/__init__.py,sha256=bvY7Gy6VkX1gSbNkRbGPS-M1kUnb0EohL0FSagaEaTs,109
|
@@ -126,31 +124,17 @@ edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFY
|
|
126
124
|
edsl/language_models/utilities.py,sha256=GWON2ahCpB-_-hhqmQ5Yi7_rKB4cd8GlucWuq6EnGZQ,2280
|
127
125
|
edsl/notebooks/Notebook.py,sha256=xi9xkxmkQ6-DwhqbjjMLpYKB0VJV20AtwEonJ6mnqjo,7739
|
128
126
|
edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
|
129
|
-
edsl/prompts/Prompt.py,sha256=
|
130
|
-
edsl/prompts/
|
131
|
-
edsl/prompts/__init__.py,sha256=Z0ywyJfnV0i-sR1SCdK4mHhgECT5cXpHVA-pKuBTifc,85
|
132
|
-
edsl/prompts/library/agent_instructions.py,sha256=_2kCDYvh3ZOF72VvcIH5jhmHjM6AAgQdkWrHvR52Yhg,1100
|
133
|
-
edsl/prompts/library/agent_persona.py,sha256=jEl1LjlOP67vOPiRW0S_-TRMz3n6Tp3mPRvltM2r2_k,516
|
134
|
-
edsl/prompts/library/question_budget.py,sha256=RAc7pmQRbs_-xksU52yYl8iqJ7HejPY4sQOlCSQLGWs,1190
|
135
|
-
edsl/prompts/library/question_checkbox.py,sha256=NIGcdnfkJ8_XbGsdq9toeWA_phQVx5FIBOAe0mReXJw,1462
|
136
|
-
edsl/prompts/library/question_extract.py,sha256=QxNiNBjUk25Ss_Pax0iDgmgTYXEycpWJk2z0evmqsP0,775
|
137
|
-
edsl/prompts/library/question_freetext.py,sha256=_I7hcniRfVwmZr2wXAasfbZ0GTu41ZIKfcoixGhzZUI,510
|
138
|
-
edsl/prompts/library/question_linear_scale.py,sha256=sQpgjSvqJU-uQti-DCxOzLzj05ENkpyxmH-qTFq39x0,778
|
139
|
-
edsl/prompts/library/question_list.py,sha256=KYi3gtcWyDzRLyAb2-k7C-QJ9TAfbLGPkWVvVmdT6xg,731
|
140
|
-
edsl/prompts/library/question_multiple_choice.py,sha256=_2LUM9bOInODoFyaTrKfMkcb5Z7RDj_odq5iAnD7KVQ,1617
|
141
|
-
edsl/prompts/library/question_numerical.py,sha256=ZdWnDbTU0gQdMMqcWHw_eIHEZkJ_kuE-XWrnCYFR07w,1456
|
142
|
-
edsl/prompts/library/question_rank.py,sha256=WDgXyph0EKWJrSgsW2eqcx3xdU-WA1LEvB2jvQFOQ8s,882
|
143
|
-
edsl/prompts/prompt_config.py,sha256=O3Y5EvBsCeKs9m9IjXiRXOcHWlWvQV0yqsNb2oSR1ow,974
|
144
|
-
edsl/prompts/registry.py,sha256=XOsqGsvNOmIG83jqoszqI72yNZkkszKR4FrEhwSzj_Q,8093
|
127
|
+
edsl/prompts/Prompt.py,sha256=qZCFj_cu2Gu23VLe0TQ-HZ42n3DOk1fQyj8Wa_boFms,11382
|
128
|
+
edsl/prompts/__init__.py,sha256=wrtkH7JW72U93_pnmTvqQx_NoadH5OPRNfrZ5AaD7Co,87
|
145
129
|
edsl/questions/AnswerValidatorMixin.py,sha256=t_ABep50KP02GSc48Y8VAEjp35drVOngfrWXU5aVhgk,11505
|
146
130
|
edsl/questions/QuestionBase.py,sha256=QsdYFHnWYh04JpCdx3o3WGgohBfE5X_7idQRRYrx_SA,21169
|
147
131
|
edsl/questions/QuestionBaseGenMixin.py,sha256=CPxjWZjrxuSO8YWelz6dbp7fm788gN7-T8z7jXStboQ,6017
|
148
|
-
edsl/questions/QuestionBasePromptsMixin.py,sha256=
|
132
|
+
edsl/questions/QuestionBasePromptsMixin.py,sha256=tInTg27KtmyO-hX4ZZdzgPTy4a8LZzbssUC_tAhRsxU,9552
|
149
133
|
edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlRq9Y,8131
|
150
134
|
edsl/questions/QuestionCheckBox.py,sha256=wC_doEdNZi4y8Uz-tXZyQ2GYS5wQKOWhbVUnyVLoACU,12840
|
151
135
|
edsl/questions/QuestionExtract.py,sha256=PlXwMeZgPAFBXIHSXpFMYTToag-HwA9C7u6-Z3bQMek,6103
|
152
136
|
edsl/questions/QuestionFreeText.py,sha256=uXJxrrAGCq0-J6WpO6TBNFBNOC2ztoEVa-2UMXuwlak,3384
|
153
|
-
edsl/questions/QuestionFunctional.py,sha256=
|
137
|
+
edsl/questions/QuestionFunctional.py,sha256=772tduB8zFs5xlssKBay__4_SilfiDkoe-IvK0s2ftU,5247
|
154
138
|
edsl/questions/QuestionList.py,sha256=vs2AE8OnbwVsly-sorb9dfIibdF1BpOaCRYyvwXYSzY,7209
|
155
139
|
edsl/questions/QuestionMultipleChoice.py,sha256=Yj94-6fwFqDI9UvjwSCOfKnp4gBB86XMmCsL7lbX-t4,10292
|
156
140
|
edsl/questions/QuestionNumerical.py,sha256=_jMZ28DZHYAv_g3Y3vCnmzerMs995on0Ng6j4pDcfHo,4959
|
@@ -167,7 +151,7 @@ edsl/questions/derived/QuestionLinearScale.py,sha256=tj_RszK9WumaKRVMS1Fy63-Q6ip
|
|
167
151
|
edsl/questions/derived/QuestionTopK.py,sha256=HT8NlbT8YBTmVNVPVIP1EyqGsiN3bu4SbFp29CVT0a4,3212
|
168
152
|
edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
|
169
153
|
edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
|
-
edsl/questions/descriptors.py,sha256=
|
154
|
+
edsl/questions/descriptors.py,sha256=t9AFQPHewgqeC1OZ3I3kP-i2ToXRJUAcJsP7CZIrOgY,16447
|
171
155
|
edsl/questions/prompt_templates/question_budget.jinja,sha256=-ekZYCa_KRc-xLcpf3j-YmXV0WSyIK_laOp2x3li-tA,737
|
172
156
|
edsl/questions/prompt_templates/question_checkbox.jinja,sha256=V-Dn2VJhfXyIILWIhMviTfQ5WuXh1YZerwicaA6Okzc,1136
|
173
157
|
edsl/questions/prompt_templates/question_extract.jinja,sha256=27b8iMJaA2h5UOrHPMiBCapMnJou4vSkZzkZndK2s1U,343
|
@@ -216,11 +200,11 @@ edsl/questions/templates/top_k/question_presentation.jinja,sha256=2u8XIkFPWzOuhb
|
|
216
200
|
edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
217
201
|
edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8zytmPOVJOVQEdwdvlRspE8WnatYvreJQ,172
|
218
202
|
edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
|
219
|
-
edsl/results/Dataset.py,sha256=
|
203
|
+
edsl/results/Dataset.py,sha256=udJvOr9ePfD5xfy5k2zaNNWr4Qg_yp5s_f1YKEcVtKc,9547
|
220
204
|
edsl/results/DatasetExportMixin.py,sha256=-YR-UeuIW_8u0a8HnQ9R6V41DxCq22_AlsD48fXv0sw,25890
|
221
205
|
edsl/results/DatasetTree.py,sha256=nwEgnWBqRXUxagSCEgqwikmIo8ztUxaF-QH-m-8myyQ,4985
|
222
|
-
edsl/results/Result.py,sha256=
|
223
|
-
edsl/results/Results.py,sha256=
|
206
|
+
edsl/results/Result.py,sha256=ypLroL1mFiJjx_xrI8LGBh6EwZid7S3Z23r9N8k5z8o,15570
|
207
|
+
edsl/results/Results.py,sha256=U5_yAru7ShvKuxLCoWVMilVnpgHUZtoEXYHuko1hQ0w,41314
|
224
208
|
edsl/results/ResultsDBMixin.py,sha256=Hc08aOiArBf9jbxI5uV4VL4wT6BLOkaaEgTMb3zyTUI,7922
|
225
209
|
edsl/results/ResultsExportMixin.py,sha256=XizBsPNxziyffirMA4kS7UHpYM1WIE4s1K-B7TqTfDw,1266
|
226
210
|
edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
|
@@ -229,13 +213,13 @@ edsl/results/ResultsToolsMixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jM
|
|
229
213
|
edsl/results/Selector.py,sha256=4AsFD71FKTFY1a0_AImsYWcYKx-RXPG6RgwsAvuNW3k,4403
|
230
214
|
edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
|
231
215
|
edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
|
232
|
-
edsl/scenarios/FileStore.py,sha256=
|
233
|
-
edsl/scenarios/Scenario.py,sha256=
|
216
|
+
edsl/scenarios/FileStore.py,sha256=6XeRxYJmxlAWDiVozlO0hINChgECyPTpMjJskAltFzg,14260
|
217
|
+
edsl/scenarios/Scenario.py,sha256=k6md3dcz0iZ50hV1biD4XrN-drpUgrfmFn5i8mLOezs,17418
|
234
218
|
edsl/scenarios/ScenarioHtmlMixin.py,sha256=EmugmbPJYW5eZS30rM6pDMDQD9yrrvHjmgZWB1qBfq4,1882
|
235
219
|
edsl/scenarios/ScenarioList.py,sha256=1zbwDICXbvtUGA5bDlhThNp9pfhBGIHIqhK2cX-th50,40942
|
236
220
|
edsl/scenarios/ScenarioListExportMixin.py,sha256=wfffY9xy_1QyIM-1xnisr64izSLjmyuotUYY5iDLodc,1681
|
237
221
|
edsl/scenarios/ScenarioListPdfMixin.py,sha256=z_H2sZn5SCSq6nRLSU5jefaOlh4sqJLyOY_Ld0XCR18,8332
|
238
|
-
edsl/scenarios/__init__.py,sha256=
|
222
|
+
edsl/scenarios/__init__.py,sha256=1X03GA_ltVRzNT5KQIuATj3qBcpFCvvGWojr3wggGtk,148
|
239
223
|
edsl/shared.py,sha256=lgLa-mCk2flIhxXarXLtfXZjXG_6XHhC2A3O8yRTjXc,20
|
240
224
|
edsl/study/ObjectEntry.py,sha256=e3xRPH8wCN8Pum5HZsQRYgnSoauSvjXunIEH79wu5A8,5788
|
241
225
|
edsl/study/ProofOfWork.py,sha256=FaqYtLgeiTEQXWKukPgPUTWMcIN5t1FR7h7Re8QEtgc,3433
|
@@ -247,7 +231,7 @@ edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
|
|
247
231
|
edsl/surveys/MemoryPlan.py,sha256=VESoPM0C_4LUngkskE51rOca_4vbXC2yjfwrBXtHfHA,9029
|
248
232
|
edsl/surveys/Rule.py,sha256=RlERae5n5jFTnEp597UF50YGXtywECU1nulYdsSlfh0,12223
|
249
233
|
edsl/surveys/RuleCollection.py,sha256=VBx9-OuBBFIJlRYfpbWIjMVFSA5iMwTzdx5yl8giQA8,14871
|
250
|
-
edsl/surveys/Survey.py,sha256=
|
234
|
+
edsl/surveys/Survey.py,sha256=aLdUpsVeIVMoCRoN1j4rUhg0yQOSfSGS5Zc_lLFVpoU,72199
|
251
235
|
edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
|
252
236
|
edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
|
253
237
|
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=dEG_f-L0ZAyWU5Ta584IX5GZurjVt1tbIISo5z61Jvg,4004
|
@@ -256,7 +240,7 @@ edsl/surveys/__init__.py,sha256=vjMYVlP95fHVqqw2FfKXRuYbTArZkZr1nK4FnXzZWzs,129
|
|
256
240
|
edsl/surveys/base.py,sha256=XJHGEbbsH6hlYYkmI4isVLD8guLz8BdhR-eQRL78mc4,1115
|
257
241
|
edsl/surveys/descriptors.py,sha256=3B-hBVvGpLlVBCyOnPuxkLjesvpr0QIuATbggp_MJ7o,2076
|
258
242
|
edsl/surveys/instructions/ChangeInstruction.py,sha256=XDLuI5nVI60iJz1w1kLaKmYryAYE0XIyRbElBtNjVVM,1265
|
259
|
-
edsl/surveys/instructions/Instruction.py,sha256=
|
243
|
+
edsl/surveys/instructions/Instruction.py,sha256=l_ET6HCMt0ZU1BBHqP4EYKjEjeAS5Eg6NBJsCLO70R8,1352
|
260
244
|
edsl/surveys/instructions/InstructionCollection.py,sha256=eO-i9zgbk8q0D8hnawDrioS-iqXOEE7eKm5cgYNgwrU,2931
|
261
245
|
edsl/surveys/instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
262
246
|
edsl/templates/error_reporting/base.html,sha256=IkV24ZaUCNX303ZqVTWkFsJOnu5BG_SULrKN2YejUxQ,552
|
@@ -289,7 +273,7 @@ edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,1
|
|
289
273
|
edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
|
290
274
|
edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
|
291
275
|
edsl/utilities/utilities.py,sha256=gqMtWWNEZkWLiRR9vHW-VRNy2bStEPlJ-I2aK9CwFiQ,11367
|
292
|
-
edsl-0.1.
|
293
|
-
edsl-0.1.
|
294
|
-
edsl-0.1.
|
295
|
-
edsl-0.1.
|
276
|
+
edsl-0.1.36.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
277
|
+
edsl-0.1.36.dist-info/METADATA,sha256=lZJYr_IidbSFQsimcYfFyeFudkB2Brv0HVTeCi5anCY,4471
|
278
|
+
edsl-0.1.36.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
279
|
+
edsl-0.1.36.dist-info/RECORD,,
|
edsl/jobs/FailedQuestion.py
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
from edsl.questions import QuestionBase
|
2
|
-
from edsl import Question, Scenario, Model, Agent
|
3
|
-
|
4
|
-
from edsl.language_models.LanguageModel import LanguageModel
|
5
|
-
|
6
|
-
|
7
|
-
class FailedQuestion:
|
8
|
-
# tests/jobs/test_Interview.py::test_handle_model_exceptions
|
9
|
-
|
10
|
-
# (Pdb) dir(self.exception.__traceback__)
|
11
|
-
# ['tb_frame', 'tb_lasti', 'tb_lineno', 'tb_next']
|
12
|
-
|
13
|
-
def __init__(
|
14
|
-
self, question, scenario, model, agent, raw_model_response, exception, prompts
|
15
|
-
):
|
16
|
-
self.question = question
|
17
|
-
self.scenario = scenario
|
18
|
-
self.model = model
|
19
|
-
self.agent = agent
|
20
|
-
self.raw_model_response = raw_model_response # JSON
|
21
|
-
self.exception = exception
|
22
|
-
self.prompts = prompts
|
23
|
-
|
24
|
-
def to_dict(self):
|
25
|
-
return {
|
26
|
-
"question": self.question._to_dict(),
|
27
|
-
"scenario": self.scenario._to_dict(),
|
28
|
-
"model": self.model._to_dict(),
|
29
|
-
"agent": self.agent._to_dict(),
|
30
|
-
"raw_model_response": self.raw_model_response,
|
31
|
-
"exception": self.exception.__class__.__name__, # self.exception,
|
32
|
-
"prompts": self.prompts,
|
33
|
-
}
|
34
|
-
|
35
|
-
@classmethod
|
36
|
-
def from_dict(cls, data):
|
37
|
-
question = QuestionBase.from_dict(data["question"])
|
38
|
-
scenario = Scenario.from_dict(data["scenario"])
|
39
|
-
model = LanguageModel.from_dict(data["model"])
|
40
|
-
agent = Agent.from_dict(data["agent"])
|
41
|
-
raw_model_response = data["raw_model_response"]
|
42
|
-
exception = data["exception"]
|
43
|
-
prompts = data["prompts"]
|
44
|
-
return cls(
|
45
|
-
question, scenario, model, agent, raw_model_response, exception, prompts
|
46
|
-
)
|
47
|
-
|
48
|
-
def __repr__(self):
|
49
|
-
return f"{self.__class__.__name__}(question={repr(self.question)}, scenario={repr(self.scenario)}, model={repr(self.model)}, agent={repr(self.agent)}, raw_model_response={repr(self.raw_model_response)}, exception={repr(self.exception)})"
|
50
|
-
|
51
|
-
@property
|
52
|
-
def jobs(self):
|
53
|
-
return self.question.by(self.scenario).by(self.agent).by(self.model)
|
54
|
-
|
55
|
-
def rerun(self):
|
56
|
-
results = self.jobs.run()
|
57
|
-
return results
|
58
|
-
|
59
|
-
def help(self):
|
60
|
-
pass
|
61
|
-
|
62
|
-
@classmethod
|
63
|
-
def example(cls):
|
64
|
-
from edsl.language_models.utilities import create_language_model
|
65
|
-
from edsl.language_models.utilities import create_survey
|
66
|
-
|
67
|
-
survey = create_survey(2, chained=False, take_scenario=False)
|
68
|
-
fail_at_number = 1
|
69
|
-
model = create_language_model(ValueError, fail_at_number)()
|
70
|
-
from edsl import Survey
|
71
|
-
|
72
|
-
results = survey.by(model).run()
|
73
|
-
return results.failed_questions[0][0]
|
74
|
-
|
75
|
-
|
76
|
-
if __name__ == "__main__":
|
77
|
-
fq = FailedQuestion.example()
|
78
|
-
new_fq = FailedQuestion.from_dict(fq.to_dict())
|
@@ -1,33 +0,0 @@
|
|
1
|
-
from edsl.jobs.interviews.InterviewStatusLog import InterviewStatusLog
|
2
|
-
from edsl.jobs.tokens.InterviewTokenUsage import InterviewTokenUsage
|
3
|
-
|
4
|
-
from edsl.jobs.interviews.InterviewStatusDictionary import InterviewStatusDictionary
|
5
|
-
|
6
|
-
|
7
|
-
class InterviewStatusMixin:
|
8
|
-
@property
|
9
|
-
def has_exceptions(self) -> bool:
|
10
|
-
"""Return True if there are exceptions."""
|
11
|
-
return len(self.exceptions) > 0
|
12
|
-
|
13
|
-
@property
|
14
|
-
def task_status_logs(self) -> InterviewStatusLog:
|
15
|
-
"""Return the task status logs for the interview.
|
16
|
-
|
17
|
-
The keys are the question names; the values are the lists of status log changes for each task.
|
18
|
-
"""
|
19
|
-
for task_creator in self.task_creators.values():
|
20
|
-
self._task_status_log_dict[
|
21
|
-
task_creator.question.question_name
|
22
|
-
] = task_creator.status_log
|
23
|
-
return self._task_status_log_dict
|
24
|
-
|
25
|
-
@property
|
26
|
-
def token_usage(self) -> InterviewTokenUsage:
|
27
|
-
"""Determine how many tokens were used for the interview."""
|
28
|
-
return self.task_creators.token_usage
|
29
|
-
|
30
|
-
@property
|
31
|
-
def interview_status(self) -> InterviewStatusDictionary:
|
32
|
-
"""Return a dictionary mapping task status codes to counts."""
|
33
|
-
return self.task_creators.interview_status
|
@@ -1,13 +0,0 @@
|
|
1
|
-
from collections import UserDict
|
2
|
-
|
3
|
-
|
4
|
-
class TokensUsed(UserDict):
|
5
|
-
""" "Container for tokens used by a task."""
|
6
|
-
|
7
|
-
def __init__(self, cached_tokens, new_tokens):
|
8
|
-
d = {"cached_tokens": cached_tokens, "new_tokens": new_tokens}
|
9
|
-
super().__init__(d)
|
10
|
-
|
11
|
-
|
12
|
-
if __name__ == "__main__":
|
13
|
-
pass
|
@@ -1,10 +0,0 @@
|
|
1
|
-
"""Class for creating question instructions to be used in a survey."""
|
2
|
-
|
3
|
-
from edsl.prompts.Prompt import PromptBase
|
4
|
-
from edsl.prompts.prompt_config import ComponentTypes
|
5
|
-
|
6
|
-
|
7
|
-
class QuestionInstuctionsBase(PromptBase):
|
8
|
-
"""Class for creating question instructions to be used in a survey."""
|
9
|
-
|
10
|
-
component_type = ComponentTypes.QUESTION_INSTRUCTIONS
|