arize-phoenix 5.3.0__py3-none-any.whl → 5.3.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 5.3.0
3
+ Version: 5.3.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
@@ -58,6 +58,7 @@ Requires-Dist: wrapt
58
58
  Provides-Extra: container
59
59
  Requires-Dist: fast-hdbscan>=0.2.0; extra == 'container'
60
60
  Requires-Dist: numba>=0.60.0; extra == 'container'
61
+ Requires-Dist: openai>=1.0.0; extra == 'container'
61
62
  Requires-Dist: opentelemetry-exporter-otlp; extra == 'container'
62
63
  Requires-Dist: opentelemetry-instrumentation-fastapi; extra == 'container'
63
64
  Requires-Dist: opentelemetry-instrumentation-grpc; extra == 'container'
@@ -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=6-6zx35M00wOupvevZ13oAoDaUlHqsp_N-Ei-zUAwTI,22
9
+ phoenix/version.py,sha256=XehO8pb4GklFJT4padrwyHGgMITY1M6KU3ARht53Mw4,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
@@ -94,7 +94,7 @@ phoenix/server/api/exceptions.py,sha256=TA0JuY2YRnj35qGuMSQ8d0ToHum9gWm9W--3fSKH
94
94
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
95
95
  phoenix/server/api/queries.py,sha256=sE_w4X9sz0QJBGNQbOMgiZiKpR24jvxCpv6AQeGeE9Y,27153
96
96
  phoenix/server/api/schema.py,sha256=JKxcZd0UBX6VnVic9tnKAzehJ2fGYNWAu6Gr1tR1PMI,637
97
- phoenix/server/api/subscriptions.py,sha256=Ck2IrFcHaqipeHY68up4fXMHcfgjh6J5s9XbDVQxJBA,15934
97
+ phoenix/server/api/subscriptions.py,sha256=l5t8f23J_3znUS6gFrK3XOPkkX9BN5dHHMteASWbhVk,17083
98
98
  phoenix/server/api/utils.py,sha256=Kl47G-1A7QKTDrc75BU2QK6HupsG6MWuXxy351FOfKQ,858
99
99
  phoenix/server/api/dataloaders/__init__.py,sha256=jNYvfXjnZzgA2HWTG7AZdqWGla3ZysBUDUei8Zkz6N8,3290
100
100
  phoenix/server/api/dataloaders/annotation_summaries.py,sha256=Wv8AORZoGd5TJ4Y-em8iqJu87AMpZP7lWOTr-SML-x8,5560
@@ -264,10 +264,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
264
264
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
265
265
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
266
266
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
267
- phoenix/server/static/.vite/manifest.json,sha256=U6-H3n01tSVeVy-l94OEK3EruoVfOa9qX_vwKmkgetU,1929
268
- phoenix/server/static/assets/components-DwERj42u.js,sha256=_UuYjCrj_FQcxrE9bS2L5OdRWjHRYSpaeqlyKz1uGEI,272882
269
- phoenix/server/static/assets/index-CyOjvLOr.js,sha256=F-_8kYJi1I6xjcpaGnZnv9GBXlbmcd9BbyKRNe8TOzI,7162
270
- phoenix/server/static/assets/pages-BNYMd7SU.js,sha256=dT3K-yhvV7kZtBmut5iiNTCbO_LvaMDKD27XCJm95oc,585995
267
+ phoenix/server/static/.vite/manifest.json,sha256=SieG3iZksdblyz3-x7sbYAjWMF6-abUBPpCo2fI-M6M,1929
268
+ phoenix/server/static/assets/components-CeBEsPFA.js,sha256=vQY-UcFt8MuIlB-NCAw02xsIt8Tv26aLTlYCC8GwFQQ,272882
269
+ phoenix/server/static/assets/index-CRTTIb3y.js,sha256=_HHh0kyNV3oT1-vYiwkXC25jInuLGhLMyr62OLhRNS8,7162
270
+ phoenix/server/static/assets/pages-vHjpYRiN.js,sha256=WEnxplw-UwjrizzaVl3c6umZ_mEq4gl8sTo5vijmSLE,586223
271
271
  phoenix/server/static/assets/vendor-D-NIjePD.js,sha256=tba6ip4z7SOnhlPkBkyt9CUJiDDzZwi6IRKCnbwHvuA,10898294
272
272
  phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
273
273
  phoenix/server/static/assets/vendor-arizeai-DoY5jUTO.js,sha256=RkuJgULcP6CtTAhyLSzI9bNRiJnq84MwkYCF6MQ2sCw,306507
@@ -313,9 +313,9 @@ phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,
313
313
  phoenix/utilities/re.py,sha256=nr_B0txj_7CXc45953X6vr2KCRSWMuaXJSEkL8s8Sjc,2036
314
314
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
315
315
  phoenix/utilities/template_formatters.py,sha256=zWY6gjAMmspYqlmn-ZjKeY5SExylwePk7a1BUdDxVGI,2236
316
- arize_phoenix-5.3.0.dist-info/METADATA,sha256=dUAQVYFPQEpsSlvr7nWc3ggbxJ8D9M4DQCEdAI7Y3Wo,12001
317
- arize_phoenix-5.3.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
318
- arize_phoenix-5.3.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
319
- arize_phoenix-5.3.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
320
- arize_phoenix-5.3.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
321
- arize_phoenix-5.3.0.dist-info/RECORD,,
316
+ arize_phoenix-5.3.1.dist-info/METADATA,sha256=8vSIv2Shr5LH4dkS6cshYjQos1ERiCIaQcLc6RZryds,12052
317
+ arize_phoenix-5.3.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
318
+ arize_phoenix-5.3.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
319
+ arize_phoenix-5.3.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
320
+ arize_phoenix-5.3.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
321
+ arize_phoenix-5.3.1.dist-info/RECORD,,
@@ -55,6 +55,7 @@ from phoenix.utilities.template_formatters import (
55
55
  )
56
56
 
57
57
  if TYPE_CHECKING:
58
+ from openai.types import CompletionUsage
58
59
  from openai.types.chat import (
59
60
  ChatCompletionMessageParam,
60
61
  )
@@ -161,6 +162,7 @@ class Subscription:
161
162
  self, info: Info[Context, None], input: ChatCompletionInput
162
163
  ) -> AsyncIterator[ChatCompletionChunk]:
163
164
  from openai import NOT_GIVEN, AsyncAzureOpenAI, AsyncOpenAI
165
+ from openai.types.chat import ChatCompletionStreamOptionsParam
164
166
 
165
167
  client: Union[AsyncAzureOpenAI, AsyncOpenAI]
166
168
 
@@ -208,14 +210,19 @@ class Subscription:
208
210
  text_chunks: List[TextChunk] = []
209
211
  tool_call_chunks: DefaultDict[ToolCallIndex, List[ToolCallChunk]] = defaultdict(list)
210
212
  role: Optional[str] = None
213
+ token_usage: Optional[CompletionUsage] = None
211
214
  async for chunk in await client.chat.completions.create(
212
215
  messages=openai_messages,
213
216
  model=input.model.name,
214
217
  stream=True,
215
218
  tools=input.tools or NOT_GIVEN,
219
+ stream_options=ChatCompletionStreamOptionsParam(include_usage=True),
216
220
  **invocation_parameters,
217
221
  ):
218
222
  response_chunks.append(chunk)
223
+ if (usage := chunk.usage) is not None:
224
+ token_usage = usage
225
+ continue
219
226
  choice = chunk.choices[0]
220
227
  delta = choice.delta
221
228
  if role is None:
@@ -246,6 +253,7 @@ class Subscription:
246
253
  dict(
247
254
  chain(
248
255
  _output_value_and_mime_type(response_chunks),
256
+ _llm_token_counts(token_usage) if token_usage is not None else [],
249
257
  _llm_output_messages(text_chunks, tool_call_chunks),
250
258
  )
251
259
  )
@@ -257,6 +265,8 @@ class Subscription:
257
265
  assert (attributes := finished_span.attributes) is not None
258
266
  start_time = _datetime(epoch_nanoseconds=finished_span.start_time)
259
267
  end_time = _datetime(epoch_nanoseconds=finished_span.end_time)
268
+ prompt_tokens = token_usage.prompt_tokens if token_usage is not None else 0
269
+ completion_tokens = token_usage.completion_tokens if token_usage is not None else 0
260
270
  trace_id = _hex(finished_span.context.trace_id)
261
271
  span_id = _hex(finished_span.context.span_id)
262
272
  status = finished_span.status
@@ -298,10 +308,10 @@ class Subscription:
298
308
  status_code=status.status_code.name,
299
309
  status_message=status.description or "",
300
310
  cumulative_error_count=int(not status.is_ok),
301
- cumulative_llm_token_count_prompt=0,
302
- cumulative_llm_token_count_completion=0,
303
- llm_token_count_prompt=0,
304
- llm_token_count_completion=0,
311
+ cumulative_llm_token_count_prompt=prompt_tokens,
312
+ cumulative_llm_token_count_completion=completion_tokens,
313
+ llm_token_count_prompt=prompt_tokens,
314
+ llm_token_count_completion=completion_tokens,
305
315
  )
306
316
  )
307
317
  info.context.event_queue.put(SpanInsertEvent(ids=(playground_project_id,)))
@@ -324,6 +334,12 @@ def _llm_tools(tools: List[JSONScalarType]) -> Iterator[Tuple[str, Any]]:
324
334
  yield f"{LLM_TOOLS}.{tool_index}.{TOOL_JSON_SCHEMA}", json.dumps(tool)
325
335
 
326
336
 
337
+ def _llm_token_counts(usage: "CompletionUsage") -> Iterator[Tuple[str, Any]]:
338
+ yield LLM_TOKEN_COUNT_PROMPT, usage.prompt_tokens
339
+ yield LLM_TOKEN_COUNT_COMPLETION, usage.completion_tokens
340
+ yield LLM_TOKEN_COUNT_TOTAL, usage.total_tokens
341
+
342
+
327
343
  def _input_value_and_mime_type(input: ChatCompletionInput) -> Iterator[Tuple[str, Any]]:
328
344
  assert any(field.name == (api_key := "api_key") for field in fields(ChatCompletionInput))
329
345
  yield INPUT_MIME_TYPE, JSON
@@ -419,6 +435,9 @@ LLM_OUTPUT_MESSAGES = SpanAttributes.LLM_OUTPUT_MESSAGES
419
435
  LLM_MODEL_NAME = SpanAttributes.LLM_MODEL_NAME
420
436
  LLM_INVOCATION_PARAMETERS = SpanAttributes.LLM_INVOCATION_PARAMETERS
421
437
  LLM_TOOLS = SpanAttributes.LLM_TOOLS
438
+ LLM_TOKEN_COUNT_PROMPT = SpanAttributes.LLM_TOKEN_COUNT_PROMPT
439
+ LLM_TOKEN_COUNT_COMPLETION = SpanAttributes.LLM_TOKEN_COUNT_COMPLETION
440
+ LLM_TOKEN_COUNT_TOTAL = SpanAttributes.LLM_TOKEN_COUNT_TOTAL
422
441
 
423
442
  MESSAGE_CONTENT = MessageAttributes.MESSAGE_CONTENT
424
443
  MESSAGE_ROLE = MessageAttributes.MESSAGE_ROLE
@@ -1,22 +1,22 @@
1
1
  {
2
- "_components-DwERj42u.js": {
3
- "file": "assets/components-DwERj42u.js",
2
+ "_components-CeBEsPFA.js": {
3
+ "file": "assets/components-CeBEsPFA.js",
4
4
  "name": "components",
5
5
  "imports": [
6
6
  "_vendor-D-NIjePD.js",
7
7
  "_vendor-arizeai-DoY5jUTO.js",
8
- "_pages-BNYMd7SU.js",
8
+ "_pages-vHjpYRiN.js",
9
9
  "_vendor-three-DwGkEfCM.js",
10
10
  "_vendor-codemirror-CIhY_nEU.js"
11
11
  ]
12
12
  },
13
- "_pages-BNYMd7SU.js": {
14
- "file": "assets/pages-BNYMd7SU.js",
13
+ "_pages-vHjpYRiN.js": {
14
+ "file": "assets/pages-vHjpYRiN.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-D-NIjePD.js",
18
18
  "_vendor-arizeai-DoY5jUTO.js",
19
- "_components-DwERj42u.js",
19
+ "_components-CeBEsPFA.js",
20
20
  "_vendor-recharts-Dgcm35Jq.js",
21
21
  "_vendor-codemirror-CIhY_nEU.js"
22
22
  ]
@@ -61,15 +61,15 @@
61
61
  "name": "vendor-three"
62
62
  },
63
63
  "index.tsx": {
64
- "file": "assets/index-CyOjvLOr.js",
64
+ "file": "assets/index-CRTTIb3y.js",
65
65
  "name": "index",
66
66
  "src": "index.tsx",
67
67
  "isEntry": true,
68
68
  "imports": [
69
69
  "_vendor-D-NIjePD.js",
70
70
  "_vendor-arizeai-DoY5jUTO.js",
71
- "_pages-BNYMd7SU.js",
72
- "_components-DwERj42u.js",
71
+ "_pages-vHjpYRiN.js",
72
+ "_components-CeBEsPFA.js",
73
73
  "_vendor-three-DwGkEfCM.js",
74
74
  "_vendor-recharts-Dgcm35Jq.js",
75
75
  "_vendor-codemirror-CIhY_nEU.js"
@@ -1,4 +1,4 @@
1
- import{r as p,R as j,j as e,n as an,a as ue,e as Ke,s as n1,b as Ze,c as me,d as c1,f as kt,g as oe,h as St,i as xt,k as d1,l as s,m as Mt,o as Te,C as Qe,p as Oe,q as Pe,t as X,u as Tt,v as It,L as rn,w as ln,x as on,y as Y,z as sn,A as m,B as cn,D as Et,N as Vt,E as Dt,F as Ot,$ as P,G as qe,H as Pt,I as _t,J as Ft,K as At,M as D1,O as de,P as ge,Q as Rt,S as dn,T as Nt,U as zt,V as O1,W as Ht,X as Kt,Y as $t,Z as t1,_ as h1,a0 as Bt,a1 as Zt,a2 as Gt,a3 as Qt,a4 as Ut,a5 as Wt,a6 as jt,a7 as qt,a8 as Xt,a9 as _e,aa as F,ab as un,ac as Yt,ad as Jt,ae as ea,af as na,ag as ta,ah as aa,ai as ra,aj as ia}from"./vendor-D-NIjePD.js";import{u as la,A as oa,I as E,a as S,_ as mn,b as y,c as M,d as v,e as H,f as q,T as $,g as sa,h as ee,i as we,j as D,F as pn,k as N,l as ca,m as da,P as ua,R as U,n as Fe,o as ma,p as pa,L as fe,q as ne,r as te,s as Ae,t as hn,v as gn,E as fn,w as ha,x as ga,y as fa,z as La,B as Ln,C as g1,D as Ca,G as ba,H as P1,J as ya}from"./vendor-arizeai-DoY5jUTO.js";import{u as va}from"./pages-BNYMd7SU.js";import{V as wa}from"./vendor-three-DwGkEfCM.js";import{L as Cn,a as bn,j as yn,E as vn,l as u1,b as wn,h as ka,c as Sa,d as xa,e as Ma,f as Ta,g as Ia,s as Ea,R as Re,i as kn,n as Ne,p as Va,k as Da}from"./vendor-codemirror-CIhY_nEU.js";const Sn=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},t={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},a={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},r={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},l=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:l,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:l,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,t,a,r,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,a,t,r,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
1
+ import{r as p,R as j,j as e,n as an,a as ue,e as Ke,s as n1,b as Ze,c as me,d as c1,f as kt,g as oe,h as St,i as xt,k as d1,l as s,m as Mt,o as Te,C as Qe,p as Oe,q as Pe,t as X,u as Tt,v as It,L as rn,w as ln,x as on,y as Y,z as sn,A as m,B as cn,D as Et,N as Vt,E as Dt,F as Ot,$ as P,G as qe,H as Pt,I as _t,J as Ft,K as At,M as D1,O as de,P as ge,Q as Rt,S as dn,T as Nt,U as zt,V as O1,W as Ht,X as Kt,Y as $t,Z as t1,_ as h1,a0 as Bt,a1 as Zt,a2 as Gt,a3 as Qt,a4 as Ut,a5 as Wt,a6 as jt,a7 as qt,a8 as Xt,a9 as _e,aa as F,ab as un,ac as Yt,ad as Jt,ae as ea,af as na,ag as ta,ah as aa,ai as ra,aj as ia}from"./vendor-D-NIjePD.js";import{u as la,A as oa,I as E,a as S,_ as mn,b as y,c as M,d as v,e as H,f as q,T as $,g as sa,h as ee,i as we,j as D,F as pn,k as N,l as ca,m as da,P as ua,R as U,n as Fe,o as ma,p as pa,L as fe,q as ne,r as te,s as Ae,t as hn,v as gn,E as fn,w as ha,x as ga,y as fa,z as La,B as Ln,C as g1,D as Ca,G as ba,H as P1,J as ya}from"./vendor-arizeai-DoY5jUTO.js";import{u as va}from"./pages-vHjpYRiN.js";import{V as wa}from"./vendor-three-DwGkEfCM.js";import{L as Cn,a as bn,j as yn,E as vn,l as u1,b as wn,h as ka,c as Sa,d as xa,e as Ma,f as Ta,g as Ia,s as Ea,R as Re,i as kn,n as Ne,p as Va,k as Da}from"./vendor-codemirror-CIhY_nEU.js";const Sn=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},t={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},a={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},r={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},i={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},l=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],o=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:l,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:l,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,t,a,r,i],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:o,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,a,t,r,i],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:o},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
2
2
  $clusters: [ClusterInput!]!
3
3
  $fetchDataQualityMetric: Boolean!
4
4
  $dataQualityMetricColumnName: String
@@ -1,4 +1,4 @@
1
- import{j as e,A as h,b7 as b,du as x,dv as f,l as n,dw as r,dx as y,dy as P,r as v,t as w,dz as R}from"./vendor-D-NIjePD.js";import{v as L,a4 as z}from"./vendor-arizeai-DoY5jUTO.js";import{E as k,L as E,R as $,r as j,a as I,F as S,A,b as C,c as F,P as T,h as O,M as D,d,D as B,e as G,f as M,g as N,i as W,j as q,T as H,p as _,k as c,l as J,m as K,n as p,o as Q,q as m,s as g,t as U,v as V,w as X,x as Y,y as Z,z as ee,S as re,B as ae,C as oe,G as te,H as ne,I as se,J as le}from"./pages-BNYMd7SU.js";import{bG as ie,j as de,R as ce,bH as pe,bI as me}from"./components-DwERj42u.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-recharts-Dgcm35Jq.js";import"./vendor-codemirror-CIhY_nEU.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const t of o)if(t.type==="childList")for(const l of t.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function u(o){const t={};return o.integrity&&(t.integrity=o.integrity),o.referrerPolicy&&(t.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?t.credentials="include":o.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(o){if(o.ep)return;o.ep=!0;const t=u(o);fetch(o.href,t)}})();function ge(){return e(b,{styles:a=>h`
1
+ import{j as e,A as h,b7 as b,du as x,dv as f,l as n,dw as r,dx as y,dy as P,r as v,t as w,dz as R}from"./vendor-D-NIjePD.js";import{v as L,a4 as z}from"./vendor-arizeai-DoY5jUTO.js";import{E as k,L as E,R as $,r as j,a as I,F as S,A,b as C,c as F,P as T,h as O,M as D,d,D as B,e as G,f as M,g as N,i as W,j as q,T as H,p as _,k as c,l as J,m as K,n as p,o as Q,q as m,s as g,t as U,v as V,w as X,x as Y,y as Z,z as ee,S as re,B as ae,C as oe,G as te,H as ne,I as se,J as le}from"./pages-vHjpYRiN.js";import{bG as ie,j as de,R as ce,bH as pe,bI as me}from"./components-CeBEsPFA.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-recharts-Dgcm35Jq.js";import"./vendor-codemirror-CIhY_nEU.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const t of o)if(t.type==="childList")for(const l of t.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function u(o){const t={};return o.integrity&&(t.integrity=o.integrity),o.referrerPolicy&&(t.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?t.credentials="include":o.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(o){if(o.ep)return;o.ep=!0;const t=u(o);fetch(o.href,t)}})();function ge(){return e(b,{styles:a=>h`
2
2
  body {
3
3
  background-color: var(--ac-global-color-grey-75);
4
4
  color: var(--ac-global-text-color-900);