arize-phoenix 5.0.0__py3-none-any.whl → 5.1.1__py3-none-any.whl
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-5.0.0.dist-info → arize_phoenix-5.1.1.dist-info}/METADATA +4 -3
- {arize_phoenix-5.0.0.dist-info → arize_phoenix-5.1.1.dist-info}/RECORD +11 -11
- phoenix/otel/otel.py +6 -6
- phoenix/pointcloud/clustering.py +2 -1
- phoenix/pointcloud/projectors.py +5 -6
- phoenix/server/api/types/EmbeddingDimension.py +10 -10
- phoenix/trace/fixtures.py +24 -0
- phoenix/version.py +1 -1
- {arize_phoenix-5.0.0.dist-info → arize_phoenix-5.1.1.dist-info}/WHEEL +0 -0
- {arize_phoenix-5.0.0.dist-info → arize_phoenix-5.1.1.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-5.0.0.dist-info → arize_phoenix-5.1.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.1.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
|
|
@@ -27,10 +27,11 @@ Requires-Dist: fastapi
|
|
|
27
27
|
Requires-Dist: fastapi-mail
|
|
28
28
|
Requires-Dist: grpc-interceptor
|
|
29
29
|
Requires-Dist: grpcio
|
|
30
|
-
Requires-Dist: hdbscan>=0.8.
|
|
30
|
+
Requires-Dist: hdbscan>=0.8.38
|
|
31
31
|
Requires-Dist: httpx
|
|
32
32
|
Requires-Dist: jinja2
|
|
33
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: numba>=0.60.0
|
|
34
|
+
Requires-Dist: numpy!=2.0.0
|
|
34
35
|
Requires-Dist: openinference-instrumentation>=0.1.12
|
|
35
36
|
Requires-Dist: openinference-semantic-conventions>=0.1.9
|
|
36
37
|
Requires-Dist: opentelemetry-exporter-otlp
|
|
@@ -6,7 +6,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
|
|
|
6
6
|
phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
7
7
|
phoenix/services.py,sha256=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
|
|
8
8
|
phoenix/settings.py,sha256=ht-0oN-sMV6SPXrk7Tu1EZlngpAYkGNLYPhO8DyrdQI,661
|
|
9
|
-
phoenix/version.py,sha256=
|
|
9
|
+
phoenix/version.py,sha256=O2stXi7jIRoLCfzh6fPEOGlhpgQPwGWYLDheJ-AbO_4,22
|
|
10
10
|
phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
|
|
12
12
|
phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
|
|
@@ -68,12 +68,12 @@ phoenix/metrics/retrieval_metrics.py,sha256=XFQPo66h16w7-1AJ92M1VL_BUIXIWxXHGKF_
|
|
|
68
68
|
phoenix/metrics/timeseries.py,sha256=Cib3E0njJzi0vZpmyADvbakFQA98rIkfDaYAOmsmBz8,6277
|
|
69
69
|
phoenix/metrics/wrappers.py,sha256=umZqa_5lf1wZSFe3FgzxF-qp1xbPdKD54W628GlGCUI,8392
|
|
70
70
|
phoenix/otel/__init__.py,sha256=YvEiD-3aGZs9agwLNCXU34ofV3G-Q-dolfsiinOJuT0,407
|
|
71
|
-
phoenix/otel/otel.py,sha256
|
|
71
|
+
phoenix/otel/otel.py,sha256=-oDSXyN9Gh3JfcG4XOIGE_5YsGbcrT5tOCK8o5FDqZs,19218
|
|
72
72
|
phoenix/otel/settings.py,sha256=JYGUeV87NFnhJbp34AjoNiSejn3QYMSdPIx4NpA97tM,3272
|
|
73
73
|
phoenix/pointcloud/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
74
|
-
phoenix/pointcloud/clustering.py,sha256=
|
|
74
|
+
phoenix/pointcloud/clustering.py,sha256=YDX3Cc57yAAvixeMuV0fgoIfgbkwgEVkzYMLOdN8Tko,829
|
|
75
75
|
phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYGrao,2145
|
|
76
|
-
phoenix/pointcloud/projectors.py,sha256=
|
|
76
|
+
phoenix/pointcloud/projectors.py,sha256=TQgwc9cJDjJkin1WZyZzgl3HsYrLLiyWD7Czy4jNW3U,1088
|
|
77
77
|
phoenix/pointcloud/umap_parameters.py,sha256=3UQSjrysVOvq2V4KNpTMqNqNiK0BsTZnPBHWZ4fyJtQ,1708
|
|
78
78
|
phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
79
|
phoenix/server/app.py,sha256=V3ltox8-ptAQPpE68YmF39WlfYbaquMmdJ333M_uIiw,31539
|
|
@@ -203,7 +203,7 @@ phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcu
|
|
|
203
203
|
phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
|
|
204
204
|
phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=EpgKn0uiH2Vbpyltc1MeoWOZjzbRuHkPCZ2Zkoqfni8,3480
|
|
205
205
|
phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
|
|
206
|
-
phoenix/server/api/types/EmbeddingDimension.py,sha256=
|
|
206
|
+
phoenix/server/api/types/EmbeddingDimension.py,sha256=faF4kM6v8gp6cpSYzGWJcinBrIkWhocbCVtIZauUvlM,19011
|
|
207
207
|
phoenix/server/api/types/EmbeddingMetadata.py,sha256=fJvNNYCbkf3SJalArLy9rcBq9Uj1SNac60zjqe1PFnM,461
|
|
208
208
|
phoenix/server/api/types/Evaluation.py,sha256=rLJptUSRUPPx9sdUyc4UPWxzkr9gcKtkpAS5Zi_EyFQ,2406
|
|
209
209
|
phoenix/server/api/types/EvaluationSummary.py,sha256=N1DhPXGhBbOOQakF43OGuZ5fl4vye7Uc-HnW5M262F8,1518
|
|
@@ -283,7 +283,7 @@ phoenix/trace/attributes.py,sha256=B_OrzVaxZwFkrAFXZyicYoIti1UdUysURsvUS2GyW1U,1
|
|
|
283
283
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
284
284
|
phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
|
|
285
285
|
phoenix/trace/exporter.py,sha256=bUXh8fjJIbHurrnt4bAm-cCWqUN5FqNsIc8DZzzklkQ,4695
|
|
286
|
-
phoenix/trace/fixtures.py,sha256=
|
|
286
|
+
phoenix/trace/fixtures.py,sha256=im2DsmQNhKL8xHYH-z-Q2gkGbBwQ2AWm0xD0Gwh5N_w,18990
|
|
287
287
|
phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
|
|
288
288
|
phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
|
|
289
289
|
phoenix/trace/schemas.py,sha256=HpWSyzec0yDHEQXEDuwyLbhpvKrqkGps8BJqGiIFj8Y,5978
|
|
@@ -309,8 +309,8 @@ phoenix/utilities/logging.py,sha256=B8t2WPULOwVyuGLRLbwKsw5N41N26vtgF-lCAYgWTEk,
|
|
|
309
309
|
phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,436
|
|
310
310
|
phoenix/utilities/re.py,sha256=nr_B0txj_7CXc45953X6vr2KCRSWMuaXJSEkL8s8Sjc,2036
|
|
311
311
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
312
|
-
arize_phoenix-5.
|
|
313
|
-
arize_phoenix-5.
|
|
314
|
-
arize_phoenix-5.
|
|
315
|
-
arize_phoenix-5.
|
|
316
|
-
arize_phoenix-5.
|
|
312
|
+
arize_phoenix-5.1.1.dist-info/METADATA,sha256=eGOVF8jd_IpHJHAOI5fGVjwqAHy5GDtM6tQ_ZhSlq44,11861
|
|
313
|
+
arize_phoenix-5.1.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
314
|
+
arize_phoenix-5.1.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
315
|
+
arize_phoenix-5.1.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
316
|
+
arize_phoenix-5.1.1.dist-info/RECORD,,
|
phoenix/otel/otel.py
CHANGED
|
@@ -51,7 +51,7 @@ def register(
|
|
|
51
51
|
|
|
52
52
|
Args:
|
|
53
53
|
endpoint (str, optional): The collector endpoint to which spans will be exported. If not
|
|
54
|
-
provided, the `
|
|
54
|
+
provided, the `PHOENIX_COLLECTOR_ENDPOINT` environment variable will be used. The
|
|
55
55
|
export protocol will be inferred from the endpoint.
|
|
56
56
|
project_name (str, optional): The name of the project to which spans will be associated. If
|
|
57
57
|
not provided, the `PHOENIX_PROJECT_NAME` environment variable will be used.
|
|
@@ -102,7 +102,7 @@ class TracerProvider(_TracerProvider):
|
|
|
102
102
|
Args:
|
|
103
103
|
endpoint (str, optional): The collector endpoint to which spans will be exported. If
|
|
104
104
|
specified, a default SpanProcessor will be created and added to this TracerProvider.
|
|
105
|
-
If not provided, the `
|
|
105
|
+
If not provided, the `PHOENIX_COLLECTOR_ENDPOINT` environment variable will be
|
|
106
106
|
used to infer which collector endpoint to use, defaults to the gRPC endpoint. When
|
|
107
107
|
specifying the endpoint, the transport method (HTTP or gRPC) will be inferred from the
|
|
108
108
|
URL.
|
|
@@ -203,7 +203,7 @@ class SimpleSpanProcessor(_SimpleSpanProcessor):
|
|
|
203
203
|
span_exporter (SpanExporter, optional): The `SpanExporter` to which ended spans will be
|
|
204
204
|
passed.
|
|
205
205
|
endpoint (str, optional): The collector endpoint to which spans will be exported. If not
|
|
206
|
-
provided, the `
|
|
206
|
+
provided, the `PHOENIX_COLLECTOR_ENDPOINT` environment variable will be used to
|
|
207
207
|
infer which collector endpoint to use, defaults to the gRPC endpoint. When specifying
|
|
208
208
|
the endpoint, the transport method (HTTP or gRPC) will be inferred from the URL.
|
|
209
209
|
headers (dict, optional): Optional headers to include in the request to the collector.
|
|
@@ -248,7 +248,7 @@ class BatchSpanProcessor(_BatchSpanProcessor):
|
|
|
248
248
|
span_exporter (SpanExporter, optional): The `SpanExporter` to which ended spans will be
|
|
249
249
|
passed.
|
|
250
250
|
endpoint (str, optional): The collector endpoint to which spans will be exported. If not
|
|
251
|
-
provided, the `
|
|
251
|
+
provided, the `PHOENIX_COLLECTOR_ENDPOINT` environment variable will be used to
|
|
252
252
|
infer which collector endpoint to use, defaults to the gRPC endpoint. When specifying
|
|
253
253
|
the endpoint, the transport method (HTTP or gRPC) will be inferred from the URL.
|
|
254
254
|
headers (dict, optional): Optional headers to include in the request to the collector.
|
|
@@ -288,7 +288,7 @@ class HTTPSpanExporter(_HTTPSpanExporter):
|
|
|
288
288
|
|
|
289
289
|
Args:
|
|
290
290
|
endpoint (str, optional): OpenTelemetry Collector receiver endpoint. If not provided, the
|
|
291
|
-
`
|
|
291
|
+
`PHOENIX_COLLECTOR_ENDPOINT` environment variable will be used to infer which
|
|
292
292
|
collector endpoint to use, defaults to the HTTP endpoint.
|
|
293
293
|
headers: Headers to send when exporting. If not provided, the `PHOENIX_CLIENT_HEADERS`
|
|
294
294
|
or `OTEL_EXPORTER_OTLP_HEADERS` environment variables will be used.
|
|
@@ -337,7 +337,7 @@ class GRPCSpanExporter(_GRPCSpanExporter):
|
|
|
337
337
|
|
|
338
338
|
Args:
|
|
339
339
|
endpoint (str, optional): OpenTelemetry Collector receiver endpoint. If not provided, the
|
|
340
|
-
`
|
|
340
|
+
`PHOENIX_COLLECTOR_ENDPOINT` environment variable will be used to infer which
|
|
341
341
|
collector endpoint to use, defaults to the gRPC endpoint.
|
|
342
342
|
insecure: Connection type
|
|
343
343
|
credentials: Credentials object for server authentication
|
phoenix/pointcloud/clustering.py
CHANGED
|
@@ -3,7 +3,6 @@ from typing import List, Set
|
|
|
3
3
|
|
|
4
4
|
import numpy as np
|
|
5
5
|
import numpy.typing as npt
|
|
6
|
-
from hdbscan import HDBSCAN
|
|
7
6
|
from typing_extensions import TypeAlias
|
|
8
7
|
|
|
9
8
|
RowIndex: TypeAlias = int
|
|
@@ -18,6 +17,8 @@ class Hdbscan:
|
|
|
18
17
|
cluster_selection_epsilon: float = 0.0
|
|
19
18
|
|
|
20
19
|
def find_clusters(self, mat: Matrix) -> List[RawCluster]:
|
|
20
|
+
from hdbscan import HDBSCAN
|
|
21
|
+
|
|
21
22
|
cluster_ids: npt.NDArray[np.int_] = HDBSCAN(**asdict(self)).fit_predict(mat)
|
|
22
23
|
ans: List[RawCluster] = [set() for _ in range(np.max(cluster_ids) + 1)]
|
|
23
24
|
for row_idx, cluster_id in enumerate(cluster_ids):
|
phoenix/pointcloud/projectors.py
CHANGED
|
@@ -6,12 +6,6 @@ import numpy as np
|
|
|
6
6
|
import numpy.typing as npt
|
|
7
7
|
from typing_extensions import TypeAlias
|
|
8
8
|
|
|
9
|
-
with warnings.catch_warnings():
|
|
10
|
-
from numba.core.errors import NumbaWarning
|
|
11
|
-
|
|
12
|
-
warnings.simplefilter("ignore", category=NumbaWarning)
|
|
13
|
-
from umap import UMAP
|
|
14
|
-
|
|
15
9
|
Matrix: TypeAlias = npt.NDArray[np.float64]
|
|
16
10
|
|
|
17
11
|
|
|
@@ -25,6 +19,11 @@ class Umap:
|
|
|
25
19
|
min_dist: float = 0.1
|
|
26
20
|
|
|
27
21
|
def project(self, mat: Matrix, n_components: int) -> Matrix:
|
|
22
|
+
with warnings.catch_warnings():
|
|
23
|
+
from numba.core.errors import NumbaWarning
|
|
24
|
+
|
|
25
|
+
warnings.simplefilter("ignore", category=NumbaWarning)
|
|
26
|
+
from umap import UMAP
|
|
28
27
|
config = asdict(self)
|
|
29
28
|
config["n_components"] = n_components
|
|
30
29
|
if len(mat) <= n_components:
|
|
@@ -422,17 +422,17 @@ class EmbeddingDimension(Node):
|
|
|
422
422
|
if isinstance(inferences_role, InferencesRole):
|
|
423
423
|
dataset = model[inferences_role.value]
|
|
424
424
|
embedding_metadata = EmbeddingMetadata(
|
|
425
|
-
prediction_id=dataset[PREDICTION_ID][row_id],
|
|
426
|
-
link_to_data=dataset[self.dimension.link_to_data][row_id],
|
|
427
|
-
raw_data=dataset[self.dimension.raw_data][row_id],
|
|
425
|
+
prediction_id=dataset[PREDICTION_ID].iloc[row_id],
|
|
426
|
+
link_to_data=dataset[self.dimension.link_to_data].iloc[row_id],
|
|
427
|
+
raw_data=dataset[self.dimension.raw_data].iloc[row_id],
|
|
428
428
|
)
|
|
429
429
|
elif (corpus := info.context.corpus) is not None:
|
|
430
430
|
dataset = corpus[PRIMARY]
|
|
431
431
|
dimension = cast(ms.EmbeddingDimension, corpus[PROMPT])
|
|
432
432
|
embedding_metadata = EmbeddingMetadata(
|
|
433
|
-
prediction_id=dataset[PREDICTION_ID][row_id],
|
|
434
|
-
link_to_data=dataset[dimension.link_to_data][row_id],
|
|
435
|
-
raw_data=dataset[dimension.raw_data][row_id],
|
|
433
|
+
prediction_id=dataset[PREDICTION_ID].iloc[row_id],
|
|
434
|
+
link_to_data=dataset[dimension.link_to_data].iloc[row_id],
|
|
435
|
+
raw_data=dataset[dimension.raw_data].iloc[row_id],
|
|
436
436
|
)
|
|
437
437
|
else:
|
|
438
438
|
continue
|
|
@@ -445,10 +445,10 @@ class EmbeddingDimension(Node):
|
|
|
445
445
|
event_id=event_id,
|
|
446
446
|
coordinates=to_gql_coordinates(vector),
|
|
447
447
|
event_metadata=EventMetadata(
|
|
448
|
-
prediction_label=dataset[PREDICTION_LABEL][row_id],
|
|
449
|
-
prediction_score=dataset[PREDICTION_SCORE][row_id],
|
|
450
|
-
actual_label=dataset[ACTUAL_LABEL][row_id],
|
|
451
|
-
actual_score=dataset[ACTUAL_SCORE][row_id],
|
|
448
|
+
prediction_label=dataset[PREDICTION_LABEL].iloc[row_id],
|
|
449
|
+
prediction_score=dataset[PREDICTION_SCORE].iloc[row_id],
|
|
450
|
+
actual_label=dataset[ACTUAL_LABEL].iloc[row_id],
|
|
451
|
+
actual_score=dataset[ACTUAL_SCORE].iloc[row_id],
|
|
452
452
|
),
|
|
453
453
|
embedding_metadata=embedding_metadata,
|
|
454
454
|
)
|
phoenix/trace/fixtures.py
CHANGED
|
@@ -145,6 +145,27 @@ demo_llama_index_rag_fixture = TracesFixture(
|
|
|
145
145
|
),
|
|
146
146
|
)
|
|
147
147
|
|
|
148
|
+
demo_code_based_agent_fixture = TracesFixture(
|
|
149
|
+
name="demo_code_based_agent",
|
|
150
|
+
project_name="demo_code_based_agent",
|
|
151
|
+
description="Shows traces captured from a code-based agent.",
|
|
152
|
+
file_name="agent-demo-traces.parquet",
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
demo_langgraph_agent_fixture = TracesFixture(
|
|
156
|
+
name="demo_langgraph_agent",
|
|
157
|
+
project_name="demo_langgraph_agent",
|
|
158
|
+
description="Shows traces captured from a Langgraph agent.",
|
|
159
|
+
file_name="langgraph-demo-traces.parquet",
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
demo_llamaindex_workflows_agent_fixture = TracesFixture(
|
|
163
|
+
name="demo_llamaindex_workflows_agent",
|
|
164
|
+
project_name="demo_llamaindex_workflows_agent",
|
|
165
|
+
description="Shows traces captured from a LlamaIndex Workflows agent.",
|
|
166
|
+
file_name="llamaindex-workflow-demo-traces.parquet",
|
|
167
|
+
)
|
|
168
|
+
|
|
148
169
|
demo_o1_preview_timeseries_testing_fixture = TracesFixture(
|
|
149
170
|
name="demo_o1_preview_timeseries_evals",
|
|
150
171
|
project_name="demo_o1_preview_timeseries",
|
|
@@ -257,6 +278,9 @@ random_fixture = TracesFixture(
|
|
|
257
278
|
TRACES_FIXTURES: List[TracesFixture] = [
|
|
258
279
|
demo_llama_index_rag_fixture,
|
|
259
280
|
demo_llama_index_rag_llm_fixture,
|
|
281
|
+
demo_langgraph_agent_fixture,
|
|
282
|
+
demo_code_based_agent_fixture,
|
|
283
|
+
demo_llamaindex_workflows_agent_fixture,
|
|
260
284
|
demo_o1_preview_timeseries_testing_fixture,
|
|
261
285
|
llama_index_rag_fixture,
|
|
262
286
|
llama_index_rag_fixture_with_davinci,
|
phoenix/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "5.
|
|
1
|
+
__version__ = "5.1.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|