arize-phoenix 7.1.1__py3-none-any.whl → 7.3.0__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,12 +1,14 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 7.1.1
3
+ Version: 7.3.0
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
7
7
  Project-URL: Source, https://github.com/Arize-ai/phoenix
8
8
  Author-email: Arize AI <phoenix-devs@arize.com>
9
9
  License: Elastic-2.0
10
+ License-File: IP_NOTICE
11
+ License-File: LICENSE
10
12
  Keywords: Explainability,Monitoring,Observability
11
13
  Classifier: Programming Language :: Python
12
14
  Classifier: Programming Language :: Python :: 3.9
@@ -154,12 +156,12 @@ Description-Content-Type: text/markdown
154
156
 
155
157
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
156
158
 
157
- - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/integrations-tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
159
+ - [**_Tracing_**](https://docs.arize.com/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
158
160
  - [**_Evaluation_**](https://docs.arize.com/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
159
161
  - [**_Datasets_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
160
162
  - [**_Experiments_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
161
163
 
162
- Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
164
+ Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/langchain), [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/haystack), 🧩[DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/openai), [Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/bedrock), [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/mistralai), [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/vertexai), [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
163
165
 
164
166
  Phoenix runs practically anywhere, including your Jupyter notebook, local machine, containerized deployment, or in the cloud.
165
167
 
@@ -192,9 +194,9 @@ Phoenix container images are available via [Docker Hub](https://hub.docker.com/r
192
194
  | REST API | ✅ |
193
195
  | GraphQL API | ✅ |
194
196
  | Data Retention | Customizable |
195
- | Authentication | ✅ |
196
- | Social Login | ✅ |
197
- | RBAC | ✅ |
197
+ | [Authentication](https://docs.arize.com/phoenix/deployment/authentication) | ✅ |
198
+ | [Social Login](https://docs.arize.com/phoenix/deployment/authentication#configuring-oauth2-identity-providers) | ✅ |
199
+ | [RBAC](https://docs.arize.com/phoenix/deployment/authentication#permissions) | ✅ |
198
200
  | Projects | ✅ |
199
201
  | [Self-Hosting](https://docs.arize.com/phoenix/deployment) | ✅ |
200
202
  | Jupyter Notebooks | ✅ |
@@ -244,7 +246,6 @@ Join our community to connect with thousands of AI builders.
244
246
  - 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
245
247
  - 🐞 Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
246
248
  - 𝕏 Follow us on [𝕏](https://twitter.com/ArizePhoenix).
247
- - 💌️ Sign up for our [mailing list](https://phoenix.arize.com/#updates).
248
249
  - 🗺️ Check out our [roadmap](https://github.com/orgs/Arize-ai/projects/45) to see where we're heading next.
249
250
 
250
251
  ## Breaking Changes
@@ -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=kpW1WL0kiB8XJsO6XycvZVJ-lBkNoenhQ7atCvBoSe8,5365
8
8
  phoenix/settings.py,sha256=ht-0oN-sMV6SPXrk7Tu1EZlngpAYkGNLYPhO8DyrdQI,661
9
- phoenix/version.py,sha256=zIzbwEoxy_UNPmdnMPe971pcUgSvFUdIdpzjze_iKYI,22
9
+ phoenix/version.py,sha256=sdpc-9h8PmmRVaqNA9R2vvMOVXFYIKW9zf9YS8np6ig,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=qBFraOtmwCCnWJltKNP18DDG0mULXigytlFsa6YOz6k,4837
@@ -116,7 +116,7 @@ phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=CHWV9nvEEM3xqpXWuby
116
116
  phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=1jYglTXv4S8k7OWSGdgeJ2OxVCmZtX8a6sjJp9GPZ04,2783
117
117
  phoenix/server/api/dataloaders/project_by_name.py,sha256=O24Rjs0ZQaYtSnPfA6YBQfbHfUgNsHKUcc_gIKyK9vo,1086
118
118
  phoenix/server/api/dataloaders/record_counts.py,sha256=NLlMEaJ-HxiJavqbSkMbzOrIRzqzYxO8-t2mfp1vXqM,4160
119
- phoenix/server/api/dataloaders/session_io.py,sha256=r-Zvn19qOo_JWATHtt5zwuwhHjiATLAGHRjoi4czd6U,3038
119
+ phoenix/server/api/dataloaders/session_io.py,sha256=1c2b-87KGHuF2sgeQvXmIv1-kFHEt6CfAvuH11jKfh4,3168
120
120
  phoenix/server/api/dataloaders/session_num_traces.py,sha256=lu5EMdQWQzEr_4wCiu7FycnIShjGf0yQXpwBG_DDzGs,1050
121
121
  phoenix/server/api/dataloaders/session_num_traces_with_error.py,sha256=Y5xmr4Nme2ZMfvJljW9yhBfuCNdGlxTRka0h9VdXdqA,1149
122
122
  phoenix/server/api/dataloaders/session_token_usages.py,sha256=9RXZUyzDmzp5WDp_BpmvvDhk5gIIaV97x0xxUM1H9bA,1586
@@ -134,7 +134,7 @@ phoenix/server/api/dataloaders/cache/__init__.py,sha256=SYoOM9n8FJaMdQarma5d1blu
134
134
  phoenix/server/api/dataloaders/cache/two_tier_cache.py,sha256=cmo8FUT3E91R139IEzh4yCga-6nTamc5KPXAfMrzNDM,2315
135
135
  phoenix/server/api/helpers/__init__.py,sha256=m2-xaSPqUiSs91k62JaRDjFNfl-1byxBfY-m_Vxw16U,272
136
136
  phoenix/server/api/helpers/dataset_helpers.py,sha256=AMlKY9_e0wnTrTSSQemM5NHfnpwARSytx-m9YK6f6bY,8421
137
- phoenix/server/api/helpers/playground_clients.py,sha256=nmbmP2bO_u-dhfOG8Cd58FYwkCCTPEtRgICZHcjpUKs,36196
137
+ phoenix/server/api/helpers/playground_clients.py,sha256=8gJ7RcOE9pyinRIkZ-elr17Fem9jIsfpuuyxlzPA43w,36450
138
138
  phoenix/server/api/helpers/playground_registry.py,sha256=CPLMziFB2wmr-dfbx7VbzO2f8YIG_k5RftzvGXYGQ1w,2570
139
139
  phoenix/server/api/helpers/playground_spans.py,sha256=qGk7V7IZK7EkRE1mvZyROpLN5kgOahOZifFzUWmqYFc,16546
140
140
  phoenix/server/api/input_types/AddExamplesToDatasetInput.py,sha256=mIQz0S_z8YdrktKIY6RCvtNJ2yZF9pYvTGgasUsI-54,430
@@ -286,10 +286,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
286
286
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
287
287
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
288
288
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
289
- phoenix/server/static/.vite/manifest.json,sha256=dASJhLUwLkOKmaGUwiuHdmiMH_GZkrPQhERmV6OvJ2s,2163
290
- phoenix/server/static/assets/components-DaxEPah8.js,sha256=GV3Mea9qXl18_S--F0Zw4BgnPlyyfdXV-657356jt8w,320171
291
- phoenix/server/static/assets/index-DxfKd3lv.js,sha256=5uRq90XqUQyaxUlYkWeR04VNEOXhgccy2mtLfQoBmTY,8033
292
- phoenix/server/static/assets/pages-CY7Swxhi.js,sha256=9XaSLhbNNnfK1EOek9kINb6DCl2iHI97W4t2NN_tc1A,670374
289
+ phoenix/server/static/.vite/manifest.json,sha256=LRP20hibGrBFJhgD6mLsBfV8uLVmYLqUy9bcdCP4R-w,2163
290
+ phoenix/server/static/assets/components-CTfaHD1U.js,sha256=Fv5fYfkYcwsMRjUgfc470M0W79YxmhXmXL8sZGEQqGw,320415
291
+ phoenix/server/static/assets/index-Lokew6Qd.js,sha256=FXvVKt8BjFtfKRoo5bzlVSe_4FS5puGy1d-3VXisoOQ,8033
292
+ phoenix/server/static/assets/pages-B-fbd0DU.js,sha256=JydZuG-I1ahey2TdRv1sQJhD2I8kM_D2d_SVeoWBdCM,670327
293
293
  phoenix/server/static/assets/vendor-DwOx_a-2.js,sha256=BSQT2H6j3XW9U4TYNJ_dAQvroHbfRpHbfIuOoAQW_V0,2168792
294
294
  phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
295
295
  phoenix/server/static/assets/vendor-arizeai-BWSsCZNG.js,sha256=7aYt8L3aEr48jfoP4GLHy68Dq9uukkRxKnTB3fauZ_4,308489
@@ -298,7 +298,7 @@ phoenix/server/static/assets/vendor-recharts-Bj7q9ORc.js,sha256=U0I8gAmVnd3X5EE1
298
298
  phoenix/server/static/assets/vendor-shiki-RnWcZtzE.js,sha256=payARpCB4810gC7J5exnbQWbipfhNtukzQfszI8r2fw,8980328
299
299
  phoenix/server/static/assets/vendor-three-DwGkEfCM.js,sha256=0D12ZgKzfKCTSdSTKJBFR2RZO_xxeMXrqDp0AszZqHY,620972
300
300
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
- phoenix/server/templates/index.html,sha256=ram6sfy2obf_F053ay35V30v-mnRWZ86rK-PstXLy1c,4457
301
+ phoenix/server/templates/index.html,sha256=e8_jdi7Eo19SK7DI_gglkTW094D17E0VAegoMmmmvIc,4330
302
302
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
303
303
  phoenix/session/client.py,sha256=jGc-jQuFUPdJc4AGcPPkVbnw7Qui8Lm7V6fjPntxkzo,35330
304
304
  phoenix/session/data_extractor.py,sha256=Y0RzYFaNy9fQj8PEIeQ76TBZ90_E1FW7bXu3K5x0EZY,2782
@@ -336,9 +336,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
336
336
  phoenix/utilities/re.py,sha256=x8Xbk-Wa6qDMAtUd_7JtZvKtrYEuMY-bchB0n163_5c,2006
337
337
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
338
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
339
- arize_phoenix-7.1.1.dist-info/METADATA,sha256=3qKJ5e1c7lfFj_3Jkwm3joHzOkpgTs0X2e5ZIbgjKR8,23294
340
- arize_phoenix-7.1.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
341
- arize_phoenix-7.1.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
342
- arize_phoenix-7.1.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
343
- arize_phoenix-7.1.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
344
- arize_phoenix-7.1.1.dist-info/RECORD,,
339
+ arize_phoenix-7.3.0.dist-info/METADATA,sha256=mT9yXI8m-65eAKN_h3azUy4mlMDo3-DxCG_7bKs0jrk,23052
340
+ arize_phoenix-7.3.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
341
+ arize_phoenix-7.3.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
342
+ arize_phoenix-7.3.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
343
+ arize_phoenix-7.3.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
344
+ arize_phoenix-7.3.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.26.3
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -31,8 +31,8 @@ class SessionIODataLoader(DataLoader[Key, Result]):
31
31
  )
32
32
  if self._kind == "first_input":
33
33
  stmt = stmt.add_columns(
34
- models.Span.attributes[INPUT_VALUE].label("value"),
35
- models.Span.attributes[INPUT_MIME_TYPE].label("mime_type"),
34
+ models.Span.attributes[INPUT_VALUE].as_string().label("value"),
35
+ models.Span.attributes[INPUT_MIME_TYPE].as_string().label("mime_type"),
36
36
  func.row_number()
37
37
  .over(
38
38
  partition_by=models.Trace.project_session_rowid,
@@ -42,8 +42,8 @@ class SessionIODataLoader(DataLoader[Key, Result]):
42
42
  )
43
43
  elif self._kind == "last_output":
44
44
  stmt = stmt.add_columns(
45
- models.Span.attributes[OUTPUT_VALUE].label("value"),
46
- models.Span.attributes[OUTPUT_MIME_TYPE].label("mime_type"),
45
+ models.Span.attributes[OUTPUT_VALUE].as_string().label("value"),
46
+ models.Span.attributes[OUTPUT_MIME_TYPE].as_string().label("mime_type"),
47
47
  func.row_number()
48
48
  .over(
49
49
  partition_by=models.Trace.project_session_rowid,
@@ -57,7 +57,11 @@ class SessionIODataLoader(DataLoader[Key, Result]):
57
57
 
58
58
  def _stmt(self, *keys: Key) -> Select[tuple[int, str, str]]:
59
59
  subq = self._subq.where(models.Trace.project_session_rowid.in_(keys)).subquery()
60
- return select(subq.c.id_, subq.c.value, subq.c.mime_type).filter_by(rank=1)
60
+ return (
61
+ select(subq.c.id_, subq.c.value, subq.c.mime_type)
62
+ .filter_by(rank=1)
63
+ .where(subq.c.value.isnot(None))
64
+ )
61
65
 
62
66
  async def _load_fn(self, keys: list[Key]) -> list[Result]:
63
67
  async with self._db() as session:
@@ -476,10 +476,12 @@ class OpenAIStreamingClient(PlaygroundStreamingClient):
476
476
  @register_llm_client(
477
477
  provider_key=GenerativeProviderKey.OPENAI,
478
478
  model_names=[
479
- "o1-preview",
480
- "o1-preview-2024-09-12",
479
+ "o1",
480
+ "o1-2024-12-17",
481
481
  "o1-mini",
482
482
  "o1-mini-2024-09-12",
483
+ "o1-preview",
484
+ "o1-preview-2024-09-12",
483
485
  ],
484
486
  )
485
487
  class OpenAIO1StreamingClient(OpenAIStreamingClient):
@@ -501,6 +503,11 @@ class OpenAIO1StreamingClient(OpenAIStreamingClient):
501
503
  label="Tool Choice",
502
504
  canonical_name=CanonicalParameterName.TOOL_CHOICE,
503
505
  ),
506
+ JSONInvocationParameter(
507
+ invocation_name="response_format",
508
+ label="Response Format",
509
+ canonical_name=CanonicalParameterName.RESPONSE_FORMAT,
510
+ ),
504
511
  ]
505
512
 
506
513
  def to_openai_chat_completion_param(
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-DaxEPah8.js": {
3
- "file": "assets/components-DaxEPah8.js",
2
+ "_components-CTfaHD1U.js": {
3
+ "file": "assets/components-CTfaHD1U.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-DwOx_a-2.js",
7
- "_pages-CY7Swxhi.js",
7
+ "_pages-B-fbd0DU.js",
8
8
  "_vendor-arizeai-BWSsCZNG.js",
9
9
  "_vendor-codemirror-WrxmCiOZ.js",
10
10
  "_vendor-three-DwGkEfCM.js"
11
11
  ]
12
12
  },
13
- "_pages-CY7Swxhi.js": {
14
- "file": "assets/pages-CY7Swxhi.js",
13
+ "_pages-B-fbd0DU.js": {
14
+ "file": "assets/pages-B-fbd0DU.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-DwOx_a-2.js",
18
18
  "_vendor-arizeai-BWSsCZNG.js",
19
- "_components-DaxEPah8.js",
19
+ "_components-CTfaHD1U.js",
20
20
  "_vendor-codemirror-WrxmCiOZ.js",
21
21
  "_vendor-recharts-Bj7q9ORc.js"
22
22
  ]
@@ -69,15 +69,15 @@
69
69
  "name": "vendor-three"
70
70
  },
71
71
  "index.tsx": {
72
- "file": "assets/index-DxfKd3lv.js",
72
+ "file": "assets/index-Lokew6Qd.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
77
  "_vendor-DwOx_a-2.js",
78
78
  "_vendor-arizeai-BWSsCZNG.js",
79
- "_pages-CY7Swxhi.js",
80
- "_components-DaxEPah8.js",
79
+ "_pages-B-fbd0DU.js",
80
+ "_components-CTfaHD1U.js",
81
81
  "_vendor-three-DwGkEfCM.js",
82
82
  "_vendor-codemirror-WrxmCiOZ.js",
83
83
  "_vendor-shiki-RnWcZtzE.js",