arize-phoenix 10.4.0__py3-none-any.whl → 10.5.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.
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/METADATA +38 -38
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/RECORD +23 -23
- phoenix/__init__.py +3 -3
- phoenix/db/types/model_provider.py +1 -0
- phoenix/server/api/helpers/playground_clients.py +33 -0
- phoenix/server/api/helpers/prompts/models.py +36 -3
- phoenix/server/api/types/GenerativeProvider.py +5 -0
- phoenix/server/main.py +1 -1
- phoenix/server/static/.vite/manifest.json +36 -36
- phoenix/server/static/assets/{components-Bt8CSP-i.js → components-i0MTMvxr.js} +225 -206
- phoenix/server/static/assets/{index-C6Ok1qdw.js → index-BBU9ybeN.js} +2 -2
- phoenix/server/static/assets/{pages-NfrMY1Uw.js → pages-Dmq64JIh.js} +417 -400
- phoenix/server/static/assets/{vendor-BQGwy5QK.js → vendor-Cm32tkMA.js} +125 -125
- phoenix/server/static/assets/{vendor-arizeai-YTwSVP6E.js → vendor-arizeai-CB-pngCZ.js} +5 -5
- phoenix/server/static/assets/{vendor-codemirror-DYaCpVub.js → vendor-codemirror-c6BZvTq5.js} +1 -1
- phoenix/server/static/assets/{vendor-recharts-CN57ozoF.js → vendor-recharts-ButLmGII.js} +1 -1
- phoenix/server/static/assets/{vendor-shiki-Bbl-733F.js → vendor-shiki-BDqcZGjN.js} +1 -1
- phoenix/session/session.py +1 -1
- phoenix/version.py +1 -1
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/entry_points.txt +0 -0
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-10.4.0.dist-info → arize_phoenix-10.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.5.0
|
|
4
4
|
Summary: AI Observability and Evaluation
|
|
5
|
-
Project-URL: Documentation, https://
|
|
5
|
+
Project-URL: Documentation, https://arize.com/docs/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>
|
|
@@ -134,7 +134,7 @@ Description-Content-Type: text/markdown
|
|
|
134
134
|
</a>
|
|
135
135
|
<br/>
|
|
136
136
|
<br/>
|
|
137
|
-
<a href="https://
|
|
137
|
+
<a href="https://arize.com/docs/phoenix/">
|
|
138
138
|
<img src="https://img.shields.io/static/v1?message=Docs&logo=data:image/png;base64,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&labelColor=grey&color=blue&logoColor=white&label=%20"/>
|
|
139
139
|
</a>
|
|
140
140
|
<a target="_blank" href="https://arize-ai.slack.com/join/shared_invite/zt-11t1vbu4x-xkBIHmOREQnYnYDH1GDfCg?__hstc=259489365.a667dfafcfa0169c8aee4178d115dc81.1733501603539.1733501603539.1733501603539.1&__hssc=259489365.1.1733501603539&__hsfp=3822854628&submissionGuid=381a0676-8f38-437b-96f2-fc10875658df#/shared-invite/email">
|
|
@@ -168,14 +168,14 @@ Description-Content-Type: text/markdown
|
|
|
168
168
|
|
|
169
169
|
Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
|
|
170
170
|
|
|
171
|
-
- [**_Tracing_**](https://
|
|
172
|
-
- [**_Evaluation_**](https://
|
|
173
|
-
- [**_Datasets_**](https://
|
|
174
|
-
- [**_Experiments_**](https://
|
|
175
|
-
- [**_Playground_**](https://
|
|
176
|
-
- [**_Prompt Management_**](https://
|
|
171
|
+
- [**_Tracing_**](https://arize.com/docs/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
|
|
172
|
+
- [**_Evaluation_**](https://arize.com/docs/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
|
|
173
|
+
- [**_Datasets_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
|
|
174
|
+
- [**_Experiments_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
|
|
175
|
+
- [**_Playground_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts)- Optimize prompts, compare models, adjust parameters, and replay traced LLM calls.
|
|
176
|
+
- [**_Prompt Management_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/prompt-management)- Manage and test prompt changes systematically using version control, tagging, and experimentation.
|
|
177
177
|
|
|
178
|
-
Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://
|
|
178
|
+
Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex), 🦜⛓[LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain), [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack), 🧩[DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy), 🤗[smolagents](https://arize.com/docs/phoenix/tracing/integrations-tracing/hfsmolagents)) and LLM providers ([OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai), [Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock), [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai), [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai), [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm), [Google GenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/google-genai) and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
|
|
179
179
|
|
|
180
180
|
Phoenix runs practically anywhere, including your local machine, a Jupyter notebook, a containerized deployment, or in the cloud.
|
|
181
181
|
|
|
@@ -210,49 +210,49 @@ Phoenix is built on top of OpenTelemetry and is vendor, language, and framework
|
|
|
210
210
|
**Python Integrations**
|
|
211
211
|
| Integration | Package | Version Badge |
|
|
212
212
|
|------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
|
|
213
|
-
| [OpenAI](https://
|
|
214
|
-
| [OpenAI Agents](https://
|
|
215
|
-
| [LlamaIndex](https://
|
|
216
|
-
| [DSPy](https://
|
|
217
|
-
| [AWS Bedrock](https://
|
|
218
|
-
| [LangChain](https://
|
|
219
|
-
| [MistralAI](https://
|
|
220
|
-
| [Google GenAI](https://
|
|
221
|
-
| [Guardrails](https://
|
|
222
|
-
| [VertexAI](https://
|
|
223
|
-
| [CrewAI](https://
|
|
224
|
-
| [Haystack](https://
|
|
225
|
-
| [LiteLLM](https://
|
|
226
|
-
| [Groq](https://
|
|
227
|
-
| [Instructor](https://
|
|
228
|
-
| [Anthropic](https://
|
|
213
|
+
| [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai) |
|
|
214
|
+
| [OpenAI Agents](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-agents-sdk) | `openinference-instrumentation-openai-agents` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai-agents) |
|
|
215
|
+
| [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
|
|
216
|
+
| [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
|
|
217
|
+
| [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
|
|
218
|
+
| [LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
|
|
219
|
+
| [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [](https://pypi.python.org/pypi/openinference-instrumentation-mistralai) |
|
|
220
|
+
| [Google GenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/google-gen-ai) | `openinference-instrumentation-google-genai` | [](https://pypi.python.org/pypi/openinference-instrumentation-google-genai) |
|
|
221
|
+
| [Guardrails](https://arize.com/docs/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
|
|
222
|
+
| [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
|
|
223
|
+
| [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
|
|
224
|
+
| [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
|
|
225
|
+
| [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
|
|
226
|
+
| [Groq](https://arize.com/docs/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
|
|
227
|
+
| [Instructor](https://arize.com/docs/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
|
|
228
|
+
| [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
|
|
229
229
|
| [Smolagents](https://huggingface.co/docs/smolagents/en/tutorials/inspect_runs) | `openinference-instrumentation-smolagents` | [](https://pypi.python.org/pypi/openinference-instrumentation-smolagents) |
|
|
230
|
-
| [Agno](https://
|
|
231
|
-
| [MCP](https://
|
|
232
|
-
| [Pydantic AI](https://
|
|
233
|
-
| [Autogen AgentChat](https://
|
|
234
|
-
| [Portkey](https://
|
|
230
|
+
| [Agno](https://arize.com/docs/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [](https://pypi.python.org/pypi/openinference-instrumentation-agno) |
|
|
231
|
+
| [MCP](https://arize.com/docs/phoenix/tracing/integrations-tracing/model-context-protocol-mcp) | `openinference-instrumentation-mcp` | [](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
|
|
232
|
+
| [Pydantic AI](https://arize.com/docs/phoenix/integrations/pydantic) | `openinference-instrumentation-pydantic-ai` | [](https://pypi.python.org/pypi/openinference-instrumentation-pydantic-ai) |
|
|
233
|
+
| [Autogen AgentChat](https://arize.com/docs/phoenix/integrations/frameworks/autogen/autogen-tracing) | `openinference-instrumentation-autogen-agentchat` | [](https://pypi.python.org/pypi/openinference-instrumentation-autogen-agentchat) |
|
|
234
|
+
| [Portkey](https://arize.com/docs/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [](https://pypi.python.org/pypi/openinference-instrumentation-portkey) |
|
|
235
235
|
|
|
236
236
|
### JavaScript Integrations
|
|
237
237
|
|
|
238
238
|
| Integration | Package | Version Badge |
|
|
239
239
|
| ------------------------------------------------------------------------------------------ | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
240
|
-
| [OpenAI](https://
|
|
241
|
-
| [LangChain.js](https://
|
|
242
|
-
| [Vercel AI SDK](https://
|
|
243
|
-
| [BeeAI](https://
|
|
244
|
-
| [Mastra](https://
|
|
240
|
+
| [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-node-sdk) | `@arizeai/openinference-instrumentation-openai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-openai) |
|
|
241
|
+
| [LangChain.js](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `@arizeai/openinference-instrumentation-langchain` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-langchain) |
|
|
242
|
+
| [Vercel AI SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/vercel-ai-sdk) | `@arizeai/openinference-vercel` | [](https://www.npmjs.com/package/@arizeai/openinference-vercel) |
|
|
243
|
+
| [BeeAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/beeai) | `@arizeai/openinference-instrumentation-beeai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
|
|
244
|
+
| [Mastra](https://arize.com/docs/phoenix/integrations/mastra) | `@arizeai/openinference-mastra` | [](https://www.npmjs.com/package/@arizeai/openinference-mastra) |
|
|
245
245
|
|
|
246
246
|
### Platforms
|
|
247
247
|
|
|
248
|
-
Phoenix has native integrations with [LangFlow](https://
|
|
248
|
+
Phoenix has native integrations with [LangFlow](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow), LiteLLM Proxy, and [BeeAI](https://docs.beeai.dev/observability/agents-traceability).
|
|
249
249
|
|
|
250
250
|
## Community
|
|
251
251
|
|
|
252
252
|
Join our community to connect with thousands of AI builders.
|
|
253
253
|
|
|
254
254
|
- 🌍 Join our [Slack community](https://arize-ai.slack.com/join/shared_invite/zt-11t1vbu4x-xkBIHmOREQnYnYDH1GDfCg?__hstc=259489365.a667dfafcfa0169c8aee4178d115dc81.1733501603539.1733501603539.1733501603539.1&__hssc=259489365.1.1733501603539&__hsfp=3822854628&submissionGuid=381a0676-8f38-437b-96f2-fc10875658df#/shared-invite/email).
|
|
255
|
-
- 📚 Read our [documentation](https://
|
|
255
|
+
- 📚 Read our [documentation](https://arize.com/docs/phoenix).
|
|
256
256
|
- 💡 Ask questions and provide feedback in the _#phoenix-support_ channel.
|
|
257
257
|
- 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
|
|
258
258
|
- 🐞 Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
phoenix/__init__.py,sha256=
|
|
1
|
+
phoenix/__init__.py,sha256=xkpXH76HFbEDCq8IhiFp-2GnEHx39xPMdOpV5Skew1w,5481
|
|
2
2
|
phoenix/auth.py,sha256=yW78f1xWNjTE30ACGUM14nOd5BzkukhlzA9B45kSUkM,11053
|
|
3
3
|
phoenix/config.py,sha256=zgir90pfb2aAqPm-scG73B30Z-1UppSrxKCPAuGtLbM,57004
|
|
4
4
|
phoenix/datetime_utils.py,sha256=iJzNG6YJ6V7_u8B2iA7P2Z26FyxYbOPtx0dhJ7kNDHA,3398
|
|
@@ -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=ngkyKGVatX3cO2WJdo2hKdaVKP-xJCMvqthvga6kJss,5196
|
|
8
8
|
phoenix/settings.py,sha256=x87BX7hWGQQZbrW_vrYqFR_izCGfO9gFc--JXUG4Tdk,754
|
|
9
|
-
phoenix/version.py,sha256=
|
|
9
|
+
phoenix/version.py,sha256=3-q0XruBmNJiX-F197OpDoO5BK7-xeVvZDRy9Ue9_KU,23
|
|
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
|
|
@@ -53,7 +53,7 @@ phoenix/db/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
|
53
53
|
phoenix/db/types/annotation_configs.py,sha256=keiQ9mzLZWE8Eqsu1xFxQBXvBiym0s-yPzoL8qIR4PY,2904
|
|
54
54
|
phoenix/db/types/db_models.py,sha256=nMSd9gWHwObnVO3_slztlHqoeh04czS-Jxu-omS6M6E,1135
|
|
55
55
|
phoenix/db/types/identifier.py,sha256=Opr3_1di6e5ncrBDn30WfBSr-jN_VGBnkkA4BMuSoyc,244
|
|
56
|
-
phoenix/db/types/model_provider.py,sha256=
|
|
56
|
+
phoenix/db/types/model_provider.py,sha256=3vyc0GSknUwKTwcHsvK5M6MSJXDupKEsaSNCSrI_Wvg,199
|
|
57
57
|
phoenix/db/types/trace_retention.py,sha256=fyqAQCvDiD7mpJ_WUqbPyQvuSdERof4DpKpHLJsdROk,9897
|
|
58
58
|
phoenix/experiments/__init__.py,sha256=6JGwgUd7xCbGpuHqYZlsmErmYvVgv7N_j43bn3dUqsk,123
|
|
59
59
|
phoenix/experiments/functions.py,sha256=6cSS_5O5V1EZ_5CIQ6lGOUwFyNNsADP7Uu__GmuOz4A,37983
|
|
@@ -96,7 +96,7 @@ phoenix/server/dml_event.py,sha256=MjJmVEKytq75chBOSyvYDusUnEbg1pHpIjR3pZkUaJA,2
|
|
|
96
96
|
phoenix/server/dml_event_handler.py,sha256=EZLXmCvx4pJrCkz29gxwKwmvmUkTtPCHw6klR-XM8qE,8258
|
|
97
97
|
phoenix/server/grpc_server.py,sha256=dod29zE_Zlir7NyLcdVM8GH3P8sy-9ykzfaBfVifyE4,4656
|
|
98
98
|
phoenix/server/jwt_store.py,sha256=B6uVildN_dQDTG_-aHHvuVSI7wIVK1yvED-_y6se2GU,16905
|
|
99
|
-
phoenix/server/main.py,sha256=
|
|
99
|
+
phoenix/server/main.py,sha256=6f8R3iReBC-haaRbQKeQscdB3D99KCacjSb9ByNU-Iw,18252
|
|
100
100
|
phoenix/server/oauth2.py,sha256=GvUqZBoZ5dG-l2G1RMl1SUcN10jNAjaMXFznMSWz2Zs,3336
|
|
101
101
|
phoenix/server/prometheus.py,sha256=1KjvSfjSa2-BPjDybVMM_Kag316CsN-Zwt64YNr_snc,7825
|
|
102
102
|
phoenix/server/rate_limiters.py,sha256=cFc73D2NaxqNZZDbwfIDw4So-fRVOJPBtqxOZ8Qky_s,7155
|
|
@@ -158,11 +158,11 @@ phoenix/server/api/helpers/__init__.py,sha256=m2-xaSPqUiSs91k62JaRDjFNfl-1byxBfY
|
|
|
158
158
|
phoenix/server/api/helpers/annotations.py,sha256=9gMXKpMTfWEChoSCnvdWYuyB0hlSnNOp-qUdar9Vono,262
|
|
159
159
|
phoenix/server/api/helpers/dataset_helpers.py,sha256=DoMBTg-qXTnC_K4Evx1WKpCCYgRbITpVqyY-8efJRf0,8984
|
|
160
160
|
phoenix/server/api/helpers/experiment_run_filters.py,sha256=DOnVwrmn39eAkk2mwuZP8kIcAnR5jrOgllEwWSjsw94,29893
|
|
161
|
-
phoenix/server/api/helpers/playground_clients.py,sha256=
|
|
161
|
+
phoenix/server/api/helpers/playground_clients.py,sha256=yB237TphroS9kN38g_X6v0PF9OhbbvjwwZgcMCIuCaA,44372
|
|
162
162
|
phoenix/server/api/helpers/playground_registry.py,sha256=CPLMziFB2wmr-dfbx7VbzO2f8YIG_k5RftzvGXYGQ1w,2570
|
|
163
163
|
phoenix/server/api/helpers/playground_spans.py,sha256=ObAhvV_yNwEQDkjzgU5G73wfIisc8q4cpB0OFH5cd24,16974
|
|
164
164
|
phoenix/server/api/helpers/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
-
phoenix/server/api/helpers/prompts/models.py,sha256=
|
|
165
|
+
phoenix/server/api/helpers/prompts/models.py,sha256=AcT6KWkisDl1qyI6U-lknHe3u_87bZvVmgCP9G14Kfw,20366
|
|
166
166
|
phoenix/server/api/helpers/prompts/conversions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
167
|
phoenix/server/api/helpers/prompts/conversions/anthropic.py,sha256=ZT--UqBwoGf7QMusajB6aeB7zyWGttaZigb113kgiY8,3571
|
|
168
168
|
phoenix/server/api/helpers/prompts/conversions/openai.py,sha256=a43WAftFn_me6ePHDufqvlg-4Z2C31owUSsqYC0YUP8,2589
|
|
@@ -284,7 +284,7 @@ phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=YGw5zIbjRXUK3zH475DnE
|
|
|
284
284
|
phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
|
|
285
285
|
phoenix/server/api/types/Functionality.py,sha256=zDDl2bANIqjwfooSOHg-VQk6-wQy05mREwjV_-VbSIg,262
|
|
286
286
|
phoenix/server/api/types/GenerativeModel.py,sha256=P7eBUMXbeqaLwSSGBKdZy3a5gOLd9I0fuP8o1st6H08,193
|
|
287
|
-
phoenix/server/api/types/GenerativeProvider.py,sha256=
|
|
287
|
+
phoenix/server/api/types/GenerativeProvider.py,sha256=2OUgKquLcM6H18br5U1nhakD1EhiFWjEGZGCt83QcI8,4545
|
|
288
288
|
phoenix/server/api/types/Identifier.py,sha256=n3rxpoKNCwEvZu7QY8yr7g3AW2mU-U62BxFXYaiHLKk,306
|
|
289
289
|
phoenix/server/api/types/Inferences.py,sha256=wv88PjcK-KwnzmTdukiAX9EV2KX4GqsKXVAUm1JtnDA,3383
|
|
290
290
|
phoenix/server/api/types/InferencesRole.py,sha256=mLfeHpyhGUVX1-tWzT9IwC_cD18BZrD3RA4YsHYuSpA,595
|
|
@@ -348,16 +348,16 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
348
348
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
349
349
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
350
350
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
351
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
352
|
-
phoenix/server/static/assets/components-
|
|
353
|
-
phoenix/server/static/assets/index-
|
|
354
|
-
phoenix/server/static/assets/pages-
|
|
355
|
-
phoenix/server/static/assets/vendor-
|
|
351
|
+
phoenix/server/static/.vite/manifest.json,sha256=x62yRLMKjgJyXFG9yR9TMrcRSfeySlIxNrDjfnO7crM,2165
|
|
352
|
+
phoenix/server/static/assets/components-i0MTMvxr.js,sha256=_msrnkJIJukGXFYOv4LnttNGlzsTTy4AyQmRrb3wsqE,548395
|
|
353
|
+
phoenix/server/static/assets/index-BBU9ybeN.js,sha256=FoLYEc1jFrb7O-ogLyfSb0OZbAIRpWNf6voOgr_z4bo,60427
|
|
354
|
+
phoenix/server/static/assets/pages-Dmq64JIh.js,sha256=ZwWYh_e9U0ieGWJm345TcB15kSGNdXTS47hRepGALVU,1034399
|
|
355
|
+
phoenix/server/static/assets/vendor-Cm32tkMA.js,sha256=4iw8vSPqX1wOqwsSuSRzzcKU-e-HEFzg8runFhtH6oA,2743927
|
|
356
356
|
phoenix/server/static/assets/vendor-WIZid84E.css,sha256=spZD2r7XL5GfLO13ln-IuXfnjAref8l6g_n_AvxxOlI,5517
|
|
357
|
-
phoenix/server/static/assets/vendor-arizeai-
|
|
358
|
-
phoenix/server/static/assets/vendor-codemirror-
|
|
359
|
-
phoenix/server/static/assets/vendor-recharts-
|
|
360
|
-
phoenix/server/static/assets/vendor-shiki-
|
|
357
|
+
phoenix/server/static/assets/vendor-arizeai-CB-pngCZ.js,sha256=YkfFgyz52akbta4dpw2Iaj1yXWEnHPrcP-UUQzUYlPA,193248
|
|
358
|
+
phoenix/server/static/assets/vendor-codemirror-c6BZvTq5.js,sha256=Ua8ZGPlB0SRj-0MWpGgpfzupTD5qskBqbvjy7SBTVSg,781264
|
|
359
|
+
phoenix/server/static/assets/vendor-recharts-ButLmGII.js,sha256=RBCkqUBqEVvSLiW2p18Ea5OqFLXwAmCpHcwz18LGZg8,282150
|
|
360
|
+
phoenix/server/static/assets/vendor-shiki-BDqcZGjN.js,sha256=GmGwTFBmAaMrDUqcMjsd4qQlZR7GHpKv0gUXOxHTfbw,8980312
|
|
361
361
|
phoenix/server/static/assets/vendor-three-C5WAXd5r.js,sha256=ELkg06u70N7h8oFmvqdoHyPuUf9VgGEWeT4LKFx4VWo,620975
|
|
362
362
|
phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
363
363
|
phoenix/server/templates/index.html,sha256=NpJ83DULqcStXFbShNamX4_NPDtnnucuBxppvUYjJa8,4409
|
|
@@ -365,7 +365,7 @@ phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
365
365
|
phoenix/session/client.py,sha256=uw5WlCuFcN_eEj7Ko2bhJVcaihEIp7Evy50KnL6Sq-k,35602
|
|
366
366
|
phoenix/session/data_extractor.py,sha256=Y0RzYFaNy9fQj8PEIeQ76TBZ90_E1FW7bXu3K5x0EZY,2782
|
|
367
367
|
phoenix/session/evaluation.py,sha256=tMElekWeLKOPHdLm1Pu_sXYWYaSU5rHAc7y8qi3jYhE,5359
|
|
368
|
-
phoenix/session/session.py,sha256=
|
|
368
|
+
phoenix/session/session.py,sha256=PKNeRxo7M1AZRKv4ZdGUS5rXRrQu5XSGV0vtCOfHLRk,27621
|
|
369
369
|
phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
|
|
370
370
|
phoenix/trace/attributes.py,sha256=hyEKYZWPCP4NRmW7VmiC2voa3TH7FYKUBR9DYiVfXlw,12627
|
|
371
371
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
@@ -398,9 +398,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
|
|
|
398
398
|
phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
|
|
399
399
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
400
400
|
phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
|
|
401
|
-
arize_phoenix-10.
|
|
402
|
-
arize_phoenix-10.
|
|
403
|
-
arize_phoenix-10.
|
|
404
|
-
arize_phoenix-10.
|
|
405
|
-
arize_phoenix-10.
|
|
406
|
-
arize_phoenix-10.
|
|
401
|
+
arize_phoenix-10.5.0.dist-info/METADATA,sha256=2kF8SzBBAbVWbNOCdSgvhbe_MKks6ddm3r8eh6ULdsY,27004
|
|
402
|
+
arize_phoenix-10.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
403
|
+
arize_phoenix-10.5.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
|
|
404
|
+
arize_phoenix-10.5.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
405
|
+
arize_phoenix-10.5.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
406
|
+
arize_phoenix-10.5.0.dist-info/RECORD,,
|
phoenix/__init__.py
CHANGED
|
@@ -84,7 +84,7 @@ class PhoenixTraceOpenAILoader(Loader):
|
|
|
84
84
|
"The legacy `phoenix.trace.openai` instrumentor module has been removed.\n"
|
|
85
85
|
"Please use OpenInference to instrument the OpenAI SDK. Additionally, the "
|
|
86
86
|
"`phoenix.otel` module can be used to quickly configure OpenTelemetry:\n\n"
|
|
87
|
-
"https://
|
|
87
|
+
"https://arize.com/docs/phoenix/tracing/integrations-tracing/openai"
|
|
88
88
|
"\n\n"
|
|
89
89
|
"Example usage:\n\n"
|
|
90
90
|
"```python\n"
|
|
@@ -108,7 +108,7 @@ class PhoenixTraceLangchainLoader(Loader):
|
|
|
108
108
|
"The legacy `phoenix.trace.langchain` instrumentor module has been removed.\n"
|
|
109
109
|
"Please use OpenInference to instrument the LangChain SDK. Additionally, the "
|
|
110
110
|
"`phoenix.otel` module can be used to quickly configure OpenTelemetry:\n\n"
|
|
111
|
-
"https://
|
|
111
|
+
"https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain"
|
|
112
112
|
"\n\n"
|
|
113
113
|
"Example usage:\n\n"
|
|
114
114
|
"```python\n"
|
|
@@ -129,7 +129,7 @@ class PhoenixTraceLlamaIndexLoader(Loader):
|
|
|
129
129
|
"The legacy `phoenix.trace.llama_index` instrumentor module has been removed.\n"
|
|
130
130
|
"Please use OpenInference to instrument the LlamaIndex SDK. Additionally, the "
|
|
131
131
|
"`phoenix.otel` module can be used to quickly configure OpenTelemetry:\n\n"
|
|
132
|
-
"https://
|
|
132
|
+
"https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex"
|
|
133
133
|
"\n\n"
|
|
134
134
|
"Example usage:\n\n"
|
|
135
135
|
"```python\n"
|
|
@@ -482,6 +482,39 @@ class DeepSeekStreamingClient(OpenAIBaseStreamingClient):
|
|
|
482
482
|
self._attributes[LLM_SYSTEM] = OpenInferenceLLMSystemValues.OPENAI.value
|
|
483
483
|
|
|
484
484
|
|
|
485
|
+
@register_llm_client(
|
|
486
|
+
provider_key=GenerativeProviderKey.XAI,
|
|
487
|
+
model_names=[
|
|
488
|
+
PROVIDER_DEFAULT,
|
|
489
|
+
"grok-3",
|
|
490
|
+
"grok-3-fast",
|
|
491
|
+
"grok-3-mini",
|
|
492
|
+
"grok-3-mini-fast",
|
|
493
|
+
"grok-2-1212",
|
|
494
|
+
"grok-2-vision-1212",
|
|
495
|
+
],
|
|
496
|
+
)
|
|
497
|
+
class XAIStreamingClient(OpenAIBaseStreamingClient):
|
|
498
|
+
def __init__(
|
|
499
|
+
self,
|
|
500
|
+
model: GenerativeModelInput,
|
|
501
|
+
api_key: Optional[str] = None,
|
|
502
|
+
) -> None:
|
|
503
|
+
from openai import AsyncOpenAI
|
|
504
|
+
|
|
505
|
+
base_url = model.base_url or getenv("XAI_BASE_URL")
|
|
506
|
+
if not (api_key := api_key or getenv("XAI_API_KEY")):
|
|
507
|
+
if not base_url:
|
|
508
|
+
raise BadRequest("An API key is required for xAI models")
|
|
509
|
+
api_key = "sk-fake-api-key"
|
|
510
|
+
client = AsyncOpenAI(api_key=api_key, base_url=base_url or "https://api.x.ai/v1")
|
|
511
|
+
super().__init__(client=client, model=model, api_key=api_key)
|
|
512
|
+
# xAI uses OpenAI-compatible API but we'll track it as a separate provider
|
|
513
|
+
# Adding a custom "xai" provider value to make it distinguishable in traces
|
|
514
|
+
self._attributes[LLM_PROVIDER] = "xai"
|
|
515
|
+
self._attributes[LLM_SYSTEM] = OpenInferenceLLMSystemValues.OPENAI.value
|
|
516
|
+
|
|
517
|
+
|
|
485
518
|
@register_llm_client(
|
|
486
519
|
provider_key=GenerativeProviderKey.OPENAI,
|
|
487
520
|
model_names=[
|
|
@@ -336,6 +336,10 @@ class PromptDeepSeekInvocationParametersContent(PromptOpenAIInvocationParameters
|
|
|
336
336
|
pass
|
|
337
337
|
|
|
338
338
|
|
|
339
|
+
class PromptXAIInvocationParametersContent(PromptOpenAIInvocationParametersContent):
|
|
340
|
+
pass
|
|
341
|
+
|
|
342
|
+
|
|
339
343
|
class PromptAzureOpenAIInvocationParameters(DBBaseModel):
|
|
340
344
|
type: Literal["azure_openai"]
|
|
341
345
|
azure_openai: PromptAzureOpenAIInvocationParametersContent
|
|
@@ -346,6 +350,11 @@ class PromptDeepSeekInvocationParameters(DBBaseModel):
|
|
|
346
350
|
deepseek: PromptDeepSeekInvocationParametersContent
|
|
347
351
|
|
|
348
352
|
|
|
353
|
+
class PromptXAIInvocationParameters(DBBaseModel):
|
|
354
|
+
type: Literal["xai"]
|
|
355
|
+
xai: PromptXAIInvocationParametersContent
|
|
356
|
+
|
|
357
|
+
|
|
349
358
|
class PromptAnthropicThinkingConfigDisabled(DBBaseModel):
|
|
350
359
|
type: Literal["disabled"]
|
|
351
360
|
|
|
@@ -401,6 +410,7 @@ PromptInvocationParameters: TypeAlias = Annotated[
|
|
|
401
410
|
PromptAnthropicInvocationParameters,
|
|
402
411
|
PromptGoogleInvocationParameters,
|
|
403
412
|
PromptDeepSeekInvocationParameters,
|
|
413
|
+
PromptXAIInvocationParameters,
|
|
404
414
|
],
|
|
405
415
|
Field(..., discriminator="type"),
|
|
406
416
|
]
|
|
@@ -419,6 +429,8 @@ def get_raw_invocation_parameters(
|
|
|
419
429
|
return invocation_parameters.google.model_dump()
|
|
420
430
|
if isinstance(invocation_parameters, PromptDeepSeekInvocationParameters):
|
|
421
431
|
return invocation_parameters.deepseek.model_dump()
|
|
432
|
+
if isinstance(invocation_parameters, PromptXAIInvocationParameters):
|
|
433
|
+
return invocation_parameters.xai.model_dump()
|
|
422
434
|
assert_never(invocation_parameters)
|
|
423
435
|
|
|
424
436
|
|
|
@@ -433,6 +445,7 @@ def is_prompt_invocation_parameters(
|
|
|
433
445
|
PromptAnthropicInvocationParameters,
|
|
434
446
|
PromptGoogleInvocationParameters,
|
|
435
447
|
PromptDeepSeekInvocationParameters,
|
|
448
|
+
PromptXAIInvocationParameters,
|
|
436
449
|
),
|
|
437
450
|
)
|
|
438
451
|
|
|
@@ -476,6 +489,11 @@ def validate_invocation_parameters(
|
|
|
476
489
|
type="google",
|
|
477
490
|
google=PromptGoogleInvocationParametersContent.model_validate(invocation_parameters),
|
|
478
491
|
)
|
|
492
|
+
elif model_provider is ModelProvider.XAI:
|
|
493
|
+
return PromptXAIInvocationParameters(
|
|
494
|
+
type="xai",
|
|
495
|
+
xai=PromptXAIInvocationParametersContent.model_validate(invocation_parameters),
|
|
496
|
+
)
|
|
479
497
|
assert_never(model_provider)
|
|
480
498
|
|
|
481
499
|
|
|
@@ -485,7 +503,12 @@ def normalize_tools(
|
|
|
485
503
|
tool_choice: Optional[Union[str, Mapping[str, Any]]] = None,
|
|
486
504
|
) -> PromptTools:
|
|
487
505
|
tools: list[PromptToolFunction]
|
|
488
|
-
if
|
|
506
|
+
if (
|
|
507
|
+
model_provider is ModelProvider.OPENAI
|
|
508
|
+
or model_provider is ModelProvider.AZURE_OPENAI
|
|
509
|
+
or model_provider is ModelProvider.DEEPSEEK
|
|
510
|
+
or model_provider is ModelProvider.XAI
|
|
511
|
+
):
|
|
489
512
|
openai_tools = [OpenAIToolDefinition.model_validate(schema) for schema in schemas]
|
|
490
513
|
tools = [_openai_to_prompt_tool(openai_tool) for openai_tool in openai_tools]
|
|
491
514
|
elif model_provider is ModelProvider.ANTHROPIC:
|
|
@@ -495,7 +518,12 @@ def normalize_tools(
|
|
|
495
518
|
raise ValueError(f"Unsupported model provider: {model_provider}")
|
|
496
519
|
ans = PromptTools(type="tools", tools=tools)
|
|
497
520
|
if tool_choice is not None:
|
|
498
|
-
if
|
|
521
|
+
if (
|
|
522
|
+
model_provider is ModelProvider.OPENAI
|
|
523
|
+
or model_provider is ModelProvider.AZURE_OPENAI
|
|
524
|
+
or model_provider is ModelProvider.DEEPSEEK
|
|
525
|
+
or model_provider is ModelProvider.XAI
|
|
526
|
+
):
|
|
499
527
|
ans.tool_choice = OpenAIToolChoiceConversion.from_openai(tool_choice) # type: ignore[arg-type]
|
|
500
528
|
elif model_provider is ModelProvider.ANTHROPIC:
|
|
501
529
|
choice, disable_parallel_tool_calls = AnthropicToolChoiceConversion.from_anthropic(
|
|
@@ -513,7 +541,12 @@ def denormalize_tools(
|
|
|
513
541
|
assert tools.type == "tools"
|
|
514
542
|
denormalized_tools: list[DBBaseModel]
|
|
515
543
|
tool_choice: Optional[Any] = None
|
|
516
|
-
if
|
|
544
|
+
if (
|
|
545
|
+
model_provider is ModelProvider.OPENAI
|
|
546
|
+
or model_provider is ModelProvider.AZURE_OPENAI
|
|
547
|
+
or model_provider is ModelProvider.DEEPSEEK
|
|
548
|
+
or model_provider is ModelProvider.XAI
|
|
549
|
+
):
|
|
517
550
|
denormalized_tools = [_prompt_to_openai_tool(tool) for tool in tools.tools]
|
|
518
551
|
if tools.tool_choice:
|
|
519
552
|
tool_choice = OpenAIToolChoiceConversion.to_openai(tools.tool_choice)
|
|
@@ -15,6 +15,7 @@ class GenerativeProviderKey(Enum):
|
|
|
15
15
|
AZURE_OPENAI = "Azure OpenAI"
|
|
16
16
|
GOOGLE = "Google AI Studio"
|
|
17
17
|
DEEPSEEK = "DeepSeek"
|
|
18
|
+
XAI = "xAI"
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
@strawberry.type
|
|
@@ -28,6 +29,7 @@ class GenerativeProvider:
|
|
|
28
29
|
GenerativeProviderKey.OPENAI: ["gpt", "o1"],
|
|
29
30
|
GenerativeProviderKey.GOOGLE: ["gemini"],
|
|
30
31
|
GenerativeProviderKey.DEEPSEEK: ["deepseek"],
|
|
32
|
+
GenerativeProviderKey.XAI: ["grok"],
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
attribute_provider_to_generative_provider_map: ClassVar[dict[str, GenerativeProviderKey]] = {
|
|
@@ -37,6 +39,8 @@ class GenerativeProvider:
|
|
|
37
39
|
OpenInferenceLLMProviderValues.GOOGLE.value: GenerativeProviderKey.GOOGLE,
|
|
38
40
|
# Note: DeepSeek uses OpenAI compatibility but we can't duplicate the key in the dict
|
|
39
41
|
# The provider will be determined through model name prefix matching instead
|
|
42
|
+
# Note: xAI uses OpenAI compatibility but we can't duplicate the key in the dict
|
|
43
|
+
# The provider will be determined through model name prefix matching instead
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
model_provider_to_api_key_env_var_map: ClassVar[dict[GenerativeProviderKey, str]] = {
|
|
@@ -45,6 +49,7 @@ class GenerativeProvider:
|
|
|
45
49
|
GenerativeProviderKey.OPENAI: "OPENAI_API_KEY",
|
|
46
50
|
GenerativeProviderKey.GOOGLE: "GEMINI_API_KEY",
|
|
47
51
|
GenerativeProviderKey.DEEPSEEK: "DEEPSEEK_API_KEY",
|
|
52
|
+
GenerativeProviderKey.XAI: "XAI_API_KEY",
|
|
48
53
|
}
|
|
49
54
|
|
|
50
55
|
@strawberry.field
|
phoenix/server/main.py
CHANGED
|
@@ -98,7 +98,7 @@ _WELCOME_MESSAGE = Environment(loader=BaseLoader()).from_string("""
|
|
|
98
98
|
| https://github.com/Arize-ai/phoenix
|
|
99
99
|
|
|
|
100
100
|
| 📚 Documentation 📚
|
|
101
|
-
| https://
|
|
101
|
+
| https://arize.com/docs/phoenix
|
|
102
102
|
|
|
|
103
103
|
| 🚀 Phoenix Server 🚀
|
|
104
104
|
| Phoenix UI: {{ ui_path }}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_components-
|
|
3
|
-
"file": "assets/components-
|
|
2
|
+
"_components-i0MTMvxr.js": {
|
|
3
|
+
"file": "assets/components-i0MTMvxr.js",
|
|
4
4
|
"name": "components",
|
|
5
5
|
"imports": [
|
|
6
|
-
"_vendor-
|
|
7
|
-
"_pages-
|
|
8
|
-
"_vendor-arizeai-
|
|
9
|
-
"_vendor-codemirror-
|
|
6
|
+
"_vendor-Cm32tkMA.js",
|
|
7
|
+
"_pages-Dmq64JIh.js",
|
|
8
|
+
"_vendor-arizeai-CB-pngCZ.js",
|
|
9
|
+
"_vendor-codemirror-c6BZvTq5.js",
|
|
10
10
|
"_vendor-three-C5WAXd5r.js"
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
|
-
"_pages-
|
|
14
|
-
"file": "assets/pages-
|
|
13
|
+
"_pages-Dmq64JIh.js": {
|
|
14
|
+
"file": "assets/pages-Dmq64JIh.js",
|
|
15
15
|
"name": "pages",
|
|
16
16
|
"imports": [
|
|
17
|
-
"_vendor-
|
|
18
|
-
"_vendor-arizeai-
|
|
19
|
-
"_components-
|
|
20
|
-
"_vendor-codemirror-
|
|
21
|
-
"_vendor-recharts-
|
|
17
|
+
"_vendor-Cm32tkMA.js",
|
|
18
|
+
"_vendor-arizeai-CB-pngCZ.js",
|
|
19
|
+
"_components-i0MTMvxr.js",
|
|
20
|
+
"_vendor-codemirror-c6BZvTq5.js",
|
|
21
|
+
"_vendor-recharts-ButLmGII.js"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
|
-
"_vendor-
|
|
25
|
-
"file": "assets/vendor-
|
|
24
|
+
"_vendor-Cm32tkMA.js": {
|
|
25
|
+
"file": "assets/vendor-Cm32tkMA.js",
|
|
26
26
|
"name": "vendor",
|
|
27
27
|
"imports": [
|
|
28
28
|
"_vendor-three-C5WAXd5r.js"
|
|
@@ -35,33 +35,33 @@
|
|
|
35
35
|
"file": "assets/vendor-WIZid84E.css",
|
|
36
36
|
"src": "_vendor-WIZid84E.css"
|
|
37
37
|
},
|
|
38
|
-
"_vendor-arizeai-
|
|
39
|
-
"file": "assets/vendor-arizeai-
|
|
38
|
+
"_vendor-arizeai-CB-pngCZ.js": {
|
|
39
|
+
"file": "assets/vendor-arizeai-CB-pngCZ.js",
|
|
40
40
|
"name": "vendor-arizeai",
|
|
41
41
|
"imports": [
|
|
42
|
-
"_vendor-
|
|
42
|
+
"_vendor-Cm32tkMA.js"
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
|
-
"_vendor-codemirror-
|
|
46
|
-
"file": "assets/vendor-codemirror-
|
|
45
|
+
"_vendor-codemirror-c6BZvTq5.js": {
|
|
46
|
+
"file": "assets/vendor-codemirror-c6BZvTq5.js",
|
|
47
47
|
"name": "vendor-codemirror",
|
|
48
48
|
"imports": [
|
|
49
|
-
"_vendor-
|
|
50
|
-
"_vendor-shiki-
|
|
49
|
+
"_vendor-Cm32tkMA.js",
|
|
50
|
+
"_vendor-shiki-BDqcZGjN.js"
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
|
-
"_vendor-recharts-
|
|
54
|
-
"file": "assets/vendor-recharts-
|
|
53
|
+
"_vendor-recharts-ButLmGII.js": {
|
|
54
|
+
"file": "assets/vendor-recharts-ButLmGII.js",
|
|
55
55
|
"name": "vendor-recharts",
|
|
56
56
|
"imports": [
|
|
57
|
-
"_vendor-
|
|
57
|
+
"_vendor-Cm32tkMA.js"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
|
-
"_vendor-shiki-
|
|
61
|
-
"file": "assets/vendor-shiki-
|
|
60
|
+
"_vendor-shiki-BDqcZGjN.js": {
|
|
61
|
+
"file": "assets/vendor-shiki-BDqcZGjN.js",
|
|
62
62
|
"name": "vendor-shiki",
|
|
63
63
|
"imports": [
|
|
64
|
-
"_vendor-
|
|
64
|
+
"_vendor-Cm32tkMA.js"
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
67
|
"_vendor-three-C5WAXd5r.js": {
|
|
@@ -69,19 +69,19 @@
|
|
|
69
69
|
"name": "vendor-three"
|
|
70
70
|
},
|
|
71
71
|
"index.tsx": {
|
|
72
|
-
"file": "assets/index-
|
|
72
|
+
"file": "assets/index-BBU9ybeN.js",
|
|
73
73
|
"name": "index",
|
|
74
74
|
"src": "index.tsx",
|
|
75
75
|
"isEntry": true,
|
|
76
76
|
"imports": [
|
|
77
|
-
"_vendor-
|
|
78
|
-
"_vendor-arizeai-
|
|
79
|
-
"_pages-
|
|
80
|
-
"_components-
|
|
77
|
+
"_vendor-Cm32tkMA.js",
|
|
78
|
+
"_vendor-arizeai-CB-pngCZ.js",
|
|
79
|
+
"_pages-Dmq64JIh.js",
|
|
80
|
+
"_components-i0MTMvxr.js",
|
|
81
81
|
"_vendor-three-C5WAXd5r.js",
|
|
82
|
-
"_vendor-codemirror-
|
|
83
|
-
"_vendor-shiki-
|
|
84
|
-
"_vendor-recharts-
|
|
82
|
+
"_vendor-codemirror-c6BZvTq5.js",
|
|
83
|
+
"_vendor-shiki-BDqcZGjN.js",
|
|
84
|
+
"_vendor-recharts-ButLmGII.js"
|
|
85
85
|
]
|
|
86
86
|
}
|
|
87
87
|
}
|