agenta 0.25.4a1__tar.gz → 0.25.4a3__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 agenta might be problematic. Click here for more details.

Files changed (184) hide show
  1. {agenta-0.25.4a1 → agenta-0.25.4a3}/PKG-INFO +3 -1
  2. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/decorators/routing.py +3 -4
  3. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/litellm/litellm.py +4 -2
  4. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/inline.py +38 -2
  5. {agenta-0.25.4a1 → agenta-0.25.4a3}/pyproject.toml +2 -1
  6. {agenta-0.25.4a1 → agenta-0.25.4a3}/README.md +0 -0
  7. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/__init__.py +0 -0
  8. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/evaluation_commands.py +0 -0
  9. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/helper.py +0 -0
  10. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/main.py +0 -0
  11. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/telemetry.py +0 -0
  12. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/variant_commands.py +0 -0
  13. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/cli/variant_configs.py +0 -0
  14. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/Readme.md +0 -0
  15. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/__init__.py +0 -0
  16. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/api.py +0 -0
  17. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/api_models.py +0 -0
  18. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/__init__.py +0 -0
  19. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/apps/__init__.py +0 -0
  20. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/apps/client.py +0 -0
  21. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/bases/__init__.py +0 -0
  22. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/bases/client.py +0 -0
  23. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/client.py +0 -0
  24. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/configs/__init__.py +0 -0
  25. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/configs/client.py +0 -0
  26. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/containers/__init__.py +0 -0
  27. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/containers/client.py +0 -0
  28. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/containers/types/__init__.py +0 -0
  29. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/containers/types/container_templates_response.py +0 -0
  30. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/__init__.py +0 -0
  31. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/api_error.py +0 -0
  32. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/client_wrapper.py +0 -0
  33. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/datetime_utils.py +0 -0
  34. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/file.py +0 -0
  35. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/http_client.py +0 -0
  36. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/jsonable_encoder.py +0 -0
  37. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/pydantic_utilities.py +0 -0
  38. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/query_encoder.py +0 -0
  39. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
  40. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/request_options.py +0 -0
  41. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/core/serialization.py +0 -0
  42. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/environments/__init__.py +0 -0
  43. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/environments/client.py +0 -0
  44. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/errors/__init__.py +0 -0
  45. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
  46. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/evaluations/__init__.py +0 -0
  47. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/evaluations/client.py +0 -0
  48. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/evaluators/__init__.py +0 -0
  49. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/evaluators/client.py +0 -0
  50. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/observability/__init__.py +0 -0
  51. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/observability/client.py +0 -0
  52. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/testsets/__init__.py +0 -0
  53. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/testsets/client.py +0 -0
  54. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/__init__.py +0 -0
  55. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/aggregated_result.py +0 -0
  56. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
  57. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/app.py +0 -0
  58. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/app_variant_response.py +0 -0
  59. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/app_variant_revision.py +0 -0
  60. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/base_output.py +0 -0
  61. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/body_import_testset.py +0 -0
  62. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/config_db.py +0 -0
  63. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/correct_answer.py +0 -0
  64. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/create_app_output.py +0 -0
  65. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/create_span.py +0 -0
  66. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/create_trace_response.py +0 -0
  67. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/docker_env_vars.py +0 -0
  68. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/environment_output.py +0 -0
  69. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/environment_output_extended.py +0 -0
  70. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/environment_revision.py +0 -0
  71. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/error.py +0 -0
  72. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation.py +0 -0
  73. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_scenario.py +0 -0
  74. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
  75. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
  76. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
  77. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_scenario_score_update.py +0 -0
  78. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
  79. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluation_type.py +0 -0
  80. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluator.py +0 -0
  81. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/evaluator_config.py +0 -0
  82. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/get_config_response.py +0 -0
  83. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/http_validation_error.py +0 -0
  84. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation.py +0 -0
  85. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
  86. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
  87. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
  88. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation_scenario_update.py +0 -0
  89. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/human_evaluation_update.py +0 -0
  90. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/image.py +0 -0
  91. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/invite_request.py +0 -0
  92. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/list_api_keys_response.py +0 -0
  93. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
  94. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/llm_tokens.py +0 -0
  95. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/lm_providers_enum.py +0 -0
  96. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/new_human_evaluation.py +0 -0
  97. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/new_testset.py +0 -0
  98. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/organization.py +0 -0
  99. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/organization_output.py +0 -0
  100. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/outputs.py +0 -0
  101. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/permission.py +0 -0
  102. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/result.py +0 -0
  103. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/score.py +0 -0
  104. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
  105. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/span.py +0 -0
  106. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/span_detail.py +0 -0
  107. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/span_status_code.py +0 -0
  108. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/span_variant.py +0 -0
  109. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/template.py +0 -0
  110. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/template_image_info.py +0 -0
  111. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/test_set_output_response.py +0 -0
  112. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/test_set_simple_response.py +0 -0
  113. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/trace_detail.py +0 -0
  114. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/update_app_output.py +0 -0
  115. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/uri.py +0 -0
  116. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/validation_error.py +0 -0
  117. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
  118. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/variant_action.py +0 -0
  119. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/variant_action_enum.py +0 -0
  120. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/with_pagination.py +0 -0
  121. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/workspace_member_response.py +0 -0
  122. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/workspace_permission.py +0 -0
  123. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/workspace_response.py +0 -0
  124. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/workspace_role.py +0 -0
  125. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/types/workspace_role_response.py +0 -0
  126. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/variants/__init__.py +0 -0
  127. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/variants/client.py +0 -0
  128. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/variants/types/__init__.py +0 -0
  129. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
  130. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/client.py +0 -0
  131. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/client/exceptions.py +0 -0
  132. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/config.py +0 -0
  133. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/config.toml +0 -0
  134. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/Dockerfile.cloud.template +0 -0
  135. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/Dockerfile.template +0 -0
  136. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/README.md +0 -0
  137. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/entrypoint.sh +0 -0
  138. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/lambda_function.py +0 -0
  139. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker-assets/main.py +0 -0
  140. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/docker/docker_utils.py +0 -0
  141. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/__init__.py +0 -0
  142. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/agenta_init.py +0 -0
  143. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/assets.py +0 -0
  144. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/client.py +0 -0
  145. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/config_manager.py +0 -0
  146. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/context/__init__.py +0 -0
  147. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/context/routing.py +0 -0
  148. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/context/tracing.py +0 -0
  149. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/decorators/__init__.py +0 -0
  150. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/decorators/tracing.py +0 -0
  151. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/litellm/__init__.py +0 -0
  152. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/router.py +0 -0
  153. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/__init__.py +0 -0
  154. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/attributes.py +0 -0
  155. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/context.py +0 -0
  156. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/conventions.py +0 -0
  157. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/exporters.py +0 -0
  158. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/processors.py +0 -0
  159. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/spans.py +0 -0
  160. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/tracing/tracing.py +0 -0
  161. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/types.py +0 -0
  162. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/__init__.py +0 -0
  163. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/costs.py +0 -0
  164. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/debug.py +0 -0
  165. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/exceptions.py +0 -0
  166. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/globals.py +0 -0
  167. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/logging.py +0 -0
  168. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/preinit.py +0 -0
  169. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/sdk/utils/singleton.py +0 -0
  170. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/compose_email/README.md +0 -0
  171. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/compose_email/app.py +0 -0
  172. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/compose_email/env.example +0 -0
  173. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/compose_email/requirements.txt +0 -0
  174. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/compose_email/template.toml +0 -0
  175. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/extract_data_to_json/README.md +0 -0
  176. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/extract_data_to_json/app.py +0 -0
  177. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/extract_data_to_json/env.example +0 -0
  178. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/extract_data_to_json/requirements.txt +0 -0
  179. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/extract_data_to_json/template.toml +0 -0
  180. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/simple_prompt/README.md +0 -0
  181. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/simple_prompt/app.py +0 -0
  182. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/simple_prompt/env.example +0 -0
  183. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/simple_prompt/requirements.txt +0 -0
  184. {agenta-0.25.4a1 → agenta-0.25.4a3}/agenta/templates/simple_prompt/template.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agenta
3
- Version: 0.25.4a1
3
+ Version: 0.25.4a3
4
4
  Summary: The SDK for agenta is an open-source LLMOps platform.
5
5
  Home-page: https://agenta.ai
6
6
  Keywords: LLMOps,LLM,evaluation,prompt engineering
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.9
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
17
18
  Classifier: Topic :: Software Development :: Libraries
18
19
  Requires-Dist: cachetools (>=5.3.3,<6.0.0)
19
20
  Requires-Dist: click (>=8.1.3,<9.0.0)
@@ -22,6 +23,7 @@ Requires-Dist: fastapi (>=0.100.0)
22
23
  Requires-Dist: httpx (>=0.24,<0.28)
23
24
  Requires-Dist: importlib-metadata (>=8.0.0,<9.0)
24
25
  Requires-Dist: ipdb (>=0.13)
26
+ Requires-Dist: litellm (>=1.48.0,<2.0.0)
25
27
  Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
26
28
  Requires-Dist: opentelemetry-exporter-otlp (>=1.27.0,<2.0.0)
27
29
  Requires-Dist: opentelemetry-sdk (>=1.27.0,<2.0.0)
@@ -656,8 +656,7 @@ class entrypoint:
656
656
 
657
657
  SHOW_DETAILS = True
658
658
  SHOW_DATA = False
659
- SHOW_SPANS = True
660
- SHOW_SPAN_ATTRIBUTES = False
659
+ SHOW_TRACE = False
661
660
 
662
661
  log.info("\n========= Result =========\n")
663
662
 
@@ -665,14 +664,14 @@ class entrypoint:
665
664
  if SHOW_DETAILS:
666
665
  log.info(f"latency: {result.trace.get('latency')}")
667
666
  log.info(f"cost: {result.trace.get('cost')}")
668
- log.info(f"tokens: {list(result.trace.get('tokens', {}).values())}")
667
+ log.info(f"usage: {list(result.trace.get('usage', {}).values())}")
669
668
 
670
669
  if SHOW_DATA:
671
670
  log.info(" ")
672
671
  log.info(f"data:")
673
672
  log.info(json.dumps(result.data, indent=2))
674
673
 
675
- if SHOW_SPANS:
674
+ if SHOW_TRACE:
676
675
  log.info(" ")
677
676
  log.info(f"trace:")
678
677
  log.info(f"----------------")
@@ -1,5 +1,7 @@
1
1
  import agenta as ag
2
2
 
3
+ from opentelemetry.trace import SpanKind
4
+
3
5
  from agenta.sdk.tracing.spans import CustomSpan
4
6
  from agenta.sdk.utils.exceptions import suppress
5
7
  from agenta.sdk.utils.logging import log
@@ -42,10 +44,10 @@ def litellm_handler():
42
44
  else "embedding"
43
45
  )
44
46
 
45
- kind = "CLIENT"
47
+ kind = SpanKind.CLIENT
46
48
 
47
49
  self.span = CustomSpan(
48
- ag.tracer.start_span(name=f"litellm_{kind.lower()}", kind=kind)
50
+ ag.tracer.start_span(name=f"litellm_{kind.name.lower()}", kind=kind)
49
51
  )
50
52
 
51
53
  self.span.set_attributes(
@@ -999,7 +999,7 @@ def parse_to_agenta_span_dto(
999
999
  ########################################
1000
1000
 
1001
1001
 
1002
- from copy import deepcopy
1002
+ from litellm import cost_calculator
1003
1003
  from opentelemetry.sdk.trace import ReadableSpan
1004
1004
 
1005
1005
 
@@ -1032,6 +1032,7 @@ def parse_inline_trace(
1032
1032
  ###############################################
1033
1033
  ### services.observability.service.ingest() ###
1034
1034
  ### --------------------------------------- ###
1035
+ calculate_cost(span_idx)
1035
1036
  cumulate_costs(span_id_tree, span_idx)
1036
1037
  cumulate_tokens(span_id_tree, span_idx)
1037
1038
  ### --------------------------------------- ###
@@ -1083,7 +1084,7 @@ def parse_inline_trace(
1083
1084
  "trace_id": trace_id,
1084
1085
  "latency": latency,
1085
1086
  "cost": cost,
1086
- "tokens": tokens,
1087
+ "usage": tokens,
1087
1088
  "spans": spans,
1088
1089
  }
1089
1090
 
@@ -1267,3 +1268,38 @@ def _parse_to_legacy_span(span: SpanDTO) -> CreateSpan:
1267
1268
  )
1268
1269
 
1269
1270
  return legacy_span
1271
+
1272
+
1273
+ PAYING_TYPES = [
1274
+ "embedding",
1275
+ "query",
1276
+ "completion",
1277
+ "chat",
1278
+ "rerank",
1279
+ ]
1280
+
1281
+
1282
+ def calculate_cost(span_idx: Dict[str, SpanCreateDTO]):
1283
+ for span in span_idx.values():
1284
+ if span.node.type.name.lower() in PAYING_TYPES and span.meta and span.metrics:
1285
+ try:
1286
+ costs = cost_calculator.cost_per_token(
1287
+ model=span.meta.get("response.model"),
1288
+ prompt_tokens=span.metrics.get("unit.tokens.prompt", 0.0),
1289
+ completion_tokens=span.metrics.get("unit.tokens.completion", 0.0),
1290
+ call_type=span.node.type.name.lower(),
1291
+ response_time_ms=span.time.span // 1_000,
1292
+ )
1293
+
1294
+ if not costs:
1295
+ continue
1296
+
1297
+ prompt_cost, completion_cost = costs
1298
+ total_cost = prompt_cost + completion_cost
1299
+
1300
+ span.metrics["unit.costs.prompt"] = prompt_cost
1301
+ span.metrics["unit.costs.completion"] = completion_cost
1302
+ span.metrics["unit.costs.total"] = total_cost
1303
+
1304
+ except:
1305
+ pass
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "agenta"
3
- version = "0.25.4a1"
3
+ version = "0.25.4a3"
4
4
  description = "The SDK for agenta is an open-source LLMOps platform."
5
5
  readme = "README.md"
6
6
  authors = ["Mahmoud Mabrouk <mahmoud@agenta.ai>"]
@@ -36,6 +36,7 @@ pyyaml = "^6.0.2"
36
36
  opentelemetry-api = "^1.27.0"
37
37
  opentelemetry-sdk = "^1.27.0"
38
38
  opentelemetry-exporter-otlp = "^1.27.0"
39
+ litellm ="^1.48.0"
39
40
 
40
41
  [tool.poetry.dev-dependencies]
41
42
  pytest = "^8.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes