langfun 0.0.2.dev20240522__tar.gz → 0.0.2.dev20240523__tar.gz

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 (117) hide show
  1. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/PKG-INFO +1 -1
  2. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/vertexai.py +5 -3
  3. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/schema.py +4 -1
  4. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/schema_test.py +15 -3
  5. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun.egg-info/PKG-INFO +1 -1
  6. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/LICENSE +0 -0
  7. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/README.md +0 -0
  8. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/__init__.py +0 -0
  9. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/__init__.py +0 -0
  10. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/__init__.py +0 -0
  11. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/__init__.py +0 -0
  12. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/correction.py +0 -0
  13. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/correction_test.py +0 -0
  14. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/errors.py +0 -0
  15. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/errors_test.py +0 -0
  16. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/execution.py +0 -0
  17. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/execution_test.py +0 -0
  18. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/generation.py +0 -0
  19. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/generation_test.py +0 -0
  20. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/parsing.py +0 -0
  21. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/parsing_test.py +0 -0
  22. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/permissions.py +0 -0
  23. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/coding/python/permissions_test.py +0 -0
  24. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/component.py +0 -0
  25. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/component_test.py +0 -0
  26. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/concurrent.py +0 -0
  27. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/concurrent_test.py +0 -0
  28. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/console.py +0 -0
  29. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/console_test.py +0 -0
  30. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/__init__.py +0 -0
  31. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/base.py +0 -0
  32. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/base_test.py +0 -0
  33. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/matching.py +0 -0
  34. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/matching_test.py +0 -0
  35. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/patching.py +0 -0
  36. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/patching_test.py +0 -0
  37. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/scoring.py +0 -0
  38. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/eval/scoring_test.py +0 -0
  39. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/langfunc.py +0 -0
  40. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/langfunc_test.py +0 -0
  41. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/language_model.py +0 -0
  42. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/language_model_test.py +0 -0
  43. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/__init__.py +0 -0
  44. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/anthropic.py +0 -0
  45. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/anthropic_test.py +0 -0
  46. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/cache/__init__.py +0 -0
  47. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/cache/base.py +0 -0
  48. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/cache/in_memory.py +0 -0
  49. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/cache/in_memory_test.py +0 -0
  50. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/fake.py +0 -0
  51. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/fake_test.py +0 -0
  52. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/google_genai.py +0 -0
  53. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/google_genai_test.py +0 -0
  54. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/groq.py +0 -0
  55. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/groq_test.py +0 -0
  56. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/llama_cpp.py +0 -0
  57. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/llama_cpp_test.py +0 -0
  58. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/openai.py +0 -0
  59. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/openai_test.py +0 -0
  60. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/llms/vertexai_test.py +0 -0
  61. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/memories/__init__.py +0 -0
  62. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/memories/conversation_history.py +0 -0
  63. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/memories/conversation_history_test.py +0 -0
  64. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/memory.py +0 -0
  65. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/message.py +0 -0
  66. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/message_test.py +0 -0
  67. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/__init__.py +0 -0
  68. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/image.py +0 -0
  69. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/image_test.py +0 -0
  70. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/mime.py +0 -0
  71. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/mime_test.py +0 -0
  72. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/video.py +0 -0
  73. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modalities/video_test.py +0 -0
  74. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modality.py +0 -0
  75. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/modality_test.py +0 -0
  76. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/natural_language.py +0 -0
  77. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/natural_language_test.py +0 -0
  78. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/sampling.py +0 -0
  79. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/sampling_test.py +0 -0
  80. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/__init__.py +0 -0
  81. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/completion.py +0 -0
  82. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/completion_test.py +0 -0
  83. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/description.py +0 -0
  84. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/description_test.py +0 -0
  85. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/function_generation.py +0 -0
  86. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/function_generation_test.py +0 -0
  87. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/mapping.py +0 -0
  88. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/mapping_test.py +0 -0
  89. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/parsing.py +0 -0
  90. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/parsing_test.py +0 -0
  91. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/prompting.py +0 -0
  92. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/prompting_test.py +0 -0
  93. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/schema_generation.py +0 -0
  94. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/schema_generation_test.py +0 -0
  95. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/scoring.py +0 -0
  96. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/structured/scoring_test.py +0 -0
  97. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/subscription.py +0 -0
  98. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/subscription_test.py +0 -0
  99. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/template.py +0 -0
  100. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/template_test.py +0 -0
  101. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/__init__.py +0 -0
  102. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/completion.py +0 -0
  103. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/completion_test.py +0 -0
  104. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/conversation.py +0 -0
  105. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/conversation_test.py +0 -0
  106. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/demonstration.py +0 -0
  107. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/demonstration_test.py +0 -0
  108. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/selfplay.py +0 -0
  109. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/templates/selfplay_test.py +0 -0
  110. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/text_formatting.py +0 -0
  111. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun/core/text_formatting_test.py +0 -0
  112. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun.egg-info/SOURCES.txt +0 -0
  113. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun.egg-info/dependency_links.txt +0 -0
  114. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun.egg-info/requires.txt +0 -0
  115. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/langfun.egg-info/top_level.txt +0 -0
  116. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/setup.cfg +0 -0
  117. {langfun-0.0.2.dev20240522 → langfun-0.0.2.dev20240523}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20240522
3
+ Version: 0.0.2.dev20240523
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -160,14 +160,16 @@ class VertexAI(lf.LanguageModel):
160
160
 
161
161
  def _sample(self, prompts: list[lf.Message]) -> list[lf.LMSamplingResult]:
162
162
  assert self._api_initialized, 'Vertex AI API is not initialized.'
163
+ # TODO(yifenglu): It seems this exception is due to the instability of the
164
+ # API. We should revisit this later.
165
+ retry_on_errors = [(Exception, 'InternalServerError')]
166
+
163
167
  return lf.concurrent_execute(
164
168
  self._sample_single,
165
169
  prompts,
166
170
  executor=self.resource_id,
167
171
  max_workers=self.max_concurrency,
168
- # NOTE(daiyip): Vertex has its own policy on handling
169
- # with rate limit, so we do not retry on errors.
170
- retry_on_errors=None,
172
+ retry_on_errors=retry_on_errors,
171
173
  )
172
174
 
173
175
  def _sample_single(self, prompt: lf.Message) -> lf.LMSamplingResult:
@@ -262,7 +262,7 @@ def class_dependencies(
262
262
  _fill_dependencies(elem.value, include_subclasses)
263
263
  elif isinstance(vs, pg.typing.Dict) and vs.schema:
264
264
  for v in vs.schema.values():
265
- _fill_dependencies(v, include_subclasses)
265
+ _fill_dependencies(v.value, include_subclasses)
266
266
  elif isinstance(vs, pg.typing.Union):
267
267
  for v in vs.candidates:
268
268
  _fill_dependencies(v, include_subclasses)
@@ -508,6 +508,9 @@ def annotation(
508
508
  x = '{' + kv_str + '}'
509
509
  if strict:
510
510
  x = f'pg.typing.Dict({x})'
511
+ elif vs.schema and vs.schema.dynamic_field:
512
+ v = annotation(vs.schema.dynamic_field.value, strict=strict)
513
+ x = f'dict[str, {v}]'
511
514
  else:
512
515
  x = 'dict[str, Any]'
513
516
 
@@ -260,15 +260,18 @@ class ClassDependenciesTest(unittest.TestCase):
260
260
  class A(pg.Object):
261
261
  foo: tuple[Foo, int]
262
262
 
263
+ class B(pg.Object):
264
+ pass
265
+
263
266
  class X(pg.Object):
264
- k: int
267
+ k: dict[str, B]
265
268
 
266
- class B(A):
269
+ class C(A):
267
270
  bar: Bar
268
271
  foo2: Foo | X
269
272
 
270
273
  a = A(foo=(Foo(1), 0))
271
- self.assertEqual(schema_lib.class_dependencies(a), [Foo, A, Bar, X, B])
274
+ self.assertEqual(schema_lib.class_dependencies(a), [Foo, A, Bar, B, X, C])
272
275
 
273
276
  self.assertEqual(schema_lib.class_dependencies(1), [])
274
277
 
@@ -395,6 +398,15 @@ class SchemaPythonReprTest(unittest.TestCase):
395
398
  'dict[str, Any]',
396
399
  strict=False,
397
400
  )
401
+
402
+ class DictValue(pg.Object):
403
+ pass
404
+
405
+ self.assert_annotation(
406
+ pg.typing.Dict([(pg.typing.StrKey(), DictValue)]),
407
+ 'dict[str, DictValue]',
408
+ strict=False,
409
+ )
398
410
  self.assert_annotation(
399
411
  pg.typing.Dict(),
400
412
  'dict[str, Any]',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20240522
3
+ Version: 0.0.2.dev20240523
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors