langfun 0.1.2.dev202412200804__py3-none-any.whl → 0.1.2.dev202412210804__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.
- langfun/core/eval/v2/checkpointing.py +10 -2
- langfun/core/eval/v2/checkpointing_test.py +3 -3
- langfun/core/eval/v2/evaluation_test.py +21 -14
- langfun/core/eval/v2/progress_tracking_test.py +4 -4
- langfun/core/eval/v2/reporting_test.py +2 -2
- langfun/core/eval/v2/runners.py +8 -2
- langfun/core/eval/v2/runners_test.py +10 -9
- {langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/METADATA +1 -1
- {langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/RECORD +13 -13
- /langfun/core/eval/v2/{test_helper.py → eval_test_helper.py} +0 -0
- {langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/LICENSE +0 -0
- {langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/WHEEL +0 -0
- {langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/top_level.txt +0 -0
@@ -66,6 +66,10 @@ class PerExampleCheckpointer(Checkpointer):
|
|
66
66
|
|
67
67
|
# For refresh runs, we don't want to load the previous state.
|
68
68
|
if not runner.current_run.refresh:
|
69
|
+
if runner.current_run.input_root != runner.current_run.output_root:
|
70
|
+
experiment.info(
|
71
|
+
f'Warm starting from directory: {runner.current_run.input_root}.'
|
72
|
+
)
|
69
73
|
def _load_state(ckpt_file):
|
70
74
|
experiment.load_state(ckpt_file)
|
71
75
|
|
@@ -85,8 +89,8 @@ class PerExampleCheckpointer(Checkpointer):
|
|
85
89
|
):
|
86
90
|
if error is not None:
|
87
91
|
experiment.warning(
|
88
|
-
'Failed to load checkpoint file
|
89
|
-
|
92
|
+
f'Failed to load checkpoint file {ckpt_file}: {error}. '
|
93
|
+
'Skipping the file.'
|
90
94
|
)
|
91
95
|
super().on_experiment_start(experiment)
|
92
96
|
|
@@ -181,6 +185,10 @@ class BulkCheckpointer(Checkpointer):
|
|
181
185
|
return
|
182
186
|
# For refresh runs, we don't want to load the previous state.
|
183
187
|
if not runner.current_run.refresh:
|
188
|
+
if runner.current_run.input_root != runner.current_run.output_root:
|
189
|
+
experiment.info(
|
190
|
+
f'Warm starting from directory: {runner.current_run.input_root}.'
|
191
|
+
)
|
184
192
|
experiment.load_state(
|
185
193
|
runner.current_run.input_path_for(
|
186
194
|
experiment, self.checkpoint_filename
|
@@ -16,9 +16,9 @@ import tempfile
|
|
16
16
|
import unittest
|
17
17
|
|
18
18
|
from langfun.core.eval.v2 import checkpointing
|
19
|
+
from langfun.core.eval.v2 import eval_test_helper
|
19
20
|
from langfun.core.eval.v2 import example as example_lib
|
20
21
|
from langfun.core.eval.v2 import runners as runners_lib # pylint: disable=unused-import
|
21
|
-
from langfun.core.eval.v2 import test_helper
|
22
22
|
import pyglove as pg
|
23
23
|
|
24
24
|
Example = example_lib.Example
|
@@ -56,7 +56,7 @@ class PerExampleCheckpointerTest(unittest.TestCase):
|
|
56
56
|
|
57
57
|
def test_checkpointing(self):
|
58
58
|
root_dir = os.path.join(tempfile.gettempdir(), 'per_example_checkpointer')
|
59
|
-
experiment =
|
59
|
+
experiment = eval_test_helper.test_experiment()
|
60
60
|
checkpoint_filename = 'checkpoint.jsonl'
|
61
61
|
checkpointer = checkpointing.PerExampleCheckpointer(checkpoint_filename)
|
62
62
|
run = experiment.run(
|
@@ -89,7 +89,7 @@ class BulkCheckpointerTest(unittest.TestCase):
|
|
89
89
|
|
90
90
|
def test_checkpointing(self):
|
91
91
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_bulk_checkpointer')
|
92
|
-
experiment =
|
92
|
+
experiment = eval_test_helper.test_experiment()
|
93
93
|
checkpoint_filename = 'checkpoint.jsonl'
|
94
94
|
checkpointer = checkpointing.BulkCheckpointer(checkpoint_filename)
|
95
95
|
run = experiment.run(
|
@@ -15,12 +15,11 @@ import os
|
|
15
15
|
import tempfile
|
16
16
|
import unittest
|
17
17
|
|
18
|
+
from langfun.core.eval.v2 import eval_test_helper
|
18
19
|
from langfun.core.eval.v2 import evaluation as evaluation_lib
|
19
20
|
from langfun.core.eval.v2 import example as example_lib
|
20
21
|
from langfun.core.eval.v2 import experiment as experiment_lib
|
21
22
|
|
22
|
-
from langfun.core.eval.v2 import test_helper
|
23
|
-
|
24
23
|
import pyglove as pg
|
25
24
|
|
26
25
|
Example = example_lib.Example
|
@@ -32,17 +31,23 @@ Run = experiment_lib.Run
|
|
32
31
|
class EvaluationTest(unittest.TestCase):
|
33
32
|
|
34
33
|
def test_hyper_evaluation(self):
|
35
|
-
exp =
|
36
|
-
lm=
|
34
|
+
exp = eval_test_helper.TestEvaluation(
|
35
|
+
lm=eval_test_helper.TestLLM(offset=pg.oneof(range(3)))
|
37
36
|
)
|
38
37
|
self.assertFalse(exp.is_leaf)
|
39
38
|
self.assertTrue(
|
40
39
|
pg.eq(
|
41
40
|
exp.children,
|
42
41
|
[
|
43
|
-
|
44
|
-
|
45
|
-
|
42
|
+
eval_test_helper.TestEvaluation(
|
43
|
+
lm=eval_test_helper.TestLLM(offset=0)
|
44
|
+
),
|
45
|
+
eval_test_helper.TestEvaluation(
|
46
|
+
lm=eval_test_helper.TestLLM(offset=1)
|
47
|
+
),
|
48
|
+
eval_test_helper.TestEvaluation(
|
49
|
+
lm=eval_test_helper.TestLLM(offset=2)
|
50
|
+
),
|
46
51
|
]
|
47
52
|
)
|
48
53
|
)
|
@@ -57,19 +62,21 @@ class EvaluationTest(unittest.TestCase):
|
|
57
62
|
)
|
58
63
|
|
59
64
|
def test_input(self):
|
60
|
-
exp =
|
65
|
+
exp = eval_test_helper.TestEvaluation()
|
61
66
|
self.assertEqual(exp.num_examples, 10)
|
62
|
-
exp =
|
67
|
+
exp = eval_test_helper.TestEvaluation(
|
68
|
+
inputs=eval_test_helper.test_inputs(None)
|
69
|
+
)
|
63
70
|
self.assertEqual(exp.num_examples, 20)
|
64
71
|
@pg.functor
|
65
72
|
def my_inputs():
|
66
73
|
yield pg.Dict(x=1, y=2)
|
67
74
|
yield pg.Dict(x=3, y=4)
|
68
|
-
exp =
|
75
|
+
exp = eval_test_helper.TestEvaluation(inputs=my_inputs())
|
69
76
|
self.assertEqual(exp.num_examples, 2)
|
70
77
|
|
71
78
|
def test_evaluate(self):
|
72
|
-
exp =
|
79
|
+
exp = eval_test_helper.TestEvaluation()
|
73
80
|
example = exp.evaluate(Example(id=3))
|
74
81
|
self.assertIs(exp.state.get(3), example)
|
75
82
|
self.assertTrue(example.newly_processed)
|
@@ -85,7 +92,7 @@ class EvaluationTest(unittest.TestCase):
|
|
85
92
|
self.assertIsNotNone(example.start_time)
|
86
93
|
self.assertIsNotNone(example.end_time)
|
87
94
|
|
88
|
-
exp =
|
95
|
+
exp = eval_test_helper.TestEvaluation(lm=eval_test_helper.TestLLM(offset=1))
|
89
96
|
example = exp.evaluate(3)
|
90
97
|
self.assertTrue(example.newly_processed)
|
91
98
|
self.assertEqual(example.input, pg.Dict(x=2, y=4, groundtruth=6))
|
@@ -109,7 +116,7 @@ class EvaluationTest(unittest.TestCase):
|
|
109
116
|
pg.io.mkdirs(eval_dir, exist_ok=True)
|
110
117
|
state_file = os.path.join(eval_dir, 'state.jsonl')
|
111
118
|
with pg.io.open_sequence(state_file, 'w') as f:
|
112
|
-
exp =
|
119
|
+
exp = eval_test_helper.TestEvaluation()
|
113
120
|
example = exp.evaluate(3)
|
114
121
|
self.assertTrue(example.newly_processed)
|
115
122
|
self.assertEqual(example.input, pg.Dict(x=2, y=4, groundtruth=6))
|
@@ -132,7 +139,7 @@ class EvaluationTest(unittest.TestCase):
|
|
132
139
|
self.assertEqual(example.usage_summary.uncached.total.num_requests, 0)
|
133
140
|
|
134
141
|
def test_html_view(self):
|
135
|
-
exp =
|
142
|
+
exp = eval_test_helper.TestEvaluation()
|
136
143
|
exp.debug('debug message')
|
137
144
|
exp.info('info message')
|
138
145
|
exp.warning('warning message', x=1)
|
@@ -18,9 +18,9 @@ import tempfile
|
|
18
18
|
import unittest
|
19
19
|
|
20
20
|
from langfun.core import console as lf_console
|
21
|
+
from langfun.core.eval.v2 import eval_test_helper
|
21
22
|
from langfun.core.eval.v2 import progress_tracking # pylint: disable=unused-import
|
22
23
|
from langfun.core.eval.v2 import runners as runners_lib # pylint: disable=unused-import
|
23
|
-
from langfun.core.eval.v2 import test_helper
|
24
24
|
import pyglove as pg
|
25
25
|
|
26
26
|
|
@@ -35,7 +35,7 @@ class HtmlProgressTrackerTest(unittest.TestCase):
|
|
35
35
|
display=display
|
36
36
|
)
|
37
37
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_html_progress_tracker')
|
38
|
-
experiment =
|
38
|
+
experiment = eval_test_helper.test_experiment()
|
39
39
|
_ = experiment.run(root_dir, 'new', plugins=[])
|
40
40
|
self.assertIsInstance(result['view'], pg.Html)
|
41
41
|
lf_console._notebook = None
|
@@ -45,7 +45,7 @@ class TqdmProgressTrackerTest(unittest.TestCase):
|
|
45
45
|
|
46
46
|
def test_basic(self):
|
47
47
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_tqdm_progress_tracker')
|
48
|
-
experiment =
|
48
|
+
experiment = eval_test_helper.test_experiment()
|
49
49
|
string_io = io.StringIO()
|
50
50
|
with contextlib.redirect_stderr(string_io):
|
51
51
|
_ = experiment.run(root_dir, 'new', plugins=[])
|
@@ -55,7 +55,7 @@ class TqdmProgressTrackerTest(unittest.TestCase):
|
|
55
55
|
root_dir = os.path.join(
|
56
56
|
tempfile.gettempdir(), 'test_tqdm_progress_tracker_with_example_ids'
|
57
57
|
)
|
58
|
-
experiment =
|
58
|
+
experiment = eval_test_helper.test_experiment()
|
59
59
|
string_io = io.StringIO()
|
60
60
|
with contextlib.redirect_stderr(string_io):
|
61
61
|
_ = experiment.run(root_dir, 'new', example_ids=[1], plugins=[])
|
@@ -15,9 +15,9 @@ import os
|
|
15
15
|
import tempfile
|
16
16
|
import unittest
|
17
17
|
|
18
|
+
from langfun.core.eval.v2 import eval_test_helper
|
18
19
|
from langfun.core.eval.v2 import reporting
|
19
20
|
from langfun.core.eval.v2 import runners as runners_lib # pylint: disable=unused-import
|
20
|
-
from langfun.core.eval.v2 import test_helper
|
21
21
|
import pyglove as pg
|
22
22
|
|
23
23
|
|
@@ -25,7 +25,7 @@ class ReportingTest(unittest.TestCase):
|
|
25
25
|
|
26
26
|
def test_reporting(self):
|
27
27
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_reporting')
|
28
|
-
experiment =
|
28
|
+
experiment = eval_test_helper.test_experiment()
|
29
29
|
reporter = reporting.HtmlReporter()
|
30
30
|
run = experiment.run(root_dir, 'new', plugins=[reporter])
|
31
31
|
pg.io.path_exists(run.output_path_for(experiment, 'summary.html'))
|
langfun/core/eval/v2/runners.py
CHANGED
@@ -65,6 +65,7 @@ class RunnerBase(Runner):
|
|
65
65
|
with pg.notify_on_change(False):
|
66
66
|
self.plugins.append(progress_tracking.progress_tracker(self.tqdm))
|
67
67
|
|
68
|
+
self._io_pool_lock = threading.Lock()
|
68
69
|
self._io_pool = concurrent.futures.ThreadPoolExecutor(max_workers=16)
|
69
70
|
# TODO(daiyip): render background errors.
|
70
71
|
self._background_last_error = None
|
@@ -76,7 +77,10 @@ class RunnerBase(Runner):
|
|
76
77
|
func(*args, **kwargs)
|
77
78
|
except Exception as e: # pylint: disable=broad-except
|
78
79
|
self._background_last_error = e
|
79
|
-
|
80
|
+
|
81
|
+
with self._io_pool_lock:
|
82
|
+
if self._io_pool is not None:
|
83
|
+
self._io_pool.submit(_background_run, *args, **kwargs)
|
80
84
|
|
81
85
|
def _all_plugins(self, experiment: Experiment) -> Iterator[Plugin]:
|
82
86
|
"""Returns all plugins for the experiment."""
|
@@ -296,7 +300,9 @@ class RunnerBase(Runner):
|
|
296
300
|
self.background_run(cache.save)
|
297
301
|
|
298
302
|
# Wait for the background tasks to finish.
|
299
|
-
self.
|
303
|
+
with self._io_pool_lock:
|
304
|
+
self._io_pool, io_pool = None, self._io_pool
|
305
|
+
io_pool.shutdown(wait=True)
|
300
306
|
|
301
307
|
@abc.abstractmethod
|
302
308
|
def _run(self, evaluations: list[Evaluation]) -> None:
|
@@ -18,10 +18,11 @@ import time
|
|
18
18
|
from typing import Any
|
19
19
|
import unittest
|
20
20
|
|
21
|
+
from langfun.core.eval.v2 import eval_test_helper
|
21
22
|
from langfun.core.eval.v2 import example as example_lib
|
22
23
|
from langfun.core.eval.v2 import experiment as experiment_lib
|
23
24
|
from langfun.core.eval.v2 import runners as runners_lib # pylint: disable=unused-import
|
24
|
-
|
25
|
+
|
25
26
|
import pyglove as pg
|
26
27
|
|
27
28
|
|
@@ -101,7 +102,7 @@ class RunnerTest(unittest.TestCase):
|
|
101
102
|
|
102
103
|
def test_basic(self):
|
103
104
|
plugin = TestPlugin()
|
104
|
-
exp =
|
105
|
+
exp = eval_test_helper.test_experiment()
|
105
106
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_sequential_runner')
|
106
107
|
run = exp.run(root_dir, runner='sequential', plugins=[plugin])
|
107
108
|
|
@@ -143,7 +144,7 @@ class RunnerTest(unittest.TestCase):
|
|
143
144
|
|
144
145
|
def test_raise_if_has_error(self):
|
145
146
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_raise_if_has_error')
|
146
|
-
exp =
|
147
|
+
exp = eval_test_helper.TestEvaluation()
|
147
148
|
with self.assertRaisesRegex(ValueError, 'x should not be 5'):
|
148
149
|
exp.run(
|
149
150
|
root_dir, runner='sequential', plugins=[], raise_if_has_error=True
|
@@ -154,7 +155,7 @@ class RunnerTest(unittest.TestCase):
|
|
154
155
|
|
155
156
|
def test_example_ids(self):
|
156
157
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_example_ids')
|
157
|
-
exp =
|
158
|
+
exp = eval_test_helper.test_experiment()
|
158
159
|
plugin = TestPlugin()
|
159
160
|
_ = exp.run(
|
160
161
|
root_dir, runner='sequential', plugins=[plugin], example_ids=[5, 7, 9]
|
@@ -164,7 +165,7 @@ class RunnerTest(unittest.TestCase):
|
|
164
165
|
|
165
166
|
def test_filter(self):
|
166
167
|
plugin = TestPlugin()
|
167
|
-
exp =
|
168
|
+
exp = eval_test_helper.test_experiment()
|
168
169
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_filter')
|
169
170
|
|
170
171
|
_ = exp.run(
|
@@ -193,7 +194,7 @@ class RunnerTest(unittest.TestCase):
|
|
193
194
|
) for i in range(num_examples)
|
194
195
|
]
|
195
196
|
|
196
|
-
exp =
|
197
|
+
exp = eval_test_helper.TestEvaluation(
|
197
198
|
inputs=test_inputs(num_examples=pg.oneof([2, 4]))
|
198
199
|
)
|
199
200
|
# Global cache.
|
@@ -234,7 +235,7 @@ class ParallelRunnerTest(RunnerTest):
|
|
234
235
|
|
235
236
|
def test_parallel_runner(self):
|
236
237
|
plugin = TestPlugin()
|
237
|
-
exp =
|
238
|
+
exp = eval_test_helper.test_experiment()
|
238
239
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_parallel_runner')
|
239
240
|
run = exp.run(root_dir, runner='parallel', plugins=[plugin])
|
240
241
|
|
@@ -274,7 +275,7 @@ class ParallelRunnerTest(RunnerTest):
|
|
274
275
|
|
275
276
|
def test_concurrent_startup_delay(self):
|
276
277
|
plugin = TestPlugin()
|
277
|
-
exp =
|
278
|
+
exp = eval_test_helper.test_experiment()
|
278
279
|
root_dir = os.path.join(
|
279
280
|
tempfile.gettempdir(), 'test_concurrent_startup_delay'
|
280
281
|
)
|
@@ -290,7 +291,7 @@ class DebugRunnerTest(RunnerTest):
|
|
290
291
|
|
291
292
|
def test_debug_runner(self):
|
292
293
|
plugin = TestPlugin()
|
293
|
-
exp =
|
294
|
+
exp = eval_test_helper.test_experiment()
|
294
295
|
root_dir = os.path.join(tempfile.gettempdir(), 'test_debug_runner')
|
295
296
|
run = exp.run(root_dir, runner='debug', plugins=[plugin])
|
296
297
|
|
@@ -58,10 +58,11 @@ langfun/core/eval/patching_test.py,sha256=8kCd54Egjju22FMgtJuxEsrXkW8ifs-UUBHtrC
|
|
58
58
|
langfun/core/eval/scoring.py,sha256=B69IsIxiPs1xZcOBFIhZF70YmDue2Siik-CPL2bh33s,6254
|
59
59
|
langfun/core/eval/scoring_test.py,sha256=O8olHbrUEg60gMxwOkWzKBJZpZoUlmVnBANX5Se2SXM,4546
|
60
60
|
langfun/core/eval/v2/__init__.py,sha256=qoa6zKdFXOFyCX6vay6OdgPf1eUhYGoHYAxe35qECGk,1628
|
61
|
-
langfun/core/eval/v2/checkpointing.py,sha256=
|
62
|
-
langfun/core/eval/v2/checkpointing_test.py,sha256=
|
61
|
+
langfun/core/eval/v2/checkpointing.py,sha256=zr2hxOjm6Hdq71sYTsbQtL_CwQOWr-Ir9T5TPUnhqMI,8741
|
62
|
+
langfun/core/eval/v2/checkpointing_test.py,sha256=Imy96lwDkvmtj-1YFpP2DZukMOoYqpPov2J_MsQKxxI,4398
|
63
|
+
langfun/core/eval/v2/eval_test_helper.py,sha256=pDpZTBnWRR5xjJv3Uy3NWEzArqlL8FTMOgeR4C53F5M,2348
|
63
64
|
langfun/core/eval/v2/evaluation.py,sha256=NFBGAWw2BtW7H0zcoZhfWtz59Psra84eshJm73uAFwg,21807
|
64
|
-
langfun/core/eval/v2/evaluation_test.py,sha256=
|
65
|
+
langfun/core/eval/v2/evaluation_test.py,sha256=GmV1TiqX1V15st2qpcGWooM5hudomQVjW5kajovGDvE,6231
|
65
66
|
langfun/core/eval/v2/example.py,sha256=fURrvdNmMsVMqoEErcsmLmC6Xq3ny16dYsnLH8HVlcY,9626
|
66
67
|
langfun/core/eval/v2/example_test.py,sha256=WcJmU7IQQXvjFia63mokySC4CqxzVL9Wso1sC5F0YK8,3032
|
67
68
|
langfun/core/eval/v2/experiment.py,sha256=xfk4aNZ3dH46y0lWSS_fC7JpfJCG77Z5qsakV4gHcOs,29762
|
@@ -73,12 +74,11 @@ langfun/core/eval/v2/metrics_test.py,sha256=p4FzLJsE8XAzAQuyP9hfEf9YeKWZ__PO_ue8
|
|
73
74
|
langfun/core/eval/v2/progress.py,sha256=azZgssQgNdv3IgjKEaQBuGI5ucFDNbdi02P4z_nQ8GE,10292
|
74
75
|
langfun/core/eval/v2/progress_test.py,sha256=YU7VHzmy5knPZwj9vpBN3rQQH2tukj9eKHkuBCI62h8,2540
|
75
76
|
langfun/core/eval/v2/progress_tracking.py,sha256=l9fEkz4oP5McpZzf72Ua7PYm3lAWtRru7gRWNf8H0ms,6083
|
76
|
-
langfun/core/eval/v2/progress_tracking_test.py,sha256=
|
77
|
+
langfun/core/eval/v2/progress_tracking_test.py,sha256=fouMVJkFJqHjbhQJngGLGCmA9x3n0dU4USI2dY163mg,2291
|
77
78
|
langfun/core/eval/v2/reporting.py,sha256=vsh45GLVnA7GMU-8cvNYOt4Nb7mEwvcguhO-BSXSzTE,5358
|
78
|
-
langfun/core/eval/v2/reporting_test.py,sha256=
|
79
|
-
langfun/core/eval/v2/runners.py,sha256=
|
80
|
-
langfun/core/eval/v2/runners_test.py,sha256=
|
81
|
-
langfun/core/eval/v2/test_helper.py,sha256=pDpZTBnWRR5xjJv3Uy3NWEzArqlL8FTMOgeR4C53F5M,2348
|
79
|
+
langfun/core/eval/v2/reporting_test.py,sha256=4nobW6pcaatiZh8u4xciexciaiZNDlDoJci157Wp_RI,1492
|
80
|
+
langfun/core/eval/v2/runners.py,sha256=t6_yHAJ4HWufK4wvh_OntKcok2KquA5ARIHIk1vvEwc,15870
|
81
|
+
langfun/core/eval/v2/runners_test.py,sha256=A37fKK2MvAVTiShsg_laluJzJ9AuAQn52k7HPbfD0Ks,11666
|
82
82
|
langfun/core/llms/__init__.py,sha256=lWXKjGHv66ShG7AE_Bc4QM7SDTxJdfoQMn3PF0lr0sU,6461
|
83
83
|
langfun/core/llms/anthropic.py,sha256=afKZmdiLcosS_UEBlB8WKyf1K-zeXgwtPAx6ofg2Gww,13989
|
84
84
|
langfun/core/llms/anthropic_test.py,sha256=-2U4kc_pgBM7wqxu8RuxzyHPGww1EAWqKUvN4PW8Btw,8058
|
@@ -148,8 +148,8 @@ langfun/core/templates/demonstration.py,sha256=vCrgYubdZM5Umqcgp8NUVGXgr4P_c-fik
|
|
148
148
|
langfun/core/templates/demonstration_test.py,sha256=SafcDQ0WgI7pw05EmPI2S4v1t3ABKzup8jReCljHeK4,2162
|
149
149
|
langfun/core/templates/selfplay.py,sha256=yhgrJbiYwq47TgzThmHrDQTF4nDrTI09CWGhuQPNv-s,2273
|
150
150
|
langfun/core/templates/selfplay_test.py,sha256=Ot__1P1M8oJfoTp-M9-PQ6HUXqZKyMwvZ5f7yQ3yfyM,2326
|
151
|
-
langfun-0.1.2.
|
152
|
-
langfun-0.1.2.
|
153
|
-
langfun-0.1.2.
|
154
|
-
langfun-0.1.2.
|
155
|
-
langfun-0.1.2.
|
151
|
+
langfun-0.1.2.dev202412210804.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
152
|
+
langfun-0.1.2.dev202412210804.dist-info/METADATA,sha256=u3a7ssXSuTdAJuhvtQtGyroed6k5r9HeobDPozhHjJ0,8281
|
153
|
+
langfun-0.1.2.dev202412210804.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
154
|
+
langfun-0.1.2.dev202412210804.dist-info/top_level.txt,sha256=RhlEkHxs1qtzmmtWSwYoLVJAc1YrbPtxQ52uh8Z9VvY,8
|
155
|
+
langfun-0.1.2.dev202412210804.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202412200804.dist-info → langfun-0.1.2.dev202412210804.dist-info}/top_level.txt
RENAMED
File without changes
|