arize-phoenix 1.7.2rc1__tar.gz → 1.8.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.

Files changed (169) hide show
  1. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/PKG-INFO +2 -1
  2. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/pyproject.toml +1 -0
  3. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/__init__.py +1 -1
  4. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/index.js +4 -4
  5. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/openai/instrumentor.py +22 -7
  6. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/.gitignore +0 -0
  7. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/IP_NOTICE +0 -0
  8. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/LICENSE +0 -0
  9. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/README.md +0 -0
  10. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/config.py +0 -0
  11. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/__init__.py +0 -0
  12. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/embedding_dimension.py +0 -0
  13. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/evals.py +0 -0
  14. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/model.py +0 -0
  15. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/model_schema.py +0 -0
  16. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/model_schema_adapter.py +0 -0
  17. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/core/traces.py +0 -0
  18. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/__init__.py +0 -0
  19. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/dataset.py +0 -0
  20. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/errors.py +0 -0
  21. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/fixtures.py +0 -0
  22. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/schema.py +0 -0
  23. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datasets/validation.py +0 -0
  24. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/datetime_utils.py +0 -0
  25. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/__init__.py +0 -0
  26. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/__init__.py +0 -0
  27. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/evaluators.py +0 -0
  28. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/functions/__init__.py +0 -0
  29. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/functions/classify.py +0 -0
  30. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/functions/generate.py +0 -0
  31. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/functions/processing.py +0 -0
  32. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/__init__.py +0 -0
  33. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/base.py +0 -0
  34. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/bedrock.py +0 -0
  35. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/litellm.py +0 -0
  36. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/openai.py +0 -0
  37. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/rate_limiters.py +0 -0
  38. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/models/vertexai.py +0 -0
  39. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/retrievals.py +0 -0
  40. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/templates/__init__.py +0 -0
  41. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/templates/default_templates.py +0 -0
  42. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/templates/template.py +0 -0
  43. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/utils/__init__.py +0 -0
  44. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/experimental/evals/utils/threads.py +0 -0
  45. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/README.md +0 -0
  46. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/__init__.py +0 -0
  47. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/binning.py +0 -0
  48. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/metrics.py +0 -0
  49. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/mixins.py +0 -0
  50. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/retrieval_metrics.py +0 -0
  51. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/timeseries.py +0 -0
  52. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/metrics/wrappers.py +0 -0
  53. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/pointcloud/__init__.py +0 -0
  54. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/pointcloud/clustering.py +0 -0
  55. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/pointcloud/pointcloud.py +0 -0
  56. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/pointcloud/projectors.py +0 -0
  57. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/pointcloud/umap_parameters.py +0 -0
  58. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/py.typed +0 -0
  59. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/__init__.py +0 -0
  60. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/__init__.py +0 -0
  61. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/context.py +0 -0
  62. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/helpers.py +0 -0
  63. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/ClusterInput.py +0 -0
  64. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/Coordinates.py +0 -0
  65. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/DataQualityMetricInput.py +0 -0
  66. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/DimensionFilter.py +0 -0
  67. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/DimensionInput.py +0 -0
  68. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/Granularity.py +0 -0
  69. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/PerformanceMetricInput.py +0 -0
  70. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/SpanSort.py +0 -0
  71. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/TimeRange.py +0 -0
  72. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/input_types/__init__.py +0 -0
  73. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/interceptor.py +0 -0
  74. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/schema.py +0 -0
  75. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Cluster.py +0 -0
  76. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DataQualityMetric.py +0 -0
  77. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Dataset.py +0 -0
  78. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DatasetInfo.py +0 -0
  79. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DatasetRole.py +0 -0
  80. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DatasetValues.py +0 -0
  81. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Dimension.py +0 -0
  82. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DimensionDataType.py +0 -0
  83. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DimensionShape.py +0 -0
  84. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DimensionType.py +0 -0
  85. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DimensionWithValue.py +0 -0
  86. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DocumentEvaluationSummary.py +0 -0
  87. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/DocumentRetrievalMetrics.py +0 -0
  88. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/EmbeddingDimension.py +0 -0
  89. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/EmbeddingMetadata.py +0 -0
  90. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Evaluation.py +0 -0
  91. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/EvaluationSummary.py +0 -0
  92. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Event.py +0 -0
  93. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/EventMetadata.py +0 -0
  94. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/ExportEventsMutation.py +0 -0
  95. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/ExportedFile.py +0 -0
  96. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Functionality.py +0 -0
  97. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/MimeType.py +0 -0
  98. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Model.py +0 -0
  99. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/NumericRange.py +0 -0
  100. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/PerformanceMetric.py +0 -0
  101. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/PromptResponse.py +0 -0
  102. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Retrieval.py +0 -0
  103. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/ScalarDriftMetricEnum.py +0 -0
  104. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Segments.py +0 -0
  105. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/SortDir.py +0 -0
  106. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/Span.py +0 -0
  107. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/TimeSeries.py +0 -0
  108. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/UMAPPoints.py +0 -0
  109. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/ValidationResult.py +0 -0
  110. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/VectorDriftMetricEnum.py +0 -0
  111. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/__init__.py +0 -0
  112. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/node.py +0 -0
  113. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/api/types/pagination.py +0 -0
  114. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/app.py +0 -0
  115. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/evaluation_handler.py +0 -0
  116. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/main.py +0 -0
  117. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/span_handler.py +0 -0
  118. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-114x114.png +0 -0
  119. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-120x120.png +0 -0
  120. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-144x144.png +0 -0
  121. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-152x152.png +0 -0
  122. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-180x180.png +0 -0
  123. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-72x72.png +0 -0
  124. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon-76x76.png +0 -0
  125. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/apple-touch-icon.png +0 -0
  126. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/favicon.ico +0 -0
  127. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/index.css +0 -0
  128. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/static/modernizr.js +0 -0
  129. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/templates/__init__.py +0 -0
  130. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/templates/index.html +0 -0
  131. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/server/thread_server.py +0 -0
  132. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/services.py +0 -0
  133. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/session/__init__.py +0 -0
  134. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/session/evaluation.py +0 -0
  135. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/session/session.py +0 -0
  136. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/__init__.py +0 -0
  137. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/dsl/__init__.py +0 -0
  138. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/dsl/filter.py +0 -0
  139. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/dsl/helpers.py +0 -0
  140. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/dsl/missing.py +0 -0
  141. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/dsl/query.py +0 -0
  142. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/evaluation_conventions.py +0 -0
  143. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/exporter.py +0 -0
  144. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/fixtures.py +0 -0
  145. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/langchain/__init__.py +0 -0
  146. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/langchain/instrumentor.py +0 -0
  147. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/langchain/tracer.py +0 -0
  148. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/llama_index/__init__.py +0 -0
  149. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/llama_index/callback.py +0 -0
  150. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/llama_index/debug_callback.py +0 -0
  151. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/llama_index/streaming.py +0 -0
  152. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/openai/__init__.py +0 -0
  153. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/schemas.py +0 -0
  154. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/semantic_conventions.py +0 -0
  155. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/span_evaluations.py +0 -0
  156. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/span_json_decoder.py +0 -0
  157. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/span_json_encoder.py +0 -0
  158. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/trace_dataset.py +0 -0
  159. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/tracer.py +0 -0
  160. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/utils.py +0 -0
  161. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/__init__.py +0 -0
  162. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/evaluation_pb2.py +0 -0
  163. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/evaluation_pb2.pyi +0 -0
  164. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/trace_pb2.py +0 -0
  165. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/trace_pb2.pyi +0 -0
  166. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/trace/v1/utils.py +0 -0
  167. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/utilities/__init__.py +0 -0
  168. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/utilities/error_handling.py +0 -0
  169. {arize_phoenix-1.7.2rc1 → arize_phoenix-1.8.0}/src/phoenix/utilities/logging.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arize-phoenix
3
- Version: 1.7.2rc1
3
+ Version: 1.8.0
4
4
  Summary: ML Observability in your notebook
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -24,6 +24,7 @@ Requires-Dist: pandas
24
24
  Requires-Dist: protobuf<5.0,>=3.20
25
25
  Requires-Dist: psutil
26
26
  Requires-Dist: pyarrow
27
+ Requires-Dist: requests
27
28
  Requires-Dist: scikit-learn<1.3.0
28
29
  Requires-Dist: scipy
29
30
  Requires-Dist: sortedcontainers
@@ -39,6 +39,7 @@ dependencies = [
39
39
  "protobuf>=3.20, <5.0",
40
40
  "ddsketch",
41
41
  "tqdm",
42
+ "requests",
42
43
  ]
43
44
  dynamic = ["version"]
44
45
 
@@ -6,7 +6,7 @@ from .session.session import NotebookEnvironment, Session, active_session, close
6
6
  from .trace.fixtures import load_example_traces
7
7
  from .trace.trace_dataset import TraceDataset
8
8
 
9
- __version__ = "1.7.2rc1"
9
+ __version__ = "1.8.0"
10
10
 
11
11
  # module level doc-string
12
12
  __doc__ = """
@@ -5165,7 +5165,7 @@ fragment MetricSelector_dimensions on Model {
5165
5165
  object-fit: contain;
5166
5166
  transition: background-color 0.2s ease-in-out;
5167
5167
  background-color: ${UU(.85,t.color)};
5168
- `})}function ken(t){return W("audio",{src:t.linkToData||"[error] unexpected missing url"})}function jen(t){return _("div",{"data-size":t.size,css:ee`
5168
+ `})}function ken(t){return W("audio",{src:t.linkToData||"[error] unexpected missing url",autoPlay:t.autoPlay,controls:!0})}function jen(t){return _("div",{"data-size":t.size,css:ee`
5169
5169
  --prompt-response-preview-background-color: var(
5170
5170
  --ac-global-color-grey-200
5171
5171
  );
@@ -5306,7 +5306,7 @@ fragment MetricSelector_dimensions on Model {
5306
5306
  height: ${hw}px;
5307
5307
  background-color: var(--ac-global-background-color-dark);
5308
5308
  border-radius: var(--ac-global-rounding-medium);
5309
- `,children:W(rV,{rawData:o.embeddingMetadata.rawData,linkToData:o.embeddingMetadata.linkToData,predictionLabel:o.eventMetadata.predictionLabel,actualLabel:o.eventMetadata.actualLabel,promptAndResponse:l.promptAndResponse,documentText:l.documentText,datasetName:g,group:s,color:c,size:"medium"})})})};var Qen=300,Ken=3,qen=.2,$en=function(){let{selectedTimestamp:e}=pI(),n=ze(s=>s.points),i=ze(s=>s.hdbscanParameters),r=ze(s=>s.umapParameters),[a,o,l]=(0,qo.useMemo)(()=>{let{primaryEventIds:s,referenceEventIds:c,corpusEventIds:u}=FL(n.map(g=>g.eventId));return[s.length,c.length,u.length]},[n]);return e?_("section",{css:ee`
5309
+ `,children:W(rV,{rawData:o.embeddingMetadata.rawData,linkToData:o.embeddingMetadata.linkToData,predictionLabel:o.eventMetadata.predictionLabel,actualLabel:o.eventMetadata.actualLabel,promptAndResponse:l.promptAndResponse,documentText:l.documentText,datasetName:g,group:s,color:c,size:"medium",autoPlay:!0})})})};var Qen=300,Ken=3,qen=.2,$en=function(){let{selectedTimestamp:e}=pI(),n=ze(s=>s.points),i=ze(s=>s.hdbscanParameters),r=ze(s=>s.umapParameters),[a,o,l]=(0,qo.useMemo)(()=>{let{primaryEventIds:s,referenceEventIds:c,corpusEventIds:u}=FL(n.map(g=>g.eventId));return[s.length,c.length,u.length]},[n]);return e?_("section",{css:ee`
5310
5310
  width: 300px;
5311
5311
  padding: var(--px-spacing-med);
5312
5312
  `,children:[_("dl",{css:pie,children:[_("div",{children:[W("dt",{children:"Timestamp"}),W("dd",{children:ya(e)})]}),_("div",{children:[W("dt",{children:"primary points"}),W("dd",{children:a})]}),o>0?_("div",{children:[W("dt",{children:"reference points"}),W("dd",{children:o})]}):null,l>0?_("div",{children:[W("dt",{children:"corpus points"}),W("dd",{children:l})]}):null]}),W("br",{}),W(wn,{level:4,weight:"heavy",children:"Clustering Parameters"}),_("dl",{css:pie,children:[_("div",{children:[W("dt",{children:"min cluster size"}),W("dd",{children:i.minClusterSize})]}),_("div",{children:[W("dt",{children:"cluster min samples"}),W("dd",{children:i.clusterMinSamples})]}),_("div",{children:[W("dt",{children:"cluster selection epsilon"}),W("dd",{children:i.clusterSelectionEpsilon})]})]}),W("br",{}),W(wn,{level:4,weight:"heavy",children:"UMAP Parameters"}),_("dl",{css:pie,children:[_("div",{children:[W("dt",{children:"min distance"}),W("dd",{children:r.minDist})]}),_("div",{children:[W("dt",{children:"n neighbors"}),W("dd",{children:r.nNeighbors})]}),_("div",{children:[W("dt",{children:"n samples per dataset"}),W("dd",{children:r.nSamples})]})]})]}):null},pie=ee`
@@ -5886,7 +5886,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5886
5886
  width: 100%;
5887
5887
  height: 500px;
5888
5888
  background-color: black;
5889
- `}):n?W("audio",{src:t,controls:!0}):W("img",{src:t,alt:"event image",width:"100%",height:"200px",css:ee`
5889
+ `}):n?W("audio",{src:t,controls:!0,autoPlay:!0}):W("img",{src:t,alt:"event image",width:"100%",height:"200px",css:ee`
5890
5890
  object-fit: contain;
5891
5891
  background-color: black;
5892
5892
  `})}function Uyn({event:t}){let e=t.linkToData||void 0,n=t.rawData,i=t.prompt||t.response?{prompt:t.prompt,response:t.response}:null,r=t.documentText,a=null;return e?a=_(qe,{direction:"column",children:[W(Pyn,{dataUrl:e}),n&&W(xh,{children:W(Is,{id:"raw",title:"Raw Data",children:W(nS,{children:n})})})]}):r?a=W(xh,{children:W(Is,{id:"document",title:"Document",children:W(nS,{children:r})})}):i?a=_(xh,{children:[W(Is,{id:"prompt",title:"Prompt",children:W(nS,{children:i.prompt})}),W(Is,{id:"response",title:"Response",children:W(nS,{children:i.response})})]}):t.rawData&&t.rawData&&t.rawData,a}function Qyn(){return W("tbody",{className:"is-empty",children:W("tr",{children:W("td",{colSpan:100,css:t=>ee`
@@ -5951,7 +5951,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5951
5951
  min-width: var(--grid-item-min-width);
5952
5952
  height: var(--grid-item-height);
5953
5953
  }
5954
- `,children:n.map((s,c)=>{let u=r.get(s.id),{rawData:g=null,linkToData:d=null}=u?.embeddingMetadata??{},{predictionLabel:I=null,actualLabel:p=null}=u?.eventMetadata??{},h=OL(s.id),m=e(h),b=a[s.id],y=o[b];return W("li",{children:W(rV,{rawData:g,linkToData:d,datasetName:m,group:b,onClick:()=>{i(s.id)},color:y,size:l,predictionLabel:I,actualLabel:p,promptAndResponse:s.promptAndResponse,documentText:s.documentText})},c)})})})}var Zk=K(Ie());function HKe({data:t,onPointSelected:e}){let{primaryDataset:n,referenceDataset:i}=Ci(),r=ze(u=>u.metric),[a,o]=(0,Zk.useState)([]),{columns:l,tableData:s}=(0,Zk.useMemo)(()=>{let u=t.filter(C=>C.id.includes("CORPUS")===!1),g=!1,d=!1,I=!1,p=!1,h=!1;t.forEach(C=>{C.linkToData&&(g=!0),C.rawData&&(d=!0),(C.prompt||C.response)&&(I=!0),C.predictionLabel&&(p=!0),C.actualLabel&&(h=!0)});let m=[];i&&m.push({header:"Dataset",accessorKey:"id",size:50,cell:({getValue:C})=>W(qyn,{id:C(),primaryDatasetName:n.name,referenceDatasetName:i?.name??"reference"})}),g&&m.push({header:"Link",accessorKey:"linkToData",cell:({getValue:C})=>{let v=C();if(typeof v=="string"){let x=v.split("/").pop();return W(Ko,{href:v,children:x})}return null}}),I?(m.push({header:"Prompt",accessorKey:"prompt",cell:Ng,size:200}),m.push({header:"Response",accessorKey:"response",cell:Ng,size:200})):d&&m.push({header:"Raw Data",accessorKey:"rawData"}),p&&m.push({header:"Prediction Label",accessorKey:"predictionLabel",size:50}),h&&m.push({header:"Actual Label",accessorKey:"actualLabel",size:50});let b=[];if(r&&r.type==="dataQuality"){let C=r.dimension.name;b.push({header:r.dimension.name,accessorKey:"metric",cell:sp,sortingFn:"basic"}),u.forEach(v=>{let x=v.dimensions.find(G=>G.dimension.name===C)?.value;v.metric=x!=null?Number(x):null})}return{columns:[...m,...b,{header:"",id:"view-details",size:50,cell:({row:C})=>W(pze,{"aria-label":"view point details",onClick:()=>{e(C.original.id)},children:"view details"})}],tableData:u}},[t,e,n,i,r]),c=mu({columns:l,data:s,state:{sorting:a},getCoreRowModel:pu(),onSortingChange:o,getSortedRowModel:xb()});return _("table",{css:ep,children:[W("thead",{children:c.getHeaderGroups().map(u=>W("tr",{children:u.headers.map(g=>_("th",{children:[g.isPlaceholder?null:_("div",{className:g.column.getCanSort()?"cursor-pointer":"",onClick:g.column.getToggleSortingHandler(),children:[za(g.column.columnDef.header,g.getContext()),g.column.getIsSorted()?W(ft,{className:"sort-icon",svg:g.column.getIsSorted()==="asc"?W(zt.ArrowDownFilled,{}):W(zt.ArrowUpFilled,{})}):null]}),W("div",{onMouseDown:g.getResizeHandler(),onTouchStart:g.getResizeHandler(),className:`resizer ${g.column.getIsResizing()?"isResizing":""}`,style:{transform:g.column.getIsResizing()?`translateX(${c.getState().columnSizingInfo.deltaOffset}px)`:""}})]},g.id))},u.id))}),W("tbody",{children:c.getRowModel().rows.map(u=>W("tr",{children:u.getVisibleCells().map(g=>W("td",{style:{width:g.column.getSize()},children:za(g.column.columnDef.cell,g.getContext())},g.id))},u.id))})]})}function qyn({id:t,primaryDatasetName:e,referenceDatasetName:n}){let i=t.includes("PRIMARY"),r=oV();return _(qe,{direction:"row",gap:"size-100",alignItems:"center",children:[W(o2,{shape:"circle",color:r[i?0:1]}),i?e:n]})}var $yn=ee`
5954
+ `,children:n.map((s,c)=>{let u=r.get(s.id),{rawData:g=null,linkToData:d=null}=u?.embeddingMetadata??{},{predictionLabel:I=null,actualLabel:p=null}=u?.eventMetadata??{},h=OL(s.id),m=e(h),b=a[s.id],y=o[b];return W("li",{children:W(rV,{rawData:g,linkToData:d,datasetName:m,group:b,onClick:()=>{i(s.id)},color:y,size:l,predictionLabel:I,actualLabel:p,promptAndResponse:s.promptAndResponse,documentText:s.documentText,autoPlay:!1})},c)})})})}var Zk=K(Ie());function HKe({data:t,onPointSelected:e}){let{primaryDataset:n,referenceDataset:i}=Ci(),r=ze(u=>u.metric),[a,o]=(0,Zk.useState)([]),{columns:l,tableData:s}=(0,Zk.useMemo)(()=>{let u=t.filter(C=>C.id.includes("CORPUS")===!1),g=!1,d=!1,I=!1,p=!1,h=!1;t.forEach(C=>{C.linkToData&&(g=!0),C.rawData&&(d=!0),(C.prompt||C.response)&&(I=!0),C.predictionLabel&&(p=!0),C.actualLabel&&(h=!0)});let m=[];i&&m.push({header:"Dataset",accessorKey:"id",size:50,cell:({getValue:C})=>W(qyn,{id:C(),primaryDatasetName:n.name,referenceDatasetName:i?.name??"reference"})}),g&&m.push({header:"Link",accessorKey:"linkToData",cell:({getValue:C})=>{let v=C();if(typeof v=="string"){let x=v.split("/").pop();return W(Ko,{href:v,children:x})}return null}}),I?(m.push({header:"Prompt",accessorKey:"prompt",cell:Ng,size:200}),m.push({header:"Response",accessorKey:"response",cell:Ng,size:200})):d&&m.push({header:"Raw Data",accessorKey:"rawData"}),p&&m.push({header:"Prediction Label",accessorKey:"predictionLabel",size:50}),h&&m.push({header:"Actual Label",accessorKey:"actualLabel",size:50});let b=[];if(r&&r.type==="dataQuality"){let C=r.dimension.name;b.push({header:r.dimension.name,accessorKey:"metric",cell:sp,sortingFn:"basic"}),u.forEach(v=>{let x=v.dimensions.find(G=>G.dimension.name===C)?.value;v.metric=x!=null?Number(x):null})}return{columns:[...m,...b,{header:"",id:"view-details",size:50,cell:({row:C})=>W(pze,{"aria-label":"view point details",onClick:()=>{e(C.original.id)},children:"view details"})}],tableData:u}},[t,e,n,i,r]),c=mu({columns:l,data:s,state:{sorting:a},getCoreRowModel:pu(),onSortingChange:o,getSortedRowModel:xb()});return _("table",{css:ep,children:[W("thead",{children:c.getHeaderGroups().map(u=>W("tr",{children:u.headers.map(g=>_("th",{children:[g.isPlaceholder?null:_("div",{className:g.column.getCanSort()?"cursor-pointer":"",onClick:g.column.getToggleSortingHandler(),children:[za(g.column.columnDef.header,g.getContext()),g.column.getIsSorted()?W(ft,{className:"sort-icon",svg:g.column.getIsSorted()==="asc"?W(zt.ArrowDownFilled,{}):W(zt.ArrowUpFilled,{})}):null]}),W("div",{onMouseDown:g.getResizeHandler(),onTouchStart:g.getResizeHandler(),className:`resizer ${g.column.getIsResizing()?"isResizing":""}`,style:{transform:g.column.getIsResizing()?`translateX(${c.getState().columnSizingInfo.deltaOffset}px)`:""}})]},g.id))},u.id))}),W("tbody",{children:c.getRowModel().rows.map(u=>W("tr",{children:u.getVisibleCells().map(g=>W("td",{style:{width:g.column.getSize()},children:za(g.column.columnDef.cell,g.getContext())},g.id))},u.id))})]})}function qyn({id:t,primaryDatasetName:e,referenceDatasetName:n}){let i=t.includes("PRIMARY"),r=oV();return _(qe,{direction:"row",gap:"size-100",alignItems:"center",children:[W(o2,{shape:"circle",color:r[i?0:1]}),i?e:n]})}var $yn=ee`
5955
5955
  width: 100%;
5956
5956
  height: 100%;
5957
5957
  position: relative;
@@ -615,17 +615,32 @@ def _accumulate_messages(
615
615
  """
616
616
  if not chunks:
617
617
  return []
618
- tokens: DefaultDict[int, List[str]] = defaultdict(list)
619
- roles: DefaultDict[int, str] = defaultdict()
618
+ content_token_lists: DefaultDict[int, List[str]] = defaultdict(list)
619
+ function_argument_token_lists: DefaultDict[int, List[str]] = defaultdict(list)
620
+ function_names: Dict[int, str] = {}
621
+ roles: Dict[int, str] = {}
620
622
  for chunk in chunks:
621
623
  for choice in chunk.choices:
622
624
  choice_index = choice.index
623
- if content := choice.delta.content:
624
- tokens[choice_index].append(content)
625
+ if content_token := choice.delta.content:
626
+ content_token_lists[choice_index].append(content_token)
627
+ if function_call := choice.delta.function_call:
628
+ if function_name := function_call.name:
629
+ function_names[choice_index] = function_name
630
+ if (function_argument_token := function_call.arguments) is not None:
631
+ function_argument_token_lists[choice_index].append(function_argument_token)
625
632
  if role := choice.delta.role:
626
633
  roles[choice_index] = role
627
634
  messages: List[OpenInferenceMessage] = [{} for _ in range(num_choices)]
628
- for choice_index in range(len(tokens)):
629
- messages[choice_index][MESSAGE_CONTENT] = "".join(tokens.get(choice_index, []))
630
- messages[choice_index][MESSAGE_ROLE] = roles.get(choice_index, "")
635
+ for choice_index in range(num_choices):
636
+ if (role_ := roles.get(choice_index)) is not None:
637
+ messages[choice_index][MESSAGE_ROLE] = role_
638
+ if content_token_list := content_token_lists[choice_index]:
639
+ messages[choice_index][MESSAGE_CONTENT] = "".join(content_token_list)
640
+ if (function_name := function_names.get(choice_index)) is not None:
641
+ messages[choice_index][MESSAGE_FUNCTION_CALL_NAME] = function_name
642
+ if function_argument_token_list := function_argument_token_lists[choice_index]:
643
+ messages[choice_index][MESSAGE_FUNCTION_CALL_ARGUMENTS_JSON] = "".join(
644
+ function_argument_token_list
645
+ )
631
646
  return messages
File without changes