langfun 0.1.2.dev202412100804__tar.gz → 0.1.2.dev202412120804__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 (160) hide show
  1. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/PKG-INFO +1 -1
  2. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/agentic/action.py +9 -11
  3. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/agentic/action_test.py +4 -2
  4. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/evaluation.py +3 -0
  5. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/vertexai.py +14 -2
  6. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/message.py +0 -1
  7. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/message_test.py +0 -1
  8. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/schema.py +1 -1
  9. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun.egg-info/PKG-INFO +1 -1
  10. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/LICENSE +0 -0
  11. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/README.md +0 -0
  12. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/__init__.py +0 -0
  13. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/__init__.py +0 -0
  14. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/agentic/__init__.py +0 -0
  15. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/agentic/action_eval.py +0 -0
  16. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/agentic/action_eval_test.py +0 -0
  17. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/__init__.py +0 -0
  18. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/__init__.py +0 -0
  19. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/correction.py +0 -0
  20. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/correction_test.py +0 -0
  21. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/errors.py +0 -0
  22. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/errors_test.py +0 -0
  23. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/execution.py +0 -0
  24. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/execution_test.py +0 -0
  25. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/generation.py +0 -0
  26. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/generation_test.py +0 -0
  27. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/parsing.py +0 -0
  28. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/parsing_test.py +0 -0
  29. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/permissions.py +0 -0
  30. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/coding/python/permissions_test.py +0 -0
  31. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/component.py +0 -0
  32. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/component_test.py +0 -0
  33. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/concurrent.py +0 -0
  34. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/concurrent_test.py +0 -0
  35. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/console.py +0 -0
  36. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/console_test.py +0 -0
  37. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/__init__.py +0 -0
  38. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/base.py +0 -0
  39. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/base_test.py +0 -0
  40. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/matching.py +0 -0
  41. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/matching_test.py +0 -0
  42. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/patching.py +0 -0
  43. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/patching_test.py +0 -0
  44. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/scoring.py +0 -0
  45. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/scoring_test.py +0 -0
  46. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/__init__.py +0 -0
  47. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/checkpointing.py +0 -0
  48. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/checkpointing_test.py +0 -0
  49. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/evaluation_test.py +0 -0
  50. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/example.py +0 -0
  51. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/example_test.py +0 -0
  52. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/experiment.py +0 -0
  53. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/experiment_test.py +0 -0
  54. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/metric_values.py +0 -0
  55. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/metric_values_test.py +0 -0
  56. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/metrics.py +0 -0
  57. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/metrics_test.py +0 -0
  58. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/progress.py +0 -0
  59. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/progress_test.py +0 -0
  60. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/progress_tracking.py +0 -0
  61. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
  62. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/reporting.py +0 -0
  63. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/reporting_test.py +0 -0
  64. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/runners.py +0 -0
  65. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/runners_test.py +0 -0
  66. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/eval/v2/test_helper.py +0 -0
  67. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/langfunc.py +0 -0
  68. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/langfunc_test.py +0 -0
  69. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/language_model.py +0 -0
  70. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/language_model_test.py +0 -0
  71. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/__init__.py +0 -0
  72. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/anthropic.py +0 -0
  73. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/anthropic_test.py +0 -0
  74. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/cache/__init__.py +0 -0
  75. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/cache/base.py +0 -0
  76. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/cache/in_memory.py +0 -0
  77. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/cache/in_memory_test.py +0 -0
  78. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/compositional.py +0 -0
  79. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/compositional_test.py +0 -0
  80. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/fake.py +0 -0
  81. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/fake_test.py +0 -0
  82. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/google_genai.py +0 -0
  83. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/google_genai_test.py +0 -0
  84. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/groq.py +0 -0
  85. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/groq_test.py +0 -0
  86. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/llama_cpp.py +0 -0
  87. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/llama_cpp_test.py +0 -0
  88. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/openai.py +0 -0
  89. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/openai_test.py +0 -0
  90. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/rest.py +0 -0
  91. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/rest_test.py +0 -0
  92. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/llms/vertexai_test.py +0 -0
  93. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/logging.py +0 -0
  94. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/logging_test.py +0 -0
  95. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/memories/__init__.py +0 -0
  96. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/memories/conversation_history.py +0 -0
  97. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/memories/conversation_history_test.py +0 -0
  98. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/memory.py +0 -0
  99. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/__init__.py +0 -0
  100. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/audio.py +0 -0
  101. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/audio_test.py +0 -0
  102. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/image.py +0 -0
  103. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/image_test.py +0 -0
  104. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/mime.py +0 -0
  105. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/mime_test.py +0 -0
  106. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/ms_office.py +0 -0
  107. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/ms_office_test.py +0 -0
  108. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/pdf.py +0 -0
  109. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/pdf_test.py +0 -0
  110. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/video.py +0 -0
  111. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modalities/video_test.py +0 -0
  112. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modality.py +0 -0
  113. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/modality_test.py +0 -0
  114. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/natural_language.py +0 -0
  115. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/natural_language_test.py +0 -0
  116. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/repr_utils.py +0 -0
  117. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/repr_utils_test.py +0 -0
  118. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/sampling.py +0 -0
  119. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/sampling_test.py +0 -0
  120. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/__init__.py +0 -0
  121. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/completion.py +0 -0
  122. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/completion_test.py +0 -0
  123. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/description.py +0 -0
  124. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/description_test.py +0 -0
  125. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/function_generation.py +0 -0
  126. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/function_generation_test.py +0 -0
  127. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/mapping.py +0 -0
  128. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/mapping_test.py +0 -0
  129. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/parsing.py +0 -0
  130. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/parsing_test.py +0 -0
  131. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/prompting.py +0 -0
  132. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/prompting_test.py +0 -0
  133. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/schema_generation.py +0 -0
  134. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/schema_generation_test.py +0 -0
  135. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/schema_test.py +0 -0
  136. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/scoring.py +0 -0
  137. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/scoring_test.py +0 -0
  138. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/tokenization.py +0 -0
  139. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/structured/tokenization_test.py +0 -0
  140. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/subscription.py +0 -0
  141. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/subscription_test.py +0 -0
  142. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/template.py +0 -0
  143. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/template_test.py +0 -0
  144. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/__init__.py +0 -0
  145. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/completion.py +0 -0
  146. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/completion_test.py +0 -0
  147. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/conversation.py +0 -0
  148. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/conversation_test.py +0 -0
  149. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/demonstration.py +0 -0
  150. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/demonstration_test.py +0 -0
  151. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/selfplay.py +0 -0
  152. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/templates/selfplay_test.py +0 -0
  153. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/text_formatting.py +0 -0
  154. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun/core/text_formatting_test.py +0 -0
  155. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun.egg-info/SOURCES.txt +0 -0
  156. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun.egg-info/dependency_links.txt +0 -0
  157. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun.egg-info/requires.txt +0 -0
  158. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/langfun.egg-info/top_level.txt +0 -0
  159. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/setup.cfg +0 -0
  160. {langfun-0.1.2.dev202412100804 → langfun-0.1.2.dev202412120804}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.1.2.dev202412100804
3
+ Version: 0.1.2.dev202412120804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -64,23 +64,16 @@ class Action(pg.Object):
64
64
 
65
65
  with session.track_action(self):
66
66
  result = self.call(session=session, **kwargs)
67
- metadata = dict()
68
- if (isinstance(result, tuple)
69
- and len(result) == 2 and isinstance(result[1], dict)):
70
- result, metadata = result
71
67
 
72
68
  # For the top-level action, we store the session in the metadata.
73
69
  if new_session:
74
70
  self._session = session
75
- self._result, self._result_metadata = result, metadata
71
+ self._result = result
72
+ self._result_metadata = session.current_action.result_metadata
76
73
  return self._result
77
74
 
78
75
  @abc.abstractmethod
79
- def call(
80
- self,
81
- session: 'Session',
82
- **kwargs
83
- ) -> Union[Any, tuple[Any, dict[str, Any]]]:
76
+ def call(self, session: 'Session', **kwargs) -> Any:
84
77
  """Calls the action.
85
78
 
86
79
  Args:
@@ -88,7 +81,7 @@ class Action(pg.Object):
88
81
  **kwargs: Additional keyword arguments to pass to the action.
89
82
 
90
83
  Returns:
91
- The result of the action or a tuple of (result, result_metadata).
84
+ The result of the action.
92
85
  """
93
86
 
94
87
 
@@ -726,6 +719,11 @@ class Session(pg.Object, pg.views.html.HtmlTreeView.Extension):
726
719
  """Returns the current invocation."""
727
720
  return self._current_action
728
721
 
722
+ def add_metadata(self, **kwargs: Any) -> None:
723
+ """Adds metadata to the current invocation."""
724
+ with pg.notify_on_change(False):
725
+ self._current_action.result_metadata.update(kwargs)
726
+
729
727
  def phase(self, name: str) -> ContextManager[ExecutionTrace]:
730
728
  """Context manager for starting a new execution phase."""
731
729
  return self.current_action.phase(name)
@@ -33,7 +33,8 @@ class SessionTest(unittest.TestCase):
33
33
  test.assertIs(session.current_action.action, self)
34
34
  session.info('Begin Bar')
35
35
  session.query('bar', lm=lm)
36
- return 2, dict(note='bar')
36
+ session.add_metadata(note='bar')
37
+ return 2
37
38
 
38
39
  class Foo(action_lib.Action):
39
40
  x: int
@@ -45,7 +46,8 @@ class SessionTest(unittest.TestCase):
45
46
  session.query('foo', lm=lm)
46
47
  with session.track_queries():
47
48
  self.make_additional_query(lm)
48
- return self.x + Bar()(session, lm=lm), dict(note='foo')
49
+ session.add_metadata(note='foo')
50
+ return self.x + Bar()(session, lm=lm)
49
51
 
50
52
  def make_additional_query(self, lm):
51
53
  lf_structured.query('additional query', lm=lm)
@@ -556,6 +556,9 @@ class Evaluation(experiment_lib.Experiment):
556
556
  border: 0px;
557
557
  margin: 0px;
558
558
  }
559
+ .eval-details .tab-control {
560
+ width: 100%;
561
+ }
559
562
  .eval-details .tab-button {
560
563
  font-size: large;
561
564
  }
@@ -40,7 +40,7 @@ except ImportError:
40
40
 
41
41
  # https://cloud.google.com/vertex-ai/generative-ai/pricing
42
42
  # describes that the average number of characters per token is about 4.
43
- AVGERAGE_CHARS_PER_TOEKN = 4
43
+ AVGERAGE_CHARS_PER_TOKEN = 4
44
44
 
45
45
 
46
46
  # Price in US dollars,
@@ -102,6 +102,18 @@ SUPPORTED_MODELS_AND_SETTINGS = {
102
102
  cost_per_1k_input_chars=0.000125,
103
103
  cost_per_1k_output_chars=0.000375,
104
104
  ),
105
+ # TODO(sharatsharat): Update costs when published
106
+ 'gemini-exp-1206': pg.Dict(
107
+ rpm=20,
108
+ cost_per_1k_input_chars=0.000,
109
+ cost_per_1k_output_chars=0.000,
110
+ ),
111
+ # TODO(sharatsharat): Update costs when published
112
+ 'gemini-2.0-flash-exp': pg.Dict(
113
+ rpm=20,
114
+ cost_per_1k_input_chars=0.000,
115
+ cost_per_1k_output_chars=0.000,
116
+ ),
105
117
  # TODO(chengrun): Set a more appropriate rpm for endpoint.
106
118
  'vertexai-endpoint': pg.Dict(
107
119
  rpm=20,
@@ -215,7 +227,7 @@ class VertexAI(rest.REST):
215
227
  return (
216
228
  cost_per_1k_input_chars * num_input_tokens
217
229
  + cost_per_1k_output_chars * num_output_tokens
218
- ) * AVGERAGE_CHARS_PER_TOEKN / 1000
230
+ ) * AVGERAGE_CHARS_PER_TOKEN / 1000
219
231
 
220
232
  @functools.cached_property
221
233
  def _session(self):
@@ -769,7 +769,6 @@ class Message(
769
769
  padding: 20px;
770
770
  margin: 10px 5px 10px 5px;
771
771
  font-style: italic;
772
- font-size: 1.1em;
773
772
  white-space: pre-wrap;
774
773
  border: 1px solid #EEE;
775
774
  border-radius: 5px;
@@ -380,7 +380,6 @@ class MessageTest(unittest.TestCase):
380
380
  padding: 20px;
381
381
  margin: 10px 5px 10px 5px;
382
382
  font-style: italic;
383
- font-size: 1.1em;
384
383
  white-space: pre-wrap;
385
384
  border: 1px solid #EEE;
386
385
  border-radius: 5px;
@@ -201,7 +201,7 @@ class Schema(
201
201
  ):
202
202
  return pg.Html.element(
203
203
  'div',
204
- [self.schema_str(protocol='python')],
204
+ [pg.Html.escape(self.schema_str(protocol='python'))],
205
205
  css_classes=['lf-schema-definition']
206
206
  ).add_style(
207
207
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.1.2.dev202412100804
3
+ Version: 0.1.2.dev202412120804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors