arize-phoenix 3.16.0__tar.gz → 3.16.1__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-3.16.0 → arize_phoenix-3.16.1}/PKG-INFO +4 -4
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/README.md +2 -2
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/project.py +5 -3
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/traces.py +6 -10
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/schema.py +7 -13
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Span.py +3 -3
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/node.py +14 -0
- arize_phoenix-3.16.1/src/phoenix/version.py +1 -0
- arize_phoenix-3.16.0/src/phoenix/version.py +0 -1
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/.gitignore +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/IP_NOTICE +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/LICENSE +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/pyproject.toml +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/config.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/dataset.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/errors.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/fixtures.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/schema.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datasets/validation.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/evaluators.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/classify.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/executor.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/generate.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/processing.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/anthropic.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/base.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/bedrock.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/litellm.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/openai.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/rate_limiters.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/vertex.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/vertexai.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/retrievals.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/templates/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/templates/default_templates.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/templates/template.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/utils/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/utils/threads.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/py.typed +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/helpers.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/evaluation_handler.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/span_handler.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/trace_handler.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DatasetRole.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ExportEventsMutation.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/main.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/index.css +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/index.js +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/services.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/storage/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/storage/span_store/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/storage/span_store/text_file.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/dsl/missing.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/langchain/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/langchain/instrumentor.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/llama_index/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/llama_index/callback.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/openai/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/openai/instrumentor.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/utilities/span_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.1
|
|
4
4
|
Summary: AI Observability and Evaluation
|
|
5
5
|
Project-URL: Documentation, https://docs.arize.com/phoenix/
|
|
6
6
|
Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
|
|
@@ -109,7 +109,7 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
|
|
|
109
109
|
- **LLM Traces** - Trace through the execution of your LLM Application to understand the internals of your LLM Application and to troubleshoot problems related to things like retrieval and tool execution.
|
|
110
110
|
- **LLM Evals** - Leverage the power of large language models to evaluate your generative model or application's relevance, toxicity, and more.
|
|
111
111
|
- **Embedding Analysis** - Explore embedding point-clouds and identify clusters of high drift and performance degradation.
|
|
112
|
-
- **RAG Analysis** - Visualize your generative application's search and retrieval process to
|
|
112
|
+
- **RAG Analysis** - Visualize your generative application's search and retrieval process to identify problems and improve your RAG pipeline.
|
|
113
113
|
- **Structured Data Analysis** - Statistically analyze your structured data by performing A/B analysis, temporal drift analysis, and more.
|
|
114
114
|
|
|
115
115
|
**Table of Contents**
|
|
@@ -230,7 +230,7 @@ session = px.launch_app()
|
|
|
230
230
|
|
|
231
231
|
# Once you have started a Phoenix server, you can start your LangChain application with the OpenInferenceTracer as a callback. To do this, you will have to instrument your LangChain application with the tracer:
|
|
232
232
|
|
|
233
|
-
from phoenix.trace.langchain import
|
|
233
|
+
from phoenix.trace.langchain import LangChainInstrumentor
|
|
234
234
|
|
|
235
235
|
# By default, the traces will be exported to the locally running Phoenix server.
|
|
236
236
|
LangChainInstrumentor().instrument()
|
|
@@ -34,7 +34,7 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
|
|
|
34
34
|
- **LLM Traces** - Trace through the execution of your LLM Application to understand the internals of your LLM Application and to troubleshoot problems related to things like retrieval and tool execution.
|
|
35
35
|
- **LLM Evals** - Leverage the power of large language models to evaluate your generative model or application's relevance, toxicity, and more.
|
|
36
36
|
- **Embedding Analysis** - Explore embedding point-clouds and identify clusters of high drift and performance degradation.
|
|
37
|
-
- **RAG Analysis** - Visualize your generative application's search and retrieval process to
|
|
37
|
+
- **RAG Analysis** - Visualize your generative application's search and retrieval process to identify problems and improve your RAG pipeline.
|
|
38
38
|
- **Structured Data Analysis** - Statistically analyze your structured data by performing A/B analysis, temporal drift analysis, and more.
|
|
39
39
|
|
|
40
40
|
**Table of Contents**
|
|
@@ -155,7 +155,7 @@ session = px.launch_app()
|
|
|
155
155
|
|
|
156
156
|
# Once you have started a Phoenix server, you can start your LangChain application with the OpenInferenceTracer as a callback. To do this, you will have to instrument your LangChain application with the tracer:
|
|
157
157
|
|
|
158
|
-
from phoenix.trace.langchain import
|
|
158
|
+
from phoenix.trace.langchain import LangChainInstrumentor
|
|
159
159
|
|
|
160
160
|
# By default, the traces will be exported to the locally running Phoenix server.
|
|
161
161
|
LangChainInstrumentor().instrument()
|
|
@@ -13,6 +13,7 @@ from typing import (
|
|
|
13
13
|
Mapping,
|
|
14
14
|
Optional,
|
|
15
15
|
Set,
|
|
16
|
+
Sized,
|
|
16
17
|
Tuple,
|
|
17
18
|
Union,
|
|
18
19
|
cast,
|
|
@@ -386,9 +387,10 @@ class _Spans:
|
|
|
386
387
|
span_id = span.context.span_id
|
|
387
388
|
if token_count_update := span.attributes.get(SpanAttributes.LLM_TOKEN_COUNT_TOTAL):
|
|
388
389
|
self._token_count_total += token_count_update
|
|
389
|
-
if
|
|
390
|
-
span.attributes.get(SpanAttributes.RETRIEVAL_DOCUMENTS)
|
|
391
|
-
|
|
390
|
+
if isinstance(
|
|
391
|
+
(retrieval_documents := span.attributes.get(SpanAttributes.RETRIEVAL_DOCUMENTS)),
|
|
392
|
+
Sized,
|
|
393
|
+
) and (num_documents_update := len(retrieval_documents)):
|
|
392
394
|
self._num_documents[span_id] += num_documents_update
|
|
393
395
|
|
|
394
396
|
def _propagate_cumulative_values(self, span: WrappedSpan) -> None:
|
|
@@ -46,17 +46,13 @@ class Traces:
|
|
|
46
46
|
yield project_id, project_name, project
|
|
47
47
|
|
|
48
48
|
def archive_project(self, id: int) -> Optional["Project"]:
|
|
49
|
+
if id == 0:
|
|
50
|
+
raise ValueError("Cannot archive the default project")
|
|
49
51
|
with self._lock:
|
|
50
|
-
|
|
51
|
-
project_id:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
if len(active_projects) <= 1:
|
|
56
|
-
return None
|
|
57
|
-
if project := active_projects.get(id):
|
|
58
|
-
project.archive()
|
|
59
|
-
return project
|
|
52
|
+
for project_id, _, project in self.get_projects():
|
|
53
|
+
if id == project_id:
|
|
54
|
+
project.archive()
|
|
55
|
+
return project
|
|
60
56
|
return None
|
|
61
57
|
|
|
62
58
|
def put(
|
|
@@ -31,7 +31,7 @@ from .types.Event import create_event_id, unpack_event_id
|
|
|
31
31
|
from .types.ExportEventsMutation import ExportEventsMutation
|
|
32
32
|
from .types.Functionality import Functionality
|
|
33
33
|
from .types.Model import Model
|
|
34
|
-
from .types.node import GlobalID, Node, from_global_id
|
|
34
|
+
from .types.node import GlobalID, Node, from_global_id, from_global_id_with_expected_type
|
|
35
35
|
from .types.pagination import Connection, ConnectionArgs, Cursor, connection_from_list
|
|
36
36
|
|
|
37
37
|
|
|
@@ -230,22 +230,16 @@ class Query:
|
|
|
230
230
|
class Mutation(ExportEventsMutation):
|
|
231
231
|
@strawberry.mutation
|
|
232
232
|
def delete_project(self, info: Info[Context, None], id: GlobalID) -> Query:
|
|
233
|
-
if (traces := info.context.traces) is None:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if type_name != "Project":
|
|
237
|
-
return Query()
|
|
238
|
-
traces.archive_project(node_id)
|
|
233
|
+
if (traces := info.context.traces) is not None:
|
|
234
|
+
node_id = from_global_id_with_expected_type(str(id), "Project")
|
|
235
|
+
traces.archive_project(node_id)
|
|
239
236
|
return Query()
|
|
240
237
|
|
|
241
238
|
@strawberry.mutation
|
|
242
239
|
def archive_project(self, info: Info[Context, None], id: GlobalID) -> Query:
|
|
243
|
-
if (traces := info.context.traces) is None:
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
if type_name != "Project":
|
|
247
|
-
return Query()
|
|
248
|
-
traces.archive_project(node_id)
|
|
240
|
+
if (traces := info.context.traces) is not None:
|
|
241
|
+
node_id = from_global_id_with_expected_type(str(id), "Project")
|
|
242
|
+
traces.archive_project(node_id)
|
|
249
243
|
return Query()
|
|
250
244
|
|
|
251
245
|
|
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
from collections import defaultdict
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
from enum import Enum
|
|
5
|
-
from typing import Any, DefaultDict, Dict, List, Mapping, Optional, Sized, cast
|
|
5
|
+
from typing import Any, DefaultDict, Dict, Iterable, List, Mapping, Optional, Sized, cast
|
|
6
6
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
import strawberry
|
|
@@ -339,12 +339,12 @@ def _hide_embedding_vectors(
|
|
|
339
339
|
attributes: Mapping[str, Any],
|
|
340
340
|
) -> Dict[str, Any]:
|
|
341
341
|
_attributes = dict(attributes)
|
|
342
|
-
if not (embeddings := _attributes.get(EMBEDDING_EMBEDDINGS)):
|
|
342
|
+
if not isinstance((embeddings := _attributes.get(EMBEDDING_EMBEDDINGS)), Iterable):
|
|
343
343
|
return _attributes
|
|
344
344
|
_embeddings = []
|
|
345
345
|
for embedding in embeddings:
|
|
346
346
|
_embedding = dict(embedding)
|
|
347
|
-
if vector := _embedding.get(EMBEDDING_VECTOR):
|
|
347
|
+
if isinstance((vector := _embedding.get(EMBEDDING_VECTOR)), Sized):
|
|
348
348
|
_embedding[EMBEDDING_VECTOR] = f"<{len(vector)} dimensional vector>"
|
|
349
349
|
_embeddings.append(_embedding)
|
|
350
350
|
_attributes[EMBEDDING_EMBEDDINGS] = _embeddings
|
|
@@ -30,6 +30,20 @@ def from_global_id(global_id: str) -> Tuple[str, int]:
|
|
|
30
30
|
return type_name, int(node_id)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
def from_global_id_with_expected_type(global_id: str, expected_type_name: str) -> int:
|
|
34
|
+
"""
|
|
35
|
+
Decodes the given global id and return the id, checking that the type
|
|
36
|
+
matches the expected type.
|
|
37
|
+
"""
|
|
38
|
+
type_name, node_id = from_global_id(global_id)
|
|
39
|
+
if type_name != expected_type_name:
|
|
40
|
+
raise ValueError(
|
|
41
|
+
f"The node id must correspond to a node of type {expected_type_name}, "
|
|
42
|
+
f"but instead corresponds to a node of type: {type_name}"
|
|
43
|
+
)
|
|
44
|
+
return node_id
|
|
45
|
+
|
|
46
|
+
|
|
33
47
|
class GlobalIDValueError(ValueError):
|
|
34
48
|
"""GlobalID value error, usually related to parsing or serialization."""
|
|
35
49
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "3.16.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "3.16.0"
|
|
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-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/__init__.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/classify.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/executor.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/generate.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/functions/processing.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/__init__.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/bedrock.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/litellm.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/openai.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/rate_limiters.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/vertex.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/models/vertexai.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/templates/template.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/utils/__init__.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/experimental/evals/utils/threads.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
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/ClusterInput.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/Coordinates.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/DimensionFilter.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/DimensionInput.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/Granularity.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/SpanSort.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/TimeRange.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/input_types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/evaluation_handler.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/span_handler.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/routers/trace_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DataQualityMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionDataType.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionShape.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/DimensionWithValue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EmbeddingDimension.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EmbeddingMetadata.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/EvaluationSummary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ExportEventsMutation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/PerformanceMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/PromptResponse.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/ValidationResult.py
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/api/types/VectorDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-114x114.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-120x120.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-144x144.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-152x152.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-180x180.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-72x72.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon-76x76.png
RENAMED
|
File without changes
|
{arize_phoenix-3.16.0 → arize_phoenix-3.16.1}/src/phoenix/server/static/apple-touch-icon.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|