arize-phoenix 2.9.0__tar.gz → 2.9.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-2.9.0 → arize_phoenix-2.9.2}/PKG-INFO +38 -16
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/README.md +37 -15
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/client.py +11 -6
- arize_phoenix-2.9.2/src/phoenix/version.py +1 -0
- arize_phoenix-2.9.0/src/phoenix/version.py +0 -1
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/.gitignore +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/IP_NOTICE +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/LICENSE +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/pyproject.toml +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/config.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/evals.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/core/traces.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/dataset.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/errors.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/fixtures.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/schema.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datasets/validation.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/evaluators.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/classify.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/executor.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/generate.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/processing.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/anthropic.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/base.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/bedrock.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/litellm.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/openai.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/rate_limiters.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/vertex.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/vertexai.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/retrievals.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/default_templates.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/template.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/utils/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/utils/threads.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/py.typed +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/helpers.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/evaluation_handler.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/span_handler.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/trace_handler.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetInfo.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetRole.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ExportEventsMutation.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/main.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/index.css +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/index.js +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/services.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/session/session.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/missing.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/instrumentor.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/langchain/tracer.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/callback.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/debug_callback.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/llama_index/streaming.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/openai/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/openai/instrumentor.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/semantic_conventions.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/tracer.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/utilities/logging.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.2
|
|
4
4
|
Summary: ML Observability in your notebook
|
|
5
5
|
Project-URL: Documentation, https://docs.arize.com/phoenix/
|
|
6
6
|
Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
|
|
@@ -103,21 +103,22 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
|
|
|
103
103
|
|
|
104
104
|
**Table of Contents**
|
|
105
105
|
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
106
|
+
- [Installation](#installation)
|
|
107
|
+
- [LLM Traces](#llm-traces)
|
|
108
|
+
- [Tracing with LlamaIndex](#tracing-with-llamaindex)
|
|
109
|
+
- [Tracing with LangChain](#tracing-with-langchain)
|
|
110
|
+
- [LLM Evals](#llm-evals)
|
|
111
|
+
- [Embedding Analysis](#embedding-analysis)
|
|
112
|
+
- [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
|
|
113
|
+
- [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
|
|
114
|
+
- [Exportable Clusters](#exportable-clusters)
|
|
115
|
+
- [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
|
|
116
|
+
- [Structured Data Analysis](#structured-data-analysis)
|
|
117
|
+
- [Deploying Phoenix](#deploying-phoenix)
|
|
118
|
+
- [Breaking Changes](#breaking-changes)
|
|
119
|
+
- [Community](#community)
|
|
120
|
+
- [Thanks](#thanks)
|
|
121
|
+
- [Copyright, Patent, and License](#copyright-patent-and-license)
|
|
121
122
|
|
|
122
123
|
## Installation
|
|
123
124
|
|
|
@@ -432,6 +433,27 @@ train_ds = px.Dataset(dataframe=train_df, schema=schema, name="training")
|
|
|
432
433
|
session = px.launch_app(primary=prod_ds, reference=train_ds)
|
|
433
434
|
```
|
|
434
435
|
|
|
436
|
+
## Deploying Phoenix
|
|
437
|
+
|
|
438
|
+
<a target="_blank" href="https://hub.docker.com/repository/docker/arizephoenix/phoenix/general">
|
|
439
|
+
<img src="https://img.shields.io/docker/v/arizephoenix/phoenix?sort=semver&logo=docker&label=image&color=blue">
|
|
440
|
+
</a>
|
|
441
|
+
|
|
442
|
+
<img src="https://storage.googleapis.com/arize-assets/phoenix/assets/images/deployment.png" title="How phoenix can collect traces from an LLM application"/>
|
|
443
|
+
|
|
444
|
+
Phoenix's notebook-first approach to observability makes it a great tool to utilize during experimentation and pre-production. However at some point you are going to want to ship your application to production and continue to monitor your application as it runs. Phoenix is made up of two components that can be deployed independently:
|
|
445
|
+
|
|
446
|
+
- **Trace Instrumentation**: These are a set of plugins that can be added to your application's startup process. These plugins (known as instrumentations) automatically collect spans for your application and export them for collection and visualization. For phoenix, all the instrumentors are managed via a single repository called [OpenInference](https://github.com/Arize-ai/openinference)
|
|
447
|
+
- **Trace Collector**: The Phoenix server acts as a trace collector and application that helps you troubleshoot your application in real time. You can pull the latest images of Phoenix from the [Docker Hub](https://hub.docker.com/repository/docker/arizephoenix/phoenix/general)
|
|
448
|
+
|
|
449
|
+
In order to run Phoenix tracing in production, you will have to follow these following steps:
|
|
450
|
+
|
|
451
|
+
- **Setup a Server**: your LLM application to run on a server ([examples](https://github.com/Arize-ai/openinference/tree/main/python/examples))
|
|
452
|
+
- **Instrument**: Add [OpenInference](https://github.com/Arize-ai/openinference) Instrumentation to your server
|
|
453
|
+
- Observe: Run the Phoenix server as a side-car or a standalone instance and point your tracing instrumentation to the phoenix server
|
|
454
|
+
|
|
455
|
+
For more information on deploying Phoenix, see the [Phoenix Deployment Guide](https://docs.arize.com/phoenix/deployment/deploying-phoenix).
|
|
456
|
+
|
|
435
457
|
## Breaking Changes
|
|
436
458
|
|
|
437
459
|
- **v1.0.0** - Phoenix now exclusively supports the `openai>=1.0.0` sdk. If you are using an older version of the OpenAI SDK, you can continue to use `arize-phoenix==0.1.1`. However, we recommend upgrading to the latest version of the OpenAI SDK as it contains many improvements. If you are using Phoenix with LlamaIndex and and LangChain, you will have to upgrade to the versions of these packages that support the OpenAI `1.0.0` SDK as well (`llama-index>=0.8.64`, `langchain>=0.0.334`)
|
|
@@ -39,21 +39,22 @@ Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config o
|
|
|
39
39
|
|
|
40
40
|
**Table of Contents**
|
|
41
41
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
42
|
+
- [Installation](#installation)
|
|
43
|
+
- [LLM Traces](#llm-traces)
|
|
44
|
+
- [Tracing with LlamaIndex](#tracing-with-llamaindex)
|
|
45
|
+
- [Tracing with LangChain](#tracing-with-langchain)
|
|
46
|
+
- [LLM Evals](#llm-evals)
|
|
47
|
+
- [Embedding Analysis](#embedding-analysis)
|
|
48
|
+
- [UMAP-based Exploratory Data Analysis](#umap-based-exploratory-data-analysis)
|
|
49
|
+
- [Cluster-driven Drift and Performance Analysis](#cluster-driven-drift-and-performance-analysis)
|
|
50
|
+
- [Exportable Clusters](#exportable-clusters)
|
|
51
|
+
- [Retrieval-Augmented Generation Analysis](#retrieval-augmented-generation-analysis)
|
|
52
|
+
- [Structured Data Analysis](#structured-data-analysis)
|
|
53
|
+
- [Deploying Phoenix](#deploying-phoenix)
|
|
54
|
+
- [Breaking Changes](#breaking-changes)
|
|
55
|
+
- [Community](#community)
|
|
56
|
+
- [Thanks](#thanks)
|
|
57
|
+
- [Copyright, Patent, and License](#copyright-patent-and-license)
|
|
57
58
|
|
|
58
59
|
## Installation
|
|
59
60
|
|
|
@@ -368,6 +369,27 @@ train_ds = px.Dataset(dataframe=train_df, schema=schema, name="training")
|
|
|
368
369
|
session = px.launch_app(primary=prod_ds, reference=train_ds)
|
|
369
370
|
```
|
|
370
371
|
|
|
372
|
+
## Deploying Phoenix
|
|
373
|
+
|
|
374
|
+
<a target="_blank" href="https://hub.docker.com/repository/docker/arizephoenix/phoenix/general">
|
|
375
|
+
<img src="https://img.shields.io/docker/v/arizephoenix/phoenix?sort=semver&logo=docker&label=image&color=blue">
|
|
376
|
+
</a>
|
|
377
|
+
|
|
378
|
+
<img src="https://storage.googleapis.com/arize-assets/phoenix/assets/images/deployment.png" title="How phoenix can collect traces from an LLM application"/>
|
|
379
|
+
|
|
380
|
+
Phoenix's notebook-first approach to observability makes it a great tool to utilize during experimentation and pre-production. However at some point you are going to want to ship your application to production and continue to monitor your application as it runs. Phoenix is made up of two components that can be deployed independently:
|
|
381
|
+
|
|
382
|
+
- **Trace Instrumentation**: These are a set of plugins that can be added to your application's startup process. These plugins (known as instrumentations) automatically collect spans for your application and export them for collection and visualization. For phoenix, all the instrumentors are managed via a single repository called [OpenInference](https://github.com/Arize-ai/openinference)
|
|
383
|
+
- **Trace Collector**: The Phoenix server acts as a trace collector and application that helps you troubleshoot your application in real time. You can pull the latest images of Phoenix from the [Docker Hub](https://hub.docker.com/repository/docker/arizephoenix/phoenix/general)
|
|
384
|
+
|
|
385
|
+
In order to run Phoenix tracing in production, you will have to follow these following steps:
|
|
386
|
+
|
|
387
|
+
- **Setup a Server**: your LLM application to run on a server ([examples](https://github.com/Arize-ai/openinference/tree/main/python/examples))
|
|
388
|
+
- **Instrument**: Add [OpenInference](https://github.com/Arize-ai/openinference) Instrumentation to your server
|
|
389
|
+
- Observe: Run the Phoenix server as a side-car or a standalone instance and point your tracing instrumentation to the phoenix server
|
|
390
|
+
|
|
391
|
+
For more information on deploying Phoenix, see the [Phoenix Deployment Guide](https://docs.arize.com/phoenix/deployment/deploying-phoenix).
|
|
392
|
+
|
|
371
393
|
## Breaking Changes
|
|
372
394
|
|
|
373
395
|
- **v1.0.0** - Phoenix now exclusively supports the `openai>=1.0.0` sdk. If you are using an older version of the OpenAI SDK, you can continue to use `arize-phoenix==0.1.1`. However, we recommend upgrading to the latest version of the OpenAI SDK as it contains many improvements. If you are using Phoenix with LlamaIndex and and LangChain, you will have to upgrade to the versions of these packages that support the OpenAI `1.0.0` SDK as well (`llama-index>=0.8.64`, `langchain>=0.0.334`)
|
|
@@ -11,7 +11,7 @@ from pyarrow import ArrowInvalid
|
|
|
11
11
|
from requests import Session
|
|
12
12
|
|
|
13
13
|
import phoenix as px
|
|
14
|
-
from phoenix.config import get_env_host, get_env_port
|
|
14
|
+
from phoenix.config import get_env_collector_endpoint, get_env_host, get_env_port
|
|
15
15
|
from phoenix.session.data_extractor import TraceDataExtractor
|
|
16
16
|
from phoenix.trace import Evaluations
|
|
17
17
|
from phoenix.trace.dsl import SpanQuery
|
|
@@ -33,12 +33,17 @@ class Client(TraceDataExtractor):
|
|
|
33
33
|
----------
|
|
34
34
|
endpoint : str, optional
|
|
35
35
|
Phoenix server endpoint, e.g. http://localhost:6006. If not provided, the
|
|
36
|
-
|
|
36
|
+
endpoint will be inferred from the environment variables.
|
|
37
37
|
use_active_session_if_available : bool, optional
|
|
38
38
|
If active session is available, use it instead of sending HTTP requests.
|
|
39
39
|
"""
|
|
40
40
|
self._use_active_session_if_available = use_active_session_if_available
|
|
41
|
-
|
|
41
|
+
host = get_env_host()
|
|
42
|
+
if host == "0.0.0.0":
|
|
43
|
+
host = "127.0.0.1"
|
|
44
|
+
self._base_url = (
|
|
45
|
+
endpoint or get_env_collector_endpoint() or f"http://{host}:{get_env_port()}"
|
|
46
|
+
)
|
|
42
47
|
self._session = Session()
|
|
43
48
|
weakref.finalize(self, self._session.close)
|
|
44
49
|
if not (self._use_active_session_if_available and px.active_session()):
|
|
@@ -61,7 +66,7 @@ class Client(TraceDataExtractor):
|
|
|
61
66
|
root_spans_only=root_spans_only,
|
|
62
67
|
)
|
|
63
68
|
response = self._session.get(
|
|
64
|
-
url=urljoin(self._base_url, "v1/spans"),
|
|
69
|
+
url=urljoin(self._base_url, "/v1/spans"),
|
|
65
70
|
json={
|
|
66
71
|
"queries": [q.to_dict() for q in queries],
|
|
67
72
|
"start_time": _to_iso_format(start_time),
|
|
@@ -91,7 +96,7 @@ class Client(TraceDataExtractor):
|
|
|
91
96
|
def get_evaluations(self) -> List[Evaluations]:
|
|
92
97
|
if self._use_active_session_if_available and (session := px.active_session()):
|
|
93
98
|
return session.get_evaluations()
|
|
94
|
-
response = self._session.get(urljoin(self._base_url, "v1/evaluations"))
|
|
99
|
+
response = self._session.get(urljoin(self._base_url, "/v1/evaluations"))
|
|
95
100
|
if response.status_code == 404:
|
|
96
101
|
logger.info("No evaluations found.")
|
|
97
102
|
return []
|
|
@@ -111,7 +116,7 @@ class Client(TraceDataExtractor):
|
|
|
111
116
|
|
|
112
117
|
def _warn_if_phoenix_is_not_running(self) -> None:
|
|
113
118
|
try:
|
|
114
|
-
self._session.get(urljoin(self._base_url, "arize_phoenix_version")).raise_for_status()
|
|
119
|
+
self._session.get(urljoin(self._base_url, "/arize_phoenix_version")).raise_for_status()
|
|
115
120
|
except Exception:
|
|
116
121
|
logger.warning(
|
|
117
122
|
f"Arize Phoenix is not running on {self._base_url}. Launch Phoenix "
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.9.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.9.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
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/__init__.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/classify.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/executor.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/generate.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/functions/processing.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/__init__.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/bedrock.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/litellm.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/rate_limiters.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/models/vertexai.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/templates/template.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/experimental/evals/utils/__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
|
|
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-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/ClusterInput.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/Coordinates.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionFilter.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/input_types/DimensionInput.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.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
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/routers/evaluation_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DataQualityMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionDataType.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DimensionWithValue.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingDimension.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EmbeddingMetadata.py
RENAMED
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/EvaluationSummary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/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-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/PerformanceMetric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/ValidationResult.py
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/api/types/VectorDriftMetricEnum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-114x114.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-120x120.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-144x144.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-152x152.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-180x180.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-72x72.png
RENAMED
|
File without changes
|
{arize_phoenix-2.9.0 → arize_phoenix-2.9.2}/src/phoenix/server/static/apple-touch-icon-76x76.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
|