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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 5.0.0
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.33
30
+ Requires-Dist: hdbscan>=0.8.38
31
31
  Requires-Dist: httpx
32
32
  Requires-Dist: jinja2
33
- Requires-Dist: numpy<2
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=DgiwC5i6Qn9S9SAS5v73GdLwuTrTF6Uxx0LBYewmzI8,22
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=Pe_M5eIKN3CQT6JS9FE6CnmWeiP1kG7zxkxzUgVJ_rE,19248
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=IzcG67kJ2hPP7pcqVmKPSL_6gKRonKdOT3bCtbTOqnk,820
74
+ phoenix/pointcloud/clustering.py,sha256=YDX3Cc57yAAvixeMuV0fgoIfgbkwgEVkzYMLOdN8Tko,829
75
75
  phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYGrao,2145
76
- phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
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=2OTVzAcfY-2xnJLl7122EAaqJyp0sob1v9-ryaNWknw,18961
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=4pibRxdvwZ4C7ni-2SN5O7_4meFV5cVucVKZrEmfk3w,18117
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.0.0.dist-info/METADATA,sha256=BG_Dx9hyqXawIMsYYRcSrnSOYEi_6J7BOaMcYoeh8E8,11827
313
- arize_phoenix-5.0.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
314
- arize_phoenix-5.0.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
315
- arize_phoenix-5.0.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
316
- arize_phoenix-5.0.0.dist-info/RECORD,,
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 `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be used. 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 `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be
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 `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be used to
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 `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be used to
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
- `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be used to infer which
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
- `PHOENIX_OTEL_COLLECTOR_ENDPOINT` environment variable will be used to infer which
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
@@ -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):
@@ -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.0.0"
1
+ __version__ = "5.1.1"