agenta 0.39.3__tar.gz → 0.40.0__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.39.3 → agenta-0.40.0}/PKG-INFO +104 -67
- {agenta-0.39.3 → agenta-0.40.0}/README.md +103 -66
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/decorators/tracing.py +3 -1
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/attributes.py +51 -7
- {agenta-0.39.3 → agenta-0.40.0}/pyproject.toml +1 -1
- {agenta-0.39.3 → agenta-0.40.0}/agenta/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/Readme.md +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/access_control/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/access_control/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/admin/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/admin/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/api_keys/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/api_keys/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/apps/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/apps/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/bases/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/bases/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/configs/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/configs/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/containers/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/containers/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/containers/types/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/containers/types/container_templates_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/api_error.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/client_wrapper.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/datetime_utils.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/file.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/http_client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/jsonable_encoder.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/pydantic_utilities.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/query_encoder.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/request_options.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/core/serialization.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/environments/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/environments/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/errors/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/evaluations/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/evaluations/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/evaluators/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/evaluators/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/human_evaluations/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/human_evaluations/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/types/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/types/format.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/types/query_analytics_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/observability/types/query_traces_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/organization/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/organization/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/scopes/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/scopes/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/testsets/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/testsets/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/account_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_node_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_node_dto_nodes_value.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_nodes_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_root_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_roots_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_tree_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/agenta_trees_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/aggregated_result.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/analytics_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/app.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/app_variant_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/app_variant_revision.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/base_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/body_import_testset.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/bucket_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/collect_status_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/config_db.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/config_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/config_response_model.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/correct_answer.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/create_app_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/custom_model_settings_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/custom_provider_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/custom_provider_kind.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/custom_provider_settings_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/data.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/delete_evaluation.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/docker_env_vars.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/environment_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/environment_output_extended.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/environment_revision.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/error.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_scenario.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluation_type.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluator.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluator_config.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluator_mapping_output_interface.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/evaluator_output_interface.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/exception_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/get_config_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/header_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/http_validation_error.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/human_evaluation.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/image.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/invite_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_analytics_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_data_point.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_scope_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_scopes_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_user_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/legacy_user_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/lifecycle_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/link_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/list_api_keys_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/metrics_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/new_testset.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/node_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/node_type.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_context_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_event_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_extra_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_link_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_span_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_span_kind.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_spans_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/o_tel_status_code.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/organization.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/organization_details.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/organization_membership_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/organization_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/organization_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/parent_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/permission.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/project_membership_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/project_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/project_scope.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/projects_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/provider_key_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/provider_kind.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/reference.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/reference_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/reference_request_model.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/result.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/role.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/root_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/scopes_response_model.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/score.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/secret_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/secret_kind.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/secret_response_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/span_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/span_dto_nodes_value.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/standard_provider_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/standard_provider_kind.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/standard_provider_settings_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/status_code.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/status_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/template.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/template_image_info.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/test_set_output_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/test_set_simple_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/time_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/tree_dto.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/tree_type.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/update_app_output.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/uri.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/user_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/validation_error.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/variant_action.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/variant_action_enum.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_member_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_membership_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_permission.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_request.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_role.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/types/workspace_role_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/variants/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/variants/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/variants/types/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/vault/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/vault/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/workspace/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/backend/workspace/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/client.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/types/provider_key_dto.py~HEAD +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/types/provider_key_dto.py~feat_model-registry +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/types/provider_kind.py~HEAD +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/client/types/provider_kind.py~feat_model-registry +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/config.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/config.toml +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/agenta_init.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/assets.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/context/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/context/exporting.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/context/routing.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/context/tracing.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/decorators/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/decorators/routing.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/litellm/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/litellm/litellm.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/litellm/mockllm.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/litellm/mocks/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/apps.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/config.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/deployment.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/secrets.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/shared.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/variant.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/managers/vault.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/auth.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/config.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/cors.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/inline.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/mock.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/otel.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/middleware/vault.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/router.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/conventions.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/exporters.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/inline.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/processors.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/propagation.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/spans.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/tracing/tracing.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/types.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/__init__.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/cache.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/constants.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/costs.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/exceptions.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/globals.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/helpers.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/logging.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/preinit.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/singleton.py +0 -0
- {agenta-0.39.3 → agenta-0.40.0}/agenta/sdk/utils/timing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: agenta
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.40.0
|
|
4
4
|
Summary: The SDK for agenta is an open-source LLMOps platform.
|
|
5
5
|
Keywords: LLMOps,LLM,evaluation,prompt engineering
|
|
6
6
|
Author: Mahmoud Mabrouk
|
|
@@ -33,6 +33,7 @@ Project-URL: Homepage, https://agenta.ai
|
|
|
33
33
|
Project-URL: Repository, https://github.com/agenta-ai/agenta
|
|
34
34
|
Description-Content-Type: text/markdown
|
|
35
35
|
|
|
36
|
+
|
|
36
37
|
<p align="center">
|
|
37
38
|
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
38
39
|
<picture >
|
|
@@ -41,33 +42,45 @@ Description-Content-Type: text/markdown
|
|
|
41
42
|
<img alt="Shows the logo of agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/68e055d4-d7b8-4943-992f-761558c64253" >
|
|
42
43
|
</picture>
|
|
43
44
|
</a>
|
|
44
|
-
</p>
|
|
45
|
-
<p align="center">
|
|
46
|
-
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">Documentation</a> |
|
|
47
|
-
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">Website</a> |
|
|
48
|
-
<a href="https://join.slack.com/t/agenta-hq/shared_invite/zt-2yewk6o2b-DmhyA4h_lkKwecDtIsj1AQ">Slack</a>
|
|
49
|
-
</p>
|
|
50
45
|
<div align="center">
|
|
51
|
-
<strong> <h1> The Open
|
|
52
|
-
|
|
46
|
+
<strong> <h1> The Open-source LLMOps Platform </h1></strong>
|
|
47
|
+
Build reliable LLM applications faster with integrated prompt management, evaluation, and observability.
|
|
53
48
|
</div>
|
|
54
|
-
|
|
49
|
+
<br />
|
|
50
|
+
<div align="center" >
|
|
51
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
52
|
+
<picture >
|
|
53
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/9a4fde42-c96c-4ec2-b8d1-c8c0e3851a00/large" >
|
|
54
|
+
<source media="(prefers-color-scheme: light)" srcset="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/98140352-14c0-4db1-bafb-a1e8d271d500/large" >
|
|
55
|
+
<img alt="Shows the logo of agenta" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/98140352-14c0-4db1-bafb-a1e8d271d500/large" >
|
|
56
|
+
</picture>
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
<h3 align="center">
|
|
64
|
+
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Documentation</b></a> •
|
|
65
|
+
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Website</b></a> •
|
|
66
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Agenta Cloud</b></a>
|
|
67
|
+
</h3>
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
55
71
|
<p align="center">
|
|
56
72
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license." />
|
|
57
73
|
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
58
74
|
<img src="https://img.shields.io/badge/Doc-online-green" alt="Doc">
|
|
59
75
|
</a>
|
|
60
|
-
|
|
61
76
|
<a href="https://github.com/Agenta-AI/agenta/blob/main/CONTRIBUTING.md">
|
|
62
77
|
<img src="https://img.shields.io/badge/PRs-Welcome-brightgreen" alt="PRs welcome" />
|
|
63
78
|
</a>
|
|
64
79
|
<img src="https://img.shields.io/github/contributors/Agenta-AI/agenta" alt="Contributors">
|
|
65
|
-
<img src="https://img.shields.io/github/last-commit/Agenta-AI/agenta" alt="Last Commit">
|
|
66
|
-
<img src="https://img.shields.io/github/commit-activity/m/agenta-ai/agenta" alt="Commits per month">
|
|
67
|
-
|
|
68
80
|
<a href="https://pypi.org/project/agenta/">
|
|
69
81
|
<img src="https://img.shields.io/pypi/dm/agenta" alt="PyPI - Downloads">
|
|
70
82
|
</a>
|
|
83
|
+
<img src="https://img.shields.io/github/last-commit/Agenta-AI/agenta" alt="Last Commit">
|
|
71
84
|
</br>
|
|
72
85
|
</p>
|
|
73
86
|
|
|
@@ -83,70 +96,74 @@ Description-Content-Type: text/markdown
|
|
|
83
96
|
</a>
|
|
84
97
|
</p>
|
|
85
98
|
|
|
86
|
-
<br />
|
|
87
99
|
<p align="center">
|
|
88
100
|
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
89
101
|
<picture >
|
|
90
|
-
<source width="
|
|
91
|
-
<source width="
|
|
92
|
-
<img alt="Try Agenta Live Demo" src="https://github.com/
|
|
102
|
+
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
103
|
+
<source width="200" media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
104
|
+
<img alt="Try Agenta Live Demo" src="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
93
105
|
</picture>
|
|
94
106
|
</a>
|
|
95
107
|
</p>
|
|
96
108
|
|
|
97
|
-
<br/>
|
|
98
|
-
<br />
|
|
99
|
-
<div align="center" >
|
|
100
|
-
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
101
|
-
<picture >
|
|
102
|
-
<img width="800" alt="Screenshot Agenta" src="https://github.com/user-attachments/assets/32e95ddb-e001-4462-b92e-72bf4cc78597" >
|
|
103
|
-
</picture>
|
|
104
|
-
</a>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
<br />
|
|
108
|
-
<br />
|
|
109
|
-
|
|
110
109
|
---
|
|
111
110
|
|
|
112
|
-
|
|
113
|
-
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Documentation</b></a> •
|
|
114
|
-
<a href="https://docs.agenta.ai/changelog/main?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Changelog</b></a> •
|
|
115
|
-
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Website</b></a> •
|
|
116
|
-
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Agenta Cloud</b></a>
|
|
111
|
+
## What is Agenta?
|
|
117
112
|
|
|
118
|
-
|
|
113
|
+
Agenta is a platform for building production-grade LLM applications. It helps **engineering** and **product teams** create reliable LLM apps faster through integrated prompt management, evaluation, and observability.
|
|
119
114
|
|
|
120
|
-
|
|
115
|
+
## Core Features
|
|
121
116
|
|
|
122
|
-
|
|
117
|
+
### 🧪 Prompt Engineering & Management
|
|
118
|
+
Collaborate with Subject Matter Experts (SMEs) on prompt engineering and make sure nothing breaks in production.
|
|
123
119
|
|
|
124
|
-
|
|
120
|
+
- **Interactive Playground**: Compare prompts side by side against your test cases
|
|
121
|
+
- **Multi-Model Support**: Experiment with 50+ LLM models or [bring-your-own models](https://docs.agenta.ai/prompt-management/adding-custom-providers?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
122
|
+
- **Version Control**: Version prompts and configurations with branching and environments
|
|
123
|
+
- **Complex Configurations**: Enable SMEs to collaborate on [complex configuration schemas](https://docs.agenta.ai/custom-workflows/overview?utm_source=github&utm_medium=referral&utm_campaign=readme) beyond simple prompts
|
|
125
124
|
|
|
125
|
+
[Explore prompt management →](https://docs.agenta.ai/prompt-management/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
### 📊 Evaluation & Testing
|
|
128
|
+
Evaluate your LLM applications systematically with both human and automated feedback.
|
|
129
|
+
- **Flexible Test Sets**: Create test cases from production data, playground experiments, or upload CSVs
|
|
130
|
+
- **Pre-built and Custom Evaluators**: Use LLM-as-judge, one of our 20+ pre-built evaluators, or you custom evaluators
|
|
131
|
+
- **UI and API Access**: Run evaluations via UI (for SMEs) or programmatically (for engineers)
|
|
132
|
+
- **Human Feedback Integration**: Collect and incorporate expert annotations
|
|
128
133
|
|
|
129
|
-
|
|
130
|
-
- **Prompt Playground**: Experiment, iterate on prompts, and compare outputs from over 50 LLM models side by side ([docs](https://docs.agenta.ai/prompt-management/using-the-playground?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
131
|
-
- **Custom Workflows**: Build a playground for any custom LLM workflow, such as RAG or agents. Enable all the team to easily iterate on its parameters and evaluate it from the web UI.
|
|
132
|
-
- **LLM evaluation**: Run evaluation suite from the webUI using predefined evaluators like LLM-as-a-judge, RAG evaluators, or custom code evaluators. ([docs](https://docs.agenta.ai/evaluation/overview?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
133
|
-
- **Human evaluation**: Collaborate with subject matter experts for human annotation evaluation, including A/B testing and annotating golden test sets.
|
|
134
|
-
- **Prompt Management**: Version your prompts and manage them across different environments ([docs](https://docs.agenta.ai/prompt-management/overview?utm_source=github&utm_medium=referral&utm_campaign=readme), [quick start](https://docs.agenta.ai/prompt-management/quick-start?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
135
|
-
- **LLM Tracing**: Observe and debug your apps with integrations to most providers and frameworks ([docs](https://docs.agenta.ai/observability/overview?utm_source=github&utm_medium=referral&utm_campaign=readme), [quick start](https://docs.agenta.ai/observability/quickstart?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
136
|
-
- **LLM Monitoring**: Track cost and latency and compare different deployments.
|
|
134
|
+
[Explore evaluation frameworks →](https://docs.agenta.ai/evaluation/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
137
135
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
136
|
+
### 📡 Observability & Monitoring
|
|
137
|
+
Get visibility into your LLM applications in production.
|
|
138
|
+
- **Cost & Performance Tracking**: Monitor spending, latency, and usage patterns
|
|
139
|
+
- **Tracing**: Debug complex workflows with detailed traces
|
|
140
|
+
- **Open Standards**: OpenTelemetry native tracing compatible with OpenLLMetry, and OpenInference
|
|
141
|
+
- **Integrations**: Comes with pre-built integrations for most models and frameworks
|
|
142
|
+
|
|
143
|
+
[Learn about observability →](https://docs.agenta.ai/observability/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
144
|
+
|
|
145
|
+
## 📸 Screenshots
|
|
142
146
|
|
|
147
|
+
<img alt="Playground" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/e7d16967-d564-4148-3615-03bfe2a29d00/large" />
|
|
148
|
+
<img alt="Prompt Management" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/b4210a13-b41e-4dfd-d383-4286fb011e00/large" />
|
|
149
|
+
<img alt="Evaluation" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/4b1c62b9-ff6e-4bd1-4c8d-de59b8485e00/large" />
|
|
150
|
+
<img alt="Observability" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/5c764759-e525-499e-544a-1077c45e9600/large" />
|
|
151
|
+
|
|
152
|
+
## 🚀 Getting Started
|
|
153
|
+
|
|
154
|
+
### Agenta Cloud (Recommended):
|
|
155
|
+
The easiest way to get started is through Agenta Cloud. Free tier available with no credit card required.
|
|
156
|
+
|
|
157
|
+
<p align="center">
|
|
143
158
|
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
144
159
|
<picture >
|
|
145
|
-
<source width="
|
|
146
|
-
<source width="
|
|
147
|
-
<img alt="
|
|
160
|
+
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
161
|
+
<source width="200" media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
162
|
+
<img alt="Try Agenta Live Demo" src="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
148
163
|
</picture>
|
|
149
164
|
</a>
|
|
165
|
+
</p>
|
|
166
|
+
|
|
150
167
|
|
|
151
168
|
|
|
152
169
|
### Self-hosting Agenta
|
|
@@ -156,31 +173,47 @@ The easiest way to get started is through Agenta Cloud. It is free to signup, an
|
|
|
156
173
|
git clone https://github.com/Agenta-AI/agenta && cd agenta
|
|
157
174
|
```
|
|
158
175
|
|
|
159
|
-
2.
|
|
160
|
-
|
|
161
|
-
3. Start Agenta services:
|
|
176
|
+
2. Start Agenta services:
|
|
162
177
|
```bash
|
|
163
178
|
docker compose -f hosting/docker-compose/oss/docker-compose.gh.yml --env-file hosting/docker-compose/oss/.env.oss.gh --profile with-web up -d
|
|
164
179
|
```
|
|
165
180
|
|
|
166
|
-
|
|
181
|
+
3. Access Agenta at `http://localhost`.
|
|
167
182
|
|
|
168
183
|
For deploying on a remote host, or using different ports refers to our [self-hosting](https://docs.agenta.ai/self-host/host-locally?utm_source=github&utm_medium=referral&utm_campaign=readme) and [remote deployment documentation](https://docs.agenta.ai/self-host/host-remotely?utm_source=github&utm_medium=referral&utm_campaign=readme).
|
|
169
184
|
|
|
170
|
-
##
|
|
185
|
+
## 💬 Community
|
|
171
186
|
|
|
172
|
-
|
|
187
|
+
Find help, explore resources, or get involved:
|
|
173
188
|
|
|
189
|
+
### 🧰 Support
|
|
174
190
|
|
|
175
|
-
|
|
191
|
+
- **📚 [Documentation](https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Full guides and API reference
|
|
192
|
+
- **📋 [Changelog](https://docs.agenta.ai/changelog/main?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Track recent updates
|
|
193
|
+
- **💬 [Slack Community](https://join.slack.com/t/agenta-hq/shared_invite/zt-2yewk6o2b-DmhyA4h_lkKwecDtIsj1AQ)** – Ask questions and get support
|
|
176
194
|
|
|
177
|
-
|
|
195
|
+
### 🤝 Contribute
|
|
178
196
|
|
|
179
|
-
We
|
|
197
|
+
We welcome contributions of all kinds — from filing issues and sharing ideas to improving the codebase.
|
|
180
198
|
|
|
181
|
-
|
|
199
|
+
- **🐛 [Report bugs](https://github.com/Agenta-AI/agenta/issues)** – Help us by reporting problems you encounter
|
|
200
|
+
- **💡 [Share ideas and feedback](https://github.com/Agenta-AI/agenta/discussions)** – Suggest features or vote on ideas
|
|
201
|
+
- **🔧 [Contribute to the codebase](https://docs.agenta.ai/misc/contributing/getting-started?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Read the guide and open a pull request
|
|
182
202
|
|
|
183
|
-
|
|
203
|
+
## ⭐ Star Agenta
|
|
204
|
+
|
|
205
|
+
**Consider giving us a star!** It helps us grow our community and gets Agenta in front of more developers.
|
|
206
|
+
</br>
|
|
207
|
+
</br>
|
|
208
|
+
<p align="center">
|
|
209
|
+
<a href="https://github.com/agenta-ai/agenta">
|
|
210
|
+
|
|
211
|
+
<img width="300" alt="Star us" src="https://github.com/user-attachments/assets/2c8e580a-c930-4312-bf1b-08f631b41c62" />
|
|
212
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
213
|
+
|
|
214
|
+
</p>
|
|
215
|
+
|
|
216
|
+
## Contributors ✨
|
|
184
217
|
|
|
185
218
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
186
219
|
[](#contributors-)
|
|
@@ -266,3 +299,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
266
299
|
|
|
267
300
|
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind are welcome!
|
|
268
301
|
|
|
302
|
+
## Disabling Anonymized Tracking
|
|
303
|
+
|
|
304
|
+
By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information. To disable anonymized telemetry set `TELEMETRY_ENABLED` to `false` in your `.env` file.
|
|
305
|
+
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
<p align="center">
|
|
2
3
|
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
3
4
|
<picture >
|
|
@@ -6,33 +7,45 @@
|
|
|
6
7
|
<img alt="Shows the logo of agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/68e055d4-d7b8-4943-992f-761558c64253" >
|
|
7
8
|
</picture>
|
|
8
9
|
</a>
|
|
9
|
-
</p>
|
|
10
|
-
<p align="center">
|
|
11
|
-
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">Documentation</a> |
|
|
12
|
-
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">Website</a> |
|
|
13
|
-
<a href="https://join.slack.com/t/agenta-hq/shared_invite/zt-2yewk6o2b-DmhyA4h_lkKwecDtIsj1AQ">Slack</a>
|
|
14
|
-
</p>
|
|
15
10
|
<div align="center">
|
|
16
|
-
<strong> <h1> The Open
|
|
17
|
-
|
|
11
|
+
<strong> <h1> The Open-source LLMOps Platform </h1></strong>
|
|
12
|
+
Build reliable LLM applications faster with integrated prompt management, evaluation, and observability.
|
|
18
13
|
</div>
|
|
19
|
-
|
|
14
|
+
<br />
|
|
15
|
+
<div align="center" >
|
|
16
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
17
|
+
<picture >
|
|
18
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/9a4fde42-c96c-4ec2-b8d1-c8c0e3851a00/large" >
|
|
19
|
+
<source media="(prefers-color-scheme: light)" srcset="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/98140352-14c0-4db1-bafb-a1e8d271d500/large" >
|
|
20
|
+
<img alt="Shows the logo of agenta" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/98140352-14c0-4db1-bafb-a1e8d271d500/large" >
|
|
21
|
+
</picture>
|
|
22
|
+
</a>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
<h3 align="center">
|
|
29
|
+
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Documentation</b></a> •
|
|
30
|
+
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Website</b></a> •
|
|
31
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Agenta Cloud</b></a>
|
|
32
|
+
</h3>
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
20
36
|
<p align="center">
|
|
21
37
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license." />
|
|
22
38
|
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
23
39
|
<img src="https://img.shields.io/badge/Doc-online-green" alt="Doc">
|
|
24
40
|
</a>
|
|
25
|
-
|
|
26
41
|
<a href="https://github.com/Agenta-AI/agenta/blob/main/CONTRIBUTING.md">
|
|
27
42
|
<img src="https://img.shields.io/badge/PRs-Welcome-brightgreen" alt="PRs welcome" />
|
|
28
43
|
</a>
|
|
29
44
|
<img src="https://img.shields.io/github/contributors/Agenta-AI/agenta" alt="Contributors">
|
|
30
|
-
<img src="https://img.shields.io/github/last-commit/Agenta-AI/agenta" alt="Last Commit">
|
|
31
|
-
<img src="https://img.shields.io/github/commit-activity/m/agenta-ai/agenta" alt="Commits per month">
|
|
32
|
-
|
|
33
45
|
<a href="https://pypi.org/project/agenta/">
|
|
34
46
|
<img src="https://img.shields.io/pypi/dm/agenta" alt="PyPI - Downloads">
|
|
35
47
|
</a>
|
|
48
|
+
<img src="https://img.shields.io/github/last-commit/Agenta-AI/agenta" alt="Last Commit">
|
|
36
49
|
</br>
|
|
37
50
|
</p>
|
|
38
51
|
|
|
@@ -48,70 +61,74 @@
|
|
|
48
61
|
</a>
|
|
49
62
|
</p>
|
|
50
63
|
|
|
51
|
-
<br />
|
|
52
64
|
<p align="center">
|
|
53
65
|
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
54
66
|
<picture >
|
|
55
|
-
<source width="
|
|
56
|
-
<source width="
|
|
57
|
-
<img alt="Try Agenta Live Demo" src="https://github.com/
|
|
67
|
+
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
68
|
+
<source width="200" media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
69
|
+
<img alt="Try Agenta Live Demo" src="https://github.com/user-attachments/assets/a2069e7b-c3e0-4a5e-9e41-8ddc4660d1f2" >
|
|
58
70
|
</picture>
|
|
59
71
|
</a>
|
|
60
72
|
</p>
|
|
61
73
|
|
|
62
|
-
<br/>
|
|
63
|
-
<br />
|
|
64
|
-
<div align="center" >
|
|
65
|
-
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
66
|
-
<picture >
|
|
67
|
-
<img width="800" alt="Screenshot Agenta" src="https://github.com/user-attachments/assets/32e95ddb-e001-4462-b92e-72bf4cc78597" >
|
|
68
|
-
</picture>
|
|
69
|
-
</a>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
<br />
|
|
73
|
-
<br />
|
|
74
|
-
|
|
75
74
|
---
|
|
76
75
|
|
|
77
|
-
|
|
78
|
-
<a href="https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Documentation</b></a> •
|
|
79
|
-
<a href="https://docs.agenta.ai/changelog/main?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Changelog</b></a> •
|
|
80
|
-
<a href="https://agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Website</b></a> •
|
|
81
|
-
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme"><b>Agenta Cloud</b></a>
|
|
76
|
+
## What is Agenta?
|
|
82
77
|
|
|
83
|
-
|
|
78
|
+
Agenta is a platform for building production-grade LLM applications. It helps **engineering** and **product teams** create reliable LLM apps faster through integrated prompt management, evaluation, and observability.
|
|
84
79
|
|
|
85
|
-
|
|
80
|
+
## Core Features
|
|
86
81
|
|
|
87
|
-
|
|
82
|
+
### 🧪 Prompt Engineering & Management
|
|
83
|
+
Collaborate with Subject Matter Experts (SMEs) on prompt engineering and make sure nothing breaks in production.
|
|
88
84
|
|
|
89
|
-
|
|
85
|
+
- **Interactive Playground**: Compare prompts side by side against your test cases
|
|
86
|
+
- **Multi-Model Support**: Experiment with 50+ LLM models or [bring-your-own models](https://docs.agenta.ai/prompt-management/adding-custom-providers?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
87
|
+
- **Version Control**: Version prompts and configurations with branching and environments
|
|
88
|
+
- **Complex Configurations**: Enable SMEs to collaborate on [complex configuration schemas](https://docs.agenta.ai/custom-workflows/overview?utm_source=github&utm_medium=referral&utm_campaign=readme) beyond simple prompts
|
|
90
89
|
|
|
90
|
+
[Explore prompt management →](https://docs.agenta.ai/prompt-management/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
### 📊 Evaluation & Testing
|
|
93
|
+
Evaluate your LLM applications systematically with both human and automated feedback.
|
|
94
|
+
- **Flexible Test Sets**: Create test cases from production data, playground experiments, or upload CSVs
|
|
95
|
+
- **Pre-built and Custom Evaluators**: Use LLM-as-judge, one of our 20+ pre-built evaluators, or you custom evaluators
|
|
96
|
+
- **UI and API Access**: Run evaluations via UI (for SMEs) or programmatically (for engineers)
|
|
97
|
+
- **Human Feedback Integration**: Collect and incorporate expert annotations
|
|
93
98
|
|
|
94
|
-
|
|
95
|
-
- **Prompt Playground**: Experiment, iterate on prompts, and compare outputs from over 50 LLM models side by side ([docs](https://docs.agenta.ai/prompt-management/using-the-playground?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
96
|
-
- **Custom Workflows**: Build a playground for any custom LLM workflow, such as RAG or agents. Enable all the team to easily iterate on its parameters and evaluate it from the web UI.
|
|
97
|
-
- **LLM evaluation**: Run evaluation suite from the webUI using predefined evaluators like LLM-as-a-judge, RAG evaluators, or custom code evaluators. ([docs](https://docs.agenta.ai/evaluation/overview?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
98
|
-
- **Human evaluation**: Collaborate with subject matter experts for human annotation evaluation, including A/B testing and annotating golden test sets.
|
|
99
|
-
- **Prompt Management**: Version your prompts and manage them across different environments ([docs](https://docs.agenta.ai/prompt-management/overview?utm_source=github&utm_medium=referral&utm_campaign=readme), [quick start](https://docs.agenta.ai/prompt-management/quick-start?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
100
|
-
- **LLM Tracing**: Observe and debug your apps with integrations to most providers and frameworks ([docs](https://docs.agenta.ai/observability/overview?utm_source=github&utm_medium=referral&utm_campaign=readme), [quick start](https://docs.agenta.ai/observability/quickstart?utm_source=github&utm_medium=referral&utm_campaign=readme))
|
|
101
|
-
- **LLM Monitoring**: Track cost and latency and compare different deployments.
|
|
99
|
+
[Explore evaluation frameworks →](https://docs.agenta.ai/evaluation/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
102
100
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
101
|
+
### 📡 Observability & Monitoring
|
|
102
|
+
Get visibility into your LLM applications in production.
|
|
103
|
+
- **Cost & Performance Tracking**: Monitor spending, latency, and usage patterns
|
|
104
|
+
- **Tracing**: Debug complex workflows with detailed traces
|
|
105
|
+
- **Open Standards**: OpenTelemetry native tracing compatible with OpenLLMetry, and OpenInference
|
|
106
|
+
- **Integrations**: Comes with pre-built integrations for most models and frameworks
|
|
107
|
+
|
|
108
|
+
[Learn about observability →](https://docs.agenta.ai/observability/overview?utm_source=github&utm_medium=referral&utm_campaign=readme)
|
|
109
|
+
|
|
110
|
+
## 📸 Screenshots
|
|
107
111
|
|
|
112
|
+
<img alt="Playground" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/e7d16967-d564-4148-3615-03bfe2a29d00/large" />
|
|
113
|
+
<img alt="Prompt Management" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/b4210a13-b41e-4dfd-d383-4286fb011e00/large" />
|
|
114
|
+
<img alt="Evaluation" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/4b1c62b9-ff6e-4bd1-4c8d-de59b8485e00/large" />
|
|
115
|
+
<img alt="Observability" src="https://imagedelivery.net/UNvjPBCIZFONpkVPQTxVuA/5c764759-e525-499e-544a-1077c45e9600/large" />
|
|
116
|
+
|
|
117
|
+
## 🚀 Getting Started
|
|
118
|
+
|
|
119
|
+
### Agenta Cloud (Recommended):
|
|
120
|
+
The easiest way to get started is through Agenta Cloud. Free tier available with no credit card required.
|
|
121
|
+
|
|
122
|
+
<p align="center">
|
|
108
123
|
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
109
124
|
<picture >
|
|
110
|
-
<source width="
|
|
111
|
-
<source width="
|
|
112
|
-
<img alt="
|
|
125
|
+
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
126
|
+
<source width="200" media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
127
|
+
<img alt="Try Agenta Live Demo" src="https://github.com/user-attachments/assets/3aa96780-b7e5-4b6f-bfee-8feaa36ff3b2" >
|
|
113
128
|
</picture>
|
|
114
129
|
</a>
|
|
130
|
+
</p>
|
|
131
|
+
|
|
115
132
|
|
|
116
133
|
|
|
117
134
|
### Self-hosting Agenta
|
|
@@ -121,31 +138,47 @@ The easiest way to get started is through Agenta Cloud. It is free to signup, an
|
|
|
121
138
|
git clone https://github.com/Agenta-AI/agenta && cd agenta
|
|
122
139
|
```
|
|
123
140
|
|
|
124
|
-
2.
|
|
125
|
-
|
|
126
|
-
3. Start Agenta services:
|
|
141
|
+
2. Start Agenta services:
|
|
127
142
|
```bash
|
|
128
143
|
docker compose -f hosting/docker-compose/oss/docker-compose.gh.yml --env-file hosting/docker-compose/oss/.env.oss.gh --profile with-web up -d
|
|
129
144
|
```
|
|
130
145
|
|
|
131
|
-
|
|
146
|
+
3. Access Agenta at `http://localhost`.
|
|
132
147
|
|
|
133
148
|
For deploying on a remote host, or using different ports refers to our [self-hosting](https://docs.agenta.ai/self-host/host-locally?utm_source=github&utm_medium=referral&utm_campaign=readme) and [remote deployment documentation](https://docs.agenta.ai/self-host/host-remotely?utm_source=github&utm_medium=referral&utm_campaign=readme).
|
|
134
149
|
|
|
135
|
-
##
|
|
150
|
+
## 💬 Community
|
|
136
151
|
|
|
137
|
-
|
|
152
|
+
Find help, explore resources, or get involved:
|
|
138
153
|
|
|
154
|
+
### 🧰 Support
|
|
139
155
|
|
|
140
|
-
|
|
156
|
+
- **📚 [Documentation](https://docs.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Full guides and API reference
|
|
157
|
+
- **📋 [Changelog](https://docs.agenta.ai/changelog/main?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Track recent updates
|
|
158
|
+
- **💬 [Slack Community](https://join.slack.com/t/agenta-hq/shared_invite/zt-2yewk6o2b-DmhyA4h_lkKwecDtIsj1AQ)** – Ask questions and get support
|
|
141
159
|
|
|
142
|
-
|
|
160
|
+
### 🤝 Contribute
|
|
143
161
|
|
|
144
|
-
We
|
|
162
|
+
We welcome contributions of all kinds — from filing issues and sharing ideas to improving the codebase.
|
|
145
163
|
|
|
146
|
-
|
|
164
|
+
- **🐛 [Report bugs](https://github.com/Agenta-AI/agenta/issues)** – Help us by reporting problems you encounter
|
|
165
|
+
- **💡 [Share ideas and feedback](https://github.com/Agenta-AI/agenta/discussions)** – Suggest features or vote on ideas
|
|
166
|
+
- **🔧 [Contribute to the codebase](https://docs.agenta.ai/misc/contributing/getting-started?utm_source=github&utm_medium=referral&utm_campaign=readme)** – Read the guide and open a pull request
|
|
147
167
|
|
|
148
|
-
|
|
168
|
+
## ⭐ Star Agenta
|
|
169
|
+
|
|
170
|
+
**Consider giving us a star!** It helps us grow our community and gets Agenta in front of more developers.
|
|
171
|
+
</br>
|
|
172
|
+
</br>
|
|
173
|
+
<p align="center">
|
|
174
|
+
<a href="https://github.com/agenta-ai/agenta">
|
|
175
|
+
|
|
176
|
+
<img width="300" alt="Star us" src="https://github.com/user-attachments/assets/2c8e580a-c930-4312-bf1b-08f631b41c62" />
|
|
177
|
+
<a href="https://cloud.agenta.ai?utm_source=github&utm_medium=referral&utm_campaign=readme">
|
|
178
|
+
|
|
179
|
+
</p>
|
|
180
|
+
|
|
181
|
+
## Contributors ✨
|
|
149
182
|
|
|
150
183
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
151
184
|
[](#contributors-)
|
|
@@ -230,3 +263,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
230
263
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
231
264
|
|
|
232
265
|
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind are welcome!
|
|
266
|
+
|
|
267
|
+
## Disabling Anonymized Tracking
|
|
268
|
+
|
|
269
|
+
By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information. To disable anonymized telemetry set `TELEMETRY_ENABLED` to `false` in your `.env` file.
|
|
@@ -103,19 +103,63 @@ def _encode_key(
|
|
|
103
103
|
return f"ag.{namespace}.{key}"
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
def
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
def _make_serializable(value: Any) -> Any:
|
|
107
|
+
"""
|
|
108
|
+
Transform complex nested structures into JSON-serializable form.
|
|
109
|
+
Handles Pydantic models, nested dictionaries and lists recursively.
|
|
110
|
+
"""
|
|
111
|
+
if value is None or isinstance(value, (str, int, float, bool, bytes)):
|
|
112
|
+
return value
|
|
113
|
+
|
|
114
|
+
# Handle Pydantic objects (prioritize v2 over v1 API)
|
|
115
|
+
if hasattr(value, "model_dump"): # Pydantic v2
|
|
116
|
+
return value.model_dump()
|
|
117
|
+
elif hasattr(value, "dict"): # Pydantic v1
|
|
118
|
+
return value.dict()
|
|
119
|
+
|
|
120
|
+
if isinstance(value, dict):
|
|
121
|
+
try:
|
|
122
|
+
# Test serialization without modifying - optimizes for already-serializable dicts
|
|
123
|
+
dumps(
|
|
124
|
+
value
|
|
125
|
+
) # If serialization fails, we'll catch the exception and process deeply
|
|
126
|
+
return value # Avoid unnecessary recursion for serializable dicts
|
|
127
|
+
except TypeError:
|
|
128
|
+
return {k: _make_serializable(v) for k, v in value.items()}
|
|
129
|
+
elif isinstance(value, list):
|
|
130
|
+
try:
|
|
131
|
+
# Test serialization without modifying - optimizes for already-serializable lists
|
|
132
|
+
dumps(
|
|
133
|
+
value
|
|
134
|
+
) # If serialization fails, we'll catch the exception and process deeply
|
|
135
|
+
return value # Avoid unnecessary recursion for serializable lists
|
|
136
|
+
except TypeError:
|
|
137
|
+
return [_make_serializable(item) for item in value]
|
|
138
|
+
|
|
139
|
+
return repr(value)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def _encode_value(value: Any) -> Optional[Attribute]:
|
|
143
|
+
"""
|
|
144
|
+
Encode values for tracing, ensuring proper JSON serialization.
|
|
145
|
+
Adds the @ag.type=json: prefix only to appropriate values.
|
|
146
|
+
"""
|
|
109
147
|
if value is None:
|
|
110
148
|
return None
|
|
111
149
|
|
|
112
150
|
if isinstance(value, (str, int, float, bool, bytes)):
|
|
113
151
|
return value
|
|
114
152
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
153
|
+
try:
|
|
154
|
+
if (
|
|
155
|
+
isinstance(value, (dict, list))
|
|
156
|
+
or hasattr(value, "model_dump")
|
|
157
|
+
or hasattr(value, "dict")
|
|
158
|
+
):
|
|
159
|
+
serializable_value = _make_serializable(value)
|
|
160
|
+
return "@ag.type=json:" + dumps(serializable_value)
|
|
161
|
+
except TypeError:
|
|
162
|
+
pass
|
|
119
163
|
|
|
120
164
|
return repr(value)
|
|
121
165
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|