langfun 0.1.2.dev202507250804__py3-none-any.whl → 0.1.2.dev202507270804__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.
Potentially problematic release.
This version of langfun might be problematic. Click here for more details.
- langfun/assistant/capabilities/gui/__init__.py +36 -0
- langfun/assistant/capabilities/gui/bounding_box_parser.py +195 -0
- langfun/assistant/capabilities/gui/bounding_box_parser_test.py +313 -0
- langfun/assistant/capabilities/gui/drawing.py +242 -0
- langfun/assistant/capabilities/gui/drawing_test.py +103 -0
- langfun/assistant/capabilities/gui/location.py +288 -0
- langfun/assistant/capabilities/gui/location_test.py +230 -0
- langfun/core/__init__.py +3 -0
- langfun/core/agentic/action.py +18 -0
- langfun/core/agentic/action_test.py +8 -1
- langfun/core/async_support.py +28 -0
- langfun/core/async_support_test.py +39 -0
- langfun/core/concurrent_test.py +6 -5
- langfun/core/language_model.py +54 -0
- langfun/core/language_model_test.py +40 -0
- langfun/core/structured/__init__.py +7 -0
- langfun/core/structured/completion.py +28 -0
- langfun/core/structured/completion_test.py +36 -0
- langfun/core/structured/parsing.py +77 -0
- langfun/core/structured/parsing_test.py +15 -0
- langfun/core/structured/querying.py +42 -0
- langfun/core/structured/querying_test.py +10 -0
- langfun/core/structured/scoring.py +28 -0
- langfun/core/structured/scoring_test.py +8 -0
- langfun/core/structured/tokenization.py +24 -0
- langfun/core/structured/tokenization_test.py +8 -0
- {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/METADATA +1 -1
- {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/RECORD +31 -22
- {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/WHEEL +0 -0
- {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/licenses/LICENSE +0 -0
- {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/top_level.txt +0 -0
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Symbolic parsing."""
|
|
15
|
+
|
|
15
16
|
from typing import Any, Callable, Type, Union
|
|
16
17
|
|
|
17
18
|
import langfun.core as lf
|
|
@@ -183,6 +184,44 @@ def parse(
|
|
|
183
184
|
return output if returns_message else output.result
|
|
184
185
|
|
|
185
186
|
|
|
187
|
+
async def aparse(
|
|
188
|
+
message: Union[lf.Message, str],
|
|
189
|
+
schema: Union[
|
|
190
|
+
schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any]
|
|
191
|
+
],
|
|
192
|
+
default: Any = lf.RAISE_IF_HAS_ERROR,
|
|
193
|
+
*,
|
|
194
|
+
user_prompt: str | None = None,
|
|
195
|
+
lm: lf.LanguageModel | None = None,
|
|
196
|
+
examples: list[mapping.MappingExample] | None = None,
|
|
197
|
+
include_context: bool = False,
|
|
198
|
+
cache_seed: int | None = 0,
|
|
199
|
+
autofix: int = 0,
|
|
200
|
+
autofix_lm: lf.LanguageModel | None = None,
|
|
201
|
+
protocol: schema_lib.SchemaProtocol = 'python',
|
|
202
|
+
returns_message: bool = False,
|
|
203
|
+
**kwargs,
|
|
204
|
+
) -> Any:
|
|
205
|
+
"""Async version of `lf.parse`."""
|
|
206
|
+
# TODO(daiyip): implement native async parsing.
|
|
207
|
+
return await lf.invoke_async(
|
|
208
|
+
parse,
|
|
209
|
+
message,
|
|
210
|
+
schema,
|
|
211
|
+
default,
|
|
212
|
+
user_prompt=user_prompt,
|
|
213
|
+
lm=lm,
|
|
214
|
+
examples=examples,
|
|
215
|
+
include_context=include_context,
|
|
216
|
+
cache_seed=cache_seed,
|
|
217
|
+
autofix=autofix,
|
|
218
|
+
autofix_lm=autofix_lm,
|
|
219
|
+
protocol=protocol,
|
|
220
|
+
returns_message=returns_message,
|
|
221
|
+
**kwargs
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
|
|
186
225
|
def call(
|
|
187
226
|
prompt: str | lf.Template,
|
|
188
227
|
schema: Union[
|
|
@@ -298,6 +337,44 @@ def call(
|
|
|
298
337
|
return parsing_message if returns_message else parsing_message.result
|
|
299
338
|
|
|
300
339
|
|
|
340
|
+
async def acall(
|
|
341
|
+
prompt: str | lf.Template,
|
|
342
|
+
schema: Union[
|
|
343
|
+
None, schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any]
|
|
344
|
+
] = None,
|
|
345
|
+
*,
|
|
346
|
+
lm: lf.LanguageModel | None = None,
|
|
347
|
+
parsing_lm: lf.LanguageModel | None = None,
|
|
348
|
+
parsing_examples: list[mapping.MappingExample] | None = None,
|
|
349
|
+
parsing_include_context: bool = False,
|
|
350
|
+
cache_seed: int | None = 0,
|
|
351
|
+
autofix: int = 0,
|
|
352
|
+
autofix_lm: lf.LanguageModel | None = None,
|
|
353
|
+
response_postprocess: Callable[[str], str] | None = None,
|
|
354
|
+
protocol: schema_lib.SchemaProtocol = 'python',
|
|
355
|
+
returns_message: bool = False,
|
|
356
|
+
**kwargs,
|
|
357
|
+
) -> Any:
|
|
358
|
+
"""Async version of `lf.call`."""
|
|
359
|
+
# TODO(daiyip): implement native async calling.
|
|
360
|
+
return await lf.invoke_async(
|
|
361
|
+
call,
|
|
362
|
+
prompt,
|
|
363
|
+
schema,
|
|
364
|
+
lm=lm,
|
|
365
|
+
parsing_lm=parsing_lm,
|
|
366
|
+
parsing_examples=parsing_examples,
|
|
367
|
+
parsing_include_context=parsing_include_context,
|
|
368
|
+
cache_seed=cache_seed,
|
|
369
|
+
autofix=autofix,
|
|
370
|
+
autofix_lm=autofix_lm,
|
|
371
|
+
response_postprocess=response_postprocess,
|
|
372
|
+
protocol=protocol,
|
|
373
|
+
returns_message=returns_message,
|
|
374
|
+
**kwargs
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
|
|
301
378
|
def _parse_structure_cls(
|
|
302
379
|
protocol: schema_lib.SchemaProtocol,
|
|
303
380
|
) -> Type[_ParseStructure]:
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Tests for structured parsing."""
|
|
15
15
|
|
|
16
|
+
import asyncio
|
|
16
17
|
import inspect
|
|
17
18
|
import unittest
|
|
18
19
|
|
|
@@ -291,6 +292,10 @@ class ParseStructurePythonTest(unittest.TestCase):
|
|
|
291
292
|
),
|
|
292
293
|
)
|
|
293
294
|
|
|
295
|
+
def test_aparse(self):
|
|
296
|
+
with lf.context(lm=fake.StaticResponse('1')):
|
|
297
|
+
self.assertEqual(asyncio.run(parsing.aparse('the answer is 1', int)), 1)
|
|
298
|
+
|
|
294
299
|
|
|
295
300
|
class ParseStructureJsonTest(unittest.TestCase):
|
|
296
301
|
|
|
@@ -583,6 +588,16 @@ class CallTest(unittest.TestCase):
|
|
|
583
588
|
):
|
|
584
589
|
self.assertEqual(parsing.call('Compute 1 + 2'), 'three')
|
|
585
590
|
|
|
591
|
+
def test_acall(self):
|
|
592
|
+
with lf.context(
|
|
593
|
+
lm=fake.StaticMapping({
|
|
594
|
+
'Compute 1 + 2': 'three',
|
|
595
|
+
})
|
|
596
|
+
):
|
|
597
|
+
self.assertEqual(
|
|
598
|
+
asyncio.run(parsing.acall('Compute 1 + 2')), 'three'
|
|
599
|
+
)
|
|
600
|
+
|
|
586
601
|
def test_call_with_template_str(self):
|
|
587
602
|
with lf.context(
|
|
588
603
|
lm=fake.StaticMapping({
|
|
@@ -666,6 +666,48 @@ def query(
|
|
|
666
666
|
return output_message.text if schema in (None, str) else output_message.result
|
|
667
667
|
|
|
668
668
|
|
|
669
|
+
async def aquery(
|
|
670
|
+
prompt: Union[str, lf.Template, Any],
|
|
671
|
+
schema: schema_lib.SchemaType | None = None,
|
|
672
|
+
default: Any = lf.RAISE_IF_HAS_ERROR,
|
|
673
|
+
*,
|
|
674
|
+
lm: lf.LanguageModel | list[lf.LanguageModel] | None = None,
|
|
675
|
+
num_samples: int | list[int] = 1,
|
|
676
|
+
system_message: str | lf.Template | None = None,
|
|
677
|
+
examples: list[mapping.MappingExample] | None = None,
|
|
678
|
+
cache_seed: int | None = 0,
|
|
679
|
+
response_postprocess: Callable[[str], str] | None = None,
|
|
680
|
+
autofix: int = 0,
|
|
681
|
+
autofix_lm: lf.LanguageModel | None = None,
|
|
682
|
+
protocol: str | None = None,
|
|
683
|
+
returns_message: bool = False,
|
|
684
|
+
skip_lm: bool = False,
|
|
685
|
+
invocation_id: str | None = None,
|
|
686
|
+
**kwargs,
|
|
687
|
+
) -> Any:
|
|
688
|
+
"""Async version of `lf.query`."""
|
|
689
|
+
# TODO(daiyip): implement native async querying.
|
|
690
|
+
return await lf.invoke_async(
|
|
691
|
+
query,
|
|
692
|
+
prompt,
|
|
693
|
+
schema,
|
|
694
|
+
default,
|
|
695
|
+
lm=lm,
|
|
696
|
+
num_samples=num_samples,
|
|
697
|
+
system_message=system_message,
|
|
698
|
+
examples=examples,
|
|
699
|
+
cache_seed=cache_seed,
|
|
700
|
+
response_postprocess=response_postprocess,
|
|
701
|
+
autofix=autofix,
|
|
702
|
+
autofix_lm=autofix_lm,
|
|
703
|
+
protocol=protocol,
|
|
704
|
+
returns_message=returns_message,
|
|
705
|
+
skip_lm=skip_lm,
|
|
706
|
+
invocation_id=invocation_id,
|
|
707
|
+
**kwargs
|
|
708
|
+
)
|
|
709
|
+
|
|
710
|
+
|
|
669
711
|
@contextlib.contextmanager
|
|
670
712
|
def query_protocol(protocol: str) -> Iterator[None]:
|
|
671
713
|
"""Context manager for setting the query protocol for the scope."""
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Tests for structured query."""
|
|
15
15
|
|
|
16
|
+
import asyncio
|
|
16
17
|
import inspect
|
|
17
18
|
import math
|
|
18
19
|
import time
|
|
@@ -1336,6 +1337,15 @@ class LfQueryJsonV1Test(unittest.TestCase):
|
|
|
1336
1337
|
querying.query('what is 1 + 0', int, lm=lm), 1
|
|
1337
1338
|
)
|
|
1338
1339
|
|
|
1340
|
+
def test_aquery(self):
|
|
1341
|
+
with lf.context(lm=fake.StaticResponse('{"result": 1}')):
|
|
1342
|
+
self.assertEqual(
|
|
1343
|
+
asyncio.run(
|
|
1344
|
+
querying.aquery('what is 1 + 0', int, protocol='json')
|
|
1345
|
+
),
|
|
1346
|
+
1
|
|
1347
|
+
)
|
|
1348
|
+
|
|
1339
1349
|
|
|
1340
1350
|
class QueryInvocationTest(unittest.TestCase):
|
|
1341
1351
|
|
|
@@ -179,3 +179,31 @@ def _get_first_oneof(value: Any) -> pg.hyper.OneOf:
|
|
|
179
179
|
pg.traverse(value, select_oneofs)
|
|
180
180
|
assert oneofs
|
|
181
181
|
return oneofs[0]
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
async def ascore(
|
|
185
|
+
prompt: Union[str, pg.Symbolic] | list[str | pg.Symbolic],
|
|
186
|
+
completions: list[str | pg.Symbolic],
|
|
187
|
+
schema: Union[
|
|
188
|
+
schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any], None
|
|
189
|
+
] = None,
|
|
190
|
+
*,
|
|
191
|
+
lm: lf.LanguageModel | None = None,
|
|
192
|
+
examples: list[mapping.MappingExample] | None = None,
|
|
193
|
+
protocol: schema_lib.SchemaProtocol = 'python',
|
|
194
|
+
return_scoring_results: bool = False,
|
|
195
|
+
**kwargs,
|
|
196
|
+
) -> list[float] | list[lf.LMScoringResult]:
|
|
197
|
+
"""Async version of `lf.score`."""
|
|
198
|
+
# TODO(daiyip): implement native async scoring.
|
|
199
|
+
return await lf.invoke_async(
|
|
200
|
+
score,
|
|
201
|
+
prompt,
|
|
202
|
+
completions,
|
|
203
|
+
schema=schema,
|
|
204
|
+
lm=lm,
|
|
205
|
+
examples=examples,
|
|
206
|
+
protocol=protocol,
|
|
207
|
+
return_scoring_results=return_scoring_results,
|
|
208
|
+
**kwargs,
|
|
209
|
+
)
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import asyncio
|
|
15
16
|
import unittest
|
|
16
17
|
import langfun.core as lf
|
|
17
18
|
from langfun.core.llms import fake
|
|
@@ -50,6 +51,13 @@ class ScoringTest(unittest.TestCase):
|
|
|
50
51
|
def test_score(self):
|
|
51
52
|
self.assertEqual(scoring.score('hi', [1, 2], lm=fake.Echo()), [0.0, -1.0])
|
|
52
53
|
|
|
54
|
+
def test_ascore(self):
|
|
55
|
+
with lf.context(lm=fake.Echo()):
|
|
56
|
+
self.assertEqual(
|
|
57
|
+
asyncio.run(scoring.ascore('hi', [1, 2], lm=fake.Echo())),
|
|
58
|
+
[0.0, -1.0]
|
|
59
|
+
)
|
|
60
|
+
|
|
53
61
|
def test_score_on_field_values(self):
|
|
54
62
|
self.assertEqual(
|
|
55
63
|
scoring.score(
|
|
@@ -62,3 +62,27 @@ def tokenize(
|
|
|
62
62
|
lm = lm_override.value
|
|
63
63
|
|
|
64
64
|
return lm.tokenize(input_message)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
async def atokenize(
|
|
68
|
+
prompt: Union[str, pg.Symbolic] | list[str | pg.Symbolic],
|
|
69
|
+
schema: Union[
|
|
70
|
+
schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any], None
|
|
71
|
+
] = None,
|
|
72
|
+
*,
|
|
73
|
+
lm: lf.LanguageModel | None = None,
|
|
74
|
+
examples: list[mapping.MappingExample] | None = None,
|
|
75
|
+
protocol: schema_lib.SchemaProtocol = 'python',
|
|
76
|
+
**kwargs,
|
|
77
|
+
) -> list[tuple[str | bytes, int]]:
|
|
78
|
+
"""Async version of `lf.tokenize`."""
|
|
79
|
+
# TODO(daiyip): implement native async tokenization.
|
|
80
|
+
return await lf.invoke_async(
|
|
81
|
+
tokenize,
|
|
82
|
+
prompt,
|
|
83
|
+
schema,
|
|
84
|
+
lm=lm,
|
|
85
|
+
examples=examples,
|
|
86
|
+
protocol=protocol,
|
|
87
|
+
**kwargs,
|
|
88
|
+
)
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import asyncio
|
|
15
16
|
import unittest
|
|
16
17
|
import langfun.core as lf
|
|
17
18
|
from langfun.core.llms import fake
|
|
@@ -36,6 +37,13 @@ class TokenizationTest(unittest.TestCase):
|
|
|
36
37
|
[('hi', 0)]
|
|
37
38
|
)
|
|
38
39
|
|
|
40
|
+
def test_atokenize(self):
|
|
41
|
+
with lf.context(lm=fake.Echo()):
|
|
42
|
+
self.assertEqual(
|
|
43
|
+
asyncio.run(tokenization.atokenize('hi')),
|
|
44
|
+
[('hi', 0)]
|
|
45
|
+
)
|
|
46
|
+
|
|
39
47
|
def test_tokenize_with_lm_from_the_context(self):
|
|
40
48
|
with lf.context(lm=fake.Echo()):
|
|
41
49
|
self.assertEqual(
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
langfun/__init__.py,sha256=krEJ1lyDkNARsacY6nBQpD3bQrFi4fifD-FwpwPbFPM,2635
|
|
2
|
-
langfun/
|
|
2
|
+
langfun/assistant/capabilities/gui/__init__.py,sha256=7-fWINsczHkEAT1hS4vVHnTW3JC_4PZW0E4HfjClOD8,1290
|
|
3
|
+
langfun/assistant/capabilities/gui/bounding_box_parser.py,sha256=wJSEJvt2WFH0o9C3z9uW_vK0qRAJWbkgX5gBAJU7w6k,5832
|
|
4
|
+
langfun/assistant/capabilities/gui/bounding_box_parser_test.py,sha256=9yBvt7fXT_BFVcOXUSm4K0mLdKRYwk2Y9zaCpYYgBnQ,10934
|
|
5
|
+
langfun/assistant/capabilities/gui/drawing.py,sha256=8wgol61P7HovLg5EaevRmDPXTFuIpsfTqhOuksK-1aI,10422
|
|
6
|
+
langfun/assistant/capabilities/gui/drawing_test.py,sha256=d6LQ1ctG78YRi58UVBdndwyEqTC_ITdk191oA3tASxM,3421
|
|
7
|
+
langfun/assistant/capabilities/gui/location.py,sha256=QYJlY5kUNEwiZFiPYRyFAO7bD2ez4jL5hYn1_AK1ulc,8643
|
|
8
|
+
langfun/assistant/capabilities/gui/location_test.py,sha256=pQUOH1sKuAwjTTYKu615RUnecc_lNrddfvkyxf9297w,9051
|
|
9
|
+
langfun/core/__init__.py,sha256=lZQNVBzQa5d6kQFHRwRg9zZqPaEC_-PwAV-73k4fzR4,4854
|
|
10
|
+
langfun/core/async_support.py,sha256=Mzqze88WqWBRRcBVJEQ4H1jRgLwUP43acI0NZ7unZ7M,1022
|
|
11
|
+
langfun/core/async_support_test.py,sha256=lZ4rZ-kWlc94lezTajOVo2OQbxWiHfF6KhKOfMGzELQ,1094
|
|
3
12
|
langfun/core/component.py,sha256=g1kQM0bryYYYWVDrSMnHfc74wIBbpfe5_B3s-UIP5GE,3028
|
|
4
13
|
langfun/core/component_test.py,sha256=0CxTgjAud3aj8wBauFhG2FHDqrxCTl4OI4gzQTad-40,9254
|
|
5
14
|
langfun/core/concurrent.py,sha256=zY-pXqlGqss_GI20tM1gXvyW8QepVPUuFNmutcIdhbI,32760
|
|
6
|
-
langfun/core/concurrent_test.py,sha256=
|
|
15
|
+
langfun/core/concurrent_test.py,sha256=zrkDid2oHSXJYGPhrQzA_6Af6oHAn9UrnYGZmN00ies,17693
|
|
7
16
|
langfun/core/console.py,sha256=cLQEf84aDxItA9fStJV22xJch0TqFLNf9hLqwJ0RHmU,2652
|
|
8
17
|
langfun/core/console_test.py,sha256=pBOcuNMJdVELywvroptfcRtJMsegMm3wSlHAL2TdxVk,1679
|
|
9
18
|
langfun/core/langfunc.py,sha256=G50YgoVZ0y1GFw2ev41MlOqr6qa8YakbvNC0h_E0PiA,11140
|
|
10
19
|
langfun/core/langfunc_test.py,sha256=CDn-gJCa5EnjN7cotAVCfSCbuzddq2o-HzEt7kV8HbY,8882
|
|
11
|
-
langfun/core/language_model.py,sha256=
|
|
12
|
-
langfun/core/language_model_test.py,sha256=
|
|
20
|
+
langfun/core/language_model.py,sha256=T3Gyb0-S4uRunO9EotTN5-86Dc3Bw6tE4Db43qDMqOc,51042
|
|
21
|
+
langfun/core/language_model_test.py,sha256=aJWn3UJm_S6U7VhU7EVXdJHPe1xza5glngPkRGtx280,38426
|
|
13
22
|
langfun/core/logging.py,sha256=7IGAhp7mGokZxxqtL-XZvFLKaZ5k3F5_Xp2NUtR4GwE,9136
|
|
14
23
|
langfun/core/logging_test.py,sha256=vbVGOQxwMmVSiFfbt2897gUt-8nqDpV64jCAeUG_q5U,6924
|
|
15
24
|
langfun/core/memory.py,sha256=vyXVvfvSdLLJAzdIupnbn3k26OgclCx-OJ7gddS5e1Y,2070
|
|
@@ -26,10 +35,10 @@ langfun/core/subscription_test.py,sha256=Y4ZdbZEwm83YNZBxHff0QR4QUa4rdaNXA3_jfIc
|
|
|
26
35
|
langfun/core/template.py,sha256=jNhYSrbLIn9kZOa03w5QZbyjgfnzJzE_ZrrMvvWY4t4,24929
|
|
27
36
|
langfun/core/template_test.py,sha256=AQv_m9qE93WxhEhSlm1xaBgB4hu0UVtA53dljngkUW0,17090
|
|
28
37
|
langfun/core/agentic/__init__.py,sha256=qR3jlfUO4rhIoYdRDLz-d22YZf3FvU4FW88vsjiGDQQ,1224
|
|
29
|
-
langfun/core/agentic/action.py,sha256=
|
|
38
|
+
langfun/core/agentic/action.py,sha256=HvCaYb3x9tpa0xhDuFtEGyZ9du_edDpIdaQYPPo87ts,51097
|
|
30
39
|
langfun/core/agentic/action_eval.py,sha256=YTilyUEkJl_8FVMgdfO17PurWWaEJ6oA15CuefJJRLk,4887
|
|
31
40
|
langfun/core/agentic/action_eval_test.py,sha256=7AkOwNbUX-ZgR1R0a7bvUZ5abNTUV7blf_8Mnrwb-II,2811
|
|
32
|
-
langfun/core/agentic/action_test.py,sha256=
|
|
41
|
+
langfun/core/agentic/action_test.py,sha256=5ZUCbyuJDwNCUE_hl4qt5epzQQTRdZEYN5W8J2iKRQo,16084
|
|
33
42
|
langfun/core/coding/__init__.py,sha256=5utju_fwEsImaiftx4oXKl9FAM8p281k8-Esdh_-m1w,835
|
|
34
43
|
langfun/core/coding/python/__init__.py,sha256=yTXm92oLpQb4A-fZ2qy-bzfhPYND7B-oidtbv1PNaX0,1678
|
|
35
44
|
langfun/core/coding/python/correction.py,sha256=4PD76Xfv36Xrm8Ji3-GgGDNImtcDqWfMw3z6ircJMlM,7285
|
|
@@ -126,27 +135,27 @@ langfun/core/modalities/pdf.py,sha256=mfaeCbUA4JslFVTARiJh8hW7imvL4tLVw9gUhO5bAZ
|
|
|
126
135
|
langfun/core/modalities/pdf_test.py,sha256=ulZ0FbnlsU0wkrdckJ4ONZPTYRyMPO9Aob1UO6FXygk,1950
|
|
127
136
|
langfun/core/modalities/video.py,sha256=vI9apcHIHGyp90i34Srg7S3G6IBDtDCk8qiXhwRQmkw,967
|
|
128
137
|
langfun/core/modalities/video_test.py,sha256=7OXZoohKMYjt7vrJUdPb553HLyl1oBOKRgzBePFv68Q,2042
|
|
129
|
-
langfun/core/structured/__init__.py,sha256=
|
|
130
|
-
langfun/core/structured/completion.py,sha256=
|
|
131
|
-
langfun/core/structured/completion_test.py,sha256
|
|
138
|
+
langfun/core/structured/__init__.py,sha256=uc9f2DaXcbPRU35CgTpObub6hsnxDCHx-4s149qnzJ0,3655
|
|
139
|
+
langfun/core/structured/completion.py,sha256=B0PHqBucu-keexJUa5g0F9fu57DlLtWDhZzJ-OD4VrE,8823
|
|
140
|
+
langfun/core/structured/completion_test.py,sha256=-SGcMgtLuS6RQB8gFh18dUkSMQMDWKZGmBkPsAYHApQ,20348
|
|
132
141
|
langfun/core/structured/description.py,sha256=6BztYOiucPkF4CrTQtPLPJo1gN2dwnKmaJW83GBf4H0,5213
|
|
133
142
|
langfun/core/structured/description_test.py,sha256=UxaXnKKP7TnyPDPUyf3U-zPE0TvLlIP6DGr8thjcePw,7365
|
|
134
143
|
langfun/core/structured/function_generation.py,sha256=g7AOR_e8HxFU6n6Df750aGkgMgV1KExLZMAz0yd5Agg,8555
|
|
135
144
|
langfun/core/structured/function_generation_test.py,sha256=LaXYDXf9GlqUrR6v_gtmK_H4kxzonmU7SYbn7XXMgjU,12128
|
|
136
145
|
langfun/core/structured/mapping.py,sha256=1YBW8PKpJKXS7DKukfzKNioL84PrKUcB4KOUudrQ20w,14374
|
|
137
146
|
langfun/core/structured/mapping_test.py,sha256=OntYvfDitAf0tAnzQty3YS90vyEn6FY1Mi93r_ViEk8,9594
|
|
138
|
-
langfun/core/structured/parsing.py,sha256=
|
|
139
|
-
langfun/core/structured/parsing_test.py,sha256=
|
|
140
|
-
langfun/core/structured/querying.py,sha256=
|
|
141
|
-
langfun/core/structured/querying_test.py,sha256=
|
|
147
|
+
langfun/core/structured/parsing.py,sha256=bLi7o1AdyDWc6TwxmYg70t_oTgmLkJWBafakdF8n2RI,14195
|
|
148
|
+
langfun/core/structured/parsing_test.py,sha256=vRfCSzA9q7C1cElkAnDvbRepULEa_vclqDIv-heypDw,22745
|
|
149
|
+
langfun/core/structured/querying.py,sha256=LV7ZCiVx2ef1Qx_ONwexzSvCSBSq1V41E8RdxHDGP-g,39225
|
|
150
|
+
langfun/core/structured/querying_test.py,sha256=klj9OmLKzJbsTYSil58Lex_PVaIlt3ngWQziibg9i4g,50464
|
|
142
151
|
langfun/core/structured/schema.py,sha256=xtgrr3t5tcYQ2gi_fkTKz2IgDMf84gpiykmBdfnV6Io,29486
|
|
143
152
|
langfun/core/structured/schema_generation.py,sha256=pEWeTd8tQWYnEHukas6GVl4uGerLsQ2aNybtnm4Qgxc,5352
|
|
144
153
|
langfun/core/structured/schema_generation_test.py,sha256=RM9s71kMNg2jTePwInkiW9fK1ACN37eyPeF8OII-0zw,2950
|
|
145
154
|
langfun/core/structured/schema_test.py,sha256=H42ZZdPi8CIv7WzrnXwMwQQaPQxlmDSY31pfqQs-Xqw,26567
|
|
146
|
-
langfun/core/structured/scoring.py,sha256=
|
|
147
|
-
langfun/core/structured/scoring_test.py,sha256=
|
|
148
|
-
langfun/core/structured/tokenization.py,sha256
|
|
149
|
-
langfun/core/structured/tokenization_test.py,sha256=
|
|
155
|
+
langfun/core/structured/scoring.py,sha256=59B6zJt190EtwT2aIgVvCL7X1k8Nk5d1m0OSI4qbBqk,6671
|
|
156
|
+
langfun/core/structured/scoring_test.py,sha256=msxtZX1MWgoLTWkmM-McbUo-qGev0uDdlXLm4kPiIiE,2473
|
|
157
|
+
langfun/core/structured/tokenization.py,sha256=zAfzS8OOjMEz_GqGiTs3GGplPEwvkdCb_EoGF96Lwz4,2845
|
|
158
|
+
langfun/core/structured/tokenization_test.py,sha256=8IXndRokZmlLPZD_jIitfhgcRxBjmG09PhT-WLHe9dw,1499
|
|
150
159
|
langfun/core/templates/__init__.py,sha256=bO0eMsVJbi7sxEB2YlInKRQ2EVP-RyyKUwcD-8msuN4,927
|
|
151
160
|
langfun/core/templates/completion.py,sha256=mUqZHOEV3ag6-A08XghpeEltcrBvCDxXP004eDDfeag,1931
|
|
152
161
|
langfun/core/templates/completion_test.py,sha256=vGnjnM38UHyVDUyaUYtmp20s9KBGOdbPVsX-H-ET11E,1636
|
|
@@ -156,8 +165,8 @@ langfun/core/templates/demonstration.py,sha256=vCrgYubdZM5Umqcgp8NUVGXgr4P_c-fik
|
|
|
156
165
|
langfun/core/templates/demonstration_test.py,sha256=SafcDQ0WgI7pw05EmPI2S4v1t3ABKzup8jReCljHeK4,2162
|
|
157
166
|
langfun/core/templates/selfplay.py,sha256=yhgrJbiYwq47TgzThmHrDQTF4nDrTI09CWGhuQPNv-s,2273
|
|
158
167
|
langfun/core/templates/selfplay_test.py,sha256=Ot__1P1M8oJfoTp-M9-PQ6HUXqZKyMwvZ5f7yQ3yfyM,2326
|
|
159
|
-
langfun-0.1.2.
|
|
160
|
-
langfun-0.1.2.
|
|
161
|
-
langfun-0.1.2.
|
|
162
|
-
langfun-0.1.2.
|
|
163
|
-
langfun-0.1.2.
|
|
168
|
+
langfun-0.1.2.dev202507270804.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
169
|
+
langfun-0.1.2.dev202507270804.dist-info/METADATA,sha256=0kGoB8x8d243d-yz6OR4UrWup-NoUTizdYWsT72uLtk,7380
|
|
170
|
+
langfun-0.1.2.dev202507270804.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
171
|
+
langfun-0.1.2.dev202507270804.dist-info/top_level.txt,sha256=RhlEkHxs1qtzmmtWSwYoLVJAc1YrbPtxQ52uh8Z9VvY,8
|
|
172
|
+
langfun-0.1.2.dev202507270804.dist-info/RECORD,,
|
|
File without changes
|
{langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/top_level.txt
RENAMED
|
File without changes
|