ragaai-catalyst 2.1.6b1__tar.gz → 2.1.6.1b0__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.
Files changed (181) hide show
  1. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/PKG-INFO +5 -4
  2. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/crewai/scifi_writer/scifi_writer.py +3 -7
  3. ragaai_catalyst-2.1.6.1b0/examples/openai_agents_sdk/README.md +71 -0
  4. ragaai_catalyst-2.1.6.1b0/examples/openai_agents_sdk/data_extraction_email.py +189 -0
  5. ragaai_catalyst-2.1.6.1b0/examples/openai_agents_sdk/requirements.txt +3 -0
  6. ragaai_catalyst-2.1.6.1b0/examples/openai_agents_sdk/sample.env +6 -0
  7. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/pyproject.toml +6 -6
  8. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/guard_executor.py +1 -0
  9. ragaai_catalyst-2.1.6.1b0/ragaai_catalyst/tracers/instrumentators/__init__.py +0 -0
  10. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/tracer.py +21 -6
  11. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/upload_traces.py +5 -2
  12. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/trace_json_converter.py +39 -24
  13. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst.egg-info/PKG-INFO +5 -4
  14. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst.egg-info/SOURCES.txt +4 -7
  15. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst.egg-info/requires.txt +1 -1
  16. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/requirements.txt +2 -2
  17. ragaai_catalyst-2.1.6b1/examples/autogen/crisis_response_coordinator/OAI_CONFIG_LIST.json +0 -6
  18. ragaai_catalyst-2.1.6b1/examples/autogen/crisis_response_coordinator/crisis_response_coordinator.py +0 -192
  19. ragaai_catalyst-2.1.6b1/examples/autogen/crisis_response_coordinator/requirements.txt +0 -1
  20. ragaai_catalyst-2.1.6b1/examples/autogen/crisis_response_coordinator/sample.env +0 -7
  21. ragaai_catalyst-2.1.6b1/ragaai_catalyst/tracers/instrumentators/__init__.py +0 -5
  22. ragaai_catalyst-2.1.6b1/ragaai_catalyst/tracers/instrumentators/langchain.py +0 -14
  23. ragaai_catalyst-2.1.6b1/ragaai_catalyst/tracers/instrumentators/llamaindex.py +0 -14
  24. ragaai_catalyst-2.1.6b1/ragaai_catalyst/tracers/instrumentators/openai.py +0 -13
  25. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  26. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  27. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  28. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/.gitignore +0 -0
  29. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/.gitmodules +0 -0
  30. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/LICENSE +0 -0
  31. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/README.md +0 -0
  32. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/dataset_management.md +0 -0
  33. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/autheticate.gif +0 -0
  34. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/create_project.gif +0 -0
  35. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/custom_metrics.png +0 -0
  36. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/dataset.gif +0 -0
  37. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/dataset.png +0 -0
  38. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/evaluation.gif +0 -0
  39. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/evaluation.png +0 -0
  40. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/guardrails.png +0 -0
  41. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/last_main.png +0 -0
  42. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/main.png +0 -0
  43. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/projects_new.png +0 -0
  44. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/img/trace_comp.png +0 -0
  45. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/prompt_management.md +0 -0
  46. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/docs/trace_management.md +0 -0
  47. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/crewai/scifi_writer/README.md +0 -0
  48. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/crewai/scifi_writer/requirements.txt +0 -0
  49. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/crewai/scifi_writer/sample.env +0 -0
  50. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/custom_agents/travel_agent/agents.py +0 -0
  51. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/custom_agents/travel_agent/config.py +0 -0
  52. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/custom_agents/travel_agent/main.py +0 -0
  53. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/custom_agents/travel_agent/tools.py +0 -0
  54. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/haystack/rag/README.md +0 -0
  55. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/haystack/rag/rag.py +0 -0
  56. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/haystack/rag/requirements.txt +0 -0
  57. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/haystack/rag/sample.env +0 -0
  58. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  59. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  60. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  61. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  62. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/requirements.txt +0 -0
  63. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langchain/medical_rag/sample.env +0 -0
  64. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langgraph/personal_research_assistant/README.md +0 -0
  65. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langgraph/personal_research_assistant/requirements.txt +0 -0
  66. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  67. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/langgraph/personal_research_assistant/sample.env +0 -0
  68. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  69. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  70. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  71. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  72. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/requirements.txt +0 -0
  73. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/llamaindex_examples/legal_research_rag/sample.env +0 -0
  74. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/most_upvoted_paper/README.md +0 -0
  75. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  76. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/most_upvoted_paper/requirements.txt +0 -0
  77. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/most_upvoted_paper/sample.env +0 -0
  78. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/rag_using_chromadb/README.md +0 -0
  79. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/rag_using_chromadb/rag_using_chromadb.py +0 -0
  80. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/rag_using_chromadb/requirements.txt +0 -0
  81. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/examples/smolagents/rag_using_chromadb/sample.env +0 -0
  82. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/__init__.py +0 -0
  83. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/_version.py +0 -0
  84. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/dataset.py +0 -0
  85. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/evaluation.py +0 -0
  86. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/experiment.py +0 -0
  87. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/guardrails_manager.py +0 -0
  88. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/internal_api_completion.py +0 -0
  89. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/prompt_manager.py +0 -0
  90. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/proxy_call.py +0 -0
  91. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/ragaai_catalyst.py +0 -0
  92. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/__init__.py +0 -0
  93. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/config/detectors.toml +0 -0
  94. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/data_generator/scenario_generator.py +0 -0
  95. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/data_generator/test_case_generator.py +0 -0
  96. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/evaluator.py +0 -0
  97. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/llm_generator.py +0 -0
  98. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/llm_generator_old.py +0 -0
  99. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/red_teaming.py +0 -0
  100. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/requirements.txt +0 -0
  101. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/tests/grok.ipynb +0 -0
  102. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/tests/stereotype.ipynb +0 -0
  103. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/upload_result.py +0 -0
  104. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/utils/issue_description.py +0 -0
  105. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming/utils/rt.png +0 -0
  106. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/redteaming_old.py +0 -0
  107. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/synthetic_data_generation.py +0 -0
  108. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/__init__.py +0 -0
  109. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/README.md +0 -0
  110. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/__init__.py +0 -0
  111. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/data/__init__.py +0 -0
  112. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +0 -0
  113. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/FinancialAnalysisSystem.ipynb +0 -0
  114. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/GameActivityEventPlanner.ipynb +0 -0
  115. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/TravelPlanner.ipynb +0 -0
  116. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/__init__.py +0 -0
  117. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py +0 -0
  118. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py +0 -0
  119. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/__init__.py +0 -0
  120. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +0 -0
  121. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +0 -0
  122. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +0 -0
  123. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  124. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +0 -0
  125. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +0 -0
  126. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +0 -0
  127. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +0 -0
  128. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +0 -0
  129. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/__init__.py +0 -0
  130. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +0 -0
  131. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +0 -0
  132. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +0 -0
  133. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py +0 -0
  134. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py +0 -0
  135. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +0 -0
  136. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +0 -0
  137. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +0 -0
  138. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py +0 -0
  139. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/generic.py +0 -0
  140. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +0 -0
  141. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +0 -0
  142. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +0 -0
  143. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +0 -0
  144. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml +0 -0
  145. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py +0 -0
  146. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +0 -0
  147. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py +0 -0
  148. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +0 -0
  149. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/distributed.py +0 -0
  150. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/exporters/__init__.py +0 -0
  151. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +0 -0
  152. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/exporters/file_span_exporter.py +0 -0
  153. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/exporters/raga_exporter.py +0 -0
  154. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +0 -0
  155. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/langchain_callback.py +0 -0
  156. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/llamaindex_callback.py +0 -0
  157. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/llamaindex_instrumentation.py +0 -0
  158. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/__init__.py +0 -0
  159. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py +0 -0
  160. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py +0 -0
  161. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py +0 -0
  162. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py +0 -0
  163. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +0 -0
  164. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/tracers/utils/utils.py +0 -0
  165. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst/utils.py +0 -0
  166. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst.egg-info/dependency_links.txt +0 -0
  167. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/ragaai_catalyst.egg-info/top_level.txt +0 -0
  168. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/setup.cfg +0 -0
  169. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/examples/langgraph/personal_research_assistant/test_research_assistant.py +0 -0
  170. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_base_tracer_add_metrics.py +0 -0
  171. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_base_tracer_metrics.py +0 -0
  172. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_configuration.py +0 -0
  173. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_dataset.py +0 -0
  174. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_evaluation.py +0 -0
  175. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_evaluation_metrics.py +0 -0
  176. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_langchain_tracing.py +0 -0
  177. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_llm_providers.py +0 -0
  178. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_prompt_manager.py +0 -0
  179. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_redteaming.py +0 -0
  180. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/test_synthetic_data_generation.py +0 -0
  181. {ragaai_catalyst-2.1.6b1 → ragaai_catalyst-2.1.6.1b0}/tests/test_catalyst/upload_trace_zip_automation.py +0 -0
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.6b1
3
+ Version: 2.1.6.1b0
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>
6
- Requires-Python: <3.13,>=3.9
6
+ Requires-Python: <3.13,>=3.10
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Requires-Dist: aiohttp>=3.10.2
@@ -39,7 +39,7 @@ Requires-Dist: openinference-instrumentation-openai
39
39
  Requires-Dist: openinference-instrumentation-bedrock
40
40
  Requires-Dist: openinference-instrumentation-crewai
41
41
  Requires-Dist: openinference-instrumentation-haystack
42
- Requires-Dist: openinference-instrumentation-autogen
42
+ Requires-Dist: openinference-instrumentation-openai-agents
43
43
  Requires-Dist: openinference-instrumentation-smolagents
44
44
  Requires-Dist: opentelemetry-sdk
45
45
  Requires-Dist: opentelemetry-exporter-otlp
@@ -51,6 +51,7 @@ Requires-Dist: black; extra == "dev"
51
51
  Requires-Dist: isort; extra == "dev"
52
52
  Requires-Dist: mypy; extra == "dev"
53
53
  Requires-Dist: flake8; extra == "dev"
54
+ Dynamic: license-file
54
55
 
55
56
  # RagaAI Catalyst&nbsp; ![GitHub release (latest by date)](https://img.shields.io/github/v/release/raga-ai-hub/ragaai-catalyst) ![GitHub stars](https://img.shields.io/github/stars/raga-ai-hub/ragaai-catalyst?style=social) ![Issues](https://img.shields.io/github/issues/raga-ai-hub/ragaai-catalyst)
56
57
 
@@ -1,15 +1,11 @@
1
- import sys
2
- sys.path.append('.')
3
-
4
- from ragaai_catalyst import RagaAICatalyst, init_tracing
5
- from ragaai_catalyst.tracers import Tracer
6
-
7
1
  import os
8
2
  from dotenv import load_dotenv
9
3
  from crewai import Agent, Task, Crew, Process
10
4
  from crewai.tools import tool
11
5
  from typing import Any
12
6
 
7
+ from ragaai_catalyst import RagaAICatalyst, init_tracing
8
+ from ragaai_catalyst.tracers import Tracer
13
9
 
14
10
  load_dotenv()
15
11
 
@@ -98,4 +94,4 @@ try:
98
94
  print("\nGenerated Story Content:")
99
95
  print(file.read())
100
96
  except FileNotFoundError:
101
- print("Story file not found. Check the writer agent's execution.")
97
+ print("Story file not found. Check the writer agent's execution.")
@@ -0,0 +1,71 @@
1
+ # Email Data Extraction with OpenAI Agents SDK
2
+
3
+ This example demonstrates how to use the OpenAI Agents SDK with RagaAI Catalyst to extract structured information from emails.
4
+
5
+ ## Overview
6
+
7
+ The application uses OpenAI's Agents SDK to parse unstructured email text and extract key information such as:
8
+ - Email subject and sender details
9
+ - Main discussion points
10
+ - Meeting information (date, time, location)
11
+ - Action items and tasks with assignees
12
+ - Next steps
13
+
14
+ The extracted data is structured using Pydantic models for easy manipulation and validation.
15
+
16
+ ## Requirements
17
+
18
+ - Python 3.8+
19
+ - OpenAI API key
20
+ - RagaAI Catalyst credentials
21
+
22
+ ## Installation
23
+
24
+ 1. Clone the repository
25
+ 2. Install the required dependencies:
26
+ ```bash
27
+ pip install -r requirements.txt
28
+ ```
29
+ 3. Copy [sample.env](cci:7://file:///Users/ragaai_user/work/ragaai-catalyst/examples/openai_agents_sdk/sample.env:0:0-0:0) to [.env](cci:7://file:///Users/ragaai_user/work/ragaai-catalyst/examples/openai_agents_sdk/sample.env:0:0-0:0) and fill in your API keys:
30
+ ```bash
31
+ cp sample.env .env
32
+ ```
33
+
34
+ ## Environment Variables
35
+
36
+ Configure the following environment variables in your [.env](cci:7://file:///Users/ragaai_user/work/ragaai-catalyst/examples/openai_agents_sdk/sample.env:0:0-0:0) file:
37
+
38
+ - `OPENAI_API_KEY`: Your OpenAI API key
39
+ - `CATALYST_ACCESS_KEY`: Your RagaAI Catalyst access key
40
+ - `CATALYST_SECRET_KEY`: Your RagaAI Catalyst secret key
41
+ - `CATALYST_BASE_URL`: RagaAI Catalyst base URL
42
+ - `PROJECT_NAME`: Name for your project in RagaAI Catalyst (default: 'email-extraction')
43
+ - `DATASET_NAME`: Name for your dataset in RagaAI Catalyst (default: 'email-data')
44
+
45
+ ## Usage
46
+
47
+ Run the example script:
48
+
49
+ ```bash
50
+ python data_extraction_email.py
51
+ ```
52
+ The script will:
53
+
54
+ 1. Initialize the RagaAI Catalyst client for tracing
55
+ 2. Set up an OpenAI Agent with appropriate instructions
56
+ 3. Process a sample email to extract structured data
57
+ 4. Display the extracted information
58
+
59
+ ## Customization
60
+
61
+ You can modify the `sample_email` variable in the script to process different emails, or adapt the code to read emails from files or an API.
62
+
63
+ The Pydantic models (`Person`, `Meeting`, `Task`, `EmailData`) can be extended to capture additional information as needed.
64
+
65
+ ## Integration with RagaAI Catalyst
66
+
67
+ This example integrates with RagaAI Catalyst for tracing and monitoring agent interactions. The integration helps with:
68
+
69
+ - Tracking agent performance
70
+ - Debugging complex agent workflows
71
+ - Collecting data for future improvements
@@ -0,0 +1,189 @@
1
+ import os
2
+ import time
3
+ from typing import List, Optional, Callable, Any
4
+ from pydantic import BaseModel
5
+ from dotenv import load_dotenv
6
+
7
+ from agents import Agent, Runner, ModelSettings, set_tracing_export_api_key
8
+
9
+ from ragaai_catalyst import RagaAICatalyst, init_tracing
10
+ from ragaai_catalyst.tracers import Tracer
11
+
12
+ load_dotenv()
13
+ set_tracing_export_api_key(os.getenv('OPENAI_API_KEY'))
14
+
15
+ def initialize_catalyst():
16
+ """Initialize RagaAI Catalyst using environment credentials."""
17
+ catalyst = RagaAICatalyst(
18
+ access_key=os.getenv('CATALYST_ACCESS_KEY'),
19
+ secret_key=os.getenv('CATALYST_SECRET_KEY'),
20
+ base_url=os.getenv('CATALYST_BASE_URL')
21
+ )
22
+
23
+ tracer = Tracer(
24
+ project_name=os.environ.get('PROJECT_NAME', 'email-extraction'),
25
+ dataset_name=os.environ.get('DATASET_NAME', 'email-data'),
26
+ tracer_type="agentic/openai_agents",
27
+ )
28
+
29
+ init_tracing(catalyst=catalyst, tracer=tracer)
30
+
31
+ class Person(BaseModel):
32
+ """Person data model for email sender and recipients."""
33
+ name: str
34
+ role: Optional[str] = None
35
+ contact: Optional[str] = None
36
+
37
+ class Meeting(BaseModel):
38
+ """Meeting data model for scheduled meetings in emails."""
39
+ date: str
40
+ time: str
41
+ location: Optional[str] = None
42
+ duration: Optional[str] = None
43
+
44
+ class Task(BaseModel):
45
+ """Task data model for action items in emails."""
46
+ description: str
47
+ assignee: Optional[str] = None
48
+ deadline: Optional[str] = None
49
+ priority: Optional[str] = None
50
+
51
+ class EmailData(BaseModel):
52
+ """Complete email data model with structured information."""
53
+ subject: str
54
+ sender: Person
55
+ recipients: List[Person]
56
+ main_points: List[str]
57
+ meetings: List[Meeting]
58
+ tasks: List[Task]
59
+ next_steps: Optional[str] = None
60
+
61
+ def initialize_agent(agent_name: str, agent_instructions: str|Callable, handoff_description: Optional[str]=None, handoffs: List[Agent]=list(), model_name: str='gpt-4o', temperature: float=0.3, max_tokens: int=1000, output_type: Optional[type[Any]]=None):
62
+ """Initialize the OpenAI agent for email extraction."""
63
+ # Initialize the agent with appropriate configuration
64
+ # This could include model selection, temperature settings, etc.
65
+ model_settings = ModelSettings(
66
+ temperature=temperature,
67
+ max_tokens=max_tokens
68
+ )
69
+ agent = Agent(
70
+ name=agent_name,
71
+ instructions=agent_instructions,
72
+ handoff_description=handoff_description,
73
+ handoffs=handoffs,
74
+ model=model_name,
75
+ model_settings=model_settings,
76
+ output_type=output_type
77
+ )
78
+ return agent
79
+
80
+ email_extractor = initialize_agent(
81
+ agent_name="Email Extractor",
82
+ agent_instructions="You are an expert at extracting structured information from emails.",
83
+ model_name="gpt-4o",
84
+ temperature=0.2,
85
+ output_type=EmailData
86
+ )
87
+
88
+ async def extract_email_data(email_text: str) -> EmailData:
89
+ """
90
+ Extract structured data from an email using an OpenAI agent.
91
+
92
+ Args:
93
+ email_text: The raw email text to process
94
+
95
+ Returns:
96
+ EmailData object containing structured information from the email
97
+ """
98
+ runner = Runner()
99
+ extraction_prompt = f"Please extract information from this email:\n\n{email_text}"
100
+ result = await runner.run(
101
+ email_extractor,
102
+ extraction_prompt
103
+ )
104
+ return result.final_output
105
+
106
+ sample_email = """
107
+ From: Alex Johnson <alex.j@techcorp.com>
108
+ To: Team Development <team-dev@techcorp.com>
109
+ CC: Sarah Wong <sarah.w@techcorp.com>, Miguel Fernandez <miguel.f@techcorp.com>
110
+ Subject: Project Phoenix Update and Next Steps
111
+
112
+ Hi team,
113
+
114
+ I wanted to follow up on yesterday's discussion about Project Phoenix and outline our next steps.
115
+
116
+ Key points from our discussion:
117
+ - The beta testing phase has shown promising results with 85% positive feedback
118
+ - We're still facing some performance issues on mobile devices
119
+ - The client has requested additional features for the dashboard
120
+
121
+ Let's schedule a follow-up meeting this Friday, June 15th at 2:00 PM in Conference Room B. The meeting should last about 1.5 hours, and we'll need to prepare the updated project timeline.
122
+
123
+ Action items:
124
+ 1. Sarah to address the mobile performance issues by June 20th (High priority)
125
+ 2. Miguel to create mock-ups for the new dashboard features by next Monday
126
+ 3. Everyone to review the beta testing feedback document and add comments by EOD tomorrow
127
+
128
+ If you have any questions before Friday's meeting, feel free to reach out.
129
+
130
+ Best regards,
131
+ Alex Johnson
132
+ Senior Project Manager
133
+ (555) 123-4567
134
+ """
135
+
136
+ def display_email_data(email_data: EmailData):
137
+ """
138
+ Display the extracted email data in a formatted way.
139
+
140
+ Args:
141
+ email_data: The structured EmailData object to display
142
+ """
143
+ print(f"Subject: {email_data.subject}")
144
+ print(f"From: {email_data.sender.name} ({email_data.sender.role})")
145
+
146
+ print("\nMain points:")
147
+ for point in email_data.main_points:
148
+ print(f"- {point}")
149
+
150
+ print("\nMeetings:")
151
+ for meeting in email_data.meetings:
152
+ print(f"- {meeting.date} at {meeting.time}, Location: {meeting.location}")
153
+
154
+ print("\nTasks:")
155
+ for task in email_data.tasks:
156
+ print(f"- {task.description}")
157
+ print(
158
+ f" Assignee: {task.assignee}, Deadline: {task.deadline}, Priority: {task.priority}"
159
+ )
160
+
161
+ if email_data.next_steps:
162
+ print(f"\nNext Steps: {email_data.next_steps}")
163
+
164
+ async def process_email(email_text: str):
165
+ """
166
+ Process an email to extract structured data and display the results.
167
+
168
+ Args:
169
+ email_text: The raw email text to process
170
+
171
+ Returns:
172
+ The structured EmailData object
173
+ """
174
+ if os.getenv('CATALYST_ACCESS_KEY'):
175
+ initialize_catalyst()
176
+
177
+ start_time = time.time()
178
+ email_data = await extract_email_data(email_text)
179
+ duration = time.time() - start_time
180
+
181
+ print(f"Email processing completed in {duration:.2f} seconds")
182
+ display_email_data(email_data)
183
+
184
+ return email_data
185
+
186
+ if __name__ == "__main__":
187
+ import asyncio
188
+
189
+ asyncio.run(process_email(sample_email))
@@ -0,0 +1,3 @@
1
+ openai-agents
2
+ python-dotenv
3
+ ragaai_catalyst
@@ -0,0 +1,6 @@
1
+ OPENAI_API_KEY=your_openai_api_key
2
+ CATALYST_ACCESS_KEY=your_catalyst_access_key
3
+ CATALYST_SECRET_KEY=your_catalyst_secret_key
4
+ CATALYST_BASE_URL=your_catalyst_base_url
5
+ PROJECT_NAME=your_project_name
6
+ DATSET_NAME=your_dataset_name
@@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta"
6
6
  name = "ragaai_catalyst"
7
7
  description = "RAGA AI CATALYST"
8
8
  readme = "README.md"
9
- requires-python = ">=3.9,<3.13"
9
+ requires-python = ">=3.10,<3.13"
10
10
  # license = {file = "LICENSE"}
11
- version = "2.1.6.b1"
11
+ version = "2.1.6.1.beta.0"
12
12
  authors = [
13
13
  {name = "Kiran Scaria", email = "kiran.scaria@raga.ai"},
14
14
  {name = "Kedar Gaikwad", email = "kedar.gaikwad@raga.ai"},
@@ -28,8 +28,8 @@ dependencies = [
28
28
  "groq>=0.11.0",
29
29
  "pypdf>=5.3.1",
30
30
  "google-genai>=1.3.0",
31
- "Markdown>=3.7",
32
- "litellm>=1.51.1",
31
+ "Markdown>=3.7",
32
+ "litellm>=1.51.1",
33
33
  "tenacity==8.3.0",
34
34
  "tqdm>=4.66.5",
35
35
  "llama-index>=0.10.0",
@@ -53,11 +53,11 @@ dependencies = [
53
53
  "openinference-instrumentation-bedrock",
54
54
  "openinference-instrumentation-crewai",
55
55
  "openinference-instrumentation-haystack",
56
- "openinference-instrumentation-autogen",
56
+ "openinference-instrumentation-openai-agents",
57
57
  "openinference-instrumentation-smolagents",
58
58
  "opentelemetry-sdk",
59
59
  "opentelemetry-exporter-otlp",
60
- "opentelemetry-proto>=1.12.0"
60
+ "opentelemetry-proto>=1.12.0",
61
61
  ]
62
62
 
63
63
  [project.optional-dependencies]
@@ -164,6 +164,7 @@ class GuardExecutor:
164
164
  return doc
165
165
 
166
166
  def execute_input_guardrails(self, prompt, prompt_params):
167
+ self.current_trace_id =None
167
168
  doc = self.set_variables(prompt,prompt_params)
168
169
  deployment_response = self.execute_deployment(self.input_deployment_id,doc)
169
170
  self.current_trace_id = deployment_response['data']['results'][0]['executionId']
@@ -21,11 +21,6 @@ from opentelemetry.sdk import trace as trace_sdk
21
21
  from opentelemetry.sdk.trace.export import SimpleSpanProcessor
22
22
  from ragaai_catalyst.tracers.exporters.file_span_exporter import FileSpanExporter
23
23
  from ragaai_catalyst.tracers.exporters.raga_exporter import RagaExporter
24
- from ragaai_catalyst.tracers.instrumentators import (
25
- LangchainInstrumentor,
26
- OpenAIInstrumentor,
27
- LlamaIndexInstrumentor,
28
- )
29
24
  from ragaai_catalyst.tracers.utils import get_unique_key
30
25
  # from ragaai_catalyst.tracers.llamaindex_callback import LlamaIndexTracer
31
26
  from ragaai_catalyst.tracers.llamaindex_instrumentation import LlamaIndexInstrumentationTracer
@@ -283,6 +278,14 @@ class Tracer(AgenticTracing):
283
278
  logger.info("Instrumenting Smolagents...")
284
279
  except (ImportError, ModuleNotFoundError):
285
280
  logger.debug("Smolagents not available in environment")
281
+
282
+ # OpenAI Agents
283
+ try:
284
+ from openinference.instrumentation.openai_agents import OpenAIAgentsInstrumentor
285
+ instrumentors.append((OpenAIAgentsInstrumentor, []))
286
+ logger.info("Instrumenting OpenAI Agents...")
287
+ except (ImportError, ModuleNotFoundError):
288
+ logger.debug("OpenAI Agents not available in environment")
286
289
 
287
290
  if not instrumentors:
288
291
  logger.warning("No agentic packages found in environment to instrument")
@@ -298,7 +301,7 @@ class Tracer(AgenticTracing):
298
301
  elif tracer_type == "agentic/llamaindex":
299
302
  from openinference.instrumentation.llama_index import LlamaIndexInstrumentor
300
303
  instrumentors += [(LlamaIndexInstrumentor, [])]
301
-
304
+
302
305
  elif tracer_type == "agentic/langchain" or tracer_type == "agentic/langgraph":
303
306
  from openinference.instrumentation.langchain import LangChainInstrumentor
304
307
  instrumentors += [(LangChainInstrumentor, [])]
@@ -319,6 +322,10 @@ class Tracer(AgenticTracing):
319
322
  elif tracer_type == "agentic/smolagents":
320
323
  from openinference.instrumentation.smolagents import SmolagentsInstrumentor
321
324
  instrumentors += [(SmolagentsInstrumentor, [])]
325
+
326
+ elif tracer_type == "agentic/openai_agents":
327
+ from openinference.instrumentation.openai_agents import OpenAIAgentsInstrumentor
328
+ instrumentors += [(OpenAIAgentsInstrumentor, [])]
322
329
 
323
330
  else:
324
331
  # Unknown agentic tracer type
@@ -518,6 +525,14 @@ class Tracer(AgenticTracing):
518
525
  combined_metadata.update(user_detail['trace_user_detail']['metadata'])
519
526
  if additional_metadata:
520
527
  combined_metadata.update(additional_metadata)
528
+
529
+ model_cost_latency_metadata = {}
530
+ if additional_metadata:
531
+ model_cost_latency_metadata["model"] = additional_metadata["model_name"]
532
+ model_cost_latency_metadata["total_cost"] = additional_metadata["cost"]
533
+ model_cost_latency_metadata["total_latency"] = additional_metadata["latency"]
534
+ model_cost_latency_metadata["recorded_on"] = datetime.datetime.now().astimezone().isoformat()
535
+ combined_metadata.update(model_cost_latency_metadata)
521
536
 
522
537
  langchain_traces = langchain_tracer_extraction(data, self.user_context)
523
538
  final_result = convert_langchain_callbacks_output(langchain_traces)
@@ -28,11 +28,14 @@ class UploadTraces:
28
28
  "response":{"columnType": "response"},
29
29
  "context": {"columnType": "context"},
30
30
  "llm_model": {"columnType":"pipeline"},
31
- "recorded_on": {"columnType": "metadata"},
31
+ "recorded_on": {"columnType": "timestamp"},
32
32
  "embed_model": {"columnType":"pipeline"},
33
33
  "log_source": {"columnType": "metadata"},
34
34
  "vector_store":{"columnType":"pipeline"},
35
- "feedback": {"columnType":"feedBack"}
35
+ "feedback": {"columnType":"feedBack"},
36
+ "model": {"columnType": "metadata"},
37
+ "total_cost": {"columnType": "metadata", "dataType": "numerical"},
38
+ "total_latency": {"columnType": "metadata", "dataType": "numerical"},
36
39
  }
37
40
 
38
41
  if additional_metadata_keys:
@@ -226,7 +226,7 @@ def get_spans(input_trace, custom_model_cost):
226
226
 
227
227
  def convert_json_format(input_trace, custom_model_cost):
228
228
  """
229
- Converts a JSON from one format to UI format.
229
+ Converts a JSON from one format to UI format, handling nested spans.
230
230
 
231
231
  Args:
232
232
  input_trace (str): The input JSON string.
@@ -238,8 +238,8 @@ def convert_json_format(input_trace, custom_model_cost):
238
238
  "id": input_trace[0]["context"]["trace_id"],
239
239
  "trace_name": "",
240
240
  "project_name": "",
241
- "start_time": convert_time_format(min(item["start_time"] for item in input_trace)), # Find the minimum start_time of all spans
242
- "end_time": convert_time_format(max(item["end_time"] for item in input_trace)) # Find the maximum end_time of all spans
241
+ "start_time": convert_time_format(min(item["start_time"] for item in input_trace)),
242
+ "end_time": convert_time_format(max(item["end_time"] for item in input_trace))
243
243
  }
244
244
  final_trace["metadata"] = {
245
245
  "tokens": {
@@ -253,31 +253,46 @@ def convert_json_format(input_trace, custom_model_cost):
253
253
  "total_cost": 0.0
254
254
  }
255
255
  }
256
- final_trace["replays"]={"source":None}
257
- final_trace["data"]=[{}]
256
+ final_trace["replays"] = {"source": None}
257
+ final_trace["data"] = [{}]
258
+ final_trace["network_calls"] = []
259
+ final_trace["interactions"] = []
260
+
261
+ # import pdb; pdb.set_trace()
262
+
263
+ # Helper to recursively extract cost/token info from all spans
264
+ def accumulate_metrics(span):
265
+ if span["type"] == "llm" and "info" in span:
266
+ info = span["info"]
267
+ cost = info.get("cost", {})
268
+ tokens = info.get("tokens", {})
269
+
270
+ final_trace["metadata"]["tokens"]["prompt_tokens"] += tokens.get("prompt_tokens", 0.0)
271
+ final_trace["metadata"]["tokens"]["completion_tokens"] += tokens.get("completion_tokens", 0.0)
272
+ final_trace["metadata"]["tokens"]["total_tokens"] += tokens.get("total_tokens", 0.0)
273
+
274
+ final_trace["metadata"]["cost"]["input_cost"] += cost.get("input_cost", 0.0)
275
+ final_trace["metadata"]["cost"]["output_cost"] += cost.get("output_cost", 0.0)
276
+ final_trace["metadata"]["cost"]["total_cost"] += cost.get("total_cost", 0.0)
277
+
278
+ # Recursively process children
279
+ children = span.get("data", {}).get("children", [])
280
+ for child in children:
281
+ accumulate_metrics(child)
282
+
283
+ # Extract and attach spans
258
284
  try:
259
- final_trace["data"][0]["spans"] = get_spans(input_trace, custom_model_cost)
285
+ spans = get_spans(input_trace, custom_model_cost)
286
+ final_trace["data"][0]["spans"] = spans
287
+
288
+ # Accumulate from root spans and their children
289
+ for span in spans:
290
+ accumulate_metrics(span)
260
291
  except Exception as e:
261
292
  raise Exception(f"Error in get_spans function: {e}")
262
- final_trace["network_calls"] =[]
263
- final_trace["interactions"] = []
264
-
265
- for itr in final_trace["data"][0]["spans"]:
266
- if itr["type"]=="llm":
267
- if "tokens" in itr["info"]:
268
- if "prompt_tokens" in itr["info"]["tokens"]:
269
- final_trace["metadata"]["tokens"]["prompt_tokens"] += itr["info"]["tokens"].get('prompt_tokens', 0.0)
270
- final_trace["metadata"]["cost"]["input_cost"] += itr["info"]["cost"].get('input_cost', 0.0)
271
- if "completion_tokens" in itr["info"]["tokens"]:
272
- final_trace["metadata"]["tokens"]["completion_tokens"] += itr["info"]["tokens"].get('completion_tokens', 0.0)
273
- final_trace["metadata"]["cost"]["output_cost"] += itr["info"]["cost"].get('output_cost', 0.0)
274
- if "tokens" in itr["info"]:
275
- if "total_tokens" in itr["info"]["tokens"]:
276
- final_trace["metadata"]["tokens"]["total_tokens"] += itr["info"]["tokens"].get('total_tokens', 0.0)
277
- final_trace["metadata"]["cost"]["total_cost"] += itr["info"]["cost"].get('total_cost', 0.0)
278
293
 
279
- # get the total tokens, cost
280
- final_trace["metadata"]["total_cost"] = final_trace["metadata"]["cost"]["total_cost"]
294
+ # Total metadata summary
295
+ final_trace["metadata"]["total_cost"] = final_trace["metadata"]["cost"]["total_cost"]
281
296
  final_trace["metadata"]["total_tokens"] = final_trace["metadata"]["tokens"]["total_tokens"]
282
297
 
283
298
  return final_trace
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.6b1
3
+ Version: 2.1.6.1b0
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>
6
- Requires-Python: <3.13,>=3.9
6
+ Requires-Python: <3.13,>=3.10
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Requires-Dist: aiohttp>=3.10.2
@@ -39,7 +39,7 @@ Requires-Dist: openinference-instrumentation-openai
39
39
  Requires-Dist: openinference-instrumentation-bedrock
40
40
  Requires-Dist: openinference-instrumentation-crewai
41
41
  Requires-Dist: openinference-instrumentation-haystack
42
- Requires-Dist: openinference-instrumentation-autogen
42
+ Requires-Dist: openinference-instrumentation-openai-agents
43
43
  Requires-Dist: openinference-instrumentation-smolagents
44
44
  Requires-Dist: opentelemetry-sdk
45
45
  Requires-Dist: opentelemetry-exporter-otlp
@@ -51,6 +51,7 @@ Requires-Dist: black; extra == "dev"
51
51
  Requires-Dist: isort; extra == "dev"
52
52
  Requires-Dist: mypy; extra == "dev"
53
53
  Requires-Dist: flake8; extra == "dev"
54
+ Dynamic: license-file
54
55
 
55
56
  # RagaAI Catalyst&nbsp; ![GitHub release (latest by date)](https://img.shields.io/github/v/release/raga-ai-hub/ragaai-catalyst) ![GitHub stars](https://img.shields.io/github/stars/raga-ai-hub/ragaai-catalyst?style=social) ![Issues](https://img.shields.io/github/issues/raga-ai-hub/ragaai-catalyst)
56
57
 
@@ -22,10 +22,6 @@ docs/img/last_main.png
22
22
  docs/img/main.png
23
23
  docs/img/projects_new.png
24
24
  docs/img/trace_comp.png
25
- examples/autogen/crisis_response_coordinator/OAI_CONFIG_LIST.json
26
- examples/autogen/crisis_response_coordinator/crisis_response_coordinator.py
27
- examples/autogen/crisis_response_coordinator/requirements.txt
28
- examples/autogen/crisis_response_coordinator/sample.env
29
25
  examples/crewai/scifi_writer/README.md
30
26
  examples/crewai/scifi_writer/requirements.txt
31
27
  examples/crewai/scifi_writer/sample.env
@@ -54,6 +50,10 @@ examples/llamaindex_examples/legal_research_rag/sample.env
54
50
  examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv
55
51
  examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf
56
52
  examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf
53
+ examples/openai_agents_sdk/README.md
54
+ examples/openai_agents_sdk/data_extraction_email.py
55
+ examples/openai_agents_sdk/requirements.txt
56
+ examples/openai_agents_sdk/sample.env
57
57
  examples/smolagents/most_upvoted_paper/README.md
58
58
  examples/smolagents/most_upvoted_paper/most_upvoted_paper.py
59
59
  examples/smolagents/most_upvoted_paper/requirements.txt
@@ -148,9 +148,6 @@ ragaai_catalyst/tracers/exporters/file_span_exporter.py
148
148
  ragaai_catalyst/tracers/exporters/raga_exporter.py
149
149
  ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py
150
150
  ragaai_catalyst/tracers/instrumentators/__init__.py
151
- ragaai_catalyst/tracers/instrumentators/langchain.py
152
- ragaai_catalyst/tracers/instrumentators/llamaindex.py
153
- ragaai_catalyst/tracers/instrumentators/openai.py
154
151
  ragaai_catalyst/tracers/utils/__init__.py
155
152
  ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py
156
153
  ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py
@@ -31,7 +31,7 @@ openinference-instrumentation-openai
31
31
  openinference-instrumentation-bedrock
32
32
  openinference-instrumentation-crewai
33
33
  openinference-instrumentation-haystack
34
- openinference-instrumentation-autogen
34
+ openinference-instrumentation-openai-agents
35
35
  openinference-instrumentation-smolagents
36
36
  opentelemetry-sdk
37
37
  opentelemetry-exporter-otlp
@@ -1,5 +1,5 @@
1
1
  aiohappyeyeballs==2.4.4
2
- aiohttp==3.10.2
2
+ aiohttp==3.10.11
3
3
  aiosignal==1.3.2
4
4
  annotated-types==0.7.0
5
5
  anyio==4.7.0
@@ -34,7 +34,7 @@ huggingface-hub==0.27.0
34
34
  idna==3.10
35
35
  importlib_metadata==7.1.0
36
36
  ipynbname
37
- Jinja2==3.1.5
37
+ Jinja2==3.1.6
38
38
  jsonpatch==1.33
39
39
  jsonpointer==3.0.0
40
40
  jsonschema==4.23.0
@@ -1,6 +0,0 @@
1
- [
2
- {
3
- "model": "gpt-4o-mini",
4
- "api_key": "your-openai-api-key"
5
- }
6
- ]