arize-phoenix 10.4.0__tar.gz → 10.5.0__tar.gz
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 → arize_phoenix-10.5.0}/PKG-INFO +38 -38
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/README.md +36 -36
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/pyproject.toml +1 -1
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/__init__.py +3 -3
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/model_provider.py +1 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/playground_clients.py +33 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/models.py +36 -3
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/GenerativeProvider.py +5 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/main.py +1 -1
- arize_phoenix-10.5.0/src/phoenix/server/static/.vite/manifest.json +87 -0
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/components-Bt8CSP-i.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/components-i0MTMvxr.js +225 -206
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/index-C6Ok1qdw.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/index-BBU9ybeN.js +2 -2
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/pages-NfrMY1Uw.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/pages-Dmq64JIh.js +417 -400
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/vendor-BQGwy5QK.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/vendor-Cm32tkMA.js +125 -125
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/vendor-arizeai-YTwSVP6E.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/vendor-arizeai-CB-pngCZ.js +5 -5
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/vendor-codemirror-DYaCpVub.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/vendor-codemirror-c6BZvTq5.js +1 -1
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/vendor-recharts-CN57ozoF.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/vendor-recharts-ButLmGII.js +1 -1
- arize_phoenix-10.4.0/src/phoenix/server/static/assets/vendor-shiki-Bbl-733F.js → arize_phoenix-10.5.0/src/phoenix/server/static/assets/vendor-shiki-BDqcZGjN.js +1 -1
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/session/session.py +1 -1
- arize_phoenix-10.5.0/src/phoenix/version.py +1 -0
- arize_phoenix-10.4.0/src/phoenix/server/static/.vite/manifest.json +0 -87
- arize_phoenix-10.4.0/src/phoenix/version.py +0 -1
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/.gitignore +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/IP_NOTICE +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/LICENSE +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/auth.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/config.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/core/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/core/embedding_dimension.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/core/model.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/core/model_schema.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/core/model_schema_adapter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/datetime_utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/README.md +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/alembic.ini +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/bulk_inserter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/constants.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/engines.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/enums.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/facilitator.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/helpers.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/constants.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/dataset.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/document_annotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/evaluation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/helpers.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/span.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/span_annotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/trace_annotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/insertion/types.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrate.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/env.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/script.py.mako +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/migrations/versions/cf03bd6bae1d_init.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/models.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/pg_config.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/annotation_configs.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/db_models.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/identifier.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/db/types/trace_retention.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/exceptions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/evaluators/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/evaluators/base.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/evaluators/code_evaluators.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/evaluators/llm_evaluators.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/evaluators/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/functions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/tracing.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/types.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/experiments/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/errors.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/fixtures.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/inferences.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/schema.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/inferences/validation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/logging/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/logging/_config.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/logging/_filter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/logging/_formatter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/README.md +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/binning.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/metrics.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/mixins.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/timeseries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/metrics/wrappers.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/pointcloud/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/pointcloud/clustering.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/pointcloud/projectors.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/py.typed +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/README.md +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/auth.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/context.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/annotation_summaries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/cache/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/cache/two_tier_cache.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/dataset_example_spans.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/document_evaluation_summaries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/document_evaluations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/document_retrieval_metrics.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/experiment_error_rates.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/experiment_run_annotations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/experiment_run_counts.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/latency_ms_quantile.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/min_start_or_max_end_times.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/num_child_spans.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/num_spans_per_trace.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/project_by_name.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/prompt_version_sequence_number.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/record_counts.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/session_io.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/session_num_traces.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/session_num_traces_with_error.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/session_token_usages.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/span_annotations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/span_by_id.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/span_dataset_examples.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/span_descendants.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/span_projects.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/table_fields.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/token_counts.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/trace_by_trace_ids.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/trace_root_spans.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/user_roles.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/dataloaders/users.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/exceptions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/annotations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/dataset_helpers.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/experiment_run_filters.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/playground_registry.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/playground_spans.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/conversions/anthropic.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/conversions/openai.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ChatCompletionInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ChatCompletionMessageInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ClearProjectInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/CreateDatasetInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/CreateSpanAnnotationInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/CreateTraceAnnotationInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DatasetExampleInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DatasetSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DatasetVersionSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DeleteAnnotationsInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DeleteDatasetInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/GenerativeModelInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/InvocationParameters.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PatchAnnotationInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PatchDatasetInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ProjectFilter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ProjectSessionSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/ProjectSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PromptTemplateOptions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/PromptVersionInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/SpanAnnotationFilter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/SpanAnnotationSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/TraceAnnotationSort.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/UserRoleInput.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/interceptor.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/annotation_config_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/api_key_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/chat_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/dataset_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/experiment_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/export_events_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/project_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/prompt_label_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/prompt_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/prompt_version_tag_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/span_annotations_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/trace_annotations_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/trace_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/mutations/user_mutations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/openapi/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/openapi/main.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/openapi/schema.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/queries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/auth.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/embeddings.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/oauth2.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/annotation_configs.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/annotations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/datasets.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/evaluations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/experiment_evaluations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/experiment_runs.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/experiments.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/models.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/projects.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/prompts.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/spans.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/traces.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/users.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/routers/v1/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/schema.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/subscriptions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Annotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/AnnotationConfig.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/AnnotationSource.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/AnnotationSummary.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/AnnotatorKind.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ApiKey.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/AuthMethod.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ChatCompletionMessageRole.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Cluster.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/CreateDatasetPayload.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/CronExpression.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Dataset.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DatasetExample.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DatasetExampleRevision.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DatasetVersion.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Dimension.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Event.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExampleRevisionInterface.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Experiment.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExperimentComparison.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExperimentRun.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExperimentRunAnnotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Functionality.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/GenerativeModel.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Identifier.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Inferences.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/InferencesRole.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/LabelFraction.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/MimeType.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Model.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Project.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ProjectSession.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ProjectTraceRetentionPolicy.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Prompt.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PromptLabel.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PromptVersion.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PromptVersionTag.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/PromptVersionTemplate.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ResponseFormat.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Segments.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/SortDir.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Span.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/SpanAnnotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/SpanIOValue.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/SystemApiKey.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/TokenCountPromptDetails.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/TokenUsage.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ToolDefinition.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/Trace.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/TraceAnnotation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/User.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/UserApiKey.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/UserRole.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/node.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/pagination.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/app.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/authorization.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/bearer_auth.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/cost_tracking/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/cost_tracking/cost_lookup.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/cost_tracking/model_cost_manifest.json +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/dml_event.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/dml_event_handler.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/sender.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/templates/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/templates/password_reset.html +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/templates/welcome.html +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/email/types.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/grpc_server.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/jwt_store.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/middleware/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/middleware/gzip.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/oauth2.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/openapi/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/prometheus.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/rate_limiters.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/retention.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/assets/vendor-WIZid84E.css +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/assets/vendor-three-C5WAXd5r.js +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/favicon.ico +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/static/modernizr.js +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/telemetry.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/templates/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/templates/index.html +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/thread_server.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/types.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/services.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/session/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/session/client.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/session/data_extractor.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/session/evaluation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/settings.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/attributes.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/dsl/README.md +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/dsl/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/dsl/filter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/dsl/helpers.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/dsl/query.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/errors.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/exporter.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/fixtures.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/otel.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/projects.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/schemas.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/span_evaluations.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/span_json_decoder.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/span_json_encoder.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/trace_dataset.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/utils.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/v1/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/__init__.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/client.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/deprecation.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/error_handling.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/json.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/logging.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/project.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/re.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/span_store.py +0 -0
- {arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/utilities/template_formatters.py +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).
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</a>
|
|
5
5
|
<br/>
|
|
6
6
|
<br/>
|
|
7
|
-
<a href="https://
|
|
7
|
+
<a href="https://arize.com/docs/phoenix/">
|
|
8
8
|
<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"/>
|
|
9
9
|
</a>
|
|
10
10
|
<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">
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
|
|
39
39
|
Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
|
|
40
40
|
|
|
41
|
-
- [**_Tracing_**](https://
|
|
42
|
-
- [**_Evaluation_**](https://
|
|
43
|
-
- [**_Datasets_**](https://
|
|
44
|
-
- [**_Experiments_**](https://
|
|
45
|
-
- [**_Playground_**](https://
|
|
46
|
-
- [**_Prompt Management_**](https://
|
|
41
|
+
- [**_Tracing_**](https://arize.com/docs/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
|
|
42
|
+
- [**_Evaluation_**](https://arize.com/docs/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
|
|
43
|
+
- [**_Datasets_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
|
|
44
|
+
- [**_Experiments_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
|
|
45
|
+
- [**_Playground_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts)- Optimize prompts, compare models, adjust parameters, and replay traced LLM calls.
|
|
46
|
+
- [**_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.
|
|
47
47
|
|
|
48
|
-
Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙[LlamaIndex](https://
|
|
48
|
+
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.
|
|
49
49
|
|
|
50
50
|
Phoenix runs practically anywhere, including your local machine, a Jupyter notebook, a containerized deployment, or in the cloud.
|
|
51
51
|
|
|
@@ -80,49 +80,49 @@ Phoenix is built on top of OpenTelemetry and is vendor, language, and framework
|
|
|
80
80
|
**Python Integrations**
|
|
81
81
|
| Integration | Package | Version Badge |
|
|
82
82
|
|------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
|
|
83
|
-
| [OpenAI](https://
|
|
84
|
-
| [OpenAI Agents](https://
|
|
85
|
-
| [LlamaIndex](https://
|
|
86
|
-
| [DSPy](https://
|
|
87
|
-
| [AWS Bedrock](https://
|
|
88
|
-
| [LangChain](https://
|
|
89
|
-
| [MistralAI](https://
|
|
90
|
-
| [Google GenAI](https://
|
|
91
|
-
| [Guardrails](https://
|
|
92
|
-
| [VertexAI](https://
|
|
93
|
-
| [CrewAI](https://
|
|
94
|
-
| [Haystack](https://
|
|
95
|
-
| [LiteLLM](https://
|
|
96
|
-
| [Groq](https://
|
|
97
|
-
| [Instructor](https://
|
|
98
|
-
| [Anthropic](https://
|
|
83
|
+
| [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai) |
|
|
84
|
+
| [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) |
|
|
85
|
+
| [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
|
|
86
|
+
| [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
|
|
87
|
+
| [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
|
|
88
|
+
| [LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
|
|
89
|
+
| [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [](https://pypi.python.org/pypi/openinference-instrumentation-mistralai) |
|
|
90
|
+
| [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) |
|
|
91
|
+
| [Guardrails](https://arize.com/docs/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
|
|
92
|
+
| [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
|
|
93
|
+
| [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
|
|
94
|
+
| [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
|
|
95
|
+
| [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
|
|
96
|
+
| [Groq](https://arize.com/docs/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
|
|
97
|
+
| [Instructor](https://arize.com/docs/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
|
|
98
|
+
| [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
|
|
99
99
|
| [Smolagents](https://huggingface.co/docs/smolagents/en/tutorials/inspect_runs) | `openinference-instrumentation-smolagents` | [](https://pypi.python.org/pypi/openinference-instrumentation-smolagents) |
|
|
100
|
-
| [Agno](https://
|
|
101
|
-
| [MCP](https://
|
|
102
|
-
| [Pydantic AI](https://
|
|
103
|
-
| [Autogen AgentChat](https://
|
|
104
|
-
| [Portkey](https://
|
|
100
|
+
| [Agno](https://arize.com/docs/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [](https://pypi.python.org/pypi/openinference-instrumentation-agno) |
|
|
101
|
+
| [MCP](https://arize.com/docs/phoenix/tracing/integrations-tracing/model-context-protocol-mcp) | `openinference-instrumentation-mcp` | [](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
|
|
102
|
+
| [Pydantic AI](https://arize.com/docs/phoenix/integrations/pydantic) | `openinference-instrumentation-pydantic-ai` | [](https://pypi.python.org/pypi/openinference-instrumentation-pydantic-ai) |
|
|
103
|
+
| [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) |
|
|
104
|
+
| [Portkey](https://arize.com/docs/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [](https://pypi.python.org/pypi/openinference-instrumentation-portkey) |
|
|
105
105
|
|
|
106
106
|
### JavaScript Integrations
|
|
107
107
|
|
|
108
108
|
| Integration | Package | Version Badge |
|
|
109
109
|
| ------------------------------------------------------------------------------------------ | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
110
|
-
| [OpenAI](https://
|
|
111
|
-
| [LangChain.js](https://
|
|
112
|
-
| [Vercel AI SDK](https://
|
|
113
|
-
| [BeeAI](https://
|
|
114
|
-
| [Mastra](https://
|
|
110
|
+
| [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) |
|
|
111
|
+
| [LangChain.js](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `@arizeai/openinference-instrumentation-langchain` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-langchain) |
|
|
112
|
+
| [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) |
|
|
113
|
+
| [BeeAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/beeai) | `@arizeai/openinference-instrumentation-beeai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
|
|
114
|
+
| [Mastra](https://arize.com/docs/phoenix/integrations/mastra) | `@arizeai/openinference-mastra` | [](https://www.npmjs.com/package/@arizeai/openinference-mastra) |
|
|
115
115
|
|
|
116
116
|
### Platforms
|
|
117
117
|
|
|
118
|
-
Phoenix has native integrations with [LangFlow](https://
|
|
118
|
+
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).
|
|
119
119
|
|
|
120
120
|
## Community
|
|
121
121
|
|
|
122
122
|
Join our community to connect with thousands of AI builders.
|
|
123
123
|
|
|
124
124
|
- 🌍 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).
|
|
125
|
-
- 📚 Read our [documentation](https://
|
|
125
|
+
- 📚 Read our [documentation](https://arize.com/docs/phoenix).
|
|
126
126
|
- 💡 Ask questions and provide feedback in the _#phoenix-support_ channel.
|
|
127
127
|
- 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
|
|
128
128
|
- 🐞 Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
|
|
@@ -147,7 +147,7 @@ test = [
|
|
|
147
147
|
]
|
|
148
148
|
|
|
149
149
|
[project.urls]
|
|
150
|
-
Documentation = "https://
|
|
150
|
+
Documentation = "https://arize.com/docs/phoenix/"
|
|
151
151
|
Issues = "https://github.com/Arize-ai/phoenix/issues"
|
|
152
152
|
Source = "https://github.com/Arize-ai/phoenix"
|
|
153
153
|
|
|
@@ -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"
|
{arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/playground_clients.py
RENAMED
|
@@ -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=[
|
{arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/helpers/prompts/models.py
RENAMED
|
@@ -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)
|
{arize_phoenix-10.4.0 → arize_phoenix-10.5.0}/src/phoenix/server/api/types/GenerativeProvider.py
RENAMED
|
@@ -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
|
|
@@ -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 }}
|