langfun 0.1.2.dev202501050804__tar.gz → 0.1.2.dev202501060804__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 (163) hide show
  1. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/PKG-INFO +7 -13
  2. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/README.md +3 -5
  3. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/reporting.py +7 -2
  4. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/__init__.py +21 -26
  5. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/cache/in_memory.py +6 -0
  6. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/cache/in_memory_test.py +5 -0
  7. langfun-0.1.2.dev202501060804/langfun/core/llms/gemini.py +507 -0
  8. langfun-0.1.2.dev202501050804/langfun/core/llms/vertexai_test.py → langfun-0.1.2.dev202501060804/langfun/core/llms/gemini_test.py +17 -34
  9. langfun-0.1.2.dev202501060804/langfun/core/llms/google_genai.py +130 -0
  10. langfun-0.1.2.dev202501060804/langfun/core/llms/google_genai_test.py +38 -0
  11. langfun-0.1.2.dev202501060804/langfun/core/llms/vertexai.py +188 -0
  12. langfun-0.1.2.dev202501060804/langfun/core/llms/vertexai_test.py +52 -0
  13. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun.egg-info/PKG-INFO +7 -13
  14. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun.egg-info/SOURCES.txt +2 -0
  15. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun.egg-info/requires.txt +4 -10
  16. langfun-0.1.2.dev202501050804/langfun/core/llms/google_genai.py +0 -405
  17. langfun-0.1.2.dev202501050804/langfun/core/llms/google_genai_test.py +0 -233
  18. langfun-0.1.2.dev202501050804/langfun/core/llms/vertexai.py +0 -520
  19. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/LICENSE +0 -0
  20. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/__init__.py +0 -0
  21. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/__init__.py +0 -0
  22. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/agentic/__init__.py +0 -0
  23. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/agentic/action.py +0 -0
  24. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/agentic/action_eval.py +0 -0
  25. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/agentic/action_eval_test.py +0 -0
  26. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/agentic/action_test.py +0 -0
  27. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/__init__.py +0 -0
  28. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/__init__.py +0 -0
  29. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/correction.py +0 -0
  30. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/correction_test.py +0 -0
  31. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/errors.py +0 -0
  32. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/errors_test.py +0 -0
  33. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/execution.py +0 -0
  34. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/execution_test.py +0 -0
  35. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/generation.py +0 -0
  36. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/generation_test.py +0 -0
  37. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/parsing.py +0 -0
  38. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/parsing_test.py +0 -0
  39. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/permissions.py +0 -0
  40. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/coding/python/permissions_test.py +0 -0
  41. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/component.py +0 -0
  42. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/component_test.py +0 -0
  43. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/concurrent.py +0 -0
  44. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/concurrent_test.py +0 -0
  45. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/console.py +0 -0
  46. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/console_test.py +0 -0
  47. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/__init__.py +0 -0
  48. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/base.py +0 -0
  49. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/base_test.py +0 -0
  50. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/matching.py +0 -0
  51. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/matching_test.py +0 -0
  52. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/patching.py +0 -0
  53. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/patching_test.py +0 -0
  54. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/scoring.py +0 -0
  55. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/scoring_test.py +0 -0
  56. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/__init__.py +0 -0
  57. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/checkpointing.py +0 -0
  58. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/checkpointing_test.py +0 -0
  59. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/eval_test_helper.py +0 -0
  60. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/evaluation.py +0 -0
  61. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/evaluation_test.py +0 -0
  62. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/example.py +0 -0
  63. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/example_test.py +0 -0
  64. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/experiment.py +0 -0
  65. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/experiment_test.py +0 -0
  66. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/metric_values.py +0 -0
  67. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/metric_values_test.py +0 -0
  68. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/metrics.py +0 -0
  69. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/metrics_test.py +0 -0
  70. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/progress.py +0 -0
  71. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/progress_test.py +0 -0
  72. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/progress_tracking.py +0 -0
  73. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
  74. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/reporting_test.py +0 -0
  75. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/runners.py +0 -0
  76. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/eval/v2/runners_test.py +0 -0
  77. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/langfunc.py +0 -0
  78. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/langfunc_test.py +0 -0
  79. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/language_model.py +0 -0
  80. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/language_model_test.py +0 -0
  81. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/anthropic.py +0 -0
  82. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/anthropic_test.py +0 -0
  83. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/cache/__init__.py +0 -0
  84. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/cache/base.py +0 -0
  85. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/compositional.py +0 -0
  86. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/compositional_test.py +0 -0
  87. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/fake.py +0 -0
  88. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/fake_test.py +0 -0
  89. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/groq.py +0 -0
  90. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/groq_test.py +0 -0
  91. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/llama_cpp.py +0 -0
  92. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/llama_cpp_test.py +0 -0
  93. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/openai.py +0 -0
  94. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/openai_test.py +0 -0
  95. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/rest.py +0 -0
  96. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/llms/rest_test.py +0 -0
  97. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/logging.py +0 -0
  98. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/logging_test.py +0 -0
  99. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/memories/__init__.py +0 -0
  100. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/memories/conversation_history.py +0 -0
  101. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/memories/conversation_history_test.py +0 -0
  102. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/memory.py +0 -0
  103. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/message.py +0 -0
  104. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/message_test.py +0 -0
  105. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/__init__.py +0 -0
  106. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/audio.py +0 -0
  107. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/audio_test.py +0 -0
  108. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/image.py +0 -0
  109. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/image_test.py +0 -0
  110. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/mime.py +0 -0
  111. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/mime_test.py +0 -0
  112. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/ms_office.py +0 -0
  113. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/ms_office_test.py +0 -0
  114. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/pdf.py +0 -0
  115. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/pdf_test.py +0 -0
  116. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/video.py +0 -0
  117. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modalities/video_test.py +0 -0
  118. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modality.py +0 -0
  119. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/modality_test.py +0 -0
  120. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/natural_language.py +0 -0
  121. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/natural_language_test.py +0 -0
  122. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/sampling.py +0 -0
  123. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/sampling_test.py +0 -0
  124. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/__init__.py +0 -0
  125. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/completion.py +0 -0
  126. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/completion_test.py +0 -0
  127. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/description.py +0 -0
  128. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/description_test.py +0 -0
  129. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/function_generation.py +0 -0
  130. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/function_generation_test.py +0 -0
  131. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/mapping.py +0 -0
  132. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/mapping_test.py +0 -0
  133. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/parsing.py +0 -0
  134. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/parsing_test.py +0 -0
  135. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/querying.py +0 -0
  136. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/querying_test.py +0 -0
  137. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/schema.py +0 -0
  138. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/schema_generation.py +0 -0
  139. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/schema_generation_test.py +0 -0
  140. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/schema_test.py +0 -0
  141. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/scoring.py +0 -0
  142. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/scoring_test.py +0 -0
  143. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/tokenization.py +0 -0
  144. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/structured/tokenization_test.py +0 -0
  145. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/subscription.py +0 -0
  146. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/subscription_test.py +0 -0
  147. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/template.py +0 -0
  148. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/template_test.py +0 -0
  149. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/__init__.py +0 -0
  150. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/completion.py +0 -0
  151. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/completion_test.py +0 -0
  152. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/conversation.py +0 -0
  153. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/conversation_test.py +0 -0
  154. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/demonstration.py +0 -0
  155. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/demonstration_test.py +0 -0
  156. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/selfplay.py +0 -0
  157. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/templates/selfplay_test.py +0 -0
  158. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/text_formatting.py +0 -0
  159. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun/core/text_formatting_test.py +0 -0
  160. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun.egg-info/dependency_links.txt +0 -0
  161. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/langfun.egg-info/top_level.txt +0 -0
  162. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/setup.cfg +0 -0
  163. {langfun-0.1.2.dev202501050804 → langfun-0.1.2.dev202501060804}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.1.2.dev202501050804
3
+ Version: 0.1.2.dev202501060804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -30,7 +30,7 @@ Requires-Dist: jinja2>=3.1.2; extra == "all"
30
30
  Requires-Dist: requests>=2.31.0; extra == "all"
31
31
  Requires-Dist: termcolor==1.1.0; extra == "all"
32
32
  Requires-Dist: tqdm>=4.64.1; extra == "all"
33
- Requires-Dist: google-generativeai>=0.3.2; extra == "all"
33
+ Requires-Dist: google-auth>=2.16.0; extra == "all"
34
34
  Requires-Dist: python-magic>=0.4.27; extra == "all"
35
35
  Requires-Dist: python-docx>=0.8.11; extra == "all"
36
36
  Requires-Dist: pillow>=10.0.0; extra == "all"
@@ -39,12 +39,8 @@ Requires-Dist: pandas>=2.0.3; extra == "all"
39
39
  Provides-Extra: ui
40
40
  Requires-Dist: termcolor==1.1.0; extra == "ui"
41
41
  Requires-Dist: tqdm>=4.64.1; extra == "ui"
42
- Provides-Extra: llm
43
- Requires-Dist: google-generativeai>=0.3.2; extra == "llm"
44
- Provides-Extra: llm-google
45
- Requires-Dist: google-generativeai>=0.3.2; extra == "llm-google"
46
- Provides-Extra: llm-google-genai
47
- Requires-Dist: google-generativeai>=0.3.2; extra == "llm-google-genai"
42
+ Provides-Extra: vertexai
43
+ Requires-Dist: google-auth>=2.16.0; extra == "vertexai"
48
44
  Provides-Extra: mime
49
45
  Requires-Dist: python-magic>=0.4.27; extra == "mime"
50
46
  Requires-Dist: python-docx>=0.8.11; extra == "mime"
@@ -201,9 +197,7 @@ If you want to customize your installation, you can select specific features usi
201
197
  | Tag | Description |
202
198
  | ------------------- | ---------------------------------------- |
203
199
  | all | All Langfun features. |
204
- | llm | All supported LLMs. |
205
- | llm-google | All supported Google-powered LLMs. |
206
- | llm-google-genai | LLMs powered by Google Generative AI API |
200
+ | vertexai | VertexAI access. |
207
201
  | mime | All MIME supports. |
208
202
  | mime-auto | Automatic MIME type detection. |
209
203
  | mime-docx | DocX format support. |
@@ -212,9 +206,9 @@ If you want to customize your installation, you can select specific features usi
212
206
  | ui | UI enhancements |
213
207
 
214
208
 
215
- For example, to install a nightly build that includes Google-powered LLMs, full modality support, and UI enhancements, use:
209
+ For example, to install a nightly build that includes VertexAI access, full modality support, and UI enhancements, use:
216
210
  ```
217
- pip install langfun[llm-google,mime,ui] --pre
211
+ pip install langfun[vertexai,mime,ui] --pre
218
212
  ```
219
213
 
220
214
  *Disclaimer: this is not an officially supported Google product.*
@@ -138,9 +138,7 @@ If you want to customize your installation, you can select specific features usi
138
138
  | Tag | Description |
139
139
  | ------------------- | ---------------------------------------- |
140
140
  | all | All Langfun features. |
141
- | llm | All supported LLMs. |
142
- | llm-google | All supported Google-powered LLMs. |
143
- | llm-google-genai | LLMs powered by Google Generative AI API |
141
+ | vertexai | VertexAI access. |
144
142
  | mime | All MIME supports. |
145
143
  | mime-auto | Automatic MIME type detection. |
146
144
  | mime-docx | DocX format support. |
@@ -149,9 +147,9 @@ If you want to customize your installation, you can select specific features usi
149
147
  | ui | UI enhancements |
150
148
 
151
149
 
152
- For example, to install a nightly build that includes Google-powered LLMs, full modality support, and UI enhancements, use:
150
+ For example, to install a nightly build that includes VertexAI access, full modality support, and UI enhancements, use:
153
151
  ```
154
- pip install langfun[llm-google,mime,ui] --pre
152
+ pip install langfun[vertexai,mime,ui] --pre
155
153
  ```
156
154
 
157
155
  *Disclaimer: this is not an officially supported Google product.*
@@ -51,6 +51,7 @@ class HtmlReporter(experiment_lib.Plugin):
51
51
  self._update_thread = None
52
52
  self._stop_update = False
53
53
  self._stop_update_experiment_ids = set()
54
+ self._experiment_index_lock = None
54
55
 
55
56
  def on_run_start(
56
57
  self,
@@ -61,6 +62,9 @@ class HtmlReporter(experiment_lib.Plugin):
61
62
  self._last_experiment_report_time = {leaf.id: 0 for leaf in root.leaf_nodes}
62
63
  self._stop_update = False
63
64
  self._stop_update_experiment_ids = set()
65
+ self._experiment_index_lock = {
66
+ leaf.id: threading.Lock() for leaf in root.leaf_nodes
67
+ }
64
68
  self._update_thread = threading.Thread(
65
69
  target=self._update_thread_func, args=(runner,)
66
70
  )
@@ -170,7 +174,8 @@ class HtmlReporter(experiment_lib.Plugin):
170
174
  card_view=False,
171
175
  ),
172
176
  )
173
- html.save(index_html_path)
177
+ with self._experiment_index_lock[experiment.id]:
178
+ html.save(index_html_path)
174
179
  experiment.info(
175
180
  f'Updated {index_html_path!r} in {t.elapse:.2f} seconds.',
176
181
  )
@@ -185,11 +190,11 @@ class HtmlReporter(experiment_lib.Plugin):
185
190
  time.time() - self._last_experiment_report_time[experiment.id]
186
191
  > self.experiment_report_interval
187
192
  ):
193
+ self._last_experiment_report_time[experiment.id] = time.time()
188
194
  if background:
189
195
  runner.background_run(_save)
190
196
  else:
191
197
  _save()
192
- self._last_experiment_report_time[experiment.id] = time.time()
193
198
 
194
199
  def _save_example_html(
195
200
  self, runner: Runner, experiment: Experiment, example: Example
@@ -32,16 +32,30 @@ from langfun.core.llms.rest import REST
32
32
 
33
33
  # Gemini models.
34
34
  from langfun.core.llms.google_genai import GenAI
35
- from langfun.core.llms.google_genai import GeminiFlash2_0ThinkingExp
35
+ from langfun.core.llms.google_genai import GeminiFlash2_0ThinkingExp_20241219
36
36
  from langfun.core.llms.google_genai import GeminiFlash2_0Exp
37
- from langfun.core.llms.google_genai import GeminiExp_20241114
38
37
  from langfun.core.llms.google_genai import GeminiExp_20241206
39
- from langfun.core.llms.google_genai import GeminiFlash1_5
38
+ from langfun.core.llms.google_genai import GeminiExp_20241114
40
39
  from langfun.core.llms.google_genai import GeminiPro1_5
41
- from langfun.core.llms.google_genai import GeminiPro
42
- from langfun.core.llms.google_genai import GeminiProVision
43
- from langfun.core.llms.google_genai import Palm2
44
- from langfun.core.llms.google_genai import Palm2_IT
40
+ from langfun.core.llms.google_genai import GeminiPro1_5_002
41
+ from langfun.core.llms.google_genai import GeminiPro1_5_001
42
+ from langfun.core.llms.google_genai import GeminiFlash1_5
43
+ from langfun.core.llms.google_genai import GeminiFlash1_5_002
44
+ from langfun.core.llms.google_genai import GeminiFlash1_5_001
45
+ from langfun.core.llms.google_genai import GeminiPro1
46
+
47
+ from langfun.core.llms.vertexai import VertexAI
48
+ from langfun.core.llms.vertexai import VertexAIGeminiFlash2_0ThinkingExp_20241219
49
+ from langfun.core.llms.vertexai import VertexAIGeminiFlash2_0Exp
50
+ from langfun.core.llms.vertexai import VertexAIGeminiExp_20241206
51
+ from langfun.core.llms.vertexai import VertexAIGeminiExp_20241114
52
+ from langfun.core.llms.vertexai import VertexAIGeminiPro1_5
53
+ from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_002
54
+ from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_001
55
+ from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5
56
+ from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5_002
57
+ from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5_001
58
+ from langfun.core.llms.vertexai import VertexAIGeminiPro1
45
59
 
46
60
  # OpenAI models.
47
61
  from langfun.core.llms.openai import OpenAI
@@ -124,25 +138,6 @@ from langfun.core.llms.groq import GroqGemma_7B_IT
124
138
  from langfun.core.llms.groq import GroqWhisper_Large_v3
125
139
  from langfun.core.llms.groq import GroqWhisper_Large_v3Turbo
126
140
 
127
- from langfun.core.llms.vertexai import VertexAI
128
- from langfun.core.llms.vertexai import VertexAIGemini2_0
129
- from langfun.core.llms.vertexai import VertexAIGeminiFlash2_0Exp
130
- from langfun.core.llms.vertexai import VertexAIGeminiFlash2_0ThinkingExp
131
- from langfun.core.llms.vertexai import VertexAIGemini1_5
132
- from langfun.core.llms.vertexai import VertexAIGeminiPro1_5
133
- from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_001
134
- from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_002
135
- from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_0514
136
- from langfun.core.llms.vertexai import VertexAIGeminiPro1_5_0409
137
- from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5
138
- from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5_001
139
- from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5_002
140
- from langfun.core.llms.vertexai import VertexAIGeminiFlash1_5_0514
141
- from langfun.core.llms.vertexai import VertexAIGeminiPro1
142
- from langfun.core.llms.vertexai import VertexAIGeminiPro1Vision
143
- from langfun.core.llms.vertexai import VertexAIEndpoint
144
-
145
-
146
141
  # LLaMA C++ models.
147
142
  from langfun.core.llms.llama_cpp import LlamaCppRemote
148
143
 
@@ -15,6 +15,7 @@
15
15
 
16
16
  import collections
17
17
  import contextlib
18
+ import json
18
19
  from typing import Annotated, Any, Iterator
19
20
  import langfun.core as lf
20
21
  from langfun.core.llms.cache import base
@@ -49,6 +50,11 @@ class InMemory(base.LMCacheBase):
49
50
  "Creating a new cache as cache file '%s' does not exist.",
50
51
  self.filename,
51
52
  )
53
+ except json.JSONDecodeError:
54
+ pg.logging.warning(
55
+ "Creating a new cache as cache file '%s' is corrupted.",
56
+ self.filename,
57
+ )
52
58
 
53
59
  def model_ids(self) -> list[str]:
54
60
  """Returns the model ids of cached queires."""
@@ -295,6 +295,11 @@ class InMemoryLMCacheTest(unittest.TestCase):
295
295
  self.assertEqual(cache2.stats.num_updates, 2)
296
296
  cache2.save()
297
297
 
298
+ # Corrupted file.
299
+ pg.io.writefile(path, 'bad_content')
300
+ cache3 = in_memory.InMemory(path)
301
+ self.assertEqual(len(cache3), 0)
302
+
298
303
 
299
304
  class LmCacheTest(unittest.TestCase):
300
305