arize-phoenix 12.5.0__tar.gz → 12.6.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 arize-phoenix might be problematic. Click here for more details.
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/PKG-INFO +1 -1
- arize_phoenix-12.6.0/src/phoenix/server/api/input_types/ExperimentRunSort.py +237 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Experiment.py +60 -25
- arize_phoenix-12.6.0/src/phoenix/server/static/.vite/manifest.json +93 -0
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/components-cwdYEs7B.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/components-CboqzKQ9.js +353 -337
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/index-Dc0vD1Rn.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/index-CYYGI5-x.js +2 -2
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/pages-BDkB3a_a.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/pages-DdlUeKi2.js +545 -577
- arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-CQ4tN9P7.js +918 -0
- arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-arizeai-Cb1ncvYH.js +106 -0
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-codemirror-Bv8J_7an.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-codemirror-CckmKopH.js +3 -3
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-recharts-DcLgzI7g.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-recharts-BC1ysIKu.js +1 -1
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-shiki-BF8rh_7m.js → arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-shiki-B45T-YxN.js +1 -1
- arize_phoenix-12.6.0/src/phoenix/server/static/assets/vendor-three-BtCyLs1w.js +3840 -0
- arize_phoenix-12.6.0/src/phoenix/version.py +1 -0
- arize_phoenix-12.5.0/src/phoenix/server/static/.vite/manifest.json +0 -93
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-Ce6GTAin.js +0 -914
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-arizeai-CSF-1Kc5.js +0 -156
- arize_phoenix-12.5.0/src/phoenix/server/static/assets/vendor-three-BLWp5bic.js +0 -2998
- arize_phoenix-12.5.0/src/phoenix/version.py +0 -1
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/.gitignore +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/IP_NOTICE +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/LICENSE +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/README.md +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/pyproject.toml +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/auth.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/config.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/bulk_inserter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/constants.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/enums.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/facilitator.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/constants.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/dataset.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/session_annotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/insertion/types.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/01a8342c9cdf_add_user_id_on_datasets.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/0df286449799_add_session_annotations_table.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/272b66ff50f8_drop_single_indices.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/58228d933c91_dataset_labels.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/699f655af132_experiment_tags.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/735d3d93c33e_add_composite_indices.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/a20694b15f82_cost.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/ab513d89518b_add_user_id_on_dataset_versions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/d0690a79ea51_users_on_experiments.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/deb2c81c0bb2_dataset_splits.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/migrations/versions/e76cbd66ffc3_add_experiments_dataset_examples.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/pg_config.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/annotation_configs.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/db_models.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/identifier.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/model_provider.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/token_price_customization.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/db/types/trace_retention.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/evaluators/base.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/functions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/tracing.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/types.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/experiments/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/logging/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/logging/_config.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/logging/_filter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/logging/_formatter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/py.typed +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/README.md +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/auth.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/auth_messages.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/annotation_configs_by_project.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_dataset_splits.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_example_splits.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_examples_and_versions_by_experiment_run.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/dataset_labels.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_repeated_run_groups.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/last_used_times_by_generative_model_id.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_annotations_by_session.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_by_span.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_generative_model.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_project_session.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_span.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_trace.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_details_by_span_cost.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment_repeated_run_group.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_experiment_run.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_project_session.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_cost_summary_by_trace.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_costs.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/trace_annotations_by_trace.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/types.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/exceptions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/annotations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/playground_clients.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/playground_users.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/conversions/aws.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/helpers/prompts/models.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/AnnotationFilter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/CreateProjectInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/CreateProjectSessionAnnotationInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DatasetFilter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/GenerativeCredentialInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ProjectFilter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/ProjectSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PromptFilter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/TimeBinConfig.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/UpdateAnnotationInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/annotation_config_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/dataset_label_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/dataset_split_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/model_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/project_session_annotations_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/openapi/main.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/openapi/schema.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/queries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/auth.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/annotation_configs.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/annotations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/documents.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/projects.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/sessions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/users.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/subscriptions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Annotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/AnnotationConfig.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/AnnotationSource.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/CostBreakdown.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/CronExpression.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetLabel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetSplit.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DocumentAnnotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentRepeatedRunGroup.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/GenerativeProvider.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Identifier.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/InferenceModel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Inferences.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ModelInterface.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PlaygroundModel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ProjectSessionAnnotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ProjectTraceRetentionPolicy.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Prompt.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ServerStatus.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SpanCostDetailSummaryEntry.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SpanCostSummary.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/TokenCountPromptDetails.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/TokenPrice.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/User.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/UserRole.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/api/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/authorization.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/bearer_auth.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/cost_details_calculator.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/cost_model_lookup.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/helpers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/model_cost_manifest.json +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/regex_specificity.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/cost_tracking/token_cost_calculator.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/daemons/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/daemons/db_disk_usage_monitor.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/daemons/generative_model_store.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/daemons/span_cost_calculator.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/dml_event.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/dml_event_handler.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/sender.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/templates/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/templates/db_disk_usage_notification.html +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/templates/welcome.html +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/email/types.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/experiments/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/experiments/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/jwt_store.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/main.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/middleware/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/middleware/gzip.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/oauth2.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/openapi/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/rate_limiters.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/retention.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/session_filters.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/assets/vendor-BGzfc4EU.css +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/types.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/server/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/services.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/settings.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/client.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/json.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/re.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/span_store.py +0 -0
- {arize_phoenix-12.5.0 → arize_phoenix-12.6.0}/src/phoenix/utilities/template_formatters.py +0 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import operator
|
|
2
|
+
from enum import Enum, auto
|
|
3
|
+
from typing import Any, Optional
|
|
4
|
+
|
|
5
|
+
import strawberry
|
|
6
|
+
from sqlalchemy import ColumnElement, Select, and_, func, literal, or_, select, tuple_
|
|
7
|
+
from sqlalchemy.sql.selectable import NamedFromClause
|
|
8
|
+
from strawberry import Maybe
|
|
9
|
+
from typing_extensions import assert_never
|
|
10
|
+
|
|
11
|
+
from phoenix.db import models
|
|
12
|
+
from phoenix.server.api.types.pagination import (
|
|
13
|
+
Cursor,
|
|
14
|
+
CursorSortColumn,
|
|
15
|
+
CursorSortColumnDataType,
|
|
16
|
+
CursorSortColumnValue,
|
|
17
|
+
)
|
|
18
|
+
from phoenix.server.api.types.SortDir import SortDir
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@strawberry.enum
|
|
22
|
+
class ExperimentRunMetric(Enum):
|
|
23
|
+
latencyMs = auto()
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@strawberry.input(one_of=True)
|
|
27
|
+
class ExperimentRunColumn:
|
|
28
|
+
metric: Maybe[ExperimentRunMetric]
|
|
29
|
+
annotation_name: Maybe[str]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@strawberry.input(description="The sort key and direction for experiment run connections")
|
|
33
|
+
class ExperimentRunSort:
|
|
34
|
+
col: ExperimentRunColumn
|
|
35
|
+
dir: SortDir
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def get_experiment_run_cursor(
|
|
39
|
+
run: models.ExperimentRun, annotation_score: Optional[float], sort: Optional[ExperimentRunSort]
|
|
40
|
+
) -> Cursor:
|
|
41
|
+
sort_column: Optional[CursorSortColumn] = None
|
|
42
|
+
if sort:
|
|
43
|
+
if sort.col.metric:
|
|
44
|
+
metric = sort.col.metric.value
|
|
45
|
+
assert metric is not None
|
|
46
|
+
if metric is ExperimentRunMetric.latencyMs:
|
|
47
|
+
sort_column = CursorSortColumn(
|
|
48
|
+
type=CursorSortColumnDataType.FLOAT,
|
|
49
|
+
value=run.latency_ms,
|
|
50
|
+
)
|
|
51
|
+
else:
|
|
52
|
+
assert_never(metric)
|
|
53
|
+
elif sort.col.annotation_name:
|
|
54
|
+
data_type = (
|
|
55
|
+
CursorSortColumnDataType.FLOAT
|
|
56
|
+
if annotation_score is not None
|
|
57
|
+
else CursorSortColumnDataType.NULL
|
|
58
|
+
)
|
|
59
|
+
sort_column = CursorSortColumn(
|
|
60
|
+
type=data_type,
|
|
61
|
+
value=annotation_score,
|
|
62
|
+
)
|
|
63
|
+
return Cursor(rowid=run.id, sort_column=sort_column)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def add_order_by_and_page_start_to_query(
|
|
67
|
+
query: Select[Any],
|
|
68
|
+
sort: Optional[ExperimentRunSort],
|
|
69
|
+
experiment_rowid: int,
|
|
70
|
+
after_experiment_run_rowid: Optional[int],
|
|
71
|
+
after_sort_column_value: Optional[CursorSortColumnValue] = None,
|
|
72
|
+
) -> Select[Any]:
|
|
73
|
+
mean_annotation_scores: Optional[NamedFromClause] = None
|
|
74
|
+
if sort and sort.col.annotation_name:
|
|
75
|
+
annotation_name = sort.col.annotation_name.value
|
|
76
|
+
assert annotation_name is not None
|
|
77
|
+
mean_annotation_scores = _get_mean_annotation_scores_subquery(annotation_name)
|
|
78
|
+
order_by_columns = _get_order_by_columns(
|
|
79
|
+
sort=sort, experiment_rowid=experiment_rowid, mean_annotation_scores=mean_annotation_scores
|
|
80
|
+
)
|
|
81
|
+
query = query.order_by(*order_by_columns)
|
|
82
|
+
if after_experiment_run_rowid is not None:
|
|
83
|
+
query = _add_after_expression(
|
|
84
|
+
query=query,
|
|
85
|
+
sort=sort,
|
|
86
|
+
experiment_run_rowid=after_experiment_run_rowid,
|
|
87
|
+
after_sort_column_value=after_sort_column_value,
|
|
88
|
+
mean_annotation_scores=mean_annotation_scores,
|
|
89
|
+
)
|
|
90
|
+
query = _add_joins_and_selects_to_query(
|
|
91
|
+
query=query,
|
|
92
|
+
sort=sort,
|
|
93
|
+
mean_annotation_scores=mean_annotation_scores,
|
|
94
|
+
)
|
|
95
|
+
return query
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def _get_order_by_columns(
|
|
99
|
+
sort: Optional[ExperimentRunSort],
|
|
100
|
+
experiment_rowid: int,
|
|
101
|
+
mean_annotation_scores: Optional[NamedFromClause],
|
|
102
|
+
) -> tuple[ColumnElement[Any], ...]:
|
|
103
|
+
if not sort:
|
|
104
|
+
# Ideally, this would sort the runs by (example_id, repetition_number),
|
|
105
|
+
# but this would require making the cursor more complex or adding an additional query
|
|
106
|
+
# to handle the after cursor.
|
|
107
|
+
return (models.ExperimentRun.id.asc(),)
|
|
108
|
+
sort_direction = sort.dir
|
|
109
|
+
if sort.col.metric:
|
|
110
|
+
metric = sort.col.metric.value
|
|
111
|
+
assert metric is not None
|
|
112
|
+
if metric is ExperimentRunMetric.latencyMs:
|
|
113
|
+
if sort_direction is SortDir.asc:
|
|
114
|
+
return (models.ExperimentRun.latency_ms.asc(), models.ExperimentRun.id.asc())
|
|
115
|
+
else:
|
|
116
|
+
return (models.ExperimentRun.latency_ms.desc(), models.ExperimentRun.id.desc())
|
|
117
|
+
else:
|
|
118
|
+
assert_never(metric)
|
|
119
|
+
elif sort.col.annotation_name:
|
|
120
|
+
annotation_name = sort.col.annotation_name.value
|
|
121
|
+
assert annotation_name is not None
|
|
122
|
+
assert mean_annotation_scores is not None
|
|
123
|
+
if sort_direction is SortDir.asc:
|
|
124
|
+
return (
|
|
125
|
+
mean_annotation_scores.c.score.asc().nulls_last(),
|
|
126
|
+
models.ExperimentRun.id.asc(),
|
|
127
|
+
)
|
|
128
|
+
else:
|
|
129
|
+
return (
|
|
130
|
+
mean_annotation_scores.c.score.desc().nulls_last(),
|
|
131
|
+
models.ExperimentRun.id.desc(),
|
|
132
|
+
)
|
|
133
|
+
raise NotImplementedError
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def _add_after_expression(
|
|
137
|
+
query: Select[Any],
|
|
138
|
+
sort: Optional[ExperimentRunSort],
|
|
139
|
+
experiment_run_rowid: int,
|
|
140
|
+
after_sort_column_value: Optional[CursorSortColumnValue],
|
|
141
|
+
mean_annotation_scores: Optional[NamedFromClause],
|
|
142
|
+
) -> Select[Any]:
|
|
143
|
+
if not sort:
|
|
144
|
+
# Ideally, this would return the runs sorted by (example_id, repetition_number),
|
|
145
|
+
# but this would require making the cursor more complex or adding an additional query.
|
|
146
|
+
return query.where(models.ExperimentRun.id > literal(experiment_run_rowid))
|
|
147
|
+
sort_direction = sort.dir
|
|
148
|
+
compare_fn = operator.gt if sort_direction is SortDir.asc else operator.lt
|
|
149
|
+
if sort.col.metric:
|
|
150
|
+
metric = sort.col.metric.value
|
|
151
|
+
assert metric is not None
|
|
152
|
+
if metric is ExperimentRunMetric.latencyMs:
|
|
153
|
+
assert after_sort_column_value is not None
|
|
154
|
+
return query.where(
|
|
155
|
+
compare_fn(
|
|
156
|
+
tuple_(models.ExperimentRun.latency_ms, models.ExperimentRun.id),
|
|
157
|
+
tuple_(
|
|
158
|
+
literal(after_sort_column_value),
|
|
159
|
+
literal(experiment_run_rowid),
|
|
160
|
+
),
|
|
161
|
+
)
|
|
162
|
+
)
|
|
163
|
+
else:
|
|
164
|
+
assert_never(metric)
|
|
165
|
+
elif sort.col.annotation_name:
|
|
166
|
+
annotation_name = sort.col.annotation_name.value
|
|
167
|
+
assert annotation_name is not None
|
|
168
|
+
assert mean_annotation_scores is not None
|
|
169
|
+
if after_sort_column_value is None:
|
|
170
|
+
return query.where(
|
|
171
|
+
and_(
|
|
172
|
+
compare_fn(models.ExperimentRun.id, literal(experiment_run_rowid)),
|
|
173
|
+
mean_annotation_scores.c.score.is_(None),
|
|
174
|
+
)
|
|
175
|
+
)
|
|
176
|
+
else:
|
|
177
|
+
return query.where(
|
|
178
|
+
or_(
|
|
179
|
+
compare_fn(
|
|
180
|
+
tuple_(mean_annotation_scores.c.score, models.ExperimentRun.id),
|
|
181
|
+
tuple_(
|
|
182
|
+
literal(after_sort_column_value),
|
|
183
|
+
literal(experiment_run_rowid),
|
|
184
|
+
),
|
|
185
|
+
),
|
|
186
|
+
mean_annotation_scores.c.score.is_(None),
|
|
187
|
+
)
|
|
188
|
+
)
|
|
189
|
+
raise NotImplementedError
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def _get_mean_annotation_scores_subquery(annotation_name: str) -> NamedFromClause:
|
|
193
|
+
return (
|
|
194
|
+
select(
|
|
195
|
+
func.avg(models.ExperimentRunAnnotation.score).label("score"),
|
|
196
|
+
models.ExperimentRunAnnotation.experiment_run_id.label("experiment_run_id"),
|
|
197
|
+
)
|
|
198
|
+
.select_from(models.ExperimentRunAnnotation)
|
|
199
|
+
.join(
|
|
200
|
+
models.ExperimentRun,
|
|
201
|
+
models.ExperimentRunAnnotation.experiment_run_id == models.ExperimentRun.id,
|
|
202
|
+
)
|
|
203
|
+
.where(models.ExperimentRunAnnotation.name == annotation_name)
|
|
204
|
+
.group_by(models.ExperimentRunAnnotation.experiment_run_id)
|
|
205
|
+
.subquery()
|
|
206
|
+
.alias("mean_annotation_scores")
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def _add_joins_and_selects_to_query(
|
|
211
|
+
query: Select[tuple[models.ExperimentRun]],
|
|
212
|
+
sort: Optional[ExperimentRunSort],
|
|
213
|
+
mean_annotation_scores: Optional[NamedFromClause],
|
|
214
|
+
) -> Select[tuple[models.ExperimentRun]]:
|
|
215
|
+
if not sort:
|
|
216
|
+
return query
|
|
217
|
+
if sort.col.metric:
|
|
218
|
+
metric = sort.col.metric.value
|
|
219
|
+
assert metric is not None
|
|
220
|
+
if metric is ExperimentRunMetric.latencyMs:
|
|
221
|
+
return query
|
|
222
|
+
else:
|
|
223
|
+
assert_never(metric)
|
|
224
|
+
elif sort.col.annotation_name:
|
|
225
|
+
annotation_name = sort.col.annotation_name.value
|
|
226
|
+
assert annotation_name is not None
|
|
227
|
+
assert mean_annotation_scores is not None
|
|
228
|
+
query = query.join(
|
|
229
|
+
mean_annotation_scores,
|
|
230
|
+
mean_annotation_scores.c.experiment_run_id == models.ExperimentRun.id,
|
|
231
|
+
isouter=True,
|
|
232
|
+
)
|
|
233
|
+
query = query.add_columns(
|
|
234
|
+
mean_annotation_scores.c.score.label("score")
|
|
235
|
+
) # the score must be in the select so that the value can be included in the cursor
|
|
236
|
+
return query
|
|
237
|
+
raise NotImplementedError
|
|
@@ -11,19 +11,27 @@ from strawberry.types import Info
|
|
|
11
11
|
|
|
12
12
|
from phoenix.db import models
|
|
13
13
|
from phoenix.server.api.context import Context
|
|
14
|
+
from phoenix.server.api.exceptions import BadRequest
|
|
15
|
+
from phoenix.server.api.input_types.ExperimentRunSort import (
|
|
16
|
+
ExperimentRunSort,
|
|
17
|
+
add_order_by_and_page_start_to_query,
|
|
18
|
+
get_experiment_run_cursor,
|
|
19
|
+
)
|
|
14
20
|
from phoenix.server.api.types.CostBreakdown import CostBreakdown
|
|
15
21
|
from phoenix.server.api.types.DatasetVersion import DatasetVersion
|
|
16
22
|
from phoenix.server.api.types.ExperimentAnnotationSummary import ExperimentAnnotationSummary
|
|
17
23
|
from phoenix.server.api.types.ExperimentRun import ExperimentRun, to_gql_experiment_run
|
|
18
24
|
from phoenix.server.api.types.pagination import (
|
|
19
|
-
|
|
25
|
+
Cursor,
|
|
20
26
|
CursorString,
|
|
21
|
-
|
|
27
|
+
connection_from_cursors_and_nodes,
|
|
22
28
|
)
|
|
23
29
|
from phoenix.server.api.types.Project import Project
|
|
24
30
|
from phoenix.server.api.types.SpanCostDetailSummaryEntry import SpanCostDetailSummaryEntry
|
|
25
31
|
from phoenix.server.api.types.SpanCostSummary import SpanCostSummary
|
|
26
32
|
|
|
33
|
+
_DEFAULT_EXPERIMENT_RUNS_PAGE_SIZE = 50
|
|
34
|
+
|
|
27
35
|
|
|
28
36
|
@strawberry.type
|
|
29
37
|
class Experiment(Node):
|
|
@@ -57,33 +65,60 @@ class Experiment(Node):
|
|
|
57
65
|
async def runs(
|
|
58
66
|
self,
|
|
59
67
|
info: Info[Context, None],
|
|
60
|
-
first: Optional[int] =
|
|
61
|
-
last: Optional[int] = UNSET,
|
|
68
|
+
first: Optional[int] = _DEFAULT_EXPERIMENT_RUNS_PAGE_SIZE,
|
|
62
69
|
after: Optional[CursorString] = UNSET,
|
|
63
|
-
|
|
70
|
+
sort: Optional[ExperimentRunSort] = UNSET,
|
|
64
71
|
) -> Connection[ExperimentRun]:
|
|
65
|
-
|
|
66
|
-
first
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
if first is not None and first <= 0:
|
|
73
|
+
raise BadRequest("first must be a positive integer if set")
|
|
74
|
+
experiment_rowid = self.id_attr
|
|
75
|
+
page_size = first or _DEFAULT_EXPERIMENT_RUNS_PAGE_SIZE
|
|
76
|
+
experiment_runs_query = (
|
|
77
|
+
select(models.ExperimentRun)
|
|
78
|
+
.where(models.ExperimentRun.experiment_id == experiment_rowid)
|
|
79
|
+
.options(joinedload(models.ExperimentRun.trace).load_only(models.Trace.trace_id))
|
|
80
|
+
.limit(page_size + 1)
|
|
70
81
|
)
|
|
71
|
-
|
|
82
|
+
|
|
83
|
+
after_experiment_run_rowid = None
|
|
84
|
+
after_sort_column_value = None
|
|
85
|
+
if after:
|
|
86
|
+
cursor = Cursor.from_string(after)
|
|
87
|
+
after_experiment_run_rowid = cursor.rowid
|
|
88
|
+
if cursor.sort_column is not None:
|
|
89
|
+
after_sort_column_value = cursor.sort_column.value
|
|
90
|
+
|
|
91
|
+
experiment_runs_query = add_order_by_and_page_start_to_query(
|
|
92
|
+
query=experiment_runs_query,
|
|
93
|
+
sort=sort,
|
|
94
|
+
experiment_rowid=experiment_rowid,
|
|
95
|
+
after_experiment_run_rowid=after_experiment_run_rowid,
|
|
96
|
+
after_sort_column_value=after_sort_column_value,
|
|
97
|
+
)
|
|
98
|
+
|
|
72
99
|
async with info.context.db() as session:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
100
|
+
results = (await session.execute(experiment_runs_query)).all()
|
|
101
|
+
|
|
102
|
+
has_next_page = False
|
|
103
|
+
if len(results) > page_size:
|
|
104
|
+
results = results[:page_size]
|
|
105
|
+
has_next_page = True
|
|
106
|
+
|
|
107
|
+
cursors_and_nodes = []
|
|
108
|
+
for result in results:
|
|
109
|
+
run = result[0]
|
|
110
|
+
annotation_score = result[1] if len(result) > 1 else None
|
|
111
|
+
gql_run = to_gql_experiment_run(run)
|
|
112
|
+
cursor = get_experiment_run_cursor(
|
|
113
|
+
run=run, annotation_score=annotation_score, sort=sort
|
|
114
|
+
)
|
|
115
|
+
cursors_and_nodes.append((cursor, gql_run))
|
|
116
|
+
|
|
117
|
+
return connection_from_cursors_and_nodes(
|
|
118
|
+
cursors_and_nodes=cursors_and_nodes,
|
|
119
|
+
has_previous_page=False, # set to false since we are only doing forward pagination (https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo.Fields) # noqa: E501
|
|
120
|
+
has_next_page=has_next_page,
|
|
121
|
+
)
|
|
87
122
|
|
|
88
123
|
@strawberry.field
|
|
89
124
|
async def run_count(self, info: Info[Context, None]) -> int:
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_components-CboqzKQ9.js": {
|
|
3
|
+
"file": "assets/components-CboqzKQ9.js",
|
|
4
|
+
"name": "components",
|
|
5
|
+
"imports": [
|
|
6
|
+
"_vendor-CQ4tN9P7.js",
|
|
7
|
+
"_pages-DdlUeKi2.js",
|
|
8
|
+
"_vendor-arizeai-Cb1ncvYH.js",
|
|
9
|
+
"_vendor-codemirror-CckmKopH.js",
|
|
10
|
+
"_vendor-three-BtCyLs1w.js"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"_pages-DdlUeKi2.js": {
|
|
14
|
+
"file": "assets/pages-DdlUeKi2.js",
|
|
15
|
+
"name": "pages",
|
|
16
|
+
"imports": [
|
|
17
|
+
"_vendor-CQ4tN9P7.js",
|
|
18
|
+
"_components-CboqzKQ9.js",
|
|
19
|
+
"_vendor-arizeai-Cb1ncvYH.js",
|
|
20
|
+
"_vendor-codemirror-CckmKopH.js",
|
|
21
|
+
"_vendor-recharts-BC1ysIKu.js"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"_vendor-BGzfc4EU.css": {
|
|
25
|
+
"file": "assets/vendor-BGzfc4EU.css",
|
|
26
|
+
"src": "_vendor-BGzfc4EU.css"
|
|
27
|
+
},
|
|
28
|
+
"_vendor-CQ4tN9P7.js": {
|
|
29
|
+
"file": "assets/vendor-CQ4tN9P7.js",
|
|
30
|
+
"name": "vendor",
|
|
31
|
+
"imports": [
|
|
32
|
+
"_vendor-three-BtCyLs1w.js"
|
|
33
|
+
],
|
|
34
|
+
"css": [
|
|
35
|
+
"assets/vendor-BGzfc4EU.css"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"_vendor-arizeai-Cb1ncvYH.js": {
|
|
39
|
+
"file": "assets/vendor-arizeai-Cb1ncvYH.js",
|
|
40
|
+
"name": "vendor-arizeai",
|
|
41
|
+
"imports": [
|
|
42
|
+
"_vendor-CQ4tN9P7.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"_vendor-codemirror-CckmKopH.js": {
|
|
46
|
+
"file": "assets/vendor-codemirror-CckmKopH.js",
|
|
47
|
+
"name": "vendor-codemirror",
|
|
48
|
+
"imports": [
|
|
49
|
+
"_vendor-CQ4tN9P7.js",
|
|
50
|
+
"_vendor-shiki-B45T-YxN.js"
|
|
51
|
+
],
|
|
52
|
+
"dynamicImports": [
|
|
53
|
+
"_vendor-shiki-B45T-YxN.js",
|
|
54
|
+
"_vendor-shiki-B45T-YxN.js",
|
|
55
|
+
"_vendor-shiki-B45T-YxN.js"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"_vendor-recharts-BC1ysIKu.js": {
|
|
59
|
+
"file": "assets/vendor-recharts-BC1ysIKu.js",
|
|
60
|
+
"name": "vendor-recharts",
|
|
61
|
+
"imports": [
|
|
62
|
+
"_vendor-CQ4tN9P7.js"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"_vendor-shiki-B45T-YxN.js": {
|
|
66
|
+
"file": "assets/vendor-shiki-B45T-YxN.js",
|
|
67
|
+
"name": "vendor-shiki",
|
|
68
|
+
"isDynamicEntry": true,
|
|
69
|
+
"imports": [
|
|
70
|
+
"_vendor-CQ4tN9P7.js"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"_vendor-three-BtCyLs1w.js": {
|
|
74
|
+
"file": "assets/vendor-three-BtCyLs1w.js",
|
|
75
|
+
"name": "vendor-three"
|
|
76
|
+
},
|
|
77
|
+
"index.tsx": {
|
|
78
|
+
"file": "assets/index-CYYGI5-x.js",
|
|
79
|
+
"name": "index",
|
|
80
|
+
"src": "index.tsx",
|
|
81
|
+
"isEntry": true,
|
|
82
|
+
"imports": [
|
|
83
|
+
"_vendor-CQ4tN9P7.js",
|
|
84
|
+
"_vendor-arizeai-Cb1ncvYH.js",
|
|
85
|
+
"_pages-DdlUeKi2.js",
|
|
86
|
+
"_components-CboqzKQ9.js",
|
|
87
|
+
"_vendor-three-BtCyLs1w.js",
|
|
88
|
+
"_vendor-codemirror-CckmKopH.js",
|
|
89
|
+
"_vendor-shiki-B45T-YxN.js",
|
|
90
|
+
"_vendor-recharts-BC1ysIKu.js"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|