arize-phoenix 4.30.1__tar.gz → 4.30.2__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-4.30.1 → arize_phoenix-4.30.2}/PKG-INFO +1 -1
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/context.py +2 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/__init__.py +2 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +54 -17
- arize_phoenix-4.30.2/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +40 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExperimentRun.py +1 -9
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/app.py +2 -0
- arize_phoenix-4.30.2/src/phoenix/version.py +1 -0
- arize_phoenix-4.30.1/src/phoenix/version.py +0 -1
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/.gitignore +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/IP_NOTICE +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/LICENSE +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/README.md +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/chat-service/chat/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/chat-service/chat/app.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/chat-service/chat/types.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/Dockerfile +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/Makefile +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/pyproject.toml +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/requirements.txt +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/examples/manually-instrumented-chatbot/frontend/schema.json +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/pyproject.toml +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/auth.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/config.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/bulk_inserter.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/constants.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/dataset.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/document_annotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/span_annotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/trace_annotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/types.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/future_versions/README.md +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/future_versions/cd164e83824f_users_and_tokens.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/versions/.gitignore +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/base.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/functions.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/tracing.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/types.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/py.typed +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/trace_row_ids.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/exceptions.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/helpers/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/auth.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/auth_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/openapi/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/openapi/main.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/openapi/schema.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/queries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/pydantic_compat.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/spans.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/routers/v1/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Annotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ApiKey.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DatasetExample.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Experiment.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Inferences.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/InferencesRole.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/LabelFraction.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/User.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/UserApiKey.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/UserRole.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/dml_event.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/dml_event_handler.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/main.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/openapi/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/.vite/manifest.json +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/components-CkSg5zK4.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/index-DTecsU5w.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/pages-C6emDFIO.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-DsnEJuEV.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-DxkFTwjz.css +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-arizeai-DtynTLNi.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-codemirror-C5to5cK4.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-recharts-reihe2SJ.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/assets/vendor-three-DwGkEfCM.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/types.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/services.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/settings.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/langchain/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/langchain/instrumentor.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/llama_index/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/llama_index/callback.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/openai/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/openai/instrumentor.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/client.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/deprecation.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/json.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/re.py +0 -0
- {arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/utilities/span_store.py +0 -0
|
@@ -17,6 +17,7 @@ from phoenix.server.api.dataloaders import (
|
|
|
17
17
|
DocumentRetrievalMetricsDataLoader,
|
|
18
18
|
ExperimentAnnotationSummaryDataLoader,
|
|
19
19
|
ExperimentErrorRatesDataLoader,
|
|
20
|
+
ExperimentRunAnnotations,
|
|
20
21
|
ExperimentRunCountsDataLoader,
|
|
21
22
|
ExperimentSequenceNumberDataLoader,
|
|
22
23
|
LatencyMsQuantileDataLoader,
|
|
@@ -45,6 +46,7 @@ class DataLoaders:
|
|
|
45
46
|
annotation_summaries: AnnotationSummaryDataLoader
|
|
46
47
|
experiment_annotation_summaries: ExperimentAnnotationSummaryDataLoader
|
|
47
48
|
experiment_error_rates: ExperimentErrorRatesDataLoader
|
|
49
|
+
experiment_run_annotations: ExperimentRunAnnotations
|
|
48
50
|
experiment_run_counts: ExperimentRunCountsDataLoader
|
|
49
51
|
experiment_sequence_number: ExperimentSequenceNumberDataLoader
|
|
50
52
|
latency_ms_quantile: LatencyMsQuantileDataLoader
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/__init__.py
RENAMED
|
@@ -12,6 +12,7 @@ from .document_evaluations import DocumentEvaluationsDataLoader
|
|
|
12
12
|
from .document_retrieval_metrics import DocumentRetrievalMetricsDataLoader
|
|
13
13
|
from .experiment_annotation_summaries import ExperimentAnnotationSummaryDataLoader
|
|
14
14
|
from .experiment_error_rates import ExperimentErrorRatesDataLoader
|
|
15
|
+
from .experiment_run_annotations import ExperimentRunAnnotations
|
|
15
16
|
from .experiment_run_counts import ExperimentRunCountsDataLoader
|
|
16
17
|
from .experiment_sequence_number import ExperimentSequenceNumberDataLoader
|
|
17
18
|
from .latency_ms_quantile import LatencyMsQuantileCache, LatencyMsQuantileDataLoader
|
|
@@ -36,6 +37,7 @@ __all__ = [
|
|
|
36
37
|
"AnnotationSummaryDataLoader",
|
|
37
38
|
"ExperimentAnnotationSummaryDataLoader",
|
|
38
39
|
"ExperimentErrorRatesDataLoader",
|
|
40
|
+
"ExperimentRunAnnotations",
|
|
39
41
|
"ExperimentRunCountsDataLoader",
|
|
40
42
|
"ExperimentSequenceNumberDataLoader",
|
|
41
43
|
"LatencyMsQuantileDataLoader",
|
|
@@ -5,7 +5,8 @@ from typing import (
|
|
|
5
5
|
Union,
|
|
6
6
|
)
|
|
7
7
|
|
|
8
|
-
from sqlalchemy import
|
|
8
|
+
from sqlalchemy import and_, case, func, null, or_, select
|
|
9
|
+
from sqlalchemy.sql.expression import literal
|
|
9
10
|
from strawberry.dataloader import DataLoader
|
|
10
11
|
from typing_extensions import TypeAlias
|
|
11
12
|
|
|
@@ -22,40 +23,76 @@ Result: TypeAlias = DatasetExampleRevision
|
|
|
22
23
|
|
|
23
24
|
class DatasetExampleRevisionsDataLoader(DataLoader[Key, Result]):
|
|
24
25
|
def __init__(self, db: DbSessionFactory) -> None:
|
|
25
|
-
super().__init__(
|
|
26
|
+
super().__init__(
|
|
27
|
+
load_fn=self._load_fn,
|
|
28
|
+
max_batch_size=200, # needed to prevent the size of the query from getting too large
|
|
29
|
+
)
|
|
26
30
|
self._db = db
|
|
27
31
|
|
|
28
32
|
async def _load_fn(self, keys: List[Key]) -> List[Union[Result, NotFound]]:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
example_and_version_ids = tuple(
|
|
34
|
+
set(
|
|
35
|
+
(example_id, version_id)
|
|
36
|
+
for example_id, version_id in keys
|
|
37
|
+
if version_id is not None
|
|
38
|
+
)
|
|
39
|
+
)
|
|
40
|
+
versionless_example_ids = tuple(
|
|
41
|
+
set(example_id for example_id, version_id in keys if version_id is None)
|
|
42
|
+
)
|
|
43
|
+
resolved_example_and_version_ids = (
|
|
44
|
+
(
|
|
33
45
|
select(
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
models.DatasetExample.id.label("example_id"),
|
|
47
|
+
models.DatasetVersion.id.label("version_id"),
|
|
48
|
+
)
|
|
49
|
+
.select_from(models.DatasetExample)
|
|
50
|
+
.join(
|
|
51
|
+
models.DatasetVersion,
|
|
52
|
+
onclause=literal(True), # cross join
|
|
53
|
+
)
|
|
54
|
+
.where(
|
|
55
|
+
or_(
|
|
56
|
+
*(
|
|
57
|
+
and_(
|
|
58
|
+
models.DatasetExample.id == example_id,
|
|
59
|
+
models.DatasetVersion.id == version_id,
|
|
60
|
+
)
|
|
61
|
+
for example_id, version_id in example_and_version_ids
|
|
62
|
+
)
|
|
63
|
+
)
|
|
36
64
|
)
|
|
37
|
-
for example_id, version_id in keys
|
|
38
65
|
)
|
|
39
|
-
|
|
66
|
+
.union(
|
|
67
|
+
select(
|
|
68
|
+
models.DatasetExample.id.label("example_id"), null().label("version_id")
|
|
69
|
+
).where(models.DatasetExample.id.in_(versionless_example_ids))
|
|
70
|
+
)
|
|
71
|
+
.subquery()
|
|
72
|
+
)
|
|
40
73
|
revision_ids = (
|
|
41
74
|
select(
|
|
42
|
-
|
|
43
|
-
|
|
75
|
+
resolved_example_and_version_ids.c.example_id,
|
|
76
|
+
resolved_example_and_version_ids.c.version_id,
|
|
44
77
|
func.max(models.DatasetExampleRevision.id).label("revision_id"),
|
|
45
78
|
)
|
|
46
|
-
.select_from(
|
|
79
|
+
.select_from(resolved_example_and_version_ids)
|
|
47
80
|
.join(
|
|
48
81
|
models.DatasetExampleRevision,
|
|
49
|
-
onclause=
|
|
82
|
+
onclause=resolved_example_and_version_ids.c.example_id
|
|
50
83
|
== models.DatasetExampleRevision.dataset_example_id,
|
|
51
84
|
)
|
|
52
85
|
.where(
|
|
53
86
|
or_(
|
|
54
|
-
|
|
55
|
-
models.DatasetExampleRevision.dataset_version_id
|
|
87
|
+
resolved_example_and_version_ids.c.version_id.is_(None),
|
|
88
|
+
models.DatasetExampleRevision.dataset_version_id
|
|
89
|
+
<= resolved_example_and_version_ids.c.version_id,
|
|
56
90
|
)
|
|
57
91
|
)
|
|
58
|
-
.group_by(
|
|
92
|
+
.group_by(
|
|
93
|
+
resolved_example_and_version_ids.c.example_id,
|
|
94
|
+
resolved_example_and_version_ids.c.version_id,
|
|
95
|
+
)
|
|
59
96
|
).subquery()
|
|
60
97
|
query = (
|
|
61
98
|
select(
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from collections import defaultdict
|
|
2
|
+
from typing import (
|
|
3
|
+
DefaultDict,
|
|
4
|
+
List,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
from sqlalchemy import select
|
|
8
|
+
from strawberry.dataloader import DataLoader
|
|
9
|
+
from typing_extensions import TypeAlias
|
|
10
|
+
|
|
11
|
+
from phoenix.db.models import ExperimentRunAnnotation as OrmExperimentRunAnnotation
|
|
12
|
+
from phoenix.server.types import DbSessionFactory
|
|
13
|
+
|
|
14
|
+
ExperimentRunID: TypeAlias = int
|
|
15
|
+
Key: TypeAlias = ExperimentRunID
|
|
16
|
+
Result: TypeAlias = List[OrmExperimentRunAnnotation]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ExperimentRunAnnotations(DataLoader[Key, Result]):
|
|
20
|
+
def __init__(
|
|
21
|
+
self,
|
|
22
|
+
db: DbSessionFactory,
|
|
23
|
+
) -> None:
|
|
24
|
+
super().__init__(load_fn=self._load_fn)
|
|
25
|
+
self._db = db
|
|
26
|
+
|
|
27
|
+
async def _load_fn(self, keys: List[Key]) -> List[Result]:
|
|
28
|
+
run_ids = tuple(set(keys))
|
|
29
|
+
annotations: DefaultDict[Key, Result] = defaultdict(list)
|
|
30
|
+
async with self._db() as session:
|
|
31
|
+
async for run_id, annotation in await session.stream(
|
|
32
|
+
select(
|
|
33
|
+
OrmExperimentRunAnnotation.experiment_run_id, OrmExperimentRunAnnotation
|
|
34
|
+
).where(OrmExperimentRunAnnotation.experiment_run_id.in_(run_ids))
|
|
35
|
+
):
|
|
36
|
+
annotations[run_id].append(annotation)
|
|
37
|
+
return [
|
|
38
|
+
sorted(annotations[run_id], key=lambda annotation: annotation.name, reverse=True)
|
|
39
|
+
for run_id in run_ids
|
|
40
|
+
]
|
|
@@ -2,7 +2,6 @@ from datetime import datetime
|
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
4
|
import strawberry
|
|
5
|
-
from sqlalchemy import select
|
|
6
5
|
from strawberry import UNSET
|
|
7
6
|
from strawberry.relay import Connection, GlobalID, Node, NodeID
|
|
8
7
|
from strawberry.scalars import JSON
|
|
@@ -48,14 +47,7 @@ class ExperimentRun(Node):
|
|
|
48
47
|
before=before if isinstance(before, CursorString) else None,
|
|
49
48
|
)
|
|
50
49
|
run_id = self.id_attr
|
|
51
|
-
|
|
52
|
-
annotations = (
|
|
53
|
-
await session.scalars(
|
|
54
|
-
select(models.ExperimentRunAnnotation)
|
|
55
|
-
.where(models.ExperimentRunAnnotation.experiment_run_id == run_id)
|
|
56
|
-
.order_by(models.ExperimentRunAnnotation.name.desc())
|
|
57
|
-
)
|
|
58
|
-
).all()
|
|
50
|
+
annotations = await info.context.data_loaders.experiment_run_annotations.load(run_id)
|
|
59
51
|
return connection_from_list(
|
|
60
52
|
[to_gql_experiment_run_annotation(annotation) for annotation in annotations], args
|
|
61
53
|
)
|
|
@@ -66,6 +66,7 @@ from phoenix.server.api.dataloaders import (
|
|
|
66
66
|
DocumentRetrievalMetricsDataLoader,
|
|
67
67
|
ExperimentAnnotationSummaryDataLoader,
|
|
68
68
|
ExperimentErrorRatesDataLoader,
|
|
69
|
+
ExperimentRunAnnotations,
|
|
69
70
|
ExperimentRunCountsDataLoader,
|
|
70
71
|
ExperimentSequenceNumberDataLoader,
|
|
71
72
|
LatencyMsQuantileDataLoader,
|
|
@@ -446,6 +447,7 @@ def create_graphql_router(
|
|
|
446
447
|
),
|
|
447
448
|
experiment_annotation_summaries=ExperimentAnnotationSummaryDataLoader(db),
|
|
448
449
|
experiment_error_rates=ExperimentErrorRatesDataLoader(db),
|
|
450
|
+
experiment_run_annotations=ExperimentRunAnnotations(db),
|
|
449
451
|
experiment_run_counts=ExperimentRunCountsDataLoader(db),
|
|
450
452
|
experiment_sequence_number=ExperimentSequenceNumberDataLoader(db),
|
|
451
453
|
latency_ms_quantile=LatencyMsQuantileDataLoader(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.30.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.30.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/insertion/document_annotation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/db/migrations/future_versions/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/code_evaluators.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/experiments/evaluators/llm_evaluators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/cache/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/project_by_name.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/record_counts.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_annotations.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_descendants.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/span_projects.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/token_counts.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/dataloaders/trace_row_ids.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/helpers/dataset_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/ClusterInput.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/Coordinates.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DatasetSort.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DimensionFilter.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/DimensionInput.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/Granularity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/SpanSort.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/TimeRange.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/UserRoleInput.py
RENAMED
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/input_types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/api_key_mutations.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-4.30.1 → arize_phoenix-4.30.2}/src/phoenix/server/api/mutations/auth_mutations.py
RENAMED
|
File without changes
|