openlit 1.34.20__tar.gz → 1.34.22__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 (153) hide show
  1. {openlit-1.34.20 → openlit-1.34.22}/PKG-INFO +1 -1
  2. {openlit-1.34.20 → openlit-1.34.22}/pyproject.toml +1 -1
  3. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/__helpers.py +40 -0
  4. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/openai/__init__.py +63 -68
  5. openlit-1.34.22/src/openlit/instrumentation/openai/async_openai.py +501 -0
  6. openlit-1.34.22/src/openlit/instrumentation/openai/openai.py +501 -0
  7. openlit-1.34.22/src/openlit/instrumentation/openai/utils.py +794 -0
  8. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/vertexai/__init__.py +18 -23
  9. openlit-1.34.22/src/openlit/instrumentation/vertexai/async_vertexai.py +141 -0
  10. openlit-1.34.22/src/openlit/instrumentation/vertexai/utils.py +204 -0
  11. openlit-1.34.22/src/openlit/instrumentation/vertexai/vertexai.py +141 -0
  12. openlit-1.34.20/src/openlit/instrumentation/openai/async_openai.py +0 -1575
  13. openlit-1.34.20/src/openlit/instrumentation/openai/openai.py +0 -1575
  14. openlit-1.34.20/src/openlit/instrumentation/vertexai/async_vertexai.py +0 -459
  15. openlit-1.34.20/src/openlit/instrumentation/vertexai/vertexai.py +0 -459
  16. {openlit-1.34.20 → openlit-1.34.22}/LICENSE +0 -0
  17. {openlit-1.34.20 → openlit-1.34.22}/README.md +0 -0
  18. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/__init__.py +0 -0
  19. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/__init__.py +0 -0
  20. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/all.py +0 -0
  21. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/bias_detection.py +0 -0
  22. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/hallucination.py +0 -0
  23. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/toxicity.py +0 -0
  24. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/evals/utils.py +0 -0
  25. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/__init__.py +0 -0
  26. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/all.py +0 -0
  27. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/prompt_injection.py +0 -0
  28. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/restrict_topic.py +0 -0
  29. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/sensitive_topic.py +0 -0
  30. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/guard/utils.py +0 -0
  31. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ag2/__init__.py +0 -0
  32. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ag2/ag2.py +0 -0
  33. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ai21/__init__.py +0 -0
  34. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ai21/ai21.py +0 -0
  35. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ai21/async_ai21.py +0 -0
  36. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ai21/utils.py +0 -0
  37. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/anthropic/__init__.py +0 -0
  38. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/anthropic/anthropic.py +0 -0
  39. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/anthropic/async_anthropic.py +0 -0
  40. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/anthropic/utils.py +0 -0
  41. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/assemblyai/__init__.py +0 -0
  42. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/assemblyai/assemblyai.py +0 -0
  43. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/assemblyai/utils.py +0 -0
  44. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/astra/__init__.py +0 -0
  45. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/astra/astra.py +0 -0
  46. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/astra/async_astra.py +0 -0
  47. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/astra/utils.py +0 -0
  48. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/azure_ai_inference/__init__.py +0 -0
  49. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/azure_ai_inference/async_azure_ai_inference.py +0 -0
  50. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/azure_ai_inference/azure_ai_inference.py +0 -0
  51. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/azure_ai_inference/utils.py +0 -0
  52. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/bedrock/__init__.py +0 -0
  53. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/bedrock/bedrock.py +0 -0
  54. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/bedrock/utils.py +0 -0
  55. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/chroma/__init__.py +0 -0
  56. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/chroma/chroma.py +0 -0
  57. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/cohere/__init__.py +0 -0
  58. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/cohere/async_cohere.py +0 -0
  59. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/cohere/cohere.py +0 -0
  60. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/cohere/utils.py +0 -0
  61. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/controlflow/__init__.py +0 -0
  62. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/controlflow/controlflow.py +0 -0
  63. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/crawl4ai/__init__.py +0 -0
  64. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/crawl4ai/async_crawl4ai.py +0 -0
  65. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/crawl4ai/crawl4ai.py +0 -0
  66. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/crewai/__init__.py +0 -0
  67. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/crewai/crewai.py +0 -0
  68. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/dynamiq/__init__.py +0 -0
  69. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/dynamiq/dynamiq.py +0 -0
  70. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/elevenlabs/__init__.py +0 -0
  71. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/elevenlabs/async_elevenlabs.py +0 -0
  72. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/elevenlabs/elevenlabs.py +0 -0
  73. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/elevenlabs/utils.py +0 -0
  74. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/embedchain/__init__.py +0 -0
  75. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/embedchain/embedchain.py +0 -0
  76. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/firecrawl/__init__.py +0 -0
  77. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/firecrawl/firecrawl.py +0 -0
  78. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/google_ai_studio/__init__.py +0 -0
  79. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/google_ai_studio/async_google_ai_studio.py +0 -0
  80. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/google_ai_studio/google_ai_studio.py +0 -0
  81. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/google_ai_studio/utils.py +0 -0
  82. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/gpt4all/__init__.py +0 -0
  83. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/gpt4all/gpt4all.py +0 -0
  84. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/gpt4all/utils.py +0 -0
  85. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/gpu/__init__.py +0 -0
  86. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/groq/__init__.py +0 -0
  87. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/groq/async_groq.py +0 -0
  88. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/groq/groq.py +0 -0
  89. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/groq/utils.py +0 -0
  90. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/haystack/__init__.py +0 -0
  91. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/haystack/haystack.py +0 -0
  92. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/julep/__init__.py +0 -0
  93. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/julep/async_julep.py +0 -0
  94. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/julep/julep.py +0 -0
  95. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/langchain/__init__.py +0 -0
  96. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/langchain/async_langchain.py +0 -0
  97. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/langchain/langchain.py +0 -0
  98. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/letta/__init__.py +0 -0
  99. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/letta/letta.py +0 -0
  100. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/litellm/__init__.py +0 -0
  101. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/litellm/async_litellm.py +0 -0
  102. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/litellm/litellm.py +0 -0
  103. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/litellm/utils.py +0 -0
  104. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/llamaindex/__init__.py +0 -0
  105. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/llamaindex/llamaindex.py +0 -0
  106. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mem0/__init__.py +0 -0
  107. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mem0/mem0.py +0 -0
  108. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/milvus/__init__.py +0 -0
  109. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/milvus/milvus.py +0 -0
  110. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mistral/__init__.py +0 -0
  111. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mistral/async_mistral.py +0 -0
  112. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mistral/mistral.py +0 -0
  113. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/mistral/utils.py +0 -0
  114. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/multion/__init__.py +0 -0
  115. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/multion/async_multion.py +0 -0
  116. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/multion/multion.py +0 -0
  117. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ollama/__init__.py +0 -0
  118. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ollama/async_ollama.py +0 -0
  119. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ollama/ollama.py +0 -0
  120. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/ollama/utils.py +0 -0
  121. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/openai_agents/__init__.py +0 -0
  122. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/openai_agents/openai_agents.py +0 -0
  123. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/phidata/__init__.py +0 -0
  124. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/phidata/phidata.py +0 -0
  125. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/pinecone/__init__.py +0 -0
  126. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/pinecone/pinecone.py +0 -0
  127. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/premai/__init__.py +0 -0
  128. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/premai/premai.py +0 -0
  129. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/premai/utils.py +0 -0
  130. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/pydantic_ai/__init__.py +0 -0
  131. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/pydantic_ai/pydantic_ai.py +0 -0
  132. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/pydantic_ai/utils.py +0 -0
  133. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/qdrant/__init__.py +0 -0
  134. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/qdrant/async_qdrant.py +0 -0
  135. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/qdrant/qdrant.py +0 -0
  136. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/reka/__init__.py +0 -0
  137. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/reka/async_reka.py +0 -0
  138. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/reka/reka.py +0 -0
  139. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/reka/utils.py +0 -0
  140. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/together/__init__.py +0 -0
  141. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/together/async_together.py +0 -0
  142. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/together/together.py +0 -0
  143. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/together/utils.py +0 -0
  144. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/transformers/__init__.py +0 -0
  145. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/transformers/transformers.py +0 -0
  146. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/transformers/utils.py +0 -0
  147. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/vllm/__init__.py +0 -0
  148. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/vllm/utils.py +0 -0
  149. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/instrumentation/vllm/vllm.py +0 -0
  150. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/otel/events.py +0 -0
  151. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/otel/metrics.py +0 -0
  152. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/otel/tracing.py +0 -0
  153. {openlit-1.34.20 → openlit-1.34.22}/src/openlit/semcov/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: openlit
3
- Version: 1.34.20
3
+ Version: 1.34.22
4
4
  Summary: OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications and GPUs, facilitating the integration of observability into your GenAI-driven projects
5
5
  License: Apache-2.0
6
6
  Keywords: OpenTelemetry,otel,otlp,llm,tracing,openai,anthropic,claude,cohere,llm monitoring,observability,monitoring,gpt,Generative AI,chatGPT,gpu
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openlit"
3
- version = "1.34.20"
3
+ version = "1.34.22"
4
4
  description = "OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications and GPUs, facilitating the integration of observability into your GenAI-driven projects"
5
5
  authors = ["OpenLIT"]
6
6
  license = "Apache-2.0"
@@ -402,3 +402,43 @@ def record_embedding_metrics(metrics, gen_ai_operation, gen_ai_system, server_ad
402
402
  metrics["genai_requests"].add(1, attributes)
403
403
  metrics["genai_prompt_tokens"].add(input_tokens, attributes)
404
404
  metrics["genai_cost"].record(cost, attributes)
405
+
406
+ def record_audio_metrics(metrics, gen_ai_operation, gen_ai_system, server_address, server_port,
407
+ request_model, response_model, environment, application_name, start_time, end_time, cost):
408
+ """
409
+ Record audio-specific metrics for the operation.
410
+ """
411
+
412
+ attributes = create_metrics_attributes(
413
+ operation=gen_ai_operation,
414
+ system=gen_ai_system,
415
+ server_address=server_address,
416
+ server_port=server_port,
417
+ request_model=request_model,
418
+ response_model=response_model,
419
+ service_name=application_name,
420
+ deployment_environment=environment,
421
+ )
422
+ metrics["genai_client_operation_duration"].record(end_time - start_time, attributes)
423
+ metrics["genai_requests"].add(1, attributes)
424
+ metrics["genai_cost"].record(cost, attributes)
425
+
426
+ def record_image_metrics(metrics, gen_ai_operation, gen_ai_system, server_address, server_port,
427
+ request_model, response_model, environment, application_name, start_time, end_time, cost):
428
+ """
429
+ Record image-specific metrics for the operation.
430
+ """
431
+
432
+ attributes = create_metrics_attributes(
433
+ operation=gen_ai_operation,
434
+ system=gen_ai_system,
435
+ server_address=server_address,
436
+ server_port=server_port,
437
+ request_model=request_model,
438
+ response_model=response_model,
439
+ service_name=application_name,
440
+ deployment_environment=environment,
441
+ )
442
+ metrics["genai_client_operation_duration"].record(end_time - start_time, attributes)
443
+ metrics["genai_requests"].add(1, attributes)
444
+ metrics["genai_cost"].record(cost, attributes)
@@ -1,147 +1,142 @@
1
- # pylint: disable=useless-return, bad-staticmethod-argument, disable=duplicate-code
2
1
  """Initializer of Auto Instrumentation of OpenAI Functions"""
3
2
  from typing import Collection
4
3
  import importlib.metadata
5
4
  from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
6
5
  from wrapt import wrap_function_wrapper
7
6
 
8
- from openlit.instrumentation.openai.openai import chat_completions, embedding, responses, chat_completions_parse
9
- from openlit.instrumentation.openai.openai import image_generate, image_variatons, audio_create
10
- from openlit.instrumentation.openai.async_openai import (async_chat_completions, async_embedding,
11
- async_chat_completions_parse)
12
- from openlit.instrumentation.openai.async_openai import async_image_generate, async_image_variatons
13
- from openlit.instrumentation.openai.async_openai import async_audio_create, async_responses
7
+ from openlit.instrumentation.openai.openai import (
8
+ chat_completions, embedding, responses, chat_completions_parse,
9
+ image_generate, image_variatons, audio_create
10
+ )
11
+ from openlit.instrumentation.openai.async_openai import (
12
+ async_chat_completions, async_embedding, async_chat_completions_parse,
13
+ async_image_generate, async_image_variations, async_audio_create, async_responses
14
+ )
14
15
 
15
16
  _instruments = ("openai >= 1.92.0",)
16
17
 
17
18
  class OpenAIInstrumentor(BaseInstrumentor):
18
- """An instrumentor for OpenAI's client library."""
19
+ """
20
+ An instrumentor for OpenAI client library.
21
+ """
19
22
 
20
23
  def instrumentation_dependencies(self) -> Collection[str]:
21
24
  return _instruments
22
25
 
23
26
  def _instrument(self, **kwargs):
24
- application_name = kwargs.get("application_name")
25
- environment = kwargs.get("environment")
27
+ version = importlib.metadata.version("openai")
28
+ environment = kwargs.get("environment", "default")
29
+ application_name = kwargs.get("application_name", "default")
26
30
  tracer = kwargs.get("tracer")
31
+ pricing_info = kwargs.get("pricing_info", {})
32
+ capture_message_content = kwargs.get("capture_message_content", False)
27
33
  metrics = kwargs.get("metrics_dict")
28
- pricing_info = kwargs.get("pricing_info")
29
- capture_message_content = kwargs.get("capture_message_content")
30
34
  disable_metrics = kwargs.get("disable_metrics")
31
- version = importlib.metadata.version("openai")
32
35
 
36
+ # chat completions
33
37
  wrap_function_wrapper(
34
38
  "openai.resources.chat.completions",
35
39
  "Completions.create",
36
40
  chat_completions(version, environment, application_name,
37
- tracer, pricing_info, capture_message_content,
38
- metrics, disable_metrics),
41
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
39
42
  )
40
43
 
41
44
  wrap_function_wrapper(
42
45
  "openai.resources.chat.completions",
43
46
  "AsyncCompletions.create",
44
47
  async_chat_completions(version, environment, application_name,
45
- tracer, pricing_info, capture_message_content,
46
- metrics, disable_metrics),
48
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
47
49
  )
48
50
 
51
+ # chat completions parse
49
52
  wrap_function_wrapper(
50
- "openai.resources.responses.responses",
51
- "Responses.create",
52
- responses(version, environment, application_name,
53
- tracer, pricing_info, capture_message_content,
54
- metrics, disable_metrics),
53
+ "openai.resources.chat.completions",
54
+ "Completions.parse",
55
+ chat_completions_parse(version, environment, application_name,
56
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
55
57
  )
56
58
 
57
59
  wrap_function_wrapper(
58
- "openai.resources.responses.responses",
59
- "AsyncResponses.create",
60
- async_responses(version, environment, application_name,
61
- tracer, pricing_info, capture_message_content,
62
- metrics, disable_metrics),
60
+ "openai.resources.chat.completions",
61
+ "AsyncCompletions.parse",
62
+ async_chat_completions_parse(version, environment, application_name,
63
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
63
64
  )
64
65
 
66
+ # responses
65
67
  wrap_function_wrapper(
66
- "openai.resources.images",
67
- "Images.generate",
68
- image_generate(version, environment, application_name,
69
- tracer, pricing_info, capture_message_content,
70
- metrics, disable_metrics),
68
+ "openai.resources.responses.responses",
69
+ "Responses.create",
70
+ responses(version, environment, application_name,
71
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
71
72
  )
72
73
 
73
74
  wrap_function_wrapper(
74
- "openai.resources.images",
75
- "AsyncImages.generate",
76
- async_image_generate(version, environment, application_name,
77
- tracer, pricing_info, capture_message_content,
78
- metrics, disable_metrics),
75
+ "openai.resources.responses.responses",
76
+ "AsyncResponses.create",
77
+ async_responses(version, environment, application_name,
78
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
79
79
  )
80
80
 
81
+ # embeddings
81
82
  wrap_function_wrapper(
82
83
  "openai.resources.embeddings",
83
84
  "Embeddings.create",
84
85
  embedding(version, environment, application_name,
85
- tracer, pricing_info, capture_message_content,
86
- metrics, disable_metrics),
86
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
87
87
  )
88
88
 
89
89
  wrap_function_wrapper(
90
90
  "openai.resources.embeddings",
91
91
  "AsyncEmbeddings.create",
92
92
  async_embedding(version, environment, application_name,
93
- tracer, pricing_info, capture_message_content,
94
- metrics, disable_metrics),
93
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
94
+ )
95
+
96
+ # image generation
97
+ wrap_function_wrapper(
98
+ "openai.resources.images",
99
+ "Images.generate",
100
+ image_generate(version, environment, application_name,
101
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
95
102
  )
96
103
 
104
+ wrap_function_wrapper(
105
+ "openai.resources.images",
106
+ "AsyncImages.generate",
107
+ async_image_generate(version, environment, application_name,
108
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
109
+ )
110
+
111
+ # image variations
97
112
  wrap_function_wrapper(
98
113
  "openai.resources.images",
99
114
  "Images.create_variation",
100
- image_variatons(version,
101
- environment, application_name,
102
- tracer, pricing_info, capture_message_content,
103
- metrics, disable_metrics),
115
+ image_variatons(version, environment, application_name,
116
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
104
117
  )
105
118
 
106
119
  wrap_function_wrapper(
107
120
  "openai.resources.images",
108
121
  "AsyncImages.create_variation",
109
- async_image_variatons(version,
110
- environment, application_name,
111
- tracer, pricing_info, capture_message_content,
112
- metrics, disable_metrics),
122
+ async_image_variations(version, environment, application_name,
123
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
113
124
  )
114
125
 
126
+ # audio generation
115
127
  wrap_function_wrapper(
116
128
  "openai.resources.audio.speech",
117
129
  "Speech.create",
118
130
  audio_create(version, environment, application_name,
119
- tracer, pricing_info, capture_message_content,
120
- metrics, disable_metrics),
131
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
121
132
  )
122
133
 
123
134
  wrap_function_wrapper(
124
135
  "openai.resources.audio.speech",
125
136
  "AsyncSpeech.create",
126
137
  async_audio_create(version, environment, application_name,
127
- tracer, pricing_info, capture_message_content,
128
- metrics, disable_metrics),
129
- )
130
-
131
- wrap_function_wrapper(
132
- "openai.resources.chat.completions",
133
- "Completions.parse",
134
- chat_completions_parse(version, environment, application_name, tracer, pricing_info,
135
- capture_message_content, metrics, disable_metrics),
136
- )
137
-
138
- wrap_function_wrapper(
139
- "openai.resources.chat.completions",
140
- "AsyncCompletions.parse",
141
- async_chat_completions_parse(version, environment, application_name, tracer, pricing_info,
142
- capture_message_content, metrics, disable_metrics),
138
+ tracer, pricing_info, capture_message_content, metrics, disable_metrics),
143
139
  )
144
140
 
145
- @staticmethod
146
141
  def _uninstrument(self, **kwargs):
147
142
  pass