edsl 0.1.38__py3-none-any.whl → 0.1.38.dev1__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 +34 -63
- edsl/BaseDiff.py +7 -7
- edsl/__init__.py +1 -2
- edsl/__version__.py +1 -1
- edsl/agents/Agent.py +11 -23
- edsl/agents/AgentList.py +23 -86
- edsl/agents/Invigilator.py +7 -18
- edsl/agents/InvigilatorBase.py +19 -0
- edsl/agents/PromptConstructor.py +4 -5
- edsl/auto/SurveyCreatorPipeline.py +1 -1
- edsl/auto/utilities.py +1 -1
- edsl/base/Base.py +13 -3
- edsl/config.py +0 -8
- edsl/conjure/AgentConstructionMixin.py +160 -0
- edsl/conjure/Conjure.py +62 -0
- edsl/conjure/InputData.py +659 -0
- edsl/conjure/InputDataCSV.py +48 -0
- edsl/conjure/InputDataMixinQuestionStats.py +182 -0
- edsl/conjure/InputDataPyRead.py +91 -0
- edsl/conjure/InputDataSPSS.py +8 -0
- edsl/conjure/InputDataStata.py +8 -0
- edsl/conjure/QuestionOptionMixin.py +76 -0
- edsl/conjure/QuestionTypeMixin.py +23 -0
- edsl/conjure/RawQuestion.py +65 -0
- edsl/conjure/SurveyResponses.py +7 -0
- edsl/conjure/__init__.py +9 -0
- edsl/conjure/examples/placeholder.txt +0 -0
- edsl/{utilities → conjure}/naming_utilities.py +1 -1
- edsl/conjure/utilities.py +201 -0
- edsl/coop/coop.py +7 -77
- edsl/data/Cache.py +17 -45
- edsl/data/CacheEntry.py +3 -8
- edsl/data/RemoteCacheSync.py +19 -0
- edsl/enums.py +0 -2
- edsl/exceptions/agents.py +0 -4
- edsl/inference_services/GoogleService.py +15 -7
- edsl/inference_services/registry.py +0 -2
- edsl/jobs/Jobs.py +559 -110
- edsl/jobs/buckets/TokenBucket.py +0 -3
- edsl/jobs/interviews/Interview.py +7 -7
- edsl/jobs/runners/JobsRunnerAsyncio.py +28 -156
- edsl/jobs/runners/JobsRunnerStatus.py +196 -194
- edsl/jobs/tasks/TaskHistory.py +19 -27
- edsl/language_models/LanguageModel.py +90 -52
- edsl/language_models/ModelList.py +14 -67
- edsl/language_models/registry.py +4 -57
- edsl/notebooks/Notebook.py +8 -7
- edsl/prompts/Prompt.py +3 -8
- edsl/questions/QuestionBase.py +30 -38
- edsl/questions/QuestionBaseGenMixin.py +1 -1
- edsl/questions/QuestionBasePromptsMixin.py +17 -0
- edsl/questions/QuestionExtract.py +4 -3
- edsl/questions/QuestionFunctional.py +3 -10
- edsl/questions/derived/QuestionTopK.py +0 -2
- edsl/questions/question_registry.py +6 -36
- edsl/results/Dataset.py +15 -146
- edsl/results/DatasetExportMixin.py +217 -231
- edsl/results/DatasetTree.py +4 -134
- edsl/results/Result.py +16 -31
- edsl/results/Results.py +65 -159
- edsl/scenarios/FileStore.py +13 -187
- edsl/scenarios/Scenario.py +18 -73
- edsl/scenarios/ScenarioList.py +76 -251
- edsl/surveys/MemoryPlan.py +1 -1
- edsl/surveys/Rule.py +5 -1
- edsl/surveys/RuleCollection.py +1 -1
- edsl/surveys/Survey.py +19 -25
- edsl/surveys/SurveyFlowVisualizationMixin.py +9 -67
- edsl/surveys/instructions/ChangeInstruction.py +7 -9
- edsl/surveys/instructions/Instruction.py +7 -21
- edsl/templates/error_reporting/interview_details.html +3 -3
- edsl/templates/error_reporting/interviews.html +9 -18
- edsl/utilities/utilities.py +0 -15
- {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/METADATA +1 -2
- {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/RECORD +77 -71
- edsl/exceptions/cache.py +0 -5
- edsl/inference_services/PerplexityService.py +0 -163
- edsl/jobs/JobsChecks.py +0 -147
- edsl/jobs/JobsPrompts.py +0 -268
- edsl/jobs/JobsRemoteInferenceHandler.py +0 -239
- edsl/results/CSSParameterizer.py +0 -108
- edsl/results/TableDisplay.py +0 -198
- edsl/results/table_display.css +0 -78
- edsl/scenarios/ScenarioJoin.py +0 -127
- {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/LICENSE +0 -0
- {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/WHEEL +0 -0
@@ -24,24 +24,22 @@ class ChangeInstruction:
|
|
24
24
|
def __str__(self):
|
25
25
|
return self.text
|
26
26
|
|
27
|
-
def
|
28
|
-
|
27
|
+
def _to_dict(self):
|
28
|
+
return {
|
29
29
|
"keep": self.keep,
|
30
30
|
"drop": self.drop,
|
31
|
+
"edsl_class_name": "ChangeInstruction",
|
31
32
|
}
|
32
|
-
if add_edsl_version:
|
33
|
-
from edsl import __version__
|
34
33
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
return d
|
34
|
+
@add_edsl_version
|
35
|
+
def to_dict(self):
|
36
|
+
return self._to_dict()
|
39
37
|
|
40
38
|
def __hash__(self) -> int:
|
41
39
|
"""Return a hash of the question."""
|
42
40
|
from edsl.utilities.utilities import dict_hash
|
43
41
|
|
44
|
-
return dict_hash(self.
|
42
|
+
return dict_hash(self._to_dict())
|
45
43
|
|
46
44
|
@classmethod
|
47
45
|
@remove_edsl_version
|
@@ -18,42 +18,28 @@ class Instruction:
|
|
18
18
|
def __repr__(self):
|
19
19
|
return """Instruction(name="{}", text="{}")""".format(self.name, self.text)
|
20
20
|
|
21
|
-
def
|
22
|
-
|
23
|
-
data = [[k, v] for k, v in d.items()]
|
24
|
-
from tabulate import tabulate
|
25
|
-
|
26
|
-
table = str(tabulate(data, headers=["keys", "values"], tablefmt="html"))
|
27
|
-
return f"<pre>{table}</pre>"
|
28
|
-
|
29
|
-
@classmethod
|
30
|
-
def example(cls) -> "Instruction":
|
31
|
-
return cls(name="example", text="This is an example instruction.")
|
32
|
-
|
33
|
-
def to_dict(self, add_edsl_version=True):
|
34
|
-
d = {
|
21
|
+
def _to_dict(self):
|
22
|
+
return {
|
35
23
|
"name": self.name,
|
36
24
|
"text": self.text,
|
37
25
|
"edsl_class_name": "Instruction",
|
38
26
|
"preamble": self.preamble,
|
39
27
|
}
|
40
|
-
if add_edsl_version:
|
41
|
-
from edsl import __version__
|
42
|
-
|
43
|
-
d["edsl_version"] = __version__
|
44
|
-
d["edsl_class_name"] = "Instruction"
|
45
|
-
return d
|
46
28
|
|
47
29
|
def add_question(self, question) -> "Survey":
|
48
30
|
from edsl import Survey
|
49
31
|
|
50
32
|
return Survey([self, question])
|
51
33
|
|
34
|
+
@add_edsl_version
|
35
|
+
def to_dict(self):
|
36
|
+
return self._to_dict()
|
37
|
+
|
52
38
|
def __hash__(self) -> int:
|
53
39
|
"""Return a hash of the question."""
|
54
40
|
from edsl.utilities.utilities import dict_hash
|
55
41
|
|
56
|
-
return dict_hash(self.
|
42
|
+
return dict_hash(self._to_dict())
|
57
43
|
|
58
44
|
@classmethod
|
59
45
|
@remove_edsl_version
|
@@ -40,11 +40,11 @@
|
|
40
40
|
</tr>
|
41
41
|
<tr>
|
42
42
|
<td>Scenario</td>
|
43
|
-
<td>{{ interview.scenario.
|
43
|
+
<td>{{ interview.scenario._repr_html_() }}</td>
|
44
44
|
</tr>
|
45
45
|
<tr>
|
46
46
|
<td>Agent</td>
|
47
|
-
<td>{{ interview.agent.
|
47
|
+
<td>{{ interview.agent._repr_html_() }}</td>
|
48
48
|
</tr>
|
49
49
|
<tr>
|
50
50
|
<td>Model name</td>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr>
|
58
58
|
<td>Model parameters</td>
|
59
|
-
<td>{{ interview.model.
|
59
|
+
<td>{{ interview.model._repr_html_() }}</td>
|
60
60
|
</tr>
|
61
61
|
<tr>
|
62
62
|
<td>User Prompt</td>
|
@@ -1,19 +1,10 @@
|
|
1
|
-
|
2
|
-
{% if interviews|length > max_interviews %}
|
3
|
-
<h1>Only showing the first {{ max_interviews }} interviews with errors</h1>
|
4
|
-
{% else %}
|
5
|
-
<h1>Showing all interviews</h1>
|
6
|
-
{% endif %}
|
7
|
-
|
8
1
|
{% for index, interview in interviews.items() %}
|
9
|
-
{% if
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
{%
|
16
|
-
|
17
|
-
|
18
|
-
{% endif %}
|
19
|
-
{% endfor %}
|
2
|
+
{% if interview.exceptions != {} %}
|
3
|
+
<div class="interview">Interview: {{ index }} </div>
|
4
|
+
Model: {{ interview.model.model }}
|
5
|
+
<h1>Failing questions</h1>
|
6
|
+
{% endif %}
|
7
|
+
{% for question, exceptions in interview.exceptions.items() %}
|
8
|
+
{% include 'interview_details.html' %}
|
9
|
+
{% endfor %}
|
10
|
+
{% endfor %}
|
edsl/utilities/utilities.py
CHANGED
@@ -207,21 +207,6 @@ def is_notebook() -> bool:
|
|
207
207
|
return False # Probably standard Python interpreter
|
208
208
|
|
209
209
|
|
210
|
-
def file_notice(file_name):
|
211
|
-
"""Print a notice about the file being created."""
|
212
|
-
if is_notebook():
|
213
|
-
from IPython.display import HTML, display
|
214
|
-
|
215
|
-
link_text = "Download file"
|
216
|
-
display(
|
217
|
-
HTML(
|
218
|
-
f'<p>File created: {file_name}</p>.<a href="{file_name}" download>{link_text}</a>'
|
219
|
-
)
|
220
|
-
)
|
221
|
-
else:
|
222
|
-
print(f"File created: {file_name}")
|
223
|
-
|
224
|
-
|
225
210
|
class HTMLSnippet(str):
|
226
211
|
"""Create an object with html content (`value`).
|
227
212
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edsl
|
3
|
-
Version: 0.1.38
|
3
|
+
Version: 0.1.38.dev1
|
4
4
|
Summary: Create and analyze LLM-based surveys
|
5
5
|
Home-page: https://www.expectedparrot.com/
|
6
6
|
License: MIT
|
@@ -45,7 +45,6 @@ Requires-Dist: rich (>=13.7.0,<14.0.0)
|
|
45
45
|
Requires-Dist: setuptools (<72.0)
|
46
46
|
Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
|
47
47
|
Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
|
48
|
-
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
|
49
48
|
Requires-Dist: tenacity (>=8.2.3,<9.0.0)
|
50
49
|
Requires-Dist: urllib3 (>=1.25.4,<1.27)
|
51
50
|
Project-URL: Documentation, https://docs.expectedparrot.com
|
@@ -1,13 +1,13 @@
|
|
1
|
-
edsl/Base.py,sha256=
|
2
|
-
edsl/BaseDiff.py,sha256=
|
1
|
+
edsl/Base.py,sha256=xm_WdwWrQRO0Iy88XsOSRm00ZNHv5pX4LbFid8oilX8,9433
|
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=
|
7
|
-
edsl/agents/AgentList.py,sha256=
|
8
|
-
edsl/agents/Invigilator.py,sha256=
|
9
|
-
edsl/agents/InvigilatorBase.py,sha256=
|
10
|
-
edsl/agents/PromptConstructor.py,sha256=
|
4
|
+
edsl/__init__.py,sha256=5dKXbmvmALx-_7KRNdC66cvP_dpLpsfTDBV57SMgTzY,1817
|
5
|
+
edsl/__version__.py,sha256=XVTk8Pshgcilxbs8lryM4o7dPh9hTS9e3XLpO9Gv9Ik,28
|
6
|
+
edsl/agents/Agent.py,sha256=sKOQ0VTmuMRjcDW-B98biUQrCBmPKrYL1IihPUyR6LY,31569
|
7
|
+
edsl/agents/AgentList.py,sha256=Gml8NtPhzaMai7iBObC6Rp4pPAlHHZCbTd8t28Cv62Y,11651
|
8
|
+
edsl/agents/Invigilator.py,sha256=m4T-z4aNCGd4LKjLXVNI2VszYW-pQeScfcFAxkb0pWc,9080
|
9
|
+
edsl/agents/InvigilatorBase.py,sha256=2CLo-mOIWsLREUVz3Cy-MOCMNW6xURh4Lkha9gaddn8,9754
|
10
|
+
edsl/agents/PromptConstructor.py,sha256=Bp0AqjY0B6zqcI7Q-7X94pX_3mQXSx4KJ5aU5N0K1uY,13791
|
11
11
|
edsl/agents/__init__.py,sha256=B1dWfV4QWOo8cc2KeuetdFGeNhZ8XHc0Q8YhQW9k7BE,136
|
12
12
|
edsl/agents/descriptors.py,sha256=JxM_ckzhDmfZT1igSUdCxgyQcCK0o9MhU5jbLIned9g,3189
|
13
13
|
edsl/agents/prompt_helpers.py,sha256=rHUxM_F0kCOkJmnhCyK-amFKViAYvpRRLD8LHFLGqQw,5023
|
@@ -20,10 +20,26 @@ edsl/auto/StagePersonaDimensionValueRanges.py,sha256=z_fJJK4vydId13IVQnI92RUoDQk
|
|
20
20
|
edsl/auto/StagePersonaDimensionValues.py,sha256=o6xUVkYLa1wooY5mDmy1j8bGQbK4EzUZ-Zqi7Lfv1hI,2313
|
21
21
|
edsl/auto/StagePersonaDimensions.py,sha256=9tjZJGA1ytTgMlTspRrYKRXj0QYvkWx9Yg5Comf_x8k,2069
|
22
22
|
edsl/auto/StageQuestions.py,sha256=TyUSnfeFEbuQKG_KZT9rk43flRt0ZyzQDqYzBa_858c,2198
|
23
|
-
edsl/auto/SurveyCreatorPipeline.py,sha256=
|
24
|
-
edsl/auto/utilities.py,sha256=
|
25
|
-
edsl/base/Base.py,sha256=
|
26
|
-
edsl/config.py,sha256=
|
23
|
+
edsl/auto/SurveyCreatorPipeline.py,sha256=s5S_RPFM3Ia8Dzdv52_576BxfsFq9GwXEVWxJId5Fuo,658
|
24
|
+
edsl/auto/utilities.py,sha256=DDngZCGlzjWeJUvPHhMEZ5ZoVm4KgGYtgyRA1mfUfmA,7606
|
25
|
+
edsl/base/Base.py,sha256=DShsfI6A2ojg42muPFpVtUgTX33pnqT5vtN0SRlr-9Q,8866
|
26
|
+
edsl/config.py,sha256=IfEm07QvhV5B2baNg6SrhME82BHBGwNZSLmYnx9ERxM,5875
|
27
|
+
edsl/conjure/AgentConstructionMixin.py,sha256=w2HqFAery-3WNkMR88-Zd_2jUlfq8xVlaoJ9IPOUPD0,6120
|
28
|
+
edsl/conjure/Conjure.py,sha256=JaCuAm3rmqjh11_X8PXgvPsVHGql3yTn9JEzVlzOUVU,2019
|
29
|
+
edsl/conjure/InputData.py,sha256=RdFgkzzayddSTd6vcwBB8LC796YBj94pciwrQx9nBtg,22003
|
30
|
+
edsl/conjure/InputDataCSV.py,sha256=m4hHSQogxt7LNcGNxcGRkrbdGy8pIQu5KvXhIEt9i6k,1684
|
31
|
+
edsl/conjure/InputDataMixinQuestionStats.py,sha256=Jav5pqYCLSQ1pAbGV8O9VCBu0vL8Q6pteSEhRKrONuw,6256
|
32
|
+
edsl/conjure/InputDataPyRead.py,sha256=phGmzVi06jdbcxgngAp_lEawGkJr5dAC2B4ho5IrAy4,3064
|
33
|
+
edsl/conjure/InputDataSPSS.py,sha256=lv7NK8lpUfjsWh8h9MpqQrCjJX6Oyg3tIOrXcQYcS_4,223
|
34
|
+
edsl/conjure/InputDataStata.py,sha256=WbA7oUGHgHJgugKjakXzpFfzWxTI4bXGGSZLxM1-tEM,224
|
35
|
+
edsl/conjure/QuestionOptionMixin.py,sha256=RSLZ7AmA65MfwyxKKjqprR9FdkLP6MsCcmTbJoqu-MM,2870
|
36
|
+
edsl/conjure/QuestionTypeMixin.py,sha256=L2vU207aeezlI1OuJ4I4SdtFCWBZzE-mBk7VwnTghO8,892
|
37
|
+
edsl/conjure/RawQuestion.py,sha256=lo8k1aln4RfnfeS6OukzwC7P_cRe2LVZxcL6uwmim6A,2116
|
38
|
+
edsl/conjure/SurveyResponses.py,sha256=fdJNFasSXVf7S5KCsYE9WB6w17q7VRylzw0aD5zGO_M,191
|
39
|
+
edsl/conjure/__init__.py,sha256=1lPYFjV73GzYYSXiTyxopM4nKcXVHumEEo0fe06DbMo,535
|
40
|
+
edsl/conjure/examples/placeholder.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
|
+
edsl/conjure/naming_utilities.py,sha256=8uoGaCPZQKLwz2HudtsFSovivTGumQrFYxXxck5WUZQ,4964
|
42
|
+
edsl/conjure/utilities.py,sha256=yRdOJx9KIpWXMx41Bbfysx7Zd4v2ROwca5L4T1rmtQM,5539
|
27
43
|
edsl/conversation/Conversation.py,sha256=GDGEq_2_ni1hEUM__2x2MBoaw4GZ1Nl5RqyvLiA5wzs,9589
|
28
44
|
edsl/conversation/car_buying.py,sha256=Quh2Q8O9YoCyTKJUy3li376QFIOcL1gX0y89w3wlSl4,1950
|
29
45
|
edsl/conversation/chips.py,sha256=IoWoWEdSfJqy_TRcPPjT73lhEmYgBrZ4_3kwHEHJijQ,3323
|
@@ -31,21 +47,20 @@ edsl/conversation/mug_negotiation.py,sha256=mjvAqErD4AjN3G2za2c-X-3axOShW-zAJUei
|
|
31
47
|
edsl/conversation/next_speaker_utilities.py,sha256=bqr5JglCd6bdLc9IZ5zGOAsmN2F4ERiubSMYvZIG7qk,3629
|
32
48
|
edsl/coop/PriceFetcher.py,sha256=pCCWBqFnSv8iYpgQKhAzVCdan1xTCNesZgmIB34N4HY,1770
|
33
49
|
edsl/coop/__init__.py,sha256=4iZCwJSzJVyjBYk8ggGxY2kZjq9dXVT1jhyPDNyew4I,115
|
34
|
-
edsl/coop/coop.py,sha256=
|
50
|
+
edsl/coop/coop.py,sha256=i2NueaiDJxJD4vn_fao18M3PLOGaCEiKTu65C566UO0,34204
|
35
51
|
edsl/coop/utils.py,sha256=UZwljKYW_Yjw7RYcjOg3SW7fn1pyHQfJ1fM48TBNoss,3601
|
36
|
-
edsl/data/Cache.py,sha256=
|
37
|
-
edsl/data/CacheEntry.py,sha256=
|
52
|
+
edsl/data/Cache.py,sha256=0QkSdojFeMX_inncXjJrfjPKAxMu-3l9zgpeFlDDXI0,16598
|
53
|
+
edsl/data/CacheEntry.py,sha256=_5UiFaJQu_U-Z1_lEPt-h6Gaidp2Eunk02wOd3Ni3MQ,7252
|
38
54
|
edsl/data/CacheHandler.py,sha256=DxbfeT2nZGRu8yQkbWr2tyEnhNiClevMsd5KZMCq2f0,4793
|
39
|
-
edsl/data/RemoteCacheSync.py,sha256=
|
55
|
+
edsl/data/RemoteCacheSync.py,sha256=is3j644YAZDPCt4bMxOZpXtJkCXLs_hoKukxQosKKXM,3628
|
40
56
|
edsl/data/SQLiteDict.py,sha256=V5Nfnxctgh4Iblqcw1KmbnkjtfmWrrombROSQ3mvg6A,8979
|
41
57
|
edsl/data/__init__.py,sha256=KBNGGEuGHq--D-TlpAQmvv_If906dJc1Gsy028zOx78,170
|
42
58
|
edsl/data/orm.py,sha256=Jz6rvw5SrlxwysTL0QI9r68EflKxeEBmf6j6himHDS8,238
|
43
59
|
edsl/data_transfer_models.py,sha256=9LsvZNMvyEEkF-DIcEUA9iomFbxG7E6nRUqsbHoB03k,1951
|
44
|
-
edsl/enums.py,sha256=
|
60
|
+
edsl/enums.py,sha256=Z6nhaP8p3z0UJSfsCGb6VQUtGUKw3AK6yC0UDwOi05c,5247
|
45
61
|
edsl/exceptions/BaseException.py,sha256=eP30DOYtssbKt0qarfDkNOKDW-aG0DLaHtx42bp5dVQ,811
|
46
62
|
edsl/exceptions/__init__.py,sha256=zuztBvLpOCvnKtKDbnqcZ8qPKW_1OEFMSMjOgLHUP_M,1432
|
47
|
-
edsl/exceptions/agents.py,sha256=
|
48
|
-
edsl/exceptions/cache.py,sha256=z4D4RHPtOV86xLsW5bl4JM8UtpH8D89gufrlpVu2mWM,178
|
63
|
+
edsl/exceptions/agents.py,sha256=8K9_kB46EGaVaL9SNjPWQL403BXIcxNAUKbpI9DkmEw,1220
|
49
64
|
edsl/exceptions/configuration.py,sha256=qH2sInNTndKlCLAaNgaXHyRFdKQHL7-dElB_j8wz9g4,351
|
50
65
|
edsl/exceptions/coop.py,sha256=xunPPrnbcNHn60wnH-Qw0rC_Ey99X_N7HnOBF8BQg7E,138
|
51
66
|
edsl/exceptions/data.py,sha256=K24CjgwFiMWxrF1Z2dF6F7Vfrge_y9kMK_wsYYSaroU,209
|
@@ -61,31 +76,27 @@ edsl/inference_services/AnthropicService.py,sha256=6kE8miYIsCZ6B-da4LMHE3tUkyNAs
|
|
61
76
|
edsl/inference_services/AwsBedrock.py,sha256=Ma1Xt8DEgOtHTmKfjuWbXLypjDHEEYaVp0h7xiN33OM,4073
|
62
77
|
edsl/inference_services/AzureAI.py,sha256=Xd3r4Y5OQReW-hG67ymK3LSDLiHj5hMFuvGEz5DI3lY,8889
|
63
78
|
edsl/inference_services/DeepInfraService.py,sha256=fWlH5sCNxf8eHPHxPPxJMEVWpCM9sDenkC8IZYqtXfA,515
|
64
|
-
edsl/inference_services/GoogleService.py,sha256=
|
79
|
+
edsl/inference_services/GoogleService.py,sha256=CeyQ2Db_cCFOIVvetSwsFLqenJFrg4EGoRYwIe7-7-U,5422
|
65
80
|
edsl/inference_services/GroqService.py,sha256=eDMq8d7YAlJ2689ywaoaPGvMgFfOiX1KYlF_vr97N6I,510
|
66
81
|
edsl/inference_services/InferenceServiceABC.py,sha256=Js_XFM4678C0NrTXbmSKLyIsiNzye55gOoz2-FyiC7E,4694
|
67
82
|
edsl/inference_services/InferenceServicesCollection.py,sha256=uNTzNAfqRR5fL609KV3ZMyXxjfvZpj1PBz4QWme-lBY,3739
|
68
83
|
edsl/inference_services/MistralAIService.py,sha256=7mUsBEZdEWIjfh4qMNemTT2xYMq7k0yuMLGtDTdfp4Y,3878
|
69
84
|
edsl/inference_services/OllamaService.py,sha256=oro9CRl8IUE2Ro-zE69Cr4Zaf6Gdw29XW5CFU-46E0k,498
|
70
85
|
edsl/inference_services/OpenAIService.py,sha256=wraTu62bZojmgAXHNG6pJMMPZiyO1pSDfY73LVaBR_I,7621
|
71
|
-
edsl/inference_services/PerplexityService.py,sha256=mlo5vpJjOXWORV17bGt9lKUGfNR8OXTeswQBUzmSU-Q,5730
|
72
86
|
edsl/inference_services/TestService.py,sha256=-jTXkl_qLt1k8gJjRb0SMgTb9EY-XMTP-ZUL9AJcUCA,3009
|
73
87
|
edsl/inference_services/TogetherAIService.py,sha256=p_31ccrfN25kZF2xlAlUkb7w1EL4lGjmkSv-5qZ7TtY,6301
|
74
88
|
edsl/inference_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
89
|
edsl/inference_services/models_available_cache.py,sha256=bOvevfRn2HlmBcHalaDkjFLxiw0JJhsXVUHZo_OhgjA,4061
|
76
90
|
edsl/inference_services/rate_limits_cache.py,sha256=HYslviz7mxF9U4CUTPAkoyBsiXjSju-YCp4HHir6e34,1398
|
77
|
-
edsl/inference_services/registry.py,sha256=
|
91
|
+
edsl/inference_services/registry.py,sha256=Fn6va65MqD9lnFvT603ZnU7Ok8IW64M2MzOH57kf9-A,1240
|
78
92
|
edsl/inference_services/write_available.py,sha256=NNwhATlaMp8IYY635MSx-oYxt5X15acjAfaqYCo_I1Y,285
|
79
93
|
edsl/jobs/Answers.py,sha256=c4LpigQjdnMr7iJu8571C4FggGPVudfT7hbJgmgKW40,1821
|
80
|
-
edsl/jobs/Jobs.py,sha256=
|
81
|
-
edsl/jobs/JobsChecks.py,sha256=rMXPHJ6_Qvs_P8ebvHFVkvJw47xiMCIfah8FxiOceYA,4450
|
82
|
-
edsl/jobs/JobsPrompts.py,sha256=nnEVi2z3M-5MR6K28TatWFj6zBY-1KpYoqr0Qx3EqVQ,9681
|
83
|
-
edsl/jobs/JobsRemoteInferenceHandler.py,sha256=0bFQcvybhyKpwXocUYZKM803_YJtJOryID5CatI-zLU,9045
|
94
|
+
edsl/jobs/Jobs.py,sha256=Vxg-BatpVr_ZkaSanJlzdgE1q-naeBo0O2UDIT7CIYI,49277
|
84
95
|
edsl/jobs/__init__.py,sha256=aKuAyd_GoalGj-k7djOoVwEbFUE2XLPlikXaA1_8yAg,32
|
85
96
|
edsl/jobs/buckets/BucketCollection.py,sha256=11CRisE1WAPcAlI3YJK3DVvu0AqSvv8KskXo4Q1waSk,2286
|
86
97
|
edsl/jobs/buckets/ModelBuckets.py,sha256=hxw_tzc0V42CiB7mh5jIxlgwDVJ-zFZhlLtKrHEg8ho,2419
|
87
|
-
edsl/jobs/buckets/TokenBucket.py,sha256=
|
88
|
-
edsl/jobs/interviews/Interview.py,sha256=
|
98
|
+
edsl/jobs/buckets/TokenBucket.py,sha256=7fG4omzTcj5xC2iJLO9bfBkdAGs6Y3weXzlA3BgPr0E,9090
|
99
|
+
edsl/jobs/interviews/Interview.py,sha256=hInquPQ0msoQfcNPemXmtIo3SMrECbqICYhno_6m_n0,25987
|
89
100
|
edsl/jobs/interviews/InterviewExceptionCollection.py,sha256=ZIe9nnI8pznxp1D0K2Ii9SHorc9-f0k_lQV-Giq41P8,3666
|
90
101
|
edsl/jobs/interviews/InterviewExceptionEntry.py,sha256=JMLcftRItQRCo8cOWH5S2H02wa-157l1TCFGVDXfViY,5685
|
91
102
|
edsl/jobs/interviews/InterviewStatistic.py,sha256=hY5d2EkIJ96NilPpZAvZZzZoxLXM7ss3xx5MIcKtTPs,1856
|
@@ -94,40 +105,40 @@ edsl/jobs/interviews/InterviewStatusDictionary.py,sha256=MSyys4hOWe1d8gfsUvAPbcK
|
|
94
105
|
edsl/jobs/interviews/InterviewStatusLog.py,sha256=6u0F8gf5tha39VQL-IK_QPkCsQAYVOx_IesX7TDDX_A,3252
|
95
106
|
edsl/jobs/interviews/ReportErrors.py,sha256=xmzppVqNI93-NjL-BCBOBgBFkU3tuBJiw-FHYKeWDlY,1783
|
96
107
|
edsl/jobs/interviews/interview_status_enum.py,sha256=KJ-1yLAHdX-p8TiFnM0M3v1tnBwkq4aMCuBX6-ytrI8,229
|
97
|
-
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=
|
98
|
-
edsl/jobs/runners/JobsRunnerStatus.py,sha256=
|
108
|
+
edsl/jobs/runners/JobsRunnerAsyncio.py,sha256=Uo-05NIWqDWp4fdIewirEWSTX1yBwFqBSL1TldyizS4,12739
|
109
|
+
edsl/jobs/runners/JobsRunnerStatus.py,sha256=4eCh9sRpswGdKeSMW9pCGCAjJZa-OrWUPI7tsxIy_g4,12112
|
99
110
|
edsl/jobs/runners/JobsRunnerStatusData.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
100
111
|
edsl/jobs/tasks/QuestionTaskCreator.py,sha256=K-xATHIXMWPTMOnms5UDW30eTIlIfebf7oOEfwrh1ME,10072
|
101
112
|
edsl/jobs/tasks/TaskCreators.py,sha256=XqAbNU33378Z4PQncokbfJwnKt3KHR9aqa5fKYRDpfg,2694
|
102
|
-
edsl/jobs/tasks/TaskHistory.py,sha256=
|
113
|
+
edsl/jobs/tasks/TaskHistory.py,sha256=ztU0WHJzpi3-J2dvaY3209zWFd9h3Xu2IZL5v4EHtf8,14871
|
103
114
|
edsl/jobs/tasks/TaskStatusLog.py,sha256=bqH36a32F12fjX-M-4lNOhHaK2-WLFzKE-r0PxZPRjI,546
|
104
115
|
edsl/jobs/tasks/task_status_enum.py,sha256=DOyrz61YlIS8R1W7izJNphcLrJ7I_ReUlfdRmk23h0Q,5333
|
105
116
|
edsl/jobs/tokens/InterviewTokenUsage.py,sha256=u_6-IHpGFwZ6qMEXr24-jyLVUSSp4dSs_4iAZsBv7O4,1100
|
106
117
|
edsl/jobs/tokens/TokenUsage.py,sha256=odj2-wDNEbHl9noyFAQ0DSKV0D9cv3aDOpmXufKZ8O4,1323
|
107
118
|
edsl/language_models/KeyLookup.py,sha256=4ZTpm7rK20wm4ljqyQDu6c5DF9CUhKxtp1GVL1XFkFA,1051
|
108
|
-
edsl/language_models/LanguageModel.py,sha256=
|
109
|
-
edsl/language_models/ModelList.py,sha256=
|
119
|
+
edsl/language_models/LanguageModel.py,sha256=untbXFGd56qMl3lzSQn0SS4ZDhlofWVhfxXBGwQtJSw,24690
|
120
|
+
edsl/language_models/ModelList.py,sha256=GhjRV7y1jRvP_Yjgwv6fxksTVb8sFPBiiRRfdqW-hgg,2852
|
110
121
|
edsl/language_models/RegisterLanguageModelsMeta.py,sha256=eMtBSAnlRnC4c-0_o2QkSNyzv-uAce4BEGMXq2PLj2E,7523
|
111
122
|
edsl/language_models/__init__.py,sha256=f38OP_aBJde_NjNDxwDGs3_2Bu-A17NMZ47pvnhMEkg,162
|
112
123
|
edsl/language_models/fake_openai_call.py,sha256=dxbL5e4NLF-eTk9IduPyGwLiVCX_-eGCJDaLYPlQTqc,364
|
113
124
|
edsl/language_models/fake_openai_service.py,sha256=2AAsAinELbMZRqiepwBkWhWcLuMe5ORXUBNarrdl1ug,1714
|
114
|
-
edsl/language_models/registry.py,sha256=
|
125
|
+
edsl/language_models/registry.py,sha256=hfOlKbTkXrXGpZHQQPKE9uyyUCgOxoUyyIaKL2kf53U,4369
|
115
126
|
edsl/language_models/repair.py,sha256=d0i2S3kJfX7JtuCYhlIyT0QP8hcZkRPLanC09lOW_xo,5353
|
116
127
|
edsl/language_models/unused/ReplicateBase.py,sha256=J1oqf7mEyyKhRwNUomnptVqAsVFYCbS3iTW0EXpKtXo,3331
|
117
128
|
edsl/language_models/utilities.py,sha256=GWON2ahCpB-_-hhqmQ5Yi7_rKB4cd8GlucWuq6EnGZQ,2280
|
118
|
-
edsl/notebooks/Notebook.py,sha256=
|
129
|
+
edsl/notebooks/Notebook.py,sha256=xi9xkxmkQ6-DwhqbjjMLpYKB0VJV20AtwEonJ6mnqjo,7739
|
119
130
|
edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
|
120
|
-
edsl/prompts/Prompt.py,sha256=
|
131
|
+
edsl/prompts/Prompt.py,sha256=IfaHS6esguvSDkYtT3oVYQBBVUqGBo9diyZ_MwEQb3U,11433
|
121
132
|
edsl/prompts/__init__.py,sha256=wrtkH7JW72U93_pnmTvqQx_NoadH5OPRNfrZ5AaD7Co,87
|
122
133
|
edsl/questions/AnswerValidatorMixin.py,sha256=t_ABep50KP02GSc48Y8VAEjp35drVOngfrWXU5aVhgk,11505
|
123
|
-
edsl/questions/QuestionBase.py,sha256=
|
124
|
-
edsl/questions/QuestionBaseGenMixin.py,sha256=
|
125
|
-
edsl/questions/QuestionBasePromptsMixin.py,sha256=
|
134
|
+
edsl/questions/QuestionBase.py,sha256=5RinD6xYDUgq_vRu8IFwOOQMvBkkt4mcCLAOyiwfuQc,22407
|
135
|
+
edsl/questions/QuestionBaseGenMixin.py,sha256=CPxjWZjrxuSO8YWelz6dbp7fm788gN7-T8z7jXStboQ,6017
|
136
|
+
edsl/questions/QuestionBasePromptsMixin.py,sha256=6ze1NR2QTJe0NfqDURyvpMZ7UHqshWQxKMDS6EZJ7QU,8476
|
126
137
|
edsl/questions/QuestionBudget.py,sha256=TJgPsyqafJdJw5if0zVxh7zHloourINUqUWfWIlRq9Y,8131
|
127
138
|
edsl/questions/QuestionCheckBox.py,sha256=wC_doEdNZi4y8Uz-tXZyQ2GYS5wQKOWhbVUnyVLoACU,12840
|
128
|
-
edsl/questions/QuestionExtract.py,sha256=
|
139
|
+
edsl/questions/QuestionExtract.py,sha256=PlXwMeZgPAFBXIHSXpFMYTToag-HwA9C7u6-Z3bQMek,6103
|
129
140
|
edsl/questions/QuestionFreeText.py,sha256=NSdPWpTkbBpAKmyN8eS0g2ogOOjWMjWFGYvY2jrsWag,3423
|
130
|
-
edsl/questions/QuestionFunctional.py,sha256=
|
141
|
+
edsl/questions/QuestionFunctional.py,sha256=l-TNIAwvAkOf02aac395XaOOhLPgC37h-qJXkyJ64ls,5367
|
131
142
|
edsl/questions/QuestionList.py,sha256=vs2AE8OnbwVsly-sorb9dfIibdF1BpOaCRYyvwXYSzY,7209
|
132
143
|
edsl/questions/QuestionMultipleChoice.py,sha256=Yj94-6fwFqDI9UvjwSCOfKnp4gBB86XMmCsL7lbX-t4,10292
|
133
144
|
edsl/questions/QuestionNumerical.py,sha256=_jMZ28DZHYAv_g3Y3vCnmzerMs995on0Ng6j4pDcfHo,4959
|
@@ -141,7 +152,7 @@ edsl/questions/compose_questions.py,sha256=ZcLkwNaofk-o0-skGXEDGZAj6DumOhVhyIUjq
|
|
141
152
|
edsl/questions/decorators.py,sha256=ZijaRYUntAcg0JEztCiOEpcDvvVie___85Zx5ogBQXY,596
|
142
153
|
edsl/questions/derived/QuestionLikertFive.py,sha256=XCpmwlk2qyCxEkiG3UwPqVpS5-k4d4uWyMaxfJg5wkw,2585
|
143
154
|
edsl/questions/derived/QuestionLinearScale.py,sha256=tj_RszK9WumaKRVMS1Fy63-Q6ip4FGBpNU2AtQrWlp8,3304
|
144
|
-
edsl/questions/derived/QuestionTopK.py,sha256=
|
155
|
+
edsl/questions/derived/QuestionTopK.py,sha256=HT8NlbT8YBTmVNVPVIP1EyqGsiN3bu4SbFp29CVT0a4,3212
|
145
156
|
edsl/questions/derived/QuestionYesNo.py,sha256=KWJyaXSNPNxELtK0nWvIqNtpAF05MMAC0ILUjxXkVwo,2735
|
146
157
|
edsl/questions/derived/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
147
158
|
edsl/questions/descriptors.py,sha256=wKPVZhccE9kZP8AHoH05OS1rN0t5TyGBGev3M6oTh8c,16170
|
@@ -153,7 +164,7 @@ edsl/questions/prompt_templates/question_linear_scale.jinja,sha256=VB9bFPeLGGb5a
|
|
153
164
|
edsl/questions/prompt_templates/question_list.jinja,sha256=MAkNv88E79jXK9TxKdnf5KgA77CWz9vXc2TZm2r-g-A,495
|
154
165
|
edsl/questions/prompt_templates/question_multiple_choice.jinja,sha256=sSyAhnexZF6oWqHL-45r7o69vrFcCbbYXLZ3zu7q76U,761
|
155
166
|
edsl/questions/prompt_templates/question_numerical.jinja,sha256=c20sp3HfFonfaRwwmnF7HjAEugU15QlgpNAIkNHasl0,1218
|
156
|
-
edsl/questions/question_registry.py,sha256=
|
167
|
+
edsl/questions/question_registry.py,sha256=sDr909j6jEulK_uXPuvgvYVytPsrpZz_eqKvG0rsbMo,5365
|
157
168
|
edsl/questions/settings.py,sha256=er_z0ZW_dgmC5CHLWkaqBJiuWgAYzIund85M5YZFQAI,291
|
158
169
|
edsl/questions/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
159
170
|
edsl/questions/templates/budget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -193,27 +204,23 @@ edsl/questions/templates/top_k/question_presentation.jinja,sha256=2u8XIkFPWzOuhb
|
|
193
204
|
edsl/questions/templates/yes_no/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
194
205
|
edsl/questions/templates/yes_no/answering_instructions.jinja,sha256=UAcssfcYeW8zytmPOVJOVQEdwdvlRspE8WnatYvreJQ,172
|
195
206
|
edsl/questions/templates/yes_no/question_presentation.jinja,sha256=hoEVj4GQD3EYnR2AStXkMFOJeqISNoEVzBd8-cx2yWg,273
|
196
|
-
edsl/results/
|
197
|
-
edsl/results/
|
198
|
-
edsl/results/
|
199
|
-
edsl/results/
|
200
|
-
edsl/results/
|
201
|
-
edsl/results/Results.py,sha256=qMr0IjjyR1F7uV-OsqN2HoIehqUd9fHqb87U82s7x-w,40264
|
207
|
+
edsl/results/Dataset.py,sha256=udJvOr9ePfD5xfy5k2zaNNWr4Qg_yp5s_f1YKEcVtKc,9547
|
208
|
+
edsl/results/DatasetExportMixin.py,sha256=c0fHbx6DyE54CCoI4I2QuWqTzmaM8LiGrMjyz-hBzMQ,26688
|
209
|
+
edsl/results/DatasetTree.py,sha256=nwEgnWBqRXUxagSCEgqwikmIo8ztUxaF-QH-m-8myyQ,4985
|
210
|
+
edsl/results/Result.py,sha256=ZQG-OEepp1tH4w4S0bqG30Rhv7GBQxYFVnTQZAPxbdQ,16315
|
211
|
+
edsl/results/Results.py,sha256=z7i4ktZaQTDih-N2826tZ0-tyj-g5BBpN1xEN_aPSDg,37803
|
202
212
|
edsl/results/ResultsDBMixin.py,sha256=oh1QXKwreSx90PBJyjYsQ7WrLXdNqbe4QULy25Nq7dk,7945
|
203
213
|
edsl/results/ResultsExportMixin.py,sha256=XizBsPNxziyffirMA4kS7UHpYM1WIE4s1K-B7TqTfDw,1266
|
204
214
|
edsl/results/ResultsFetchMixin.py,sha256=VEa0TKDcXbnTinSKs9YaE4WjOSLmlp9Po1_9kklFvSo,848
|
205
215
|
edsl/results/ResultsGGMixin.py,sha256=SAYz8p4wb1g8x6KhBVz9NHOGib2c2XsqtTclpADrFeM,4344
|
206
216
|
edsl/results/ResultsToolsMixin.py,sha256=mseEFxJCf9sjXdIxpjITt_UZBwdXxw2o2VLg5jMrALA,3017
|
207
217
|
edsl/results/Selector.py,sha256=WMRVBCwLuQ4ljVzqnZxGKIwqPEL_waK-FqaMY4__ob0,4847
|
208
|
-
edsl/results/TableDisplay.py,sha256=pA9VTBcwVasruustj-_xx1XYRU484EqWDDb9RZYVH3Y,6453
|
209
218
|
edsl/results/__init__.py,sha256=2YcyiVtXi-3vIV0ZzOy1PqBLm2gaziufJVi4fdNrAt8,80
|
210
|
-
edsl/results/table_display.css,sha256=d9HuZYpGvgpDItjYYB0SI88qEPZ4pLgxbhzty_o5DoY,2106
|
211
219
|
edsl/results/tree_explore.py,sha256=hQjiO4E71rIOPDgEHgK8T8ukxqoNdgX_tvyiDlG4_9U,4624
|
212
|
-
edsl/scenarios/FileStore.py,sha256=
|
213
|
-
edsl/scenarios/Scenario.py,sha256=
|
220
|
+
edsl/scenarios/FileStore.py,sha256=6XeRxYJmxlAWDiVozlO0hINChgECyPTpMjJskAltFzg,14260
|
221
|
+
edsl/scenarios/Scenario.py,sha256=ljC0TmjNLfxJ2jTQhbAim65K9Y-ol2JCCbvrlfTECZw,18603
|
214
222
|
edsl/scenarios/ScenarioHtmlMixin.py,sha256=yKAhYTjR600od8l2KJDaTiz-FC0ppyRzOwNOWO0zxN8,2086
|
215
|
-
edsl/scenarios/
|
216
|
-
edsl/scenarios/ScenarioList.py,sha256=RRnAI2UsAfFBChI44_T93RXpRfbUEzhXTUq037clEZg,49151
|
223
|
+
edsl/scenarios/ScenarioList.py,sha256=rUswklpvmQH7JbfmlREHjID9U64tv2l-gbyqEGECqSs,41333
|
217
224
|
edsl/scenarios/ScenarioListExportMixin.py,sha256=wfffY9xy_1QyIM-1xnisr64izSLjmyuotUYY5iDLodc,1681
|
218
225
|
edsl/scenarios/ScenarioListPdfMixin.py,sha256=z_H2sZn5SCSq6nRLSU5jefaOlh4sqJLyOY_Ld0XCR18,8332
|
219
226
|
edsl/scenarios/__init__.py,sha256=1X03GA_ltVRzNT5KQIuATj3qBcpFCvvGWojr3wggGtk,148
|
@@ -225,27 +232,27 @@ edsl/study/Study.py,sha256=Ytm15XIWgT716scM3HKFSfdBHxRwX6mfMn3l8dgdY1c,18462
|
|
225
232
|
edsl/study/__init__.py,sha256=YAvPLTPG3hK_eN9Ar3d1_d-E3laXpSya879A25-JAxU,170
|
226
233
|
edsl/surveys/DAG.py,sha256=dnIbrfJ_lQ3QEKjpyuo1I6b0kcnW2KMMyPir0A6J4XM,4235
|
227
234
|
edsl/surveys/Memory.py,sha256=-ikOtkkQldGB_BkPCW3o7AYwV5B_pIwlREw7aVCSHaQ,1113
|
228
|
-
edsl/surveys/MemoryPlan.py,sha256=
|
229
|
-
edsl/surveys/Rule.py,sha256=
|
230
|
-
edsl/surveys/RuleCollection.py,sha256=
|
231
|
-
edsl/surveys/Survey.py,sha256=
|
235
|
+
edsl/surveys/MemoryPlan.py,sha256=VESoPM0C_4LUngkskE51rOca_4vbXC2yjfwrBXtHfHA,9029
|
236
|
+
edsl/surveys/Rule.py,sha256=8HxOqAkJfpsVvfetqN9Ii9yHIYI0ucdrYbCFjrgNa0Q,12454
|
237
|
+
edsl/surveys/RuleCollection.py,sha256=VBx9-OuBBFIJlRYfpbWIjMVFSA5iMwTzdx5yl8giQA8,14871
|
238
|
+
edsl/surveys/Survey.py,sha256=AZ4hd4LenUi10arXnRDOJXtkYhyRTzNbcz23QCrLg7M,73075
|
232
239
|
edsl/surveys/SurveyCSS.py,sha256=NjJezs2sTlgFprN6IukjGKwNYmNdXnLjzV2w5K4z4RI,8415
|
233
240
|
edsl/surveys/SurveyExportMixin.py,sha256=Kvkd2ku2Kemsn2Nw-Yt8GTnGFcUqfEiKznmisAeO7ck,8339
|
234
|
-
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=
|
241
|
+
edsl/surveys/SurveyFlowVisualizationMixin.py,sha256=dEG_f-L0ZAyWU5Ta584IX5GZurjVt1tbIISo5z61Jvg,4004
|
235
242
|
edsl/surveys/SurveyQualtricsImport.py,sha256=SSZv53D1zVhQSfSw-X0_cte0QnkWhE9v922wLn6RMkI,9771
|
236
243
|
edsl/surveys/__init__.py,sha256=vjMYVlP95fHVqqw2FfKXRuYbTArZkZr1nK4FnXzZWzs,129
|
237
244
|
edsl/surveys/base.py,sha256=XJHGEbbsH6hlYYkmI4isVLD8guLz8BdhR-eQRL78mc4,1115
|
238
245
|
edsl/surveys/descriptors.py,sha256=3B-hBVvGpLlVBCyOnPuxkLjesvpr0QIuATbggp_MJ7o,2076
|
239
|
-
edsl/surveys/instructions/ChangeInstruction.py,sha256=
|
240
|
-
edsl/surveys/instructions/Instruction.py,sha256=
|
246
|
+
edsl/surveys/instructions/ChangeInstruction.py,sha256=XDLuI5nVI60iJz1w1kLaKmYryAYE0XIyRbElBtNjVVM,1265
|
247
|
+
edsl/surveys/instructions/Instruction.py,sha256=l_ET6HCMt0ZU1BBHqP4EYKjEjeAS5Eg6NBJsCLO70R8,1352
|
241
248
|
edsl/surveys/instructions/InstructionCollection.py,sha256=eO-i9zgbk8q0D8hnawDrioS-iqXOEE7eKm5cgYNgwrU,2931
|
242
249
|
edsl/surveys/instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
243
250
|
edsl/templates/error_reporting/base.html,sha256=IkV24ZaUCNX303ZqVTWkFsJOnu5BG_SULrKN2YejUxQ,552
|
244
251
|
edsl/templates/error_reporting/exceptions_by_model.html,sha256=7uAWGfhUMey-29Vh6YkN_Qx1lfhC92fsTMxJEVXWPDs,792
|
245
252
|
edsl/templates/error_reporting/exceptions_by_question_name.html,sha256=_q6hSwtO_WhjXLZNLZhRj-qbPzStqYSzT0iECKUAFlg,454
|
246
253
|
edsl/templates/error_reporting/exceptions_by_type.html,sha256=TVsNCAz_G53LSZ-YslM51TUsbwtw7wzCqPwVYO6TVEw,415
|
247
|
-
edsl/templates/error_reporting/interview_details.html,sha256=
|
248
|
-
edsl/templates/error_reporting/interviews.html,sha256=
|
254
|
+
edsl/templates/error_reporting/interview_details.html,sha256=_3AZfDu7ZOrZZPQAE-odcSRkv7QuOPZQTsiK97MDY6g,4043
|
255
|
+
edsl/templates/error_reporting/interviews.html,sha256=jaPrrtUGs8Rs26H3k1QLqNRpIGAZEWrJR4OF83gDCj8,393
|
249
256
|
edsl/templates/error_reporting/overview.html,sha256=1oTYQpi03OnguG-iudO8FZC7mwR6GryeslDbl0w9ksw,405
|
250
257
|
edsl/templates/error_reporting/performance_plot.html,sha256=NTXFj51VEwew59gLzbR83Lybh88WmFR-fhxm5rmz0Ms,53
|
251
258
|
edsl/templates/error_reporting/report.css,sha256=e0kM4z4fF3xrKIJbbhvrzzh8gMJ8LD7rDu0ut63kg8c,1209
|
@@ -267,11 +274,10 @@ edsl/utilities/decorators.py,sha256=rlTSMItwmWUxHQBIEUDxX3lFzgtiT8PnfNavakuf-2M,
|
|
267
274
|
edsl/utilities/gcp_bucket/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
268
275
|
edsl/utilities/gcp_bucket/cloud_storage.py,sha256=dStHsG181YP9ALW-bkyO-sgMWuLV5aaLsnsCOVD8jJw,3472
|
269
276
|
edsl/utilities/interface.py,sha256=AaKpWiwWBwP2swNXmnFlIf3ZFsjfsR5bjXQAW47tD-8,19656
|
270
|
-
edsl/utilities/naming_utilities.py,sha256=ZIxEe8nX0ZCpcZ14QjnnxBxQ0UBSiNZp6RqC7-gvUCw,4966
|
271
277
|
edsl/utilities/repair_functions.py,sha256=tftmklAqam6LOQQu_-9U44N-llycffhW8LfO63vBmNw,929
|
272
278
|
edsl/utilities/restricted_python.py,sha256=5-_zUhrNbos7pLhDl9nr8d24auRlquR6w-vKkmNjPiA,2060
|
273
|
-
edsl/utilities/utilities.py,sha256=
|
274
|
-
edsl-0.1.38.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
275
|
-
edsl-0.1.38.dist-info/METADATA,sha256=
|
276
|
-
edsl-0.1.38.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
277
|
-
edsl-0.1.38.dist-info/RECORD,,
|
279
|
+
edsl/utilities/utilities.py,sha256=bvi3uSj6HNB9IzjD4_UoRw7o9UAd2WWYXPXbHDVmFP8,11857
|
280
|
+
edsl-0.1.38.dev1.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
|
281
|
+
edsl-0.1.38.dev1.dist-info/METADATA,sha256=FTS2McthmyxtYGARJ3NXOD8MuU5pc1rQG8NF6VxPJdE,4476
|
282
|
+
edsl-0.1.38.dev1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
283
|
+
edsl-0.1.38.dev1.dist-info/RECORD,,
|
edsl/exceptions/cache.py
DELETED
@@ -1,163 +0,0 @@
|
|
1
|
-
import aiohttp
|
2
|
-
import json
|
3
|
-
import requests
|
4
|
-
from typing import Any, List, Optional
|
5
|
-
from edsl.inference_services.rate_limits_cache import rate_limits
|
6
|
-
|
7
|
-
# from edsl.inference_services.InferenceServiceABC import InferenceServiceABC
|
8
|
-
from edsl.language_models import LanguageModel
|
9
|
-
|
10
|
-
from edsl.inference_services.OpenAIService import OpenAIService
|
11
|
-
|
12
|
-
|
13
|
-
class PerplexityService(OpenAIService):
|
14
|
-
"""Perplexity service class."""
|
15
|
-
|
16
|
-
_inference_service_ = "perplexity"
|
17
|
-
_env_key_name_ = "PERPLEXITY_API_KEY"
|
18
|
-
_base_url_ = "https://api.perplexity.ai"
|
19
|
-
_models_list_cache: List[str] = []
|
20
|
-
# default perplexity parameters
|
21
|
-
_parameters_ = {
|
22
|
-
"temperature": 0.5,
|
23
|
-
"max_tokens": 1000,
|
24
|
-
"top_p": 1,
|
25
|
-
"logprobs": False,
|
26
|
-
"top_logprobs": 3,
|
27
|
-
}
|
28
|
-
|
29
|
-
@classmethod
|
30
|
-
def available(cls) -> List[str]:
|
31
|
-
return [
|
32
|
-
"llama-3.1-sonar-huge-128k-online",
|
33
|
-
"llama-3.1-sonar-large-128k-online",
|
34
|
-
"llama-3.1-sonar-small-128k-online",
|
35
|
-
]
|
36
|
-
|
37
|
-
@classmethod
|
38
|
-
def create_model(
|
39
|
-
cls, model_name="llama-3.1-sonar-large-128k-online", model_class_name=None
|
40
|
-
) -> LanguageModel:
|
41
|
-
if model_class_name is None:
|
42
|
-
model_class_name = cls.to_class_name(model_name)
|
43
|
-
|
44
|
-
class LLM(LanguageModel):
|
45
|
-
"""
|
46
|
-
Child class of LanguageModel for interacting with Perplexity models
|
47
|
-
"""
|
48
|
-
|
49
|
-
key_sequence = cls.key_sequence
|
50
|
-
usage_sequence = cls.usage_sequence
|
51
|
-
input_token_name = cls.input_token_name
|
52
|
-
output_token_name = cls.output_token_name
|
53
|
-
|
54
|
-
_rpm = cls.get_rpm(cls)
|
55
|
-
_tpm = cls.get_tpm(cls)
|
56
|
-
|
57
|
-
_inference_service_ = cls._inference_service_
|
58
|
-
_model_ = model_name
|
59
|
-
|
60
|
-
_parameters_ = {
|
61
|
-
"temperature": 0.5,
|
62
|
-
"max_tokens": 1000,
|
63
|
-
"top_p": 1,
|
64
|
-
"frequency_penalty": 1,
|
65
|
-
"presence_penalty": 0,
|
66
|
-
# "logprobs": False, # Enable this returns 'Neither or both of logprobs and top_logprobs must be set.
|
67
|
-
# "top_logprobs": 3,
|
68
|
-
}
|
69
|
-
|
70
|
-
def sync_client(self):
|
71
|
-
return cls.sync_client()
|
72
|
-
|
73
|
-
def async_client(self):
|
74
|
-
return cls.async_client()
|
75
|
-
|
76
|
-
@classmethod
|
77
|
-
def available(cls) -> list[str]:
|
78
|
-
return cls.sync_client().models.list()
|
79
|
-
|
80
|
-
def get_headers(self) -> dict[str, Any]:
|
81
|
-
client = self.sync_client()
|
82
|
-
response = client.chat.completions.with_raw_response.create(
|
83
|
-
messages=[
|
84
|
-
{
|
85
|
-
"role": "user",
|
86
|
-
"content": "Say this is a test",
|
87
|
-
}
|
88
|
-
],
|
89
|
-
model=self.model,
|
90
|
-
)
|
91
|
-
return dict(response.headers)
|
92
|
-
|
93
|
-
def get_rate_limits(self) -> dict[str, Any]:
|
94
|
-
try:
|
95
|
-
if "openai" in rate_limits:
|
96
|
-
headers = rate_limits["openai"]
|
97
|
-
|
98
|
-
else:
|
99
|
-
headers = self.get_headers()
|
100
|
-
|
101
|
-
except Exception as e:
|
102
|
-
return {
|
103
|
-
"rpm": 10_000,
|
104
|
-
"tpm": 2_000_000,
|
105
|
-
}
|
106
|
-
else:
|
107
|
-
return {
|
108
|
-
"rpm": int(headers["x-ratelimit-limit-requests"]),
|
109
|
-
"tpm": int(headers["x-ratelimit-limit-tokens"]),
|
110
|
-
}
|
111
|
-
|
112
|
-
async def async_execute_model_call(
|
113
|
-
self,
|
114
|
-
user_prompt: str,
|
115
|
-
system_prompt: str = "",
|
116
|
-
files_list: Optional[List["Files"]] = None,
|
117
|
-
invigilator: Optional[
|
118
|
-
"InvigilatorAI"
|
119
|
-
] = None, # TBD - can eventually be used for function-calling
|
120
|
-
) -> dict[str, Any]:
|
121
|
-
"""Calls the OpenAI API and returns the API response."""
|
122
|
-
if files_list:
|
123
|
-
encoded_image = files_list[0].base64_string
|
124
|
-
content = [{"type": "text", "text": user_prompt}]
|
125
|
-
content.append(
|
126
|
-
{
|
127
|
-
"type": "image_url",
|
128
|
-
"image_url": {
|
129
|
-
"url": f"data:image/jpeg;base64,{encoded_image}"
|
130
|
-
},
|
131
|
-
}
|
132
|
-
)
|
133
|
-
else:
|
134
|
-
content = user_prompt
|
135
|
-
client = self.async_client()
|
136
|
-
|
137
|
-
messages = [
|
138
|
-
{"role": "system", "content": system_prompt},
|
139
|
-
{"role": "user", "content": content},
|
140
|
-
]
|
141
|
-
if system_prompt == "" and self.omit_system_prompt_if_empty:
|
142
|
-
messages = messages[1:]
|
143
|
-
|
144
|
-
params = {
|
145
|
-
"model": self.model,
|
146
|
-
"messages": messages,
|
147
|
-
"temperature": self.temperature,
|
148
|
-
"max_tokens": self.max_tokens,
|
149
|
-
"top_p": self.top_p,
|
150
|
-
"frequency_penalty": self.frequency_penalty,
|
151
|
-
"presence_penalty": self.presence_penalty,
|
152
|
-
# "logprobs": self.logprobs,
|
153
|
-
# "top_logprobs": self.top_logprobs if self.logprobs else None,
|
154
|
-
}
|
155
|
-
try:
|
156
|
-
response = await client.chat.completions.create(**params)
|
157
|
-
except Exception as e:
|
158
|
-
print(e, flush=True)
|
159
|
-
return response.model_dump()
|
160
|
-
|
161
|
-
LLM.__name__ = "LanguageModel"
|
162
|
-
|
163
|
-
return LLM
|