langfun 0.1.2.dev202512280805__tar.gz → 0.1.2.dev202601160805__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.
Potentially problematic release.
This version of langfun might be problematic. Click here for more details.
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/PKG-INFO +1 -1
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/language_model.py +38 -7
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/language_model_test.py +230 -89
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/gemini.py +67 -20
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/gemini_test.py +28 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/rest.py +6 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/message_test.py +7 -7
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun.egg-info/PKG-INFO +1 -1
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/LICENSE +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/README.md +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/bounding_box_parser.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/bounding_box_parser_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/drawing.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/drawing_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/location.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/assistant/capabilities/gui/location_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/agentic/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/agentic/action.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/agentic/action_eval.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/agentic/action_eval_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/agentic/action_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/async_support.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/async_support_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/correction.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/correction_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/execution.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/execution_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/generation.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/generation_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/parsing.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/parsing_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/sandboxing.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/coding/python/sandboxing_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/component.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/component_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/concurrent.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/concurrent_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/console.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/console_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/anthropic.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/anthropic_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/gemini.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/gemini_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/openai.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/data/conversion/openai_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/base.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/base_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/matching.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/matching_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/patching.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/patching_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/scoring.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/scoring_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/checkpointing.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/checkpointing_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/config_saver.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/config_saver_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/eval_test_helper.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/evaluation.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/evaluation_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/example.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/example_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/experiment.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/experiment_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/metric_values.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/metric_values_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/metrics.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/metrics_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/progress.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/progress_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/progress_tracking.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/reporting.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/reporting_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/base.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/beam.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/beam_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/ckpt_monitor.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/ckpt_monitor_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/debug.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/debug_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/parallel.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/parallel_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/sequential.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/eval/v2/runners/sequential_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/langfunc.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/langfunc_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/anthropic.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/anthropic_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/azure_openai.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/azure_openai_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/cache/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/cache/base.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/cache/in_memory.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/cache/in_memory_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/compositional.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/compositional_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/deepseek.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/deepseek_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/fake.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/fake_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/google_genai.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/google_genai_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/groq.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/groq_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/llama_cpp.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/llama_cpp_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/openai.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/openai_compatible.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/openai_compatible_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/openai_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/rest_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/vertexai.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/llms/vertexai_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/logging.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/logging_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/client.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/client_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/session.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/session_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/testing/simple_mcp_client.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/testing/simple_mcp_server.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/tool.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/mcp/tool_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/memories/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/memories/conversation_history.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/memories/conversation_history_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/memory.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/message.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/audio.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/audio_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/image.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/image_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/mime.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/mime_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/pdf.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/pdf_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/video.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modalities/video_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modality.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/modality_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/natural_language.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/natural_language_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/sampling.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/sampling_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/completion.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/completion_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/description.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/description_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/function_generation.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/function_generation_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/mapping.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/mapping_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/parsing.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/parsing_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/querying.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/querying_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/base.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/base_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/json.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/json_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/python.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema/python_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema_generation.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/schema_generation_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/scoring.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/scoring_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/tokenization.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/structured/tokenization_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/subscription.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/subscription_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/template.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/template_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/completion.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/completion_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/conversation.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/conversation_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/demonstration.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/demonstration_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/selfplay.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/templates/selfplay_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_environment.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_environment_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_feature.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_feature_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_sandbox.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/base_sandbox_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/__init__.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/chain.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/chain_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/event_logger.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/event_logger_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/metric_writer.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/event_handlers/metric_writer_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/interface.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/interface_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/load_balancers.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/load_balancers_test.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/env/test_utils.py +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun.egg-info/SOURCES.txt +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun.egg-info/dependency_links.txt +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun.egg-info/requires.txt +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun.egg-info/top_level.txt +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/setup.cfg +0 -0
- {langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/setup.py +0 -0
{langfun-0.1.2.dev202512280805 → langfun-0.1.2.dev202601160805}/langfun/core/language_model.py
RENAMED
|
@@ -212,15 +212,30 @@ class ModelInfo(pg.Object):
|
|
|
212
212
|
The estimated cost in US dollars. If None, cost estimating is not
|
|
213
213
|
supported on the model.
|
|
214
214
|
"""
|
|
215
|
-
|
|
215
|
+
|
|
216
216
|
if (self.cost_per_1m_input_tokens is None
|
|
217
217
|
or self.cost_per_1m_output_tokens is None):
|
|
218
218
|
return None
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
)
|
|
219
|
+
|
|
220
|
+
# Calculate cost for non-cached prompt tokens
|
|
221
|
+
non_cached_prompt_tokens = (
|
|
222
|
+
usage.prompt_tokens - usage.cached_prompt_tokens
|
|
223
|
+
)
|
|
224
|
+
cost = self.cost_per_1m_input_tokens * non_cached_prompt_tokens
|
|
225
|
+
|
|
226
|
+
# Add cost for cached prompt tokens (if pricing is available)
|
|
227
|
+
if self.cost_per_1m_cached_input_tokens is not None:
|
|
228
|
+
cost += (
|
|
229
|
+
self.cost_per_1m_cached_input_tokens * usage.cached_prompt_tokens
|
|
230
|
+
)
|
|
231
|
+
else:
|
|
232
|
+
# Fall back to regular input token pricing for cached tokens
|
|
233
|
+
cost += self.cost_per_1m_input_tokens * usage.cached_prompt_tokens
|
|
234
|
+
|
|
235
|
+
# Add cost for output/completion tokens
|
|
236
|
+
cost += self.cost_per_1m_output_tokens * usage.completion_tokens
|
|
237
|
+
|
|
238
|
+
return cost / 1000_000
|
|
224
239
|
|
|
225
240
|
pricing: Annotated[
|
|
226
241
|
Pricing | None,
|
|
@@ -405,6 +420,7 @@ class LMSamplingUsage(pg.Object):
|
|
|
405
420
|
prompt_tokens: int
|
|
406
421
|
completion_tokens: int
|
|
407
422
|
total_tokens: int
|
|
423
|
+
cached_prompt_tokens: int = 0
|
|
408
424
|
num_requests: int = 1
|
|
409
425
|
estimated_cost: Annotated[
|
|
410
426
|
float | None,
|
|
@@ -429,6 +445,11 @@ class LMSamplingUsage(pg.Object):
|
|
|
429
445
|
"""Returns the average completion tokens per request."""
|
|
430
446
|
return self.completion_tokens // self.num_requests
|
|
431
447
|
|
|
448
|
+
@property
|
|
449
|
+
def average_cached_prompt_tokens(self) -> int:
|
|
450
|
+
"""Returns the average cached prompt tokens per request."""
|
|
451
|
+
return self.cached_prompt_tokens // self.num_requests
|
|
452
|
+
|
|
432
453
|
@property
|
|
433
454
|
def average_total_tokens(self) -> int:
|
|
434
455
|
"""Returns the average total tokens per request."""
|
|
@@ -453,6 +474,8 @@ class LMSamplingUsage(pg.Object):
|
|
|
453
474
|
return LMSamplingUsage(
|
|
454
475
|
prompt_tokens=self.prompt_tokens + other.prompt_tokens,
|
|
455
476
|
completion_tokens=self.completion_tokens + other.completion_tokens,
|
|
477
|
+
cached_prompt_tokens=self.cached_prompt_tokens
|
|
478
|
+
+ other.cached_prompt_tokens,
|
|
456
479
|
total_tokens=self.total_tokens + other.total_tokens,
|
|
457
480
|
num_requests=self.num_requests + other.num_requests,
|
|
458
481
|
estimated_cost=estimated_cost,
|
|
@@ -1146,6 +1169,7 @@ class LanguageModel(component.Component):
|
|
|
1146
1169
|
prompt_tokens=usage.prompt_tokens // n,
|
|
1147
1170
|
completion_tokens=usage.completion_tokens // n,
|
|
1148
1171
|
total_tokens=usage.total_tokens // n,
|
|
1172
|
+
cached_prompt_tokens=usage.cached_prompt_tokens // n,
|
|
1149
1173
|
estimated_cost=(
|
|
1150
1174
|
usage.estimated_cost / n if usage.estimated_cost else None
|
|
1151
1175
|
),
|
|
@@ -1637,7 +1661,14 @@ class UsageSummary(pg.Object, pg.views.HtmlTreeView.Extension):
|
|
|
1637
1661
|
class AggregatedUsage(pg.Object):
|
|
1638
1662
|
"""Aggregated usage."""
|
|
1639
1663
|
|
|
1640
|
-
total: LMSamplingUsage = LMSamplingUsage(
|
|
1664
|
+
total: LMSamplingUsage = LMSamplingUsage(
|
|
1665
|
+
prompt_tokens=0,
|
|
1666
|
+
completion_tokens=0,
|
|
1667
|
+
total_tokens=0,
|
|
1668
|
+
cached_prompt_tokens=0,
|
|
1669
|
+
num_requests=0,
|
|
1670
|
+
estimated_cost=0.0,
|
|
1671
|
+
)
|
|
1641
1672
|
breakdown: dict[str, LMSamplingUsage] = {}
|
|
1642
1673
|
|
|
1643
1674
|
def __bool__(self) -> bool:
|