langfun 0.1.2.dev202505110803__tar.gz → 0.1.2.dev202505130804__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.dev202505110803 → langfun-0.1.2.dev202505130804}/PKG-INFO +1 -1
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/language_model.py +53 -3
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/gemini.py +7 -1
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/PKG-INFO +1 -1
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/LICENSE +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/README.md +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action_eval.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action_eval_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/correction.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/correction_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/execution.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/execution_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/generation.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/generation_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/parsing.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/parsing_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/sandboxing.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/python/sandboxing_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/component.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/component_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/concurrent.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/concurrent_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/console.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/console_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/anthropic.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/anthropic_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/gemini.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/gemini_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/openai.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/conversion/openai_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/base.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/base_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/matching.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/matching_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/patching.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/patching_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/scoring.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/scoring_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/checkpointing.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/checkpointing_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/eval_test_helper.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/evaluation.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/evaluation_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/example.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/example_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/experiment.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/experiment_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metric_values.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metric_values_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metrics.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metrics_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/progress.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/progress_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/progress_tracking.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/reporting.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/reporting_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/runners.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/runners_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/langfunc.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/langfunc_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/language_model_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/anthropic.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/anthropic_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/azure_openai.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/azure_openai_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/base.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/in_memory.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/in_memory_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/compositional.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/compositional_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/deepseek.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/deepseek_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/fake.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/fake_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/gemini_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/google_genai.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/google_genai_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/groq.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/groq_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/llama_cpp.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/llama_cpp_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/openai.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/openai_compatible.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/openai_compatible_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/openai_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/rest.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/rest_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/vertexai.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/vertexai_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/logging.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/logging_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/memories/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/memories/conversation_history.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/memories/conversation_history_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/memory.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/message.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/message_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/audio.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/audio_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/image.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/image_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/mime.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/mime_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/pdf.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/pdf_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/video.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/video_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modality.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modality_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/natural_language.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/natural_language_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/sampling.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/sampling_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/completion.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/completion_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/description.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/description_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/function_generation.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/function_generation_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/mapping.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/mapping_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/parsing.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/parsing_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/querying.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/querying_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/schema.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/schema_generation.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/schema_generation_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/schema_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/scoring.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/scoring_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/tokenization.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/tokenization_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/subscription.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/subscription_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/template.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/template_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/__init__.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/completion.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/completion_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/conversation.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/conversation_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/demonstration.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/demonstration_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/selfplay.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/selfplay_test.py +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/SOURCES.txt +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/dependency_links.txt +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/requires.txt +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/top_level.txt +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/setup.cfg +0 -0
- {langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/setup.py +0 -0
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/language_model.py
RENAMED
@@ -1019,11 +1019,21 @@ class LanguageModel(component.Component):
|
|
1019
1019
|
] = RetryableLMError,
|
1020
1020
|
) -> list[Any]:
|
1021
1021
|
"""Helper method for subclasses for implementing _sample."""
|
1022
|
+
if self.max_concurrency is None:
|
1023
|
+
execute = action
|
1024
|
+
executor = None
|
1025
|
+
max_workers = len(inputs)
|
1026
|
+
else:
|
1027
|
+
execute = lambda x: _ConcurrencyControl.get(
|
1028
|
+
self.resource_id, self.max_concurrency)(action, x)
|
1029
|
+
executor = self.resource_id if len(inputs) > 1 else None
|
1030
|
+
max_workers = self.max_concurrency
|
1031
|
+
|
1022
1032
|
executed_jobs = concurrent.concurrent_execute(
|
1023
|
-
|
1033
|
+
execute,
|
1024
1034
|
inputs,
|
1025
|
-
executor=
|
1026
|
-
max_workers=
|
1035
|
+
executor=executor,
|
1036
|
+
max_workers=max_workers,
|
1027
1037
|
retry_on_errors=retry_on_errors,
|
1028
1038
|
max_attempts=self.max_attempts,
|
1029
1039
|
retry_interval=self.retry_interval,
|
@@ -1323,6 +1333,46 @@ class LanguageModel(component.Component):
|
|
1323
1333
|
return None
|
1324
1334
|
|
1325
1335
|
|
1336
|
+
class _ConcurrencyControl:
|
1337
|
+
"""Controls the max concurrent LLM calls for a given model."""
|
1338
|
+
|
1339
|
+
_MODEL_CONCURRENCY: ClassVar[dict[str, '_ConcurrencyControl']] = {}
|
1340
|
+
|
1341
|
+
def __init__(self, max_concurrency: int):
|
1342
|
+
self.max_concurrency = max_concurrency
|
1343
|
+
self._concurrency = 0
|
1344
|
+
|
1345
|
+
@property
|
1346
|
+
def concurrency(self) -> int:
|
1347
|
+
"""Returns the current concurrency."""
|
1348
|
+
return self._concurrency
|
1349
|
+
|
1350
|
+
def __call__(self, fn: Callable[..., Any], *args, **kwargs):
|
1351
|
+
"""Calls the function with concurrency control."""
|
1352
|
+
while self._concurrency >= self.max_concurrency:
|
1353
|
+
time.sleep(0.01)
|
1354
|
+
|
1355
|
+
try:
|
1356
|
+
# Increment/decrement is atomic in Python, so we don't need to protect it
|
1357
|
+
# with a lock.
|
1358
|
+
self._concurrency += 1
|
1359
|
+
return fn(*args, **kwargs)
|
1360
|
+
finally:
|
1361
|
+
self._concurrency -= 1
|
1362
|
+
|
1363
|
+
@classmethod
|
1364
|
+
def get(
|
1365
|
+
cls, model_id: str, max_concurrency: int | None = None
|
1366
|
+
) -> '_ConcurrencyControl':
|
1367
|
+
"""Returns the concurrency control for the given model ID."""
|
1368
|
+
control = cls._MODEL_CONCURRENCY.get(model_id, None)
|
1369
|
+
if control is None:
|
1370
|
+
assert max_concurrency is not None
|
1371
|
+
control = cls(max_concurrency)
|
1372
|
+
cls._MODEL_CONCURRENCY[model_id] = control
|
1373
|
+
return control
|
1374
|
+
|
1375
|
+
|
1326
1376
|
class UsageSummary(pg.Object, pg.views.HtmlTreeView.Extension):
|
1327
1377
|
"""Usage sumary."""
|
1328
1378
|
|
@@ -678,9 +678,15 @@ class Gemini(rest.REST):
|
|
678
678
|
return config
|
679
679
|
|
680
680
|
def result(self, json: dict[str, Any]) -> lf.LMSamplingResult:
|
681
|
+
candidates = json.get('candidates')
|
682
|
+
if candidates is None:
|
683
|
+
raise lf.TemporaryLMError(
|
684
|
+
'No candidates found in response. This is a Gemini API issue that '
|
685
|
+
'happens occasionally, and retrying should fix it. '
|
686
|
+
)
|
681
687
|
messages = [
|
682
688
|
lf.Message.from_value(candidate['content'], format='gemini')
|
683
|
-
for candidate in
|
689
|
+
for candidate in candidates
|
684
690
|
]
|
685
691
|
usage = json['usageMetadata']
|
686
692
|
input_tokens = usage['promptTokenCount']
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/__init__.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action_eval.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/agentic/action_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/coding/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/component_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/concurrent_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/console_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/data/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/__init__.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/base_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/matching.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/matching_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/patching.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/patching_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/scoring.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/scoring_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/evaluation.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/example.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/example_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/experiment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metrics.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/metrics_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/progress.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/reporting.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/runners.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/eval/v2/runners_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/langfunc_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/language_model_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/__init__.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/anthropic.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/anthropic_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/azure_openai.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/__init__.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/base.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/cache/in_memory.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/compositional.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/deepseek.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/deepseek_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/fake_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/gemini_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/google_genai.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/groq_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/llama_cpp.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/llama_cpp_test.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/openai_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/rest_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/vertexai.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/llms/vertexai_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/logging_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/memories/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/message_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/__init__.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/audio.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/image.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/mime.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/mime_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/pdf.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/pdf_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modalities/video.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/modality_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/natural_language.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/sampling_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/mapping.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/parsing.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/querying.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/structured/scoring.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/subscription.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/subscription_test.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/template_test.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/__init__.py
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/completion.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun/core/templates/selfplay.py
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/requires.txt
RENAMED
File without changes
|
{langfun-0.1.2.dev202505110803 → langfun-0.1.2.dev202505130804}/langfun.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|