langfun 0.0.2.dev20240508__tar.gz → 0.0.2.dev20240510__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 (115) hide show
  1. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/PKG-INFO +1 -1
  2. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/__init__.py +1 -0
  3. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/google_genai.py +8 -0
  4. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/openai.py +3 -2
  5. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/image.py +1 -3
  6. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/mime.py +6 -0
  7. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/video.py +1 -3
  8. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun.egg-info/PKG-INFO +1 -1
  9. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/LICENSE +0 -0
  10. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/README.md +0 -0
  11. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/__init__.py +0 -0
  12. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/__init__.py +0 -0
  13. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/__init__.py +0 -0
  14. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/__init__.py +0 -0
  15. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/correction.py +0 -0
  16. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/correction_test.py +0 -0
  17. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/errors.py +0 -0
  18. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/errors_test.py +0 -0
  19. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/execution.py +0 -0
  20. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/execution_test.py +0 -0
  21. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/generation.py +0 -0
  22. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/generation_test.py +0 -0
  23. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/parsing.py +0 -0
  24. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/parsing_test.py +0 -0
  25. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/permissions.py +0 -0
  26. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/coding/python/permissions_test.py +0 -0
  27. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/component.py +0 -0
  28. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/component_test.py +0 -0
  29. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/concurrent.py +0 -0
  30. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/concurrent_test.py +0 -0
  31. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/console.py +0 -0
  32. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/console_test.py +0 -0
  33. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/__init__.py +0 -0
  34. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/base.py +0 -0
  35. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/base_test.py +0 -0
  36. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/matching.py +0 -0
  37. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/matching_test.py +0 -0
  38. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/patching.py +0 -0
  39. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/patching_test.py +0 -0
  40. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/scoring.py +0 -0
  41. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/eval/scoring_test.py +0 -0
  42. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/langfunc.py +0 -0
  43. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/langfunc_test.py +0 -0
  44. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/language_model.py +0 -0
  45. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/language_model_test.py +0 -0
  46. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/anthropic.py +0 -0
  47. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/anthropic_test.py +0 -0
  48. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/cache/__init__.py +0 -0
  49. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/cache/base.py +0 -0
  50. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/cache/in_memory.py +0 -0
  51. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/cache/in_memory_test.py +0 -0
  52. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/fake.py +0 -0
  53. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/fake_test.py +0 -0
  54. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/google_genai_test.py +0 -0
  55. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/groq.py +0 -0
  56. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/groq_test.py +0 -0
  57. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/llama_cpp.py +0 -0
  58. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/llama_cpp_test.py +0 -0
  59. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/llms/openai_test.py +0 -0
  60. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/memories/__init__.py +0 -0
  61. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/memories/conversation_history.py +0 -0
  62. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/memories/conversation_history_test.py +0 -0
  63. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/memory.py +0 -0
  64. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/message.py +0 -0
  65. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/message_test.py +0 -0
  66. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/__init__.py +0 -0
  67. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/image_test.py +0 -0
  68. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/mime_test.py +0 -0
  69. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modalities/video_test.py +0 -0
  70. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modality.py +0 -0
  71. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/modality_test.py +0 -0
  72. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/natural_language.py +0 -0
  73. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/natural_language_test.py +0 -0
  74. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/sampling.py +0 -0
  75. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/sampling_test.py +0 -0
  76. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/__init__.py +0 -0
  77. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/completion.py +0 -0
  78. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/completion_test.py +0 -0
  79. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/description.py +0 -0
  80. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/description_test.py +0 -0
  81. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/function_generation.py +0 -0
  82. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/function_generation_test.py +0 -0
  83. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/mapping.py +0 -0
  84. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/mapping_test.py +0 -0
  85. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/parsing.py +0 -0
  86. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/parsing_test.py +0 -0
  87. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/prompting.py +0 -0
  88. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/prompting_test.py +0 -0
  89. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/schema.py +0 -0
  90. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/schema_generation.py +0 -0
  91. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/schema_generation_test.py +0 -0
  92. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/schema_test.py +0 -0
  93. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/scoring.py +0 -0
  94. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/structured/scoring_test.py +0 -0
  95. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/subscription.py +0 -0
  96. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/subscription_test.py +0 -0
  97. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/template.py +0 -0
  98. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/template_test.py +0 -0
  99. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/__init__.py +0 -0
  100. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/completion.py +0 -0
  101. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/completion_test.py +0 -0
  102. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/conversation.py +0 -0
  103. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/conversation_test.py +0 -0
  104. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/demonstration.py +0 -0
  105. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/demonstration_test.py +0 -0
  106. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/selfplay.py +0 -0
  107. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/templates/selfplay_test.py +0 -0
  108. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/text_formatting.py +0 -0
  109. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun/core/text_formatting_test.py +0 -0
  110. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun.egg-info/SOURCES.txt +0 -0
  111. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun.egg-info/dependency_links.txt +0 -0
  112. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun.egg-info/requires.txt +0 -0
  113. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/langfun.egg-info/top_level.txt +0 -0
  114. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/setup.cfg +0 -0
  115. {langfun-0.0.2.dev20240508 → langfun-0.0.2.dev20240510}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20240508
3
+ Version: 0.0.2.dev20240510
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -27,6 +27,7 @@ from langfun.core.llms.fake import StaticSequence
27
27
  # Gemini models.
28
28
  from langfun.core.llms.google_genai import GenAI
29
29
  from langfun.core.llms.google_genai import GeminiPro
30
+ from langfun.core.llms.google_genai import GeminiPro1_5
30
31
  from langfun.core.llms.google_genai import GeminiProVision
31
32
  from langfun.core.llms.google_genai import Palm2
32
33
  from langfun.core.llms.google_genai import Palm2_IT
@@ -34,6 +34,7 @@ class GenAI(lf.LanguageModel):
34
34
  'gemini-pro-vision',
35
35
  'text-bison-001',
36
36
  'chat-bison-001',
37
+ 'gemini-1.5-pro-latest',
37
38
  ],
38
39
  'Model name.',
39
40
  ]
@@ -262,6 +263,13 @@ _GOOGLE_GENAI_MODEL_HUB = _ModelHub()
262
263
  #
263
264
 
264
265
 
266
+ class GeminiPro1_5(GenAI): # pylint: disable=invalid-name
267
+ """Gemini Pro latest model."""
268
+
269
+ model = 'gemini-1.5-pro-latest'
270
+ multimodal = True
271
+
272
+
265
273
  class GeminiPro(GenAI):
266
274
  """Gemini Pro model."""
267
275
 
@@ -233,8 +233,9 @@ class OpenAI(lf.LanguageModel):
233
233
  for chunk in prompt.chunk():
234
234
  if isinstance(chunk, str):
235
235
  item = dict(type='text', text=chunk)
236
- elif isinstance(chunk, lf_modalities.Image) and chunk.uri:
237
- item = dict(type='image_url', image_url=dict(url=chunk.uri))
236
+ elif isinstance(chunk, lf_modalities.Image):
237
+ uri = chunk.uri or chunk.content_uri
238
+ item = dict(type='image_url', image_url=dict(url=uri))
238
239
  else:
239
240
  raise ValueError(f'Unsupported modality object: {chunk!r}.')
240
241
  content.append(item)
@@ -13,7 +13,6 @@
13
13
  # limitations under the License.
14
14
  """Image modality."""
15
15
 
16
- import base64
17
16
  import imghdr
18
17
  from typing import cast
19
18
  from langfun.core.modalities import mime
@@ -36,5 +35,4 @@ class Image(mime.MimeType):
36
35
  def _repr_html_(self) -> str:
37
36
  if self.uri and self.uri.lower().startswith(('http:', 'https:', 'ftp:')):
38
37
  return f'<img src="{self.uri}">'
39
- image_raw = base64.b64encode(self.to_bytes()).decode()
40
- return f'<img src="data:image/{self.image_format};base64,{image_raw}">'
38
+ return f'<img src="{self.content_uri}">'
@@ -14,6 +14,7 @@
14
14
  """MIME type data."""
15
15
 
16
16
  import abc
17
+ import base64
17
18
  from typing import Annotated, Union
18
19
  import langfun.core as lf
19
20
  import pyglove as pg
@@ -54,6 +55,11 @@ class MimeType(lf.Modality):
54
55
  self.rebind(content=content, skip_notification=True)
55
56
  return self.content
56
57
 
58
+ @property
59
+ def content_uri(self) -> str:
60
+ base64_content = base64.b64encode(self.to_bytes()).decode()
61
+ return f'data:{self.mime_type};base64,{base64_content}'
62
+
57
63
  @classmethod
58
64
  def from_uri(cls, uri: str, **kwargs) -> 'MimeType':
59
65
  return cls(uri=uri, content=None, **kwargs)
@@ -13,7 +13,6 @@
13
13
  # limitations under the License.
14
14
  """Video modality."""
15
15
 
16
- import base64
17
16
  from typing import cast
18
17
  from langfun.core.modalities import mime
19
18
 
@@ -40,8 +39,7 @@ class Video(mime.MimeType):
40
39
  def _repr_html_(self) -> str:
41
40
  if self.uri and self.uri.lower().startswith(('http:', 'https:', 'ftp:')):
42
41
  return f'<video controls> <source src="{self.uri}"> </video>'
43
- video_raw = base64.b64encode(self.to_bytes()).decode()
44
42
  return (
45
43
  '<video controls> <source'
46
- f' src="data:video/{self.video_format};base64,{video_raw}"> </video>'
44
+ f' src="data:video/{self.content_uri}"> </video>'
47
45
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20240508
3
+ Version: 0.0.2.dev20240510
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors