arize-phoenix 10.3.1__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.

Files changed (23) hide show
  1. {arize_phoenix-10.3.1.dist-info → arize_phoenix-10.5.0.dist-info}/METADATA +38 -38
  2. {arize_phoenix-10.3.1.dist-info → arize_phoenix-10.5.0.dist-info}/RECORD +23 -23
  3. phoenix/__init__.py +3 -3
  4. phoenix/db/types/model_provider.py +1 -0
  5. phoenix/server/api/helpers/playground_clients.py +33 -0
  6. phoenix/server/api/helpers/prompts/models.py +36 -3
  7. phoenix/server/api/types/GenerativeProvider.py +5 -0
  8. phoenix/server/main.py +1 -1
  9. phoenix/server/static/.vite/manifest.json +44 -44
  10. phoenix/server/static/assets/{components-CivAVDaz.js → components-i0MTMvxr.js} +217 -198
  11. phoenix/server/static/assets/{index-Czk1v3pw.js → index-BBU9ybeN.js} +2 -2
  12. phoenix/server/static/assets/{pages-Gj3J1sqc.js → pages-Dmq64JIh.js} +417 -400
  13. phoenix/server/static/assets/{vendor-dV-IJBHw.js → vendor-Cm32tkMA.js} +125 -125
  14. phoenix/server/static/assets/{vendor-arizeai-BD5gvaef.js → vendor-arizeai-CB-pngCZ.js} +5 -5
  15. phoenix/server/static/assets/{vendor-codemirror-DjHzu2rA.js → vendor-codemirror-c6BZvTq5.js} +1 -1
  16. phoenix/server/static/assets/{vendor-recharts-CuDlk54J.js → vendor-recharts-ButLmGII.js} +1 -1
  17. phoenix/server/static/assets/{vendor-shiki-CZcHetjR.js → vendor-shiki-BDqcZGjN.js} +1 -1
  18. phoenix/session/session.py +1 -1
  19. phoenix/version.py +1 -1
  20. {arize_phoenix-10.3.1.dist-info → arize_phoenix-10.5.0.dist-info}/WHEEL +0 -0
  21. {arize_phoenix-10.3.1.dist-info → arize_phoenix-10.5.0.dist-info}/entry_points.txt +0 -0
  22. {arize_phoenix-10.3.1.dist-info → arize_phoenix-10.5.0.dist-info}/licenses/IP_NOTICE +0 -0
  23. {arize_phoenix-10.3.1.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.1
3
+ Version: 10.5.0
4
4
  Summary: AI Observability and Evaluation
5
- Project-URL: Documentation, https://docs.arize.com/phoenix/
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://docs.arize.com/phoenix/">
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,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAG4ElEQVR4nO2d4XHjNhCFcTf+b3ZgdWCmgmMqOKUC0xXYrsBOBVEqsFRB7ApCVRCygrMriFQBM7h5mNlwKBECARLg7jeDscamSQj7sFgsQfBL27ZK4MtXsT1vRADMEQEwRwTAHBEAc0QAzBEBMEcEwBwRAHNEAMwRATBnjAByFGE+MqVUMcYOY24GVUqpb/h8VErVKAf87QNFcEcbd4WSw+D6803njHscO5sATmGEURGBiCj6yUlv1uX2gv91FsDViArbcA2RUKF8QhAV8RQc0b15DcOt0VaTE1oAfWj3dYdCBfGGsmSM0XX5HsP3nEMAXbqCeCdiOERQPx9og5exGJ0S4zRQN9KrUupfpdQWjZciure/YIj7K0bjqwTyAHdovA805iqCOg2xgnB1nZ97IvaoSCURdIPG/IHGjTH/YAz/A8KdJai7lBQzgbpx/0Hg6DT18UzWMXxSjMkDrElPNEmKfAbl6znwI3IMU/OCa0/1nfckwWaSbvWYYDnEsvCMJDNckhqu7GCMKWYOBXp9yPGd5kvqUAKf6rkAk7M2SY9QDXdEr9wEOr9x96EiejMFnixBNteDISsyNw7hHRqc22evWcP4vt39O85bzZH30AKg4+eo8cQRI4bHAJ7hyYM3CNHrG9RrimSXuZmUkZjN/O6nAPpcwCcJNmipAle2QM/1GU3vITCXhvY91u9geN/jOY27VuTnYL1PCeAcRhwh7/Bl8Ai+IuxPiOCShtfX/sPDtY8w+sZjby86dw6dBeoigD7obd/Ko6fI4BF8DA9HnGdrcU0fLt+n4dfE6H5jpjYcVdu2L23b5lpjHoo+18FDbcszddF1rUee/4C6ZiO+80rHZmjDoIQUQLdRtm3brkcKIUPjjqVPBIUHgW1GGN4YfawAL2IqAVB8iEE31tvIelARlCPPVaFOLoIupzY6xVcM4MoRUyHXyHhslH6PaPl5RP1Lh4UsOeKR2e8dzC0Aiuvc2Nx3fwhfxf/hknouUYbWUk5GTAIwmOh5e+H0cor8vEL91hfOdEqINLq1AV+RKImJ6869f9tFIBVc6y7gd3lHfWyNX0LEr7EuDElhRdAlQjig0e/RU31xxDltM4pF7IY3pLIgxAhhgzF/iC2M0Hi4dkOGlyGMd/g7dsMbUlsR9ICe9WhxbA3DjRkSdjiHzQzlBSKNJsCzIcUlYdfI0dcWS8LMkPDkcJ0n/O+Qyy/IAtDkSPnp4Fu4WpthQR/zm2VcoI/51fI28iYld9/HEh4Pf7D0Bm845pwIPnHMUJSf45pT5x68s5T9AW6INzhHDeP1BYcNMew5SghkinWOwVnaBhHGG5ybMn70zBDe8buh8X6DqV0Sa/5tWOIOIbcWQ8KBiGBnMb/P0OuTd/lddCrY5jn/VLm3nL+fY4X4YREuv8vS9wh6HSkAExMs0viKySZRd44iyOH2FzPe98Fll7A7GNMmjay4GF9BAKGXesfCN0sRsDG+YrhP4O2ACFgZXzHdKPL2RMJoxc34ivFOod3AMMNUj5XxFfOtYrUIXvB5MandS+G+V/AzZ+MrEcBPlpoFtUIEwBwRAG+OIgDe1CIA5ogAmCMCYI4IgDkiAOaIAJgjAmCOCIA5IgDmiACYIwJgjgiAOSIA5ogAmCMCYI4IgDkiAOaIAJgjAmCOCIA5IgDmiACYIwJgjgiAOSIA5ogAmCMCYI4IgDkiAOaIAJgjAmDOVYBXvwvxQV8NWJOd0esvJ94babZaz7B5ovldxnlDpYhp0JFr/KTlLKcEMMQKpcDPXIQxGXsYmhZnXAXQh/EWBQrr3bc80mATyyrEvs4+BdBHgbdxFOIhrDkSg1/6Iu2LCS0AyoqI4ftUF00EY/Q3h1fRj2JKAVCMGErmnsH1lfnemEsAlByvgl0z2qx5B8OPCuB8EIMADBlEEOV79j1whNE3c/X2PmISAGUNr7CEmUSUhjfEKgBDAY+QohCiNrwhdgEYzPv7UxkadvBg0RrekMrNoAozh3vLN4DPhc7S/WL52vkoSO1u4BZC+DOCulC0KJ/gqWaP7C8hlSGgjxyCmDuPsEePT/KuasrrAcyr4H+f6fq01yd7Sz1lD0CZ2hs06PVJufs+lrIiyLwufjfBtXYpjvWnWIoHoJSYe4dIK/t4HX1ULFEACkPCm8e8wXFJvZ6y1EWhJkDcWxw7RINzLc74auGrgg8e4oIm9Sh/CA7LwkvHqaIJ9pLI6Lmy1BigDy2EV8tjdzh+8XB6MGSLKH4INsZXDJ8MGhIBK+Mrpo+GnRIBO+MrZjFAFxoTNBwCvj6u4qvSZJiM3iNX4yvmHoA9Sh4PF0QAzBEBMEcEwBwRAHNEAMwRAXBGKfUfr5hKvglRfO4AAAAASUVORK5CYII=&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://docs.arize.com/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
172
- - [**_Evaluation_**](https://docs.arize.com/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
173
- - [**_Datasets_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
174
- - [**_Experiments_**](https://docs.arize.com/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
175
- - [**_Playground_**](https://docs.arize.com/phoenix/prompt-engineering/overview-prompts)- Optimize prompts, compare models, adjust parameters, and replay traced LLM calls.
176
- - [**_Prompt Management_**](https://docs.arize.com/phoenix/prompt-engineering/overview-prompts/prompt-management)- Manage and test prompt changes systematically using version control, tagging, and experimentation.
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://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), 🤗[smolagents](https://docs.arize.com/phoenix/tracing/integrations-tracing/hfsmolagents)) 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), [Google GenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/google-genai) and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
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://docs.arize.com/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-openai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-openai) |
214
- | [OpenAI Agents](https://docs.arize.com/phoenix/tracing/integrations-tracing/openai-agents-sdk) | `openinference-instrumentation-openai-agents` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-openai-agents.svg)](https://pypi.python.org/pypi/openinference-instrumentation-openai-agents) |
215
- | [LlamaIndex](https://docs.arize.com/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-llama-index.svg)](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
216
- | [DSPy](https://docs.arize.com/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-dspy.svg)](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
217
- | [AWS Bedrock](https://docs.arize.com/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-bedrock.svg)](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
218
- | [LangChain](https://docs.arize.com/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-langchain.svg)](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
219
- | [MistralAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-mistralai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-mistralai) |
220
- | [Google GenAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/google-gen-ai) | `openinference-instrumentation-google-genai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-google-genai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-google-genai) |
221
- | [Guardrails](https://docs.arize.com/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-guardrails.svg)](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
222
- | [VertexAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-vertexai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
223
- | [CrewAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-crewai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
224
- | [Haystack](https://docs.arize.com/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-haystack.svg)](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
225
- | [LiteLLM](https://docs.arize.com/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-litellm.svg)](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
226
- | [Groq](https://docs.arize.com/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-groq.svg)](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
227
- | [Instructor](https://docs.arize.com/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-instructor.svg)](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
228
- | [Anthropic](https://docs.arize.com/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-anthropic.svg)](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
213
+ | [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-openai.svg)](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` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-openai-agents.svg)](https://pypi.python.org/pypi/openinference-instrumentation-openai-agents) |
215
+ | [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-llama-index.svg)](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
216
+ | [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-dspy.svg)](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
217
+ | [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-bedrock.svg)](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
218
+ | [LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-langchain.svg)](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
219
+ | [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-mistralai.svg)](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` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-google-genai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-google-genai) |
221
+ | [Guardrails](https://arize.com/docs/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-guardrails.svg)](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
222
+ | [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-vertexai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
223
+ | [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-crewai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
224
+ | [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-haystack.svg)](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
225
+ | [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-litellm.svg)](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
226
+ | [Groq](https://arize.com/docs/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-groq.svg)](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
227
+ | [Instructor](https://arize.com/docs/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-instructor.svg)](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
228
+ | [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-anthropic.svg)](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
229
229
  | [Smolagents](https://huggingface.co/docs/smolagents/en/tutorials/inspect_runs) | `openinference-instrumentation-smolagents` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-smolagents.svg)](https://pypi.python.org/pypi/openinference-instrumentation-smolagents) |
230
- | [Agno](https://docs.arize.com/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-agno.svg)](https://pypi.python.org/pypi/openinference-instrumentation-agno) |
231
- | [MCP](https://docs.arize.com/phoenix/tracing/integrations-tracing/model-context-protocol-mcp) | `openinference-instrumentation-mcp` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-mcp.svg)](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
232
- | [Pydantic AI](https://docs.arize.com/phoenix/integrations/pydantic) | `openinference-instrumentation-pydantic-ai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-pydantic-ai.svg)](https://pypi.python.org/pypi/openinference-instrumentation-pydantic-ai) |
233
- | [Autogen AgentChat](https://docs.arize.com/phoenix/integrations/frameworks/autogen/autogen-tracing) | `openinference-instrumentation-autogen-agentchat` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-autogen-agentchat.svg)](https://pypi.python.org/pypi/openinference-instrumentation-autogen-agentchat) |
234
- | [Portkey](https://docs.arize.com/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-portkey.svg)](https://pypi.python.org/pypi/openinference-instrumentation-portkey) |
230
+ | [Agno](https://arize.com/docs/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-agno.svg)](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` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-mcp.svg)](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
232
+ | [Pydantic AI](https://arize.com/docs/phoenix/integrations/pydantic) | `openinference-instrumentation-pydantic-ai` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-pydantic-ai.svg)](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` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-autogen-agentchat.svg)](https://pypi.python.org/pypi/openinference-instrumentation-autogen-agentchat) |
234
+ | [Portkey](https://arize.com/docs/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [![PyPI Version](https://img.shields.io/pypi/v/openinference-instrumentation-portkey.svg)](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://docs.arize.com/phoenix/tracing/integrations-tracing/openai-node-sdk) | `@arizeai/openinference-instrumentation-openai` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-instrumentation-openai.svg)](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-openai) |
241
- | [LangChain.js](https://docs.arize.com/phoenix/tracing/integrations-tracing/langchain.js) | `@arizeai/openinference-instrumentation-langchain` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-instrumentation-langchain.svg)](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-langchain) |
242
- | [Vercel AI SDK](https://docs.arize.com/phoenix/tracing/integrations-tracing/vercel-ai-sdk) | `@arizeai/openinference-vercel` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-vercel)](https://www.npmjs.com/package/@arizeai/openinference-vercel) |
243
- | [BeeAI](https://docs.arize.com/phoenix/tracing/integrations-tracing/beeai) | `@arizeai/openinference-instrumentation-beeai` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-vercel)](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
244
- | [Mastra](https://docs.arize.com/phoenix/integrations/mastra) | `@arizeai/openinference-mastra` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-mastra.svg)](https://www.npmjs.com/package/@arizeai/openinference-mastra) |
240
+ | [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-node-sdk) | `@arizeai/openinference-instrumentation-openai` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-instrumentation-openai.svg)](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` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-instrumentation-langchain.svg)](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` | [![NPM Version](https://img.shields.io/npm/v/@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` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-vercel)](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
244
+ | [Mastra](https://arize.com/docs/phoenix/integrations/mastra) | `@arizeai/openinference-mastra` | [![NPM Version](https://img.shields.io/npm/v/@arizeai/openinference-mastra.svg)](https://www.npmjs.com/package/@arizeai/openinference-mastra) |
245
245
 
246
246
  ### Platforms
247
247
 
248
- Phoenix has native integrations with [LangFlow](https://docs.arize.com/phoenix/tracing/integrations-tracing/langflow), LiteLLM Proxy, and [BeeAI](https://docs.beeai.dev/observability/agents-traceability).
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://docs.arize.com/phoenix).
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=X3eUEwd2rG8KKWWYVNNDJoqo08ihfjgHhlP29dcdNJE,5481
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=ZgsYsdcG4VZPGFkEdGV8vDiBkuiX5YDF1heoxEtbzrY,23
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=M5SKYtK176SxYhZ-c5gQSiTTuDk8VeAxqM8jrGyfGTo,183
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=FI7wZW8SYPvVLC6dUVpweFcHmKcLTaUxfGE0i_4lZNw,18252
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=6inOpdusWAJKvPyefEFCDdND7Lm-wa4gOMc7KRptIbs,43170
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=vMLaeYvn54DNISbJgSu_LjcBvH0S9XMA13ZnWsbMHZ0,19331
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=IK6OTnjRPGmz5AgHcMjcbYnmyohvoqFr42lhE9kQbc0,4260
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=mLKhRgNe0Eg8cTyY34dLtU-YAHT0FFnjJ7dECENiB6k,2165
352
- phoenix/server/static/assets/components-CivAVDaz.js,sha256=baHfjvKJYQnbQPTgY_XHXTI0wft8SYwGJPa_LahAXVE,546532
353
- phoenix/server/static/assets/index-Czk1v3pw.js,sha256=9ek0aGlGW1tIBPssclZTQBLda4hRZmqYQNQkerAxM5w,60432
354
- phoenix/server/static/assets/pages-Gj3J1sqc.js,sha256=L381PAqX9buyPGTmBMDJBWezqkJtIJ-H99a0V0di2bw,1033868
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
355
356
  phoenix/server/static/assets/vendor-WIZid84E.css,sha256=spZD2r7XL5GfLO13ln-IuXfnjAref8l6g_n_AvxxOlI,5517
356
- phoenix/server/static/assets/vendor-arizeai-BD5gvaef.js,sha256=FnrGblO2Yf2AsjKo8uvcYdmWdRs19t_j8hE9xTV6Nzc,193248
357
- phoenix/server/static/assets/vendor-codemirror-DjHzu2rA.js,sha256=rExnSZuhZqwYVj4vDUDL5CBsjr1q5UiG1cdbYYLBO54,781264
358
- phoenix/server/static/assets/vendor-dV-IJBHw.js,sha256=GNMZtd8vBm5bOIz2LyhvpJqLcOtIcqBedO5wPHkQPn0,2744392
359
- phoenix/server/static/assets/vendor-recharts-CuDlk54J.js,sha256=DZFWTvpEE75lwBjwWlJS3TIzoSXRIKwTMvSP9X9RruE,282150
360
- phoenix/server/static/assets/vendor-shiki-CZcHetjR.js,sha256=9CEX6GxHPOvUxCF9jp9puN1uYULyLGm-PrVOUoK9118,8980312
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=twE8tld8knShmTpZp6R80CUt2jau3RmfdfZAQCLSTKU,27621
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.3.1.dist-info/METADATA,sha256=IhITrAH1Gmw_7fvQxJJDtjJsy2wXZZgGdNS7s3hIQwk,27004
402
- arize_phoenix-10.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
403
- arize_phoenix-10.3.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
404
- arize_phoenix-10.3.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
405
- arize_phoenix-10.3.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
406
- arize_phoenix-10.3.1.dist-info/RECORD,,
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://docs.arize.com/phoenix/tracing/integrations-tracing/openai"
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://docs.arize.com/phoenix/tracing/integrations-tracing/langchain"
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://docs.arize.com/phoenix/tracing/integrations-tracing/llamaindex"
132
+ "https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex"
133
133
  "\n\n"
134
134
  "Example usage:\n\n"
135
135
  "```python\n"
@@ -7,3 +7,4 @@ class ModelProvider(Enum):
7
7
  ANTHROPIC = "ANTHROPIC"
8
8
  GOOGLE = "GOOGLE"
9
9
  DEEPSEEK = "DEEPSEEK"
10
+ XAI = "XAI"
@@ -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 model_provider is ModelProvider.OPENAI or model_provider is ModelProvider.AZURE_OPENAI:
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 model_provider is ModelProvider.OPENAI or model_provider is ModelProvider.AZURE_OPENAI:
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 model_provider is ModelProvider.OPENAI or model_provider is ModelProvider.AZURE_OPENAI:
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://docs.arize.com/phoenix
101
+ | https://arize.com/docs/phoenix
102
102
  |
103
103
  | 🚀 Phoenix Server 🚀
104
104
  | Phoenix UI: {{ ui_path }}
@@ -1,67 +1,67 @@
1
1
  {
2
- "_components-CivAVDaz.js": {
3
- "file": "assets/components-CivAVDaz.js",
2
+ "_components-i0MTMvxr.js": {
3
+ "file": "assets/components-i0MTMvxr.js",
4
4
  "name": "components",
5
5
  "imports": [
6
- "_vendor-dV-IJBHw.js",
7
- "_pages-Gj3J1sqc.js",
8
- "_vendor-arizeai-BD5gvaef.js",
9
- "_vendor-codemirror-DjHzu2rA.js",
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-Gj3J1sqc.js": {
14
- "file": "assets/pages-Gj3J1sqc.js",
13
+ "_pages-Dmq64JIh.js": {
14
+ "file": "assets/pages-Dmq64JIh.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
- "_vendor-dV-IJBHw.js",
18
- "_vendor-arizeai-BD5gvaef.js",
19
- "_components-CivAVDaz.js",
20
- "_vendor-codemirror-DjHzu2rA.js",
21
- "_vendor-recharts-CuDlk54J.js"
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
+ ]
23
+ },
24
+ "_vendor-Cm32tkMA.js": {
25
+ "file": "assets/vendor-Cm32tkMA.js",
26
+ "name": "vendor",
27
+ "imports": [
28
+ "_vendor-three-C5WAXd5r.js"
29
+ ],
30
+ "css": [
31
+ "assets/vendor-WIZid84E.css"
22
32
  ]
23
33
  },
24
34
  "_vendor-WIZid84E.css": {
25
35
  "file": "assets/vendor-WIZid84E.css",
26
36
  "src": "_vendor-WIZid84E.css"
27
37
  },
28
- "_vendor-arizeai-BD5gvaef.js": {
29
- "file": "assets/vendor-arizeai-BD5gvaef.js",
38
+ "_vendor-arizeai-CB-pngCZ.js": {
39
+ "file": "assets/vendor-arizeai-CB-pngCZ.js",
30
40
  "name": "vendor-arizeai",
31
41
  "imports": [
32
- "_vendor-dV-IJBHw.js"
42
+ "_vendor-Cm32tkMA.js"
33
43
  ]
34
44
  },
35
- "_vendor-codemirror-DjHzu2rA.js": {
36
- "file": "assets/vendor-codemirror-DjHzu2rA.js",
45
+ "_vendor-codemirror-c6BZvTq5.js": {
46
+ "file": "assets/vendor-codemirror-c6BZvTq5.js",
37
47
  "name": "vendor-codemirror",
38
48
  "imports": [
39
- "_vendor-dV-IJBHw.js",
40
- "_vendor-shiki-CZcHetjR.js"
41
- ]
42
- },
43
- "_vendor-dV-IJBHw.js": {
44
- "file": "assets/vendor-dV-IJBHw.js",
45
- "name": "vendor",
46
- "imports": [
47
- "_vendor-three-C5WAXd5r.js"
48
- ],
49
- "css": [
50
- "assets/vendor-WIZid84E.css"
49
+ "_vendor-Cm32tkMA.js",
50
+ "_vendor-shiki-BDqcZGjN.js"
51
51
  ]
52
52
  },
53
- "_vendor-recharts-CuDlk54J.js": {
54
- "file": "assets/vendor-recharts-CuDlk54J.js",
53
+ "_vendor-recharts-ButLmGII.js": {
54
+ "file": "assets/vendor-recharts-ButLmGII.js",
55
55
  "name": "vendor-recharts",
56
56
  "imports": [
57
- "_vendor-dV-IJBHw.js"
57
+ "_vendor-Cm32tkMA.js"
58
58
  ]
59
59
  },
60
- "_vendor-shiki-CZcHetjR.js": {
61
- "file": "assets/vendor-shiki-CZcHetjR.js",
60
+ "_vendor-shiki-BDqcZGjN.js": {
61
+ "file": "assets/vendor-shiki-BDqcZGjN.js",
62
62
  "name": "vendor-shiki",
63
63
  "imports": [
64
- "_vendor-dV-IJBHw.js"
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-Czk1v3pw.js",
72
+ "file": "assets/index-BBU9ybeN.js",
73
73
  "name": "index",
74
74
  "src": "index.tsx",
75
75
  "isEntry": true,
76
76
  "imports": [
77
- "_vendor-dV-IJBHw.js",
78
- "_vendor-arizeai-BD5gvaef.js",
79
- "_pages-Gj3J1sqc.js",
80
- "_components-CivAVDaz.js",
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-DjHzu2rA.js",
83
- "_vendor-shiki-CZcHetjR.js",
84
- "_vendor-recharts-CuDlk54J.js"
82
+ "_vendor-codemirror-c6BZvTq5.js",
83
+ "_vendor-shiki-BDqcZGjN.js",
84
+ "_vendor-recharts-ButLmGII.js"
85
85
  ]
86
86
  }
87
87
  }