agenta 0.25.4a1__tar.gz → 0.25.4a2__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 agenta might be problematic. Click here for more details.
- {agenta-0.25.4a1 → agenta-0.25.4a2}/PKG-INFO +3 -1
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/decorators/routing.py +3 -4
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/litellm/litellm.py +4 -2
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/inline.py +40 -2
- {agenta-0.25.4a1 → agenta-0.25.4a2}/pyproject.toml +2 -1
- {agenta-0.25.4a1 → agenta-0.25.4a2}/README.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/evaluation_commands.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/helper.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/main.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/telemetry.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/variant_commands.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/cli/variant_configs.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/Readme.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/api.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/api_models.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/apps/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/apps/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/bases/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/bases/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/configs/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/configs/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/containers/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/containers/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/containers/types/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/containers/types/container_templates_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/api_error.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/client_wrapper.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/datetime_utils.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/file.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/http_client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/jsonable_encoder.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/pydantic_utilities.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/query_encoder.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/request_options.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/core/serialization.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/environments/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/environments/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/errors/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/evaluations/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/evaluations/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/evaluators/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/evaluators/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/observability/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/observability/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/testsets/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/testsets/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/aggregated_result.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/app.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/app_variant_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/app_variant_revision.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/base_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/body_import_testset.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/config_db.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/correct_answer.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/create_app_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/create_span.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/create_trace_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/docker_env_vars.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/environment_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/environment_output_extended.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/environment_revision.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/error.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_score_update.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_type.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluator.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluator_config.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/get_config_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/http_validation_error.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_update.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_update.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/image.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/invite_request.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/list_api_keys_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/llm_tokens.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/lm_providers_enum.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/new_human_evaluation.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/new_testset.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/organization.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/organization_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/outputs.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/permission.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/result.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/score.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/span.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/span_detail.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/span_status_code.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/span_variant.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/template.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/template_image_info.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/test_set_output_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/test_set_simple_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/trace_detail.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/update_app_output.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/uri.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/validation_error.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/variant_action.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/variant_action_enum.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/with_pagination.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_member_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_permission.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_role.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_role_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/variants/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/variants/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/variants/types/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/exceptions.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/config.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/config.toml +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/Dockerfile.cloud.template +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/Dockerfile.template +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/README.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/entrypoint.sh +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/lambda_function.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker-assets/main.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/docker/docker_utils.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/agenta_init.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/assets.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/client.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/config_manager.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/context/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/context/routing.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/context/tracing.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/decorators/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/decorators/tracing.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/litellm/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/router.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/attributes.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/context.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/conventions.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/exporters.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/processors.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/spans.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/tracing/tracing.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/types.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/__init__.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/costs.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/debug.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/exceptions.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/globals.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/logging.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/preinit.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/sdk/utils/singleton.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/compose_email/README.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/compose_email/app.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/compose_email/env.example +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/compose_email/requirements.txt +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/compose_email/template.toml +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/extract_data_to_json/README.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/extract_data_to_json/app.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/extract_data_to_json/env.example +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/extract_data_to_json/requirements.txt +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/extract_data_to_json/template.toml +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/simple_prompt/README.md +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/simple_prompt/app.py +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/simple_prompt/env.example +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/simple_prompt/requirements.txt +0 -0
- {agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/templates/simple_prompt/template.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: agenta
|
|
3
|
-
Version: 0.25.
|
|
3
|
+
Version: 0.25.4a2
|
|
4
4
|
Summary: The SDK for agenta is an open-source LLMOps platform.
|
|
5
5
|
Home-page: https://agenta.ai
|
|
6
6
|
Keywords: LLMOps,LLM,evaluation,prompt engineering
|
|
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
18
|
Classifier: Topic :: Software Development :: Libraries
|
|
18
19
|
Requires-Dist: cachetools (>=5.3.3,<6.0.0)
|
|
19
20
|
Requires-Dist: click (>=8.1.3,<9.0.0)
|
|
@@ -22,6 +23,7 @@ Requires-Dist: fastapi (>=0.100.0)
|
|
|
22
23
|
Requires-Dist: httpx (>=0.24,<0.28)
|
|
23
24
|
Requires-Dist: importlib-metadata (>=8.0.0,<9.0)
|
|
24
25
|
Requires-Dist: ipdb (>=0.13)
|
|
26
|
+
Requires-Dist: litellm (>=1.48.0,<2.0.0)
|
|
25
27
|
Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
|
|
26
28
|
Requires-Dist: opentelemetry-exporter-otlp (>=1.27.0,<2.0.0)
|
|
27
29
|
Requires-Dist: opentelemetry-sdk (>=1.27.0,<2.0.0)
|
|
@@ -656,8 +656,7 @@ class entrypoint:
|
|
|
656
656
|
|
|
657
657
|
SHOW_DETAILS = True
|
|
658
658
|
SHOW_DATA = False
|
|
659
|
-
|
|
660
|
-
SHOW_SPAN_ATTRIBUTES = False
|
|
659
|
+
SHOW_TRACE = False
|
|
661
660
|
|
|
662
661
|
log.info("\n========= Result =========\n")
|
|
663
662
|
|
|
@@ -665,14 +664,14 @@ class entrypoint:
|
|
|
665
664
|
if SHOW_DETAILS:
|
|
666
665
|
log.info(f"latency: {result.trace.get('latency')}")
|
|
667
666
|
log.info(f"cost: {result.trace.get('cost')}")
|
|
668
|
-
log.info(f"
|
|
667
|
+
log.info(f"usage: {list(result.trace.get('usage', {}).values())}")
|
|
669
668
|
|
|
670
669
|
if SHOW_DATA:
|
|
671
670
|
log.info(" ")
|
|
672
671
|
log.info(f"data:")
|
|
673
672
|
log.info(json.dumps(result.data, indent=2))
|
|
674
673
|
|
|
675
|
-
if
|
|
674
|
+
if SHOW_TRACE:
|
|
676
675
|
log.info(" ")
|
|
677
676
|
log.info(f"trace:")
|
|
678
677
|
log.info(f"----------------")
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import agenta as ag
|
|
2
2
|
|
|
3
|
+
from opentelemetry.trace import SpanKind
|
|
4
|
+
|
|
3
5
|
from agenta.sdk.tracing.spans import CustomSpan
|
|
4
6
|
from agenta.sdk.utils.exceptions import suppress
|
|
5
7
|
from agenta.sdk.utils.logging import log
|
|
@@ -42,10 +44,10 @@ def litellm_handler():
|
|
|
42
44
|
else "embedding"
|
|
43
45
|
)
|
|
44
46
|
|
|
45
|
-
kind =
|
|
47
|
+
kind = SpanKind.CLIENT
|
|
46
48
|
|
|
47
49
|
self.span = CustomSpan(
|
|
48
|
-
ag.tracer.start_span(name=f"litellm_{kind.lower()}", kind=kind)
|
|
50
|
+
ag.tracer.start_span(name=f"litellm_{kind.name.lower()}", kind=kind)
|
|
49
51
|
)
|
|
50
52
|
|
|
51
53
|
self.span.set_attributes(
|
|
@@ -999,7 +999,7 @@ def parse_to_agenta_span_dto(
|
|
|
999
999
|
########################################
|
|
1000
1000
|
|
|
1001
1001
|
|
|
1002
|
-
from
|
|
1002
|
+
from litellm import cost_calculator
|
|
1003
1003
|
from opentelemetry.sdk.trace import ReadableSpan
|
|
1004
1004
|
|
|
1005
1005
|
|
|
@@ -1029,6 +1029,8 @@ def parse_inline_trace(
|
|
|
1029
1029
|
### services.observability.service.ingest/query() ###
|
|
1030
1030
|
#####################################################
|
|
1031
1031
|
|
|
1032
|
+
_calculate_cost(span_idx)
|
|
1033
|
+
|
|
1032
1034
|
###############################################
|
|
1033
1035
|
### services.observability.service.ingest() ###
|
|
1034
1036
|
### --------------------------------------- ###
|
|
@@ -1083,7 +1085,7 @@ def parse_inline_trace(
|
|
|
1083
1085
|
"trace_id": trace_id,
|
|
1084
1086
|
"latency": latency,
|
|
1085
1087
|
"cost": cost,
|
|
1086
|
-
"
|
|
1088
|
+
"usage": tokens,
|
|
1087
1089
|
"spans": spans,
|
|
1088
1090
|
}
|
|
1089
1091
|
|
|
@@ -1267,3 +1269,39 @@ def _parse_to_legacy_span(span: SpanDTO) -> CreateSpan:
|
|
|
1267
1269
|
)
|
|
1268
1270
|
|
|
1269
1271
|
return legacy_span
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
PAYING_TYPES = [
|
|
1275
|
+
"embedding",
|
|
1276
|
+
"query",
|
|
1277
|
+
"completion",
|
|
1278
|
+
"chat",
|
|
1279
|
+
"rerank",
|
|
1280
|
+
]
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
def _calculate_cost(span_idx: Dict[str, SpanCreateDTO]):
|
|
1284
|
+
for span in span_idx.values():
|
|
1285
|
+
if span.node.type.name.lower() in PAYING_TYPES and span.meta and span.metrics:
|
|
1286
|
+
|
|
1287
|
+
try:
|
|
1288
|
+
costs = cost_calculator.cost_per_token(
|
|
1289
|
+
model=span.meta.get("response.model"),
|
|
1290
|
+
prompt_tokens=span.metrics.get("unit.tokens.prompt", 0.0),
|
|
1291
|
+
completion_tokens=span.metrics.get("unit.tokens.completion", 0.0),
|
|
1292
|
+
call_type=span.node.type.name.lower(),
|
|
1293
|
+
response_time_ms=span.time.span // 1_000,
|
|
1294
|
+
)
|
|
1295
|
+
|
|
1296
|
+
if not costs:
|
|
1297
|
+
continue
|
|
1298
|
+
|
|
1299
|
+
prompt_cost, completion_cost = costs
|
|
1300
|
+
total_cost = prompt_cost + completion_cost
|
|
1301
|
+
|
|
1302
|
+
span.metrics["unit.costs.prompt"] = prompt_cost
|
|
1303
|
+
span.metrics["unit.costs.completion"] = completion_cost
|
|
1304
|
+
span.metrics["unit.costs.total"] = total_cost
|
|
1305
|
+
|
|
1306
|
+
except:
|
|
1307
|
+
pass
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "agenta"
|
|
3
|
-
version = "0.25.
|
|
3
|
+
version = "0.25.4a2"
|
|
4
4
|
description = "The SDK for agenta is an open-source LLMOps platform."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = ["Mahmoud Mabrouk <mahmoud@agenta.ai>"]
|
|
@@ -36,6 +36,7 @@ pyyaml = "^6.0.2"
|
|
|
36
36
|
opentelemetry-api = "^1.27.0"
|
|
37
37
|
opentelemetry-sdk = "^1.27.0"
|
|
38
38
|
opentelemetry-exporter-otlp = "^1.27.0"
|
|
39
|
+
litellm ="^1.48.0"
|
|
39
40
|
|
|
40
41
|
[tool.poetry.dev-dependencies]
|
|
41
42
|
pytest = "^8.3"
|
|
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
|
|
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
|
|
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
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/errors/unprocessable_entity_error.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
|
|
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
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/environment_output_extended.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_input.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_output.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_result.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/evaluation_scenario_score_update.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
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_input.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_output.py
RENAMED
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/human_evaluation_scenario_update.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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/validation_error_loc_item.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.25.4a1 → agenta-0.25.4a2}/agenta/client/backend/types/workspace_member_response.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
|
|
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
|
|
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
|
|
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
|
|
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
|