custom-phoenix 13.15.0.dev5__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.
- custom_phoenix-13.15.0.dev5.dist-info/METADATA +288 -0
- custom_phoenix-13.15.0.dev5.dist-info/RECORD +510 -0
- custom_phoenix-13.15.0.dev5.dist-info/WHEEL +4 -0
- custom_phoenix-13.15.0.dev5.dist-info/entry_points.txt +3 -0
- custom_phoenix-13.15.0.dev5.dist-info/licenses/IP_NOTICE +5 -0
- custom_phoenix-13.15.0.dev5.dist-info/licenses/LICENSE +44 -0
- phoenix/__generated__/__init__.py +0 -0
- phoenix/__generated__/classification_evaluator_configs/__init__.py +42 -0
- phoenix/__generated__/classification_evaluator_configs/_conciseness_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_correctness_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_document_relevance_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_faithfulness_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_hallucination_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_models.py +20 -0
- phoenix/__generated__/classification_evaluator_configs/_refusal_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_tool_invocation_classification_evaluator_config.py +22 -0
- phoenix/__generated__/classification_evaluator_configs/_tool_response_handling_classification_evaluator_config.py +19 -0
- phoenix/__generated__/classification_evaluator_configs/_tool_selection_classification_evaluator_config.py +22 -0
- phoenix/__init__.py +129 -0
- phoenix/auth.py +375 -0
- phoenix/config.py +3393 -0
- phoenix/core/__init__.py +0 -0
- phoenix/datetime_utils.py +225 -0
- phoenix/db/README.md +1049 -0
- phoenix/db/__init__.py +4 -0
- phoenix/db/alembic.ini +85 -0
- phoenix/db/bulk_inserter.py +336 -0
- phoenix/db/constants.py +1 -0
- phoenix/db/engines.py +313 -0
- phoenix/db/enums.py +10 -0
- phoenix/db/facilitator.py +560 -0
- phoenix/db/helpers.py +1119 -0
- phoenix/db/iam_auth.py +64 -0
- phoenix/db/insertion/__init__.py +0 -0
- phoenix/db/insertion/constants.py +2 -0
- phoenix/db/insertion/dataset.py +509 -0
- phoenix/db/insertion/document_annotation.py +192 -0
- phoenix/db/insertion/evaluation.py +202 -0
- phoenix/db/insertion/helpers.py +114 -0
- phoenix/db/insertion/session_annotation.py +176 -0
- phoenix/db/insertion/span.py +197 -0
- phoenix/db/insertion/span_annotation.py +174 -0
- phoenix/db/insertion/trace_annotation.py +173 -0
- phoenix/db/insertion/types.py +293 -0
- phoenix/db/migrate.py +92 -0
- phoenix/db/migrations/__init__.py +0 -0
- phoenix/db/migrations/data_migration_scripts/__init__.py +0 -0
- phoenix/db/migrations/data_migration_scripts/populate_project_sessions.py +199 -0
- phoenix/db/migrations/env.py +114 -0
- phoenix/db/migrations/script.py.mako +26 -0
- phoenix/db/migrations/versions/01a8342c9cdf_add_user_id_on_datasets.py +40 -0
- phoenix/db/migrations/versions/02463bd83119_add_evaluators.py +279 -0
- phoenix/db/migrations/versions/0df286449799_add_session_annotations_table.py +105 -0
- phoenix/db/migrations/versions/10460e46d750_datasets.py +317 -0
- phoenix/db/migrations/versions/272b66ff50f8_drop_single_indices.py +119 -0
- phoenix/db/migrations/versions/2f9d1a65945f_annotation_config_migration.py +322 -0
- phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +126 -0
- phoenix/db/migrations/versions/3f53d82a1b7e_add_custom_provider_to_prompt_versions.py +57 -0
- phoenix/db/migrations/versions/4ded9e43755f_create_project_sessions_table.py +66 -0
- phoenix/db/migrations/versions/58228d933c91_dataset_labels.py +67 -0
- phoenix/db/migrations/versions/699f655af132_experiment_tags.py +57 -0
- phoenix/db/migrations/versions/6a88424799fe_update_users_with_auth_method.py +179 -0
- phoenix/db/migrations/versions/735d3d93c33e_add_composite_indices.py +41 -0
- phoenix/db/migrations/versions/8a3764fe7f1a_change_jsonb_to_json_for_prompts.py +76 -0
- phoenix/db/migrations/versions/a1b2c3d4e5f6_ldap_schema_migration.py +286 -0
- phoenix/db/migrations/versions/a20694b15f82_cost.py +196 -0
- phoenix/db/migrations/versions/ab513d89518b_add_user_id_on_dataset_versions.py +40 -0
- phoenix/db/migrations/versions/bb8139330879_create_project_trace_retention_policies_table.py +77 -0
- phoenix/db/migrations/versions/bc8fea3c2bc8_add_prompt_tables.py +197 -0
- phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py +157 -0
- phoenix/db/migrations/versions/cf03bd6bae1d_init.py +280 -0
- phoenix/db/migrations/versions/d0690a79ea51_users_on_experiments.py +40 -0
- phoenix/db/migrations/versions/deb2c81c0bb2_dataset_splits.py +139 -0
- phoenix/db/migrations/versions/e76cbd66ffc3_add_experiments_dataset_examples.py +87 -0
- phoenix/db/migrations/versions/f1a6b2f0c9d5_add_span_session_id_index.py +137 -0
- phoenix/db/models.py +2530 -0
- phoenix/db/pg_config.py +207 -0
- phoenix/db/types/__init__.py +0 -0
- phoenix/db/types/annotation_configs.py +116 -0
- phoenix/db/types/db_helper_types.py +41 -0
- phoenix/db/types/evaluators.py +253 -0
- phoenix/db/types/identifier.py +10 -0
- phoenix/db/types/model_provider.py +714 -0
- phoenix/db/types/token_price_customization.py +29 -0
- phoenix/db/types/trace_retention.py +275 -0
- phoenix/exceptions.py +10 -0
- phoenix/experiments/__init__.py +6 -0
- phoenix/experiments/evaluators/__init__.py +31 -0
- phoenix/experiments/evaluators/base.py +158 -0
- phoenix/experiments/evaluators/code_evaluators.py +184 -0
- phoenix/experiments/evaluators/llm_evaluators.py +473 -0
- phoenix/experiments/evaluators/utils.py +236 -0
- phoenix/experiments/functions.py +1012 -0
- phoenix/experiments/tracing.py +86 -0
- phoenix/experiments/types.py +728 -0
- phoenix/experiments/utils.py +25 -0
- phoenix/logging/__init__.py +3 -0
- phoenix/logging/_config.py +90 -0
- phoenix/logging/_filter.py +6 -0
- phoenix/logging/_formatter.py +69 -0
- phoenix/metrics/__init__.py +5 -0
- phoenix/metrics/retrieval_metrics.py +106 -0
- phoenix/py.typed +1 -0
- phoenix/server/__init__.py +0 -0
- phoenix/server/api/README.md +28 -0
- phoenix/server/api/__init__.py +0 -0
- phoenix/server/api/auth.py +84 -0
- phoenix/server/api/auth_messages.py +46 -0
- phoenix/server/api/builtin_evaluator_sync.py +95 -0
- phoenix/server/api/context.py +295 -0
- phoenix/server/api/dataloaders/__init__.py +191 -0
- phoenix/server/api/dataloaders/annotation_configs_by_project.py +31 -0
- phoenix/server/api/dataloaders/annotation_summaries.py +370 -0
- phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py +50 -0
- phoenix/server/api/dataloaders/average_experiment_run_latency.py +47 -0
- phoenix/server/api/dataloaders/cache/__init__.py +3 -0
- phoenix/server/api/dataloaders/cache/two_tier_cache.py +67 -0
- phoenix/server/api/dataloaders/dataset_dataset_splits.py +52 -0
- phoenix/server/api/dataloaders/dataset_evaluators.py +43 -0
- phoenix/server/api/dataloaders/dataset_evaluators_by_evaluator.py +36 -0
- phoenix/server/api/dataloaders/dataset_evaluators_by_id.py +21 -0
- phoenix/server/api/dataloaders/dataset_example_revisions.py +106 -0
- phoenix/server/api/dataloaders/dataset_example_spans.py +38 -0
- phoenix/server/api/dataloaders/dataset_example_splits.py +40 -0
- phoenix/server/api/dataloaders/dataset_examples_and_versions_by_experiment_run.py +47 -0
- phoenix/server/api/dataloaders/dataset_labels.py +36 -0
- phoenix/server/api/dataloaders/datasets_by_evaluator.py +40 -0
- phoenix/server/api/dataloaders/document_evaluation_summaries.py +144 -0
- phoenix/server/api/dataloaders/document_evaluations.py +28 -0
- phoenix/server/api/dataloaders/document_retrieval_metrics.py +89 -0
- phoenix/server/api/dataloaders/experiment_annotation_summaries.py +133 -0
- phoenix/server/api/dataloaders/experiment_dataset_splits.py +43 -0
- phoenix/server/api/dataloaders/experiment_error_rates.py +51 -0
- phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py +77 -0
- phoenix/server/api/dataloaders/experiment_repeated_run_groups.py +57 -0
- phoenix/server/api/dataloaders/experiment_run_annotations.py +36 -0
- phoenix/server/api/dataloaders/experiment_run_counts.py +49 -0
- phoenix/server/api/dataloaders/experiment_runs_by_experiment_and_example.py +44 -0
- phoenix/server/api/dataloaders/experiment_sequence_number.py +44 -0
- phoenix/server/api/dataloaders/last_used_times_by_generative_model_id.py +35 -0
- phoenix/server/api/dataloaders/latency_ms_quantile.py +220 -0
- phoenix/server/api/dataloaders/latest_prompt_version_ids.py +45 -0
- phoenix/server/api/dataloaders/min_start_or_max_end_times.py +85 -0
- phoenix/server/api/dataloaders/num_child_spans.py +35 -0
- phoenix/server/api/dataloaders/num_spans_per_trace.py +28 -0
- phoenix/server/api/dataloaders/project_by_name.py +31 -0
- phoenix/server/api/dataloaders/project_ids_by_trace_retention_policy_id.py +42 -0
- phoenix/server/api/dataloaders/prompt_version_sequence_number.py +35 -0
- phoenix/server/api/dataloaders/record_counts.py +143 -0
- phoenix/server/api/dataloaders/secrets.py +32 -0
- phoenix/server/api/dataloaders/session_annotations_by_session.py +29 -0
- phoenix/server/api/dataloaders/session_io.py +79 -0
- phoenix/server/api/dataloaders/session_num_traces.py +30 -0
- phoenix/server/api/dataloaders/session_num_traces_with_error.py +32 -0
- phoenix/server/api/dataloaders/session_token_usages.py +41 -0
- phoenix/server/api/dataloaders/session_trace_latency_ms_quantile.py +55 -0
- phoenix/server/api/dataloaders/span_annotations.py +26 -0
- phoenix/server/api/dataloaders/span_by_id.py +29 -0
- phoenix/server/api/dataloaders/span_cost_by_span.py +24 -0
- phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_generative_model.py +56 -0
- phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_project_session.py +57 -0
- phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_span.py +43 -0
- phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_trace.py +56 -0
- phoenix/server/api/dataloaders/span_cost_details_by_span_cost.py +27 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_experiment.py +57 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_experiment_repeated_run_group.py +64 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_experiment_run.py +58 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py +55 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_project.py +152 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_project_session.py +56 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_trace.py +55 -0
- phoenix/server/api/dataloaders/span_costs.py +29 -0
- phoenix/server/api/dataloaders/span_dataset_examples.py +31 -0
- phoenix/server/api/dataloaders/span_descendants.py +103 -0
- phoenix/server/api/dataloaders/span_projects.py +33 -0
- phoenix/server/api/dataloaders/table_fields.py +74 -0
- phoenix/server/api/dataloaders/token_counts.py +124 -0
- phoenix/server/api/dataloaders/token_prices_by_model.py +30 -0
- phoenix/server/api/dataloaders/trace_annotations_by_trace.py +27 -0
- phoenix/server/api/dataloaders/trace_by_trace_ids.py +25 -0
- phoenix/server/api/dataloaders/trace_retention_policy_id_by_project_id.py +34 -0
- phoenix/server/api/dataloaders/trace_root_spans.py +31 -0
- phoenix/server/api/dataloaders/types.py +29 -0
- phoenix/server/api/dataloaders/user_roles.py +30 -0
- phoenix/server/api/dataloaders/users.py +33 -0
- phoenix/server/api/evaluators.py +2367 -0
- phoenix/server/api/exceptions.py +58 -0
- phoenix/server/api/helpers/__init__.py +12 -0
- phoenix/server/api/helpers/annotations.py +9 -0
- phoenix/server/api/helpers/classification_evaluator_configs.py +47 -0
- phoenix/server/api/helpers/dataset_helpers.py +385 -0
- phoenix/server/api/helpers/evaluators.py +378 -0
- phoenix/server/api/helpers/experiment_run_filters.py +763 -0
- phoenix/server/api/helpers/message_helpers.py +236 -0
- phoenix/server/api/helpers/playground_clients.py +3544 -0
- phoenix/server/api/helpers/playground_experiment_runs.py +34 -0
- phoenix/server/api/helpers/playground_registry.py +72 -0
- phoenix/server/api/helpers/playground_users.py +26 -0
- phoenix/server/api/helpers/prompts/__init__.py +0 -0
- phoenix/server/api/helpers/prompts/conversions/__init__.py +0 -0
- phoenix/server/api/helpers/prompts/conversions/anthropic.py +95 -0
- phoenix/server/api/helpers/prompts/conversions/aws.py +83 -0
- phoenix/server/api/helpers/prompts/conversions/google.py +103 -0
- phoenix/server/api/helpers/prompts/conversions/openai.py +82 -0
- phoenix/server/api/helpers/prompts/models.py +879 -0
- phoenix/server/api/helpers/prompts/template_helpers.py +54 -0
- phoenix/server/api/helpers/substitutions/server.yaml +30 -0
- phoenix/server/api/helpers/substitutions.py +116 -0
- phoenix/server/api/input_types/AddExamplesToDatasetInput.py +16 -0
- phoenix/server/api/input_types/AddSpansToDatasetInput.py +14 -0
- phoenix/server/api/input_types/AnnotationConfigInput.py +70 -0
- phoenix/server/api/input_types/AnnotationFilter.py +75 -0
- phoenix/server/api/input_types/ChatCompletionInput.py +61 -0
- phoenix/server/api/input_types/ChatCompletionMessageInput.py +24 -0
- phoenix/server/api/input_types/ClearProjectInput.py +15 -0
- phoenix/server/api/input_types/Coordinates.py +14 -0
- phoenix/server/api/input_types/CreateDatasetInput.py +12 -0
- phoenix/server/api/input_types/CreateDocumentAnnotationInput.py +22 -0
- phoenix/server/api/input_types/CreateProjectInput.py +21 -0
- phoenix/server/api/input_types/CreateProjectSessionAnnotationInput.py +37 -0
- phoenix/server/api/input_types/CreateSpanAnnotationInput.py +27 -0
- phoenix/server/api/input_types/CreateTraceAnnotationInput.py +21 -0
- phoenix/server/api/input_types/DatasetEvaluatorFilter.py +14 -0
- phoenix/server/api/input_types/DatasetEvaluatorSort.py +19 -0
- phoenix/server/api/input_types/DatasetExampleInput.py +14 -0
- phoenix/server/api/input_types/DatasetFilter.py +17 -0
- phoenix/server/api/input_types/DatasetSort.py +17 -0
- phoenix/server/api/input_types/DatasetVersionSort.py +16 -0
- phoenix/server/api/input_types/DeleteAnnotationsInput.py +7 -0
- phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +13 -0
- phoenix/server/api/input_types/DeleteDatasetInput.py +7 -0
- phoenix/server/api/input_types/DeleteExperimentsInput.py +7 -0
- phoenix/server/api/input_types/EvaluatorFilter.py +14 -0
- phoenix/server/api/input_types/EvaluatorPreviewInput.py +53 -0
- phoenix/server/api/input_types/EvaluatorSort.py +19 -0
- phoenix/server/api/input_types/ExperimentRunSort.py +237 -0
- phoenix/server/api/input_types/GenerativeCredentialInput.py +11 -0
- phoenix/server/api/input_types/GenerativeModelCustomerProviderConfigInput.py +343 -0
- phoenix/server/api/input_types/GenerativeModelInput.py +51 -0
- phoenix/server/api/input_types/InvocationParameters.py +164 -0
- phoenix/server/api/input_types/PatchAnnotationInput.py +22 -0
- phoenix/server/api/input_types/PatchDatasetExamplesInput.py +35 -0
- phoenix/server/api/input_types/PatchDatasetInput.py +14 -0
- phoenix/server/api/input_types/PatchProjectInput.py +19 -0
- phoenix/server/api/input_types/PlaygroundEvaluatorInput.py +51 -0
- phoenix/server/api/input_types/ProjectFilter.py +14 -0
- phoenix/server/api/input_types/ProjectSessionSort.py +189 -0
- phoenix/server/api/input_types/ProjectSort.py +17 -0
- phoenix/server/api/input_types/PromptFilter.py +14 -0
- phoenix/server/api/input_types/PromptTemplateOptions.py +10 -0
- phoenix/server/api/input_types/PromptVersionInput.py +200 -0
- phoenix/server/api/input_types/SpanAnnotationSort.py +17 -0
- phoenix/server/api/input_types/SpanSort.py +211 -0
- phoenix/server/api/input_types/TimeBinConfig.py +23 -0
- phoenix/server/api/input_types/TimeRange.py +25 -0
- phoenix/server/api/input_types/TraceAnnotationSort.py +17 -0
- phoenix/server/api/input_types/UpdateAnnotationInput.py +34 -0
- phoenix/server/api/input_types/UserRoleInput.py +10 -0
- phoenix/server/api/input_types/__init__.py +0 -0
- phoenix/server/api/input_types/helpers.py +11 -0
- phoenix/server/api/interceptor.py +41 -0
- phoenix/server/api/mutations/__init__.py +62 -0
- phoenix/server/api/mutations/annotation_config_mutations.py +368 -0
- phoenix/server/api/mutations/api_key_mutations.py +163 -0
- phoenix/server/api/mutations/chat_mutations.py +856 -0
- phoenix/server/api/mutations/dataset_label_mutations.py +243 -0
- phoenix/server/api/mutations/dataset_mutations.py +640 -0
- phoenix/server/api/mutations/dataset_split_mutations.py +351 -0
- phoenix/server/api/mutations/document_annotations_mutations.py +324 -0
- phoenix/server/api/mutations/evaluator_mutations.py +916 -0
- phoenix/server/api/mutations/experiment_mutations.py +75 -0
- phoenix/server/api/mutations/generative_model_custom_provider_mutations.py +288 -0
- phoenix/server/api/mutations/model_mutations.py +210 -0
- phoenix/server/api/mutations/project_mutations.py +125 -0
- phoenix/server/api/mutations/project_session_annotations_mutations.py +158 -0
- phoenix/server/api/mutations/project_trace_retention_policy_mutations.py +249 -0
- phoenix/server/api/mutations/prompt_label_mutations.py +201 -0
- phoenix/server/api/mutations/prompt_mutations.py +273 -0
- phoenix/server/api/mutations/prompt_version_tag_mutations.py +158 -0
- phoenix/server/api/mutations/secret_mutations.py +208 -0
- phoenix/server/api/mutations/span_annotations_mutations.py +335 -0
- phoenix/server/api/mutations/trace_annotations_mutations.py +260 -0
- phoenix/server/api/mutations/trace_mutations.py +118 -0
- phoenix/server/api/mutations/user_mutations.py +399 -0
- phoenix/server/api/openapi/__init__.py +0 -0
- phoenix/server/api/openapi/schema.py +17 -0
- phoenix/server/api/queries.py +1837 -0
- phoenix/server/api/routers/__init__.py +11 -0
- phoenix/server/api/routers/auth.py +410 -0
- phoenix/server/api/routers/chat.py +146 -0
- phoenix/server/api/routers/data_stream_protocol.py +242 -0
- phoenix/server/api/routers/ldap.py +224 -0
- phoenix/server/api/routers/oauth2.py +941 -0
- phoenix/server/api/routers/utils.py +21 -0
- phoenix/server/api/routers/v1/__init__.py +92 -0
- phoenix/server/api/routers/v1/annotation_configs.py +441 -0
- phoenix/server/api/routers/v1/annotations.py +625 -0
- phoenix/server/api/routers/v1/datasets.py +1555 -0
- phoenix/server/api/routers/v1/documents.py +142 -0
- phoenix/server/api/routers/v1/evaluations.py +363 -0
- phoenix/server/api/routers/v1/experiment_evaluations.py +126 -0
- phoenix/server/api/routers/v1/experiment_runs.py +459 -0
- phoenix/server/api/routers/v1/experiments.py +963 -0
- phoenix/server/api/routers/v1/models.py +52 -0
- phoenix/server/api/routers/v1/projects.py +324 -0
- phoenix/server/api/routers/v1/prompts.py +756 -0
- phoenix/server/api/routers/v1/sessions.py +429 -0
- phoenix/server/api/routers/v1/spans.py +1412 -0
- phoenix/server/api/routers/v1/traces.py +482 -0
- phoenix/server/api/routers/v1/users.py +384 -0
- phoenix/server/api/routers/v1/utils.py +151 -0
- phoenix/server/api/routers/v1/validators.py +18 -0
- phoenix/server/api/schema.py +65 -0
- phoenix/server/api/subscriptions.py +851 -0
- phoenix/server/api/types/Annotation.py +98 -0
- phoenix/server/api/types/AnnotationConfig.py +124 -0
- phoenix/server/api/types/AnnotationSource.py +9 -0
- phoenix/server/api/types/AnnotationSummary.py +69 -0
- phoenix/server/api/types/AnnotatorKind.py +17 -0
- phoenix/server/api/types/ApiKey.py +23 -0
- phoenix/server/api/types/AuthMethod.py +10 -0
- phoenix/server/api/types/ChatCompletionMessageRole.py +11 -0
- phoenix/server/api/types/ChatCompletionSubscriptionPayload.py +57 -0
- phoenix/server/api/types/ClassificationEvaluatorConfig.py +16 -0
- phoenix/server/api/types/CostBreakdown.py +12 -0
- phoenix/server/api/types/CreateDatasetPayload.py +8 -0
- phoenix/server/api/types/CronExpression.py +15 -0
- phoenix/server/api/types/Dataset.py +551 -0
- phoenix/server/api/types/DatasetExample.py +155 -0
- phoenix/server/api/types/DatasetExampleRevision.py +34 -0
- phoenix/server/api/types/DatasetExperimentAnnotationSummary.py +10 -0
- phoenix/server/api/types/DatasetLabel.py +57 -0
- phoenix/server/api/types/DatasetSplit.py +98 -0
- phoenix/server/api/types/DatasetValues.py +28 -0
- phoenix/server/api/types/DatasetVersion.py +59 -0
- phoenix/server/api/types/DocumentAnnotation.py +212 -0
- phoenix/server/api/types/DocumentEvaluationSummary.py +95 -0
- phoenix/server/api/types/DocumentRetrievalMetrics.py +47 -0
- phoenix/server/api/types/EmbeddingMetadata.py +14 -0
- phoenix/server/api/types/EvaluationSummary.py +55 -0
- phoenix/server/api/types/Evaluator.py +786 -0
- phoenix/server/api/types/EventMetadata.py +16 -0
- phoenix/server/api/types/ExampleRevisionInterface.py +14 -0
- phoenix/server/api/types/Experiment.py +373 -0
- phoenix/server/api/types/ExperimentAnnotationSummary.py +13 -0
- phoenix/server/api/types/ExperimentComparison.py +12 -0
- phoenix/server/api/types/ExperimentRepeatedRunGroup.py +155 -0
- phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py +9 -0
- phoenix/server/api/types/ExperimentRun.py +223 -0
- phoenix/server/api/types/ExperimentRunAnnotation.py +206 -0
- phoenix/server/api/types/ExportedFile.py +8 -0
- phoenix/server/api/types/GenerativeModel.py +251 -0
- phoenix/server/api/types/GenerativeModelCustomProvider.py +501 -0
- phoenix/server/api/types/GenerativeProvider.py +308 -0
- phoenix/server/api/types/Identifier.py +15 -0
- phoenix/server/api/types/LabelFraction.py +7 -0
- phoenix/server/api/types/MimeType.py +16 -0
- phoenix/server/api/types/ModelInterface.py +16 -0
- phoenix/server/api/types/NumericRange.py +10 -0
- phoenix/server/api/types/PlaygroundModel.py +20 -0
- phoenix/server/api/types/Project.py +1814 -0
- phoenix/server/api/types/ProjectSession.py +299 -0
- phoenix/server/api/types/ProjectSessionAnnotation.py +187 -0
- phoenix/server/api/types/ProjectTraceRetentionPolicy.py +110 -0
- phoenix/server/api/types/Prompt.py +214 -0
- phoenix/server/api/types/PromptLabel.py +58 -0
- phoenix/server/api/types/PromptResponse.py +24 -0
- phoenix/server/api/types/PromptVersion.py +172 -0
- phoenix/server/api/types/PromptVersionTag.py +80 -0
- phoenix/server/api/types/PromptVersionTemplate.py +148 -0
- phoenix/server/api/types/ResponseFormat.py +9 -0
- phoenix/server/api/types/Retrieval.py +13 -0
- phoenix/server/api/types/Secret.py +83 -0
- phoenix/server/api/types/SecretString.py +10 -0
- phoenix/server/api/types/Segments.py +101 -0
- phoenix/server/api/types/ServerStatus.py +6 -0
- phoenix/server/api/types/SortDir.py +13 -0
- phoenix/server/api/types/Span.py +906 -0
- phoenix/server/api/types/SpanAnnotation.py +214 -0
- phoenix/server/api/types/SpanCostDetailSummaryEntry.py +10 -0
- phoenix/server/api/types/SpanCostSummary.py +10 -0
- phoenix/server/api/types/SpanIOValue.py +48 -0
- phoenix/server/api/types/SystemApiKey.py +73 -0
- phoenix/server/api/types/TimeSeries.py +29 -0
- phoenix/server/api/types/TokenCountPromptDetails.py +10 -0
- phoenix/server/api/types/TokenPrice.py +16 -0
- phoenix/server/api/types/TokenUsage.py +11 -0
- phoenix/server/api/types/ToolDefinition.py +9 -0
- phoenix/server/api/types/Trace.py +403 -0
- phoenix/server/api/types/TraceAnnotation.py +167 -0
- phoenix/server/api/types/User.py +140 -0
- phoenix/server/api/types/UserApiKey.py +92 -0
- phoenix/server/api/types/UserRole.py +15 -0
- phoenix/server/api/types/ValidationResult.py +9 -0
- phoenix/server/api/types/__init__.py +0 -0
- phoenix/server/api/types/node.py +35 -0
- phoenix/server/api/types/pagination.py +282 -0
- phoenix/server/api/utils.py +34 -0
- phoenix/server/app.py +1613 -0
- phoenix/server/authorization.py +88 -0
- phoenix/server/bearer_auth.py +196 -0
- phoenix/server/cost_tracking/__init__.py +0 -0
- phoenix/server/cost_tracking/cost_details_calculator.py +196 -0
- phoenix/server/cost_tracking/cost_model_lookup.py +179 -0
- phoenix/server/cost_tracking/helpers.py +68 -0
- phoenix/server/cost_tracking/model_cost_manifest.json +5923 -0
- phoenix/server/cost_tracking/regex_specificity.py +397 -0
- phoenix/server/cost_tracking/token_cost_calculator.py +57 -0
- phoenix/server/daemons/__init__.py +0 -0
- phoenix/server/daemons/db_disk_usage_monitor.py +216 -0
- phoenix/server/daemons/generative_model_store.py +103 -0
- phoenix/server/daemons/span_cost_calculator.py +99 -0
- phoenix/server/dml_event.py +153 -0
- phoenix/server/dml_event_handler.py +261 -0
- phoenix/server/email/__init__.py +0 -0
- phoenix/server/email/sender.py +178 -0
- phoenix/server/email/templates/__init__.py +0 -0
- phoenix/server/email/templates/db_disk_usage_notification.html +19 -0
- phoenix/server/email/templates/password_reset.html +19 -0
- phoenix/server/email/templates/welcome.html +12 -0
- phoenix/server/email/types.py +37 -0
- phoenix/server/encryption.py +133 -0
- phoenix/server/experiments/__init__.py +0 -0
- phoenix/server/experiments/utils.py +14 -0
- phoenix/server/grpc_server.py +122 -0
- phoenix/server/jwt_store.py +508 -0
- phoenix/server/ldap.py +1318 -0
- phoenix/server/main.py +464 -0
- phoenix/server/middleware/__init__.py +0 -0
- phoenix/server/middleware/gzip.py +40 -0
- phoenix/server/oauth2.py +438 -0
- phoenix/server/openapi/__init__.py +0 -0
- phoenix/server/prometheus.py +879 -0
- phoenix/server/rate_limiters.py +292 -0
- phoenix/server/retention.py +89 -0
- phoenix/server/session_filters.py +49 -0
- phoenix/server/static/.vite/manifest.json +171 -0
- phoenix/server/static/apple-touch-icon-114x114.png +0 -0
- phoenix/server/static/apple-touch-icon-120x120.png +0 -0
- phoenix/server/static/apple-touch-icon-144x144.png +0 -0
- phoenix/server/static/apple-touch-icon-152x152.png +0 -0
- phoenix/server/static/apple-touch-icon-180x180.png +0 -0
- phoenix/server/static/apple-touch-icon-72x72.png +0 -0
- phoenix/server/static/apple-touch-icon-76x76.png +0 -0
- phoenix/server/static/apple-touch-icon.png +0 -0
- phoenix/server/static/assets/DiskMonitorPage-wz-H8SOd.js +1 -0
- phoenix/server/static/assets/GpuMonitorPage-Ddoirds6.js +1 -0
- phoenix/server/static/assets/NetworkMonitorPage-DeFJYA2C.js +1 -0
- phoenix/server/static/assets/SystemMonitorPage-BmlVT5OD.js +1 -0
- phoenix/server/static/assets/chart-CKGKL2Ws.js +3450 -0
- phoenix/server/static/assets/highlighted-body-TPN3WLV5-Byu4RkPr.js +1 -0
- phoenix/server/static/assets/index-ClMdv6sO.js +16778 -0
- phoenix/server/static/assets/mermaid-O7DHMXV3-Bs-71plO.js +1 -0
- phoenix/server/static/assets/rolldown-runtime-DVSNanqQ.js +1 -0
- phoenix/server/static/assets/vendor-CAy9C7li.css +1 -0
- phoenix/server/static/assets/vendor-Ds9RWav3.js +71 -0
- phoenix/server/static/assets/vendor-ai-sdk-react-DrWlVqC6.js +50 -0
- phoenix/server/static/assets/vendor-codemirror-BgAm6hhc.js +244 -0
- phoenix/server/static/assets/vendor-recharts-DtnAUHG7.js +36 -0
- phoenix/server/static/assets/vendor-shiki-BWhMZ0Km.js +1 -0
- phoenix/server/static/assets/vendor-streamdown-Y3QuvXkM.js +122 -0
- phoenix/server/static/favicon.ico +0 -0
- phoenix/server/static/modernizr.js +5 -0
- phoenix/server/telemetry.py +68 -0
- phoenix/server/templates/__init__.py +0 -0
- phoenix/server/templates/index.html +133 -0
- phoenix/server/thread_server.py +67 -0
- phoenix/server/types.py +285 -0
- phoenix/server/utils.py +74 -0
- phoenix/services.py +129 -0
- phoenix/session/__init__.py +0 -0
- phoenix/session/client.py +935 -0
- phoenix/session/data_extractor.py +90 -0
- phoenix/session/evaluation.py +158 -0
- phoenix/session/session.py +695 -0
- phoenix/settings.py +29 -0
- phoenix/trace/__init__.py +15 -0
- phoenix/trace/attributes.py +410 -0
- phoenix/trace/dsl/README.md +116 -0
- phoenix/trace/dsl/__init__.py +7 -0
- phoenix/trace/dsl/filter.py +874 -0
- phoenix/trace/dsl/helpers.py +216 -0
- phoenix/trace/dsl/query.py +881 -0
- phoenix/trace/errors.py +9 -0
- phoenix/trace/evaluation_conventions.py +26 -0
- phoenix/trace/exporter.py +137 -0
- phoenix/trace/fixtures.py +557 -0
- phoenix/trace/otel.py +308 -0
- phoenix/trace/projects.py +72 -0
- phoenix/trace/schemas.py +227 -0
- phoenix/trace/span_evaluations.py +350 -0
- phoenix/trace/span_json_decoder.py +100 -0
- phoenix/trace/span_json_encoder.py +64 -0
- phoenix/trace/trace_dataset.py +378 -0
- phoenix/trace/utils.py +64 -0
- phoenix/trace/v1/__init__.py +5 -0
- phoenix/trace/v1/evaluation_pb2.py +32 -0
- phoenix/trace/v1/evaluation_pb2.pyi +102 -0
- phoenix/tracers.py +268 -0
- phoenix/utilities/__init__.py +26 -0
- phoenix/utilities/client.py +138 -0
- phoenix/utilities/env_vars.py +57 -0
- phoenix/utilities/error_handling.py +53 -0
- phoenix/utilities/json.py +109 -0
- phoenix/utilities/logging.py +18 -0
- phoenix/utilities/project.py +13 -0
- phoenix/utilities/re.py +52 -0
- phoenix/utilities/span_store.py +0 -0
- phoenix/utilities/template_formatters.py +419 -0
- phoenix/version.py +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: custom-phoenix
|
|
3
|
+
Version: 13.15.0.dev5
|
|
4
|
+
Summary: AI Observability and Evaluation
|
|
5
|
+
Project-URL: Documentation, https://arize.com/docs/phoenix/
|
|
6
|
+
Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
|
|
7
|
+
Project-URL: Source, https://github.com/Arize-ai/phoenix
|
|
8
|
+
Author-email: Arize AI <phoenix-devs@arize.com>
|
|
9
|
+
License: Elastic-2.0
|
|
10
|
+
License-File: IP_NOTICE
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: Explainability,Monitoring,Observability
|
|
13
|
+
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Requires-Python: <3.14,>=3.10
|
|
19
|
+
Requires-Dist: aioitertools
|
|
20
|
+
Requires-Dist: aiosqlite
|
|
21
|
+
Requires-Dist: alembic<2,>=1.3.0
|
|
22
|
+
Requires-Dist: arize-phoenix-client>=2.0.1
|
|
23
|
+
Requires-Dist: arize-phoenix-evals>=2.11.0
|
|
24
|
+
Requires-Dist: arize-phoenix-otel>=0.15.0
|
|
25
|
+
Requires-Dist: authlib
|
|
26
|
+
Requires-Dist: cachetools
|
|
27
|
+
Requires-Dist: email-validator
|
|
28
|
+
Requires-Dist: fastapi
|
|
29
|
+
Requires-Dist: grpc-interceptor
|
|
30
|
+
Requires-Dist: grpcio
|
|
31
|
+
Requires-Dist: httpx
|
|
32
|
+
Requires-Dist: jinja2
|
|
33
|
+
Requires-Dist: jmespath
|
|
34
|
+
Requires-Dist: jsonpath-ng
|
|
35
|
+
Requires-Dist: jsonschema
|
|
36
|
+
Requires-Dist: ldap3
|
|
37
|
+
Requires-Dist: numpy
|
|
38
|
+
Requires-Dist: openinference-instrumentation-openai>=0.1.41
|
|
39
|
+
Requires-Dist: openinference-instrumentation>=0.1.44
|
|
40
|
+
Requires-Dist: openinference-semantic-conventions>=0.1.26
|
|
41
|
+
Requires-Dist: opentelemetry-exporter-otlp
|
|
42
|
+
Requires-Dist: opentelemetry-proto>=1.12.0
|
|
43
|
+
Requires-Dist: opentelemetry-sdk
|
|
44
|
+
Requires-Dist: orjson
|
|
45
|
+
Requires-Dist: pandas>=1.0
|
|
46
|
+
Requires-Dist: prometheus-client
|
|
47
|
+
Requires-Dist: protobuf>=4.25.8
|
|
48
|
+
Requires-Dist: psutil
|
|
49
|
+
Requires-Dist: pyarrow
|
|
50
|
+
Requires-Dist: pydantic>=2.1.0
|
|
51
|
+
Requires-Dist: pystache
|
|
52
|
+
Requires-Dist: python-dateutil
|
|
53
|
+
Requires-Dist: python-multipart
|
|
54
|
+
Requires-Dist: pyyaml
|
|
55
|
+
Requires-Dist: scikit-learn
|
|
56
|
+
Requires-Dist: scipy
|
|
57
|
+
Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
|
|
58
|
+
Requires-Dist: sqlean-py<3.50,>=3.45.1; platform_system == 'Windows'
|
|
59
|
+
Requires-Dist: sqlean-py>=3.45.1; platform_system != 'Windows'
|
|
60
|
+
Requires-Dist: starlette
|
|
61
|
+
Requires-Dist: strawberry-graphql==0.287.3
|
|
62
|
+
Requires-Dist: tqdm
|
|
63
|
+
Requires-Dist: typing-extensions>=4.6
|
|
64
|
+
Requires-Dist: uvicorn
|
|
65
|
+
Requires-Dist: wrapt<2,>=1.17.2
|
|
66
|
+
Provides-Extra: aws
|
|
67
|
+
Requires-Dist: aioboto3; extra == 'aws'
|
|
68
|
+
Provides-Extra: container
|
|
69
|
+
Requires-Dist: aioboto3; extra == 'container'
|
|
70
|
+
Requires-Dist: aiohttp; extra == 'container'
|
|
71
|
+
Requires-Dist: anthropic>=0.78.0; extra == 'container'
|
|
72
|
+
Requires-Dist: azure-identity; extra == 'container'
|
|
73
|
+
Requires-Dist: google-genai; (python_version < '3.10') and extra == 'container'
|
|
74
|
+
Requires-Dist: google-genai>=1.50.0; (python_version >= '3.10') and extra == 'container'
|
|
75
|
+
Requires-Dist: openai>=2.14.0; extra == 'container'
|
|
76
|
+
Requires-Dist: opentelemetry-exporter-otlp==1.39.1; extra == 'container'
|
|
77
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.60b1; extra == 'container'
|
|
78
|
+
Requires-Dist: opentelemetry-instrumentation-grpc==0.60b1; extra == 'container'
|
|
79
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.60b1; extra == 'container'
|
|
80
|
+
Requires-Dist: opentelemetry-proto==1.39.1; extra == 'container'
|
|
81
|
+
Requires-Dist: opentelemetry-sdk==1.39.1; extra == 'container'
|
|
82
|
+
Requires-Dist: opentelemetry-semantic-conventions==0.60b1; extra == 'container'
|
|
83
|
+
Requires-Dist: prometheus-client; extra == 'container'
|
|
84
|
+
Requires-Dist: py-grpc-prometheus; extra == 'container'
|
|
85
|
+
Requires-Dist: strawberry-graphql[opentelemetry]==0.287.3; extra == 'container'
|
|
86
|
+
Requires-Dist: uvloop; (platform_system != 'Windows') and extra == 'container'
|
|
87
|
+
Provides-Extra: evals
|
|
88
|
+
Provides-Extra: experimental
|
|
89
|
+
Provides-Extra: pg
|
|
90
|
+
Requires-Dist: asyncpg; extra == 'pg'
|
|
91
|
+
Requires-Dist: psycopg[binary,pool]; extra == 'pg'
|
|
92
|
+
Description-Content-Type: text/markdown
|
|
93
|
+
|
|
94
|
+
<p align="center">
|
|
95
|
+
<a target="_blank" href="https://phoenix.arize.com" style="background:none">
|
|
96
|
+
<img alt="phoenix banner" src="https://github.com/Arize-ai/phoenix-assets/blob/main/images/socal/github-large-banner-phoenix-v2.jpg?raw=true" width="auto" height="auto"></img>
|
|
97
|
+
</a>
|
|
98
|
+
<br/>
|
|
99
|
+
<br/>
|
|
100
|
+
<a href="https://arize.com/docs/phoenix/">
|
|
101
|
+
<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"/>
|
|
102
|
+
</a>
|
|
103
|
+
<a target="_blank" href="https://join.slack.com/t/arize-ai/shared_invite/zt-3r07iavnk-ammtATWSlF0pSrd1DsMW7g">
|
|
104
|
+
<img src="https://img.shields.io/static/v1?message=Community&logo=slack&labelColor=grey&color=blue&logoColor=white&label=%20"/>
|
|
105
|
+
</a>
|
|
106
|
+
<a target="_blank" href="https://bsky.app/profile/arize-phoenix.bsky.social">
|
|
107
|
+
<img src="https://img.shields.io/badge/-phoenix-blue.svg?color=blue&labelColor=gray&logo=bluesky">
|
|
108
|
+
</a>
|
|
109
|
+
<a target="_blank" href="https://x.com/ArizePhoenix">
|
|
110
|
+
<img src="https://img.shields.io/badge/-ArizePhoenix-blue.svg?color=blue&labelColor=gray&logo=x">
|
|
111
|
+
</a>
|
|
112
|
+
<a target="_blank" href="https://pypi.org/project/arize-phoenix/">
|
|
113
|
+
<img src="https://img.shields.io/pypi/v/arize-phoenix?color=blue">
|
|
114
|
+
</a>
|
|
115
|
+
<a target="_blank" href="https://anaconda.org/conda-forge/arize-phoenix">
|
|
116
|
+
<img src="https://img.shields.io/conda/vn/conda-forge/arize-phoenix.svg?color=blue">
|
|
117
|
+
</a>
|
|
118
|
+
<a target="_blank" href="https://pypi.org/project/arize-phoenix/">
|
|
119
|
+
<img src="https://img.shields.io/pypi/pyversions/arize-phoenix">
|
|
120
|
+
</a>
|
|
121
|
+
<a target="_blank" href="https://hub.docker.com/r/arizephoenix/phoenix/tags">
|
|
122
|
+
<img src="https://img.shields.io/docker/v/arizephoenix/phoenix?sort=semver&logo=docker&label=image&color=blue">
|
|
123
|
+
</a>
|
|
124
|
+
<a target="_blank" href="https://hub.docker.com/r/arizephoenix/phoenix-helm">
|
|
125
|
+
<img src="https://img.shields.io/badge/Helm-blue?style=flat&logo=helm&labelColor=grey"/>
|
|
126
|
+
</a>
|
|
127
|
+
<a target="_blank" href="https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-mcp">
|
|
128
|
+
<img src="https://badge.mcpx.dev?status=on" title="MCP Enabled"/>
|
|
129
|
+
</a>
|
|
130
|
+
<a href="cursor://anysphere.cursor-deeplink/mcp/install?name=phoenix&config=eyJjb21tYW5kIjoibnB4IC15IEBhcml6ZWFpL3Bob2VuaXgtbWNwQGxhdGVzdCAtLWJhc2VVcmwgaHR0cHM6Ly9teS1waG9lbml4LmNvbSAtLWFwaUtleSB5b3VyLWFwaS1rZXkifQ%3D%3D"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Arize Phoenix MCP server to Cursor" height=20 /></a>
|
|
131
|
+
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=8e8e8b34-7900-43fa-a38f-1f070bd48c64&page=README.md" />
|
|
132
|
+
</p>
|
|
133
|
+
|
|
134
|
+
Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
|
|
135
|
+
|
|
136
|
+
- [**_Tracing_**](https://arize.com/docs/phoenix/tracing/llm-traces) - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
|
|
137
|
+
- [**_Evaluation_**](https://arize.com/docs/phoenix/evaluation/llm-evals) - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
|
|
138
|
+
- [**_Datasets_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets) - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
|
|
139
|
+
- [**_Experiments_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets#experiments) - Track and evaluate changes to prompts, LLMs, and retrieval.
|
|
140
|
+
- [**_Playground_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts)- Optimize prompts, compare models, adjust parameters, and replay traced LLM calls.
|
|
141
|
+
- [**_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.
|
|
142
|
+
|
|
143
|
+
Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks ([OpenAI Agents SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-agents-sdk), [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/python/claude-agent-sdk), [LangGraph](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain), [Vercel AI SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/vercel-ai-sdk), [Mastra](https://arize.com/docs/phoenix/integrations/typescript/mastra), [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai), [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex), [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy)) and LLM providers ([OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai), [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic), [Google GenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/google-genai), [Google ADK](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/google-adk-tracing), [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock), [OpenRouter](https://arize.com/docs/phoenix/integrations/python/openrouter), [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm), and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
|
|
144
|
+
|
|
145
|
+
Phoenix runs practically anywhere, including your local machine, a Jupyter notebook, a containerized deployment, or in the cloud.
|
|
146
|
+
|
|
147
|
+
## Installation
|
|
148
|
+
|
|
149
|
+
Install Phoenix via `pip` or `conda`
|
|
150
|
+
|
|
151
|
+
```shell
|
|
152
|
+
pip install arize-phoenix
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Phoenix container images are available via [Docker Hub](https://hub.docker.com/r/arizephoenix/phoenix) and can be deployed using Docker or Kubernetes. Arize AI also provides cloud instances at [app.phoenix.arize.com](https://app.phoenix.arize.com/).
|
|
156
|
+
|
|
157
|
+
## Packages
|
|
158
|
+
|
|
159
|
+
The `arize-phoenix` package includes the entire Phoenix platform. However, if you have deployed the Phoenix platform, there are lightweight Python sub-packages and TypeScript packages that can be used in conjunction with the platform.
|
|
160
|
+
|
|
161
|
+
### Python Subpackages
|
|
162
|
+
|
|
163
|
+
| Package | Version & Docs | Description |
|
|
164
|
+
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
165
|
+
| [arize-phoenix-otel](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-otel) | [](https://pypi.org/project/arize-phoenix-otel/) [](https://arize-phoenix.readthedocs.io/projects/otel/en/latest/index.html) | Provides a lightweight wrapper around OpenTelemetry primitives with Phoenix-aware defaults |
|
|
166
|
+
| [arize-phoenix-client](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-client) | [](https://pypi.org/project/arize-phoenix-client/) [](https://arize-phoenix.readthedocs.io/projects/client/en/latest/index.html) | Lightweight client for interacting with the Phoenix server via its OpenAPI REST interface |
|
|
167
|
+
| [arize-phoenix-evals](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-evals) | [](https://pypi.org/project/arize-phoenix-evals/) [](https://arize-phoenix.readthedocs.io/projects/evals/en/latest/index.html) | Tooling to evaluate LLM applications including RAG relevance, answer relevance, and more |
|
|
168
|
+
|
|
169
|
+
### TypeScript Subpackages
|
|
170
|
+
|
|
171
|
+
| Package | Version & Docs | Description |
|
|
172
|
+
| --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
173
|
+
| [@arizeai/phoenix-otel](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-otel) | [](https://www.npmjs.com/package/@arizeai/phoenix-otel) [](https://arize-ai.github.io/phoenix/) | Provides a lightweight wrapper around OpenTelemetry primitives with Phoenix-aware defaults |
|
|
174
|
+
| [@arizeai/phoenix-client](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-client) | [](https://www.npmjs.com/package/@arizeai/phoenix-client) [](https://arize-ai.github.io/phoenix/) | Client for the Arize Phoenix API |
|
|
175
|
+
| [@arizeai/phoenix-evals](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-evals) | [](https://www.npmjs.com/package/@arizeai/phoenix-evals) [](https://arize-ai.github.io/phoenix/) | TypeScript evaluation library for LLM applications (alpha release) |
|
|
176
|
+
| [@arizeai/phoenix-mcp](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-mcp) | [](https://www.npmjs.com/package/@arizeai/phoenix-mcp) [](./js/packages/phoenix-mcp/README.md) | MCP server implementation for Arize Phoenix providing unified interface to Phoenix's capabilities |
|
|
177
|
+
| [@arizeai/phoenix-cli](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-cli) | [](https://www.npmjs.com/package/@arizeai/phoenix-cli) [](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-cli) | CLI for fetching traces, datasets, and experiments for use with Claude Code, Cursor, and other coding agents |
|
|
178
|
+
|
|
179
|
+
## Tracing Integrations
|
|
180
|
+
|
|
181
|
+
Phoenix is built on top of OpenTelemetry and is vendor, language, and framework agnostic. For details about tracing integrations and example applications, see the [OpenInference](https://github.com/Arize-ai/openinference) project.
|
|
182
|
+
|
|
183
|
+
**Python Integrations**
|
|
184
|
+
| | Integration | Package | Version |
|
|
185
|
+
|:---:|---|---|---|
|
|
186
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/openai.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/openai.png"></picture> | [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai) |
|
|
187
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/openai.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/openai.png"></picture> | [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) |
|
|
188
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/llamaindex-color.png" height="14"> | [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
|
|
189
|
+
| | [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
|
|
190
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/bedrock-color.png" height="14"> | [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
|
|
191
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/langchain-color.png" height="14"> | [LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
|
|
192
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/mistral-color.png" height="14"> | [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [](https://pypi.python.org/pypi/openinference-instrumentation-mistralai) |
|
|
193
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/google-color.png" height="14"> | [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) |
|
|
194
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/google-color.png" height="14"> | [Google ADK](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/google-adk-tracing) | `openinference-instrumentation-google-adk` | [](https://pypi.python.org/pypi/openinference-instrumentation-google-adk) |
|
|
195
|
+
| | [Guardrails](https://arize.com/docs/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
|
|
196
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/vertexai-color.png" height="14"> | [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
|
|
197
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/crewai-color.png" height="14"> | [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
|
|
198
|
+
| | [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
|
|
199
|
+
| | [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
|
|
200
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/groq.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/groq.png"></picture> | [Groq](https://arize.com/docs/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
|
|
201
|
+
| | [Instructor](https://arize.com/docs/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
|
|
202
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/anthropic.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/anthropic.png"></picture> | [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
|
|
203
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/huggingface-color.png" height="14"> | [Smolagents](https://huggingface.co/docs/smolagents/en/tutorials/inspect_runs) | `openinference-instrumentation-smolagents` | [](https://pypi.python.org/pypi/openinference-instrumentation-smolagents) |
|
|
204
|
+
| | [Agno](https://arize.com/docs/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [](https://pypi.python.org/pypi/openinference-instrumentation-agno) |
|
|
205
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/mcp.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/mcp.png"></picture> | [MCP](https://arize.com/docs/phoenix/tracing/integrations-tracing/model-context-protocol-mcp) | `openinference-instrumentation-mcp` | [](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
|
|
206
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/pydanticai-color.png" height="14"> | [Pydantic AI](https://arize.com/docs/phoenix/integrations/python/pydantic) | `openinference-instrumentation-pydantic-ai` | [](https://pypi.python.org/pypi/openinference-instrumentation-pydantic-ai) |
|
|
207
|
+
| | [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) |
|
|
208
|
+
| | [Portkey](https://arize.com/docs/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [](https://pypi.python.org/pypi/openinference-instrumentation-portkey) |
|
|
209
|
+
| | [Agent Spec](https://arize.com/docs/phoenix/tracing/integrations-tracing/agentspec) | `openinference-instrumentation-agentspec` | [](https://pypi.python.org/pypi/openinference-instrumentation-agentspec) |
|
|
210
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/claude-color.png" height="14"> | [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/python/claude-agent-sdk) | `openinference-instrumentation-claude-agent-sdk` | [](https://pypi.python.org/pypi/openinference-instrumentation-claude-agent-sdk) |
|
|
211
|
+
|
|
212
|
+
## Span Processors
|
|
213
|
+
|
|
214
|
+
Normalize and convert data across other instrumentation libraries by adding span processors that unify data.
|
|
215
|
+
|
|
216
|
+
| Package | Description | Version |
|
|
217
|
+
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
+
| [`openinference-instrumentation-openlit`](./python/instrumentation/openinference-instrumentation-openlit) | OpenInference Span Processor for OpenLIT traces. | [](https://pypi.python.org/pypi/openinference-instrumentation-openlit) |
|
|
219
|
+
| [`openinference-instrumentation-openllmetry`](./python/instrumentation/openinference-instrumentation-openllmetry) | OpenInference Span Processor for OpenLLMetry (Traceloop) traces. | [](https://pypi.python.org/pypi/openinference-instrumentation-openllmetry) |
|
|
220
|
+
|
|
221
|
+
### JavaScript Integrations
|
|
222
|
+
|
|
223
|
+
| | Integration | Package | Version |
|
|
224
|
+
|:---:|---|---|---|
|
|
225
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/openai.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/openai.png"></picture> | [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) |
|
|
226
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/langchain-color.png" height="14"> | [LangChain.js](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `@arizeai/openinference-instrumentation-langchain` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-langchain) |
|
|
227
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/vercel.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/vercel.png"></picture> | [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) |
|
|
228
|
+
| | [BeeAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/beeai) | `@arizeai/openinference-instrumentation-beeai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
|
|
229
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/claude-color.png" height="14"> | [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/typescript/claude-agent-sdk) | `@arizeai/openinference-instrumentation-claude-agent-sdk` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-claude-agent-sdk) |
|
|
230
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/mastra.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/mastra.png"></picture> | [Mastra](https://arize.com/docs/phoenix/integrations/typescript/mastra) | `@mastra/arize` | [](https://www.npmjs.com/package/@mastra/arize) |
|
|
231
|
+
| <picture><source media="(prefers-color-scheme: dark)" srcset="https://unpkg.com/@lobehub/icons-static-png@latest/dark/mcp.png"><img height="14" src="https://unpkg.com/@lobehub/icons-static-png@latest/light/mcp.png"></picture> | [MCP](https://arize.com/docs/phoenix/integrations/typescript/mcp) | `@arizeai/openinference-instrumentation-mcp` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-mcp) |
|
|
232
|
+
|
|
233
|
+
### Java Integrations
|
|
234
|
+
|
|
235
|
+
| | Integration | Package | Version |
|
|
236
|
+
|:---:|---|---|---|
|
|
237
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/langchain-color.png" height="14"> | [LangChain4j](https://github.com/Arize-ai/openinference/tree/main/java/instrumentation/openinference-instrumentation-langchain4j) | `openinference-instrumentation-langchain4j` | [](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-langchain4j) |
|
|
238
|
+
| | SpringAI | `openinference-instrumentation-springAI` | [](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) |
|
|
239
|
+
| | [Arconia](https://arconia.io/docs/arconia/latest/observability/generative-ai/) | `openinference-instrumentation-springAI` | [](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) |
|
|
240
|
+
|
|
241
|
+
### Platforms
|
|
242
|
+
|
|
243
|
+
| | Platform | Description | Docs |
|
|
244
|
+
|:---:|---|---|---|
|
|
245
|
+
| | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | AI agent framework with built-in observability | [Integration Guide](https://docs.beeai.dev/observability/agents-traceability) |
|
|
246
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/dify-color.png" height="14"> | [Dify](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) | Open-source LLM app development platform | [Integration Guide](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) |
|
|
247
|
+
| | [Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway) | AI Gateway built on Envoy Proxy for AI workloads | [Integration Guide](https://github.com/envoyproxy/ai-gateway/tree/main/cmd/aigw#opentelemetry-setup-with-phoenix) |
|
|
248
|
+
| | [LangFlow](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) | Visual framework for building multi-agent and RAG applications | [Integration Guide](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) |
|
|
249
|
+
| | [LiteLLM Proxy](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) | Proxy server for LLMs | [Integration Guide](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) |
|
|
250
|
+
| | [Flowise](https://arize.com/docs/phoenix/integrations/platforms/flowise) | Visual framework for building LLM applications | [Integration Guide](https://arize.com/docs/phoenix/integrations/platforms/flowise) |
|
|
251
|
+
| | [Prompt Flow](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow) | Microsoft's prompt flow orchestration tool | [Integration Guide](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow) |
|
|
252
|
+
| <img src="https://unpkg.com/@lobehub/icons-static-png@latest/dark/nvidia-color.png" height="14"> | [NVIDIA NeMo](https://arize.com/docs/phoenix/integrations/python/nvidia) | NVIDIA NeMo Agent Toolkit for enterprise agents | [Integration Guide](https://arize.com/docs/phoenix/integrations/python/nvidia) |
|
|
253
|
+
| | [Graphite](https://arize.com/docs/phoenix/integrations/python/graphite) | Multi-agent LLM workflow framework with visual builder | [Integration Guide](https://arize.com/docs/phoenix/integrations/python/graphite) |
|
|
254
|
+
|
|
255
|
+
## Security & Privacy
|
|
256
|
+
|
|
257
|
+
We take data security and privacy very seriously. For more details, see our [Security and Privacy documentation](https://arize.com/docs/phoenix/self-hosting/security/privacy).
|
|
258
|
+
|
|
259
|
+
### Telemetry
|
|
260
|
+
|
|
261
|
+
By default, Phoenix collects basic web analytics (e.g., page views, UI interactions) to help us understand how Phoenix is used and improve the product. **None of your trace data, evaluation results, or any sensitive information is ever collected.**
|
|
262
|
+
|
|
263
|
+
You can opt-out of telemetry by setting the environment variable: `PHOENIX_TELEMETRY_ENABLED=false`
|
|
264
|
+
|
|
265
|
+
## Community
|
|
266
|
+
|
|
267
|
+
Join our community to connect with thousands of AI builders.
|
|
268
|
+
|
|
269
|
+
- π Join our [Slack community](https://join.slack.com/t/arize-ai/shared_invite/zt-3r07iavnk-ammtATWSlF0pSrd1DsMW7g).
|
|
270
|
+
- π Read our [documentation](https://arize.com/docs/phoenix).
|
|
271
|
+
- π‘ Ask questions and provide feedback in the _#phoenix-support_ channel.
|
|
272
|
+
- π Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
|
|
273
|
+
- π Report bugs with [GitHub Issues](https://github.com/Arize-ai/phoenix/issues).
|
|
274
|
+
- π Follow us on [π](https://twitter.com/ArizePhoenix).
|
|
275
|
+
- πΊοΈ Check out our [roadmap](https://github.com/orgs/Arize-ai/projects/45) to see where we're heading next.
|
|
276
|
+
- π§βπ« Deep dive into everything [Agents](http://arize.com/ai-agents/) and [LLM Evaluations](https://arize.com/llm-evaluation) on Arize's Learning Hubs.
|
|
277
|
+
|
|
278
|
+
## Breaking Changes
|
|
279
|
+
|
|
280
|
+
See the [migration guide](./MIGRATION.md) for a list of breaking changes.
|
|
281
|
+
|
|
282
|
+
## Copyright, Patent, and License
|
|
283
|
+
|
|
284
|
+
Copyright 2025 Arize AI, Inc. All Rights Reserved.
|
|
285
|
+
|
|
286
|
+
Portions of this code are patent protected by one or more U.S. Patents. See the [IP_NOTICE](https://github.com/Arize-ai/phoenix/blob/main/IP_NOTICE).
|
|
287
|
+
|
|
288
|
+
This software is licensed under the terms of the Elastic License 2.0 (ELv2). See [LICENSE](https://github.com/Arize-ai/phoenix/blob/main/LICENSE).
|