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.
Files changed (86) hide show
  1. edsl/Base.py +34 -63
  2. edsl/BaseDiff.py +7 -7
  3. edsl/__init__.py +1 -2
  4. edsl/__version__.py +1 -1
  5. edsl/agents/Agent.py +11 -23
  6. edsl/agents/AgentList.py +23 -86
  7. edsl/agents/Invigilator.py +7 -18
  8. edsl/agents/InvigilatorBase.py +19 -0
  9. edsl/agents/PromptConstructor.py +4 -5
  10. edsl/auto/SurveyCreatorPipeline.py +1 -1
  11. edsl/auto/utilities.py +1 -1
  12. edsl/base/Base.py +13 -3
  13. edsl/config.py +0 -8
  14. edsl/conjure/AgentConstructionMixin.py +160 -0
  15. edsl/conjure/Conjure.py +62 -0
  16. edsl/conjure/InputData.py +659 -0
  17. edsl/conjure/InputDataCSV.py +48 -0
  18. edsl/conjure/InputDataMixinQuestionStats.py +182 -0
  19. edsl/conjure/InputDataPyRead.py +91 -0
  20. edsl/conjure/InputDataSPSS.py +8 -0
  21. edsl/conjure/InputDataStata.py +8 -0
  22. edsl/conjure/QuestionOptionMixin.py +76 -0
  23. edsl/conjure/QuestionTypeMixin.py +23 -0
  24. edsl/conjure/RawQuestion.py +65 -0
  25. edsl/conjure/SurveyResponses.py +7 -0
  26. edsl/conjure/__init__.py +9 -0
  27. edsl/conjure/examples/placeholder.txt +0 -0
  28. edsl/{utilities → conjure}/naming_utilities.py +1 -1
  29. edsl/conjure/utilities.py +201 -0
  30. edsl/coop/coop.py +7 -77
  31. edsl/data/Cache.py +17 -45
  32. edsl/data/CacheEntry.py +3 -8
  33. edsl/data/RemoteCacheSync.py +19 -0
  34. edsl/enums.py +0 -2
  35. edsl/exceptions/agents.py +0 -4
  36. edsl/inference_services/GoogleService.py +15 -7
  37. edsl/inference_services/registry.py +0 -2
  38. edsl/jobs/Jobs.py +559 -110
  39. edsl/jobs/buckets/TokenBucket.py +0 -3
  40. edsl/jobs/interviews/Interview.py +7 -7
  41. edsl/jobs/runners/JobsRunnerAsyncio.py +28 -156
  42. edsl/jobs/runners/JobsRunnerStatus.py +196 -194
  43. edsl/jobs/tasks/TaskHistory.py +19 -27
  44. edsl/language_models/LanguageModel.py +90 -52
  45. edsl/language_models/ModelList.py +14 -67
  46. edsl/language_models/registry.py +4 -57
  47. edsl/notebooks/Notebook.py +8 -7
  48. edsl/prompts/Prompt.py +3 -8
  49. edsl/questions/QuestionBase.py +30 -38
  50. edsl/questions/QuestionBaseGenMixin.py +1 -1
  51. edsl/questions/QuestionBasePromptsMixin.py +17 -0
  52. edsl/questions/QuestionExtract.py +4 -3
  53. edsl/questions/QuestionFunctional.py +3 -10
  54. edsl/questions/derived/QuestionTopK.py +0 -2
  55. edsl/questions/question_registry.py +6 -36
  56. edsl/results/Dataset.py +15 -146
  57. edsl/results/DatasetExportMixin.py +217 -231
  58. edsl/results/DatasetTree.py +4 -134
  59. edsl/results/Result.py +16 -31
  60. edsl/results/Results.py +65 -159
  61. edsl/scenarios/FileStore.py +13 -187
  62. edsl/scenarios/Scenario.py +18 -73
  63. edsl/scenarios/ScenarioList.py +76 -251
  64. edsl/surveys/MemoryPlan.py +1 -1
  65. edsl/surveys/Rule.py +5 -1
  66. edsl/surveys/RuleCollection.py +1 -1
  67. edsl/surveys/Survey.py +19 -25
  68. edsl/surveys/SurveyFlowVisualizationMixin.py +9 -67
  69. edsl/surveys/instructions/ChangeInstruction.py +7 -9
  70. edsl/surveys/instructions/Instruction.py +7 -21
  71. edsl/templates/error_reporting/interview_details.html +3 -3
  72. edsl/templates/error_reporting/interviews.html +9 -18
  73. edsl/utilities/utilities.py +0 -15
  74. {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/METADATA +1 -2
  75. {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/RECORD +77 -71
  76. edsl/exceptions/cache.py +0 -5
  77. edsl/inference_services/PerplexityService.py +0 -163
  78. edsl/jobs/JobsChecks.py +0 -147
  79. edsl/jobs/JobsPrompts.py +0 -268
  80. edsl/jobs/JobsRemoteInferenceHandler.py +0 -239
  81. edsl/results/CSSParameterizer.py +0 -108
  82. edsl/results/TableDisplay.py +0 -198
  83. edsl/results/table_display.css +0 -78
  84. edsl/scenarios/ScenarioJoin.py +0 -127
  85. {edsl-0.1.38.dist-info → edsl-0.1.38.dev1.dist-info}/LICENSE +0 -0
  86. {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 to_dict(self, add_edsl_version=True):
28
- d = {
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
- d["edsl_version"] = __version__
36
- d["edsl_class_name"] = "ChangeInstruction"
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.to_dict(add_edsl_version=False))
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 _repr_html_(self):
22
- d = self.to_dict(add_edsl_version=False)
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.to_dict(add_edsl_version=False))
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.__repr__() }}</td>
43
+ <td>{{ interview.scenario._repr_html_() }}</td>
44
44
  </tr>
45
45
  <tr>
46
46
  <td>Agent</td>
47
- <td>{{ interview.agent.__repr__() }}</td>
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.__repr__() }}</td>
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 index < max_interviews %}
10
- {% if interview.exceptions != {} %}
11
- <div class="interview">Interview: {{ index }} </div>
12
- Model: {{ interview.model.model }}
13
- <h1>Failing questions</h1>
14
- {% endif %}
15
- {% for question, exceptions in interview.exceptions.items() %}
16
- {% include 'interview_details.html' %}
17
- {% endfor %}
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 %}
@@ -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=HmleFvdP6tDwLfCKxyCdjRImGA2_blb0soE9GU7_crY,10200
2
- edsl/BaseDiff.py,sha256=92BirXj2u3TEGHJWni9TBsvZjvq8wpb4wDL2vxX9Lb0,8253
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=rAch7Qsj61LdstA_YeZROUhZkNls1HkpcJWodf6WtFk,1820
5
- edsl/__version__.py,sha256=iqMsqiw28paXOQhpmbrJrO6OnNN9YpR83VgJimFDq8k,23
6
- edsl/agents/Agent.py,sha256=cmO4jEsyTewu6fDC5geEtrtUtjcEFBga6_XmdLCqBb4,31985
7
- edsl/agents/AgentList.py,sha256=K_VdOnDfD4qPFq_Ms1jfSSKEM6q9BWMXEcBXhh4yVaY,13588
8
- edsl/agents/Invigilator.py,sha256=Yd2_rTwXH-6vzwJM2283CBN4UtNfblphltu73OMsEVk,9578
9
- edsl/agents/InvigilatorBase.py,sha256=5PKImpjDHMEHzeAqxTB_kBL8FKGmvfBGzZcW5vxl2Jc,9050
10
- edsl/agents/PromptConstructor.py,sha256=0YsUGlIzDUML57pN4TH6nMvfpxkQ5YRSOVZ9rIZxJt0,13714
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=b1rvJ1u_snPzdXIotfv_Zq3LV7OQVpIicudiFpny-S4,660
24
- edsl/auto/utilities.py,sha256=jNRccPq5e-Eya4dlLT6oa6WAYi45bSeQb8zRsD2e_IU,7608
25
- edsl/base/Base.py,sha256=dTXYSNcmNbkUVe6cv5kskJOmY1bbTRgQw0OGdtH_Dck,8534
26
- edsl/config.py,sha256=5sUX1O8paVAYroxVfTlnHFAi_S0uSX2H6JLPnK0s94c,6245
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=oP3ECQAtz1oXVtgc490USJpGyxeOSOBdLrBUBJbkuX4,37057
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=IyTj3eV9limmRTMBgdJ2XWLSEph_1SHxkaIcBhHbARU,17555
37
- edsl/data/CacheEntry.py,sha256=qsry0YYmdEwJC6KiWeq9_ceQXpaRlKzwy46R7vP6DBk,7485
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=qA2RymUcnhM2-g8PuzzaD99zQnb0zNUr9OQ0TlOFz-M,2878
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=adsZKcsKLr5ZHu2nJVtR_nVH_40pMGQP1IEWoOuIMrs,5342
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=kjn30zF1AemM2k4j3YgBDW7wW-U-Ghms-wkb1qQHUYg,1346
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=k8vJEZ6LxFbr2JVCQFt2BtHNr9PAJwjOYmM3_Gp8mlo,5100
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=Rkjfe4iABQc7aiY73bGnbRAgLXY0osni22hYnmMEI2c,1335
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=QztGWk8MuGi0zuNREJNqKO66SEa8T15nIE8hBSv1eIc,32785
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=VRnbMkjnYc7ed1EQYMK3OnIL2CFYZNFywmLKrkyBSfw,9166
88
- edsl/jobs/interviews/Interview.py,sha256=g63o7Wwh_C6MkOkL4tqRN_wyJtb9lELu19D_6dkLEgU,26159
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=ZzhFytQ4hqQWs65I0krzz909Hlks9Z202Vx8X2TJzRM,18135
98
- edsl/jobs/runners/JobsRunnerStatus.py,sha256=XoUGd5Y501JSo98NRvqbP9aV9Ye01HVxI65UcMXmAzs,11007
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=61cdzs3A4OldBz_UWsLJIpRFPPA3yG45RSkVkOQrwxQ,14970
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=qSIP2ekLnrnTRfTIHyTDf2XYLK1rQM0NwmL9ItHwDw0,23771
109
- edsl/language_models/ModelList.py,sha256=buK4mCQyt4owmEa8foWg9a7WQZFg_zFJ90Uv0mbP8YY,4375
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=qj2hiMLkm3OIzlD_FDh-D6MoQH_FPRvy38uTWp46AsI,6072
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=YAFLc9p8HMaHq9ZemB5aKRBg-evZ6b4U9W00ds0N2VU,7797
129
+ edsl/notebooks/Notebook.py,sha256=xi9xkxmkQ6-DwhqbjjMLpYKB0VJV20AtwEonJ6mnqjo,7739
119
130
  edsl/notebooks/__init__.py,sha256=VNUA3nNq04slWNbYaNrzOhQJu3AZANpvBniyCJSzJ7U,45
120
- edsl/prompts/Prompt.py,sha256=a1OFyfAWhZsvcuMGfIqQ3Sz82d5LSoICMjtpkuKAPss,11666
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=3beTv65WO8-mgqdOvOn6SXCkQYMpDZk65BRl9d0__KM,22509
124
- edsl/questions/QuestionBaseGenMixin.py,sha256=4WxPuoPRl_b_sPFLJ9KdfPuoYm2_ogkDTVfdD7vLOng,6038
125
- edsl/questions/QuestionBasePromptsMixin.py,sha256=lCnC5Uvk-BJNiuy05BL9v9Qn89yyoq5BqH2zb0DHeSs,7837
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=gI3iZQq-j9Ltvm6OHgUEz3WHeBPfOXEbfLZApyc3JI0,6023
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=APuTZ5QNBTLvwv_iNcgFFV81qImiUL3qHMMHjArREf0,5581
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=AN-iibO9y-2HdpJJh2FpAV8ImNkC2cb4N_zAKlL8Hkw,3284
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=ggPAjW2XJ-rFA_2bitxJV7SVlEx_QLYNib9geFXjhKw,6334
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/CSSParameterizer.py,sha256=1gIV1q7647FUsEcwExuWPyymn-KT5aFV2cGltXzQJP4,3675
197
- edsl/results/Dataset.py,sha256=S349g21y5xgt2XD2Ttw2LJXVGwV5wiOr1nBAkF76NvM,14427
198
- edsl/results/DatasetExportMixin.py,sha256=6KngdS-UbK_sDNPEEwd_peUvdPljxAYkBHPNs-XGyfg,27487
199
- edsl/results/DatasetTree.py,sha256=jKn1ZRjjt-fEosXWCzz48LVABPyioSRH3An2hSAFhoc,9471
200
- edsl/results/Result.py,sha256=hsPEqZ-nX3kd6FFmE1CQHTziq11Rj7R9reBdv-VJ3Go,16849
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=nsFQ9VLjlilzHRXj3KARN8vvR47vfAAm1y9Ww0ZL2uk,19724
213
- edsl/scenarios/Scenario.py,sha256=RKb38Q13vTqc31qoNFW9hmljBtWHIrQUO5IMblygN5U,20146
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/ScenarioJoin.py,sha256=4wa4JGnwrF-u2nTfaVkzLTuB6PftfvTkm5UDWvCVFyk,4774
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=9NNue5Z1FQs-H7yz0kFFDc6yTqJGN9pDcmeY15h3SLY,9052
229
- edsl/surveys/Rule.py,sha256=Vy0NX7E5V1CmXJS5DhUb8iMJRD8EDHVr8HPD6KCGYt4,12393
230
- edsl/surveys/RuleCollection.py,sha256=ID8EN1qAwKcCJz7jMEwh9cF0fHc-O2R8Vi3V_59UNys,14894
231
- edsl/surveys/Survey.py,sha256=thP3lnmIYpCEo7qd6Jk6qITXfQtKDcNrZsdulAwkjqI,73498
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=QpqqKEzgNo90wh-S4eFco8CWpZZ3x062Zc2vk6U4gLw,6356
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=3zwis7DFKA5XYBt1291Rgcm8EEcH1Tp9rfhYYUDOAMQ,1364
240
- edsl/surveys/instructions/Instruction.py,sha256=Bo98pcaYF_srLS2FL9myVYAcTjSefeneCKVw-EPq6wA,1908
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=TSfbfNsvteZnR0rhHHn2MYDHWjlbzOHmuZS1GowKgv0,4034
248
- edsl/templates/error_reporting/interviews.html,sha256=x-hD7A0_PIM_8-wDx0SaPlukBe7v338tprZ-qjEt6n0,661
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=8VCm6A2ktKhTUPFYEY37kTxaHl3p-xAUeAwnBJLlEAU,12263
274
- edsl-0.1.38.dist-info/LICENSE,sha256=_qszBDs8KHShVYcYzdMz3HNMtH-fKN_p5zjoVAVumFc,1111
275
- edsl-0.1.38.dist-info/METADATA,sha256=hlKsfwKH4Skfeu0-geJIh39g2P2vwWX0zyq-XQ4Pmo4,4513
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,5 +0,0 @@
1
- from edsl.exceptions.BaseException import BaseException
2
-
3
-
4
- class CacheError(BaseException):
5
- relevant_doc = "https://docs.expectedparrot.com/en/latest/agents.html#agent-lists"
@@ -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