openlit 1.14.2__py3-none-any.whl → 1.15.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
openlit/__init__.py CHANGED
@@ -31,6 +31,7 @@ from openlit.instrumentation.vertexai import VertexAIInstrumentor
31
31
  from openlit.instrumentation.groq import GroqInstrumentor
32
32
  from openlit.instrumentation.ollama import OllamaInstrumentor
33
33
  from openlit.instrumentation.gpt4all import GPT4AllInstrumentor
34
+ from openlit.instrumentation.elevenlabs import ElevenLabsInstrumentor
34
35
  from openlit.instrumentation.langchain import LangChainInstrumentor
35
36
  from openlit.instrumentation.llamaindex import LlamaIndexInstrumentor
36
37
  from openlit.instrumentation.haystack import HaystackInstrumentor
@@ -192,6 +193,7 @@ def init(environment="default", application_name="default", tracer=None, otlp_en
192
193
  "groq": "groq",
193
194
  "ollama": "ollama",
194
195
  "gpt4all": "gpt4all",
196
+ "elevenlabs": "elevenlabs",
195
197
  "langchain": "langchain",
196
198
  "llama_index": "llama_index",
197
199
  "haystack": "haystack",
@@ -267,6 +269,7 @@ def init(environment="default", application_name="default", tracer=None, otlp_en
267
269
  "groq": GroqInstrumentor(),
268
270
  "ollama": OllamaInstrumentor(),
269
271
  "gpt4all": GPT4AllInstrumentor(),
272
+ "elevenlabs": ElevenLabsInstrumentor(),
270
273
  "langchain": LangChainInstrumentor(),
271
274
  "llama_index": LlamaIndexInstrumentor(),
272
275
  "haystack": HaystackInstrumentor(),
@@ -0,0 +1,54 @@
1
+ # pylint: disable=useless-return, bad-staticmethod-argument, disable=duplicate-code
2
+ """Initializer of Auto Instrumentation of ElevenLabs Functions"""
3
+
4
+ from typing import Collection
5
+ import importlib.metadata
6
+ from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
7
+ from wrapt import wrap_function_wrapper
8
+
9
+ from openlit.instrumentation.elevenlabs.elevenlabs import (
10
+ generate
11
+ )
12
+ from openlit.instrumentation.elevenlabs.async_elevenlabs import (
13
+ async_generate
14
+ )
15
+
16
+ _instruments = ("elevenlabs >= 1.4.0",)
17
+
18
+ class ElevenLabsInstrumentor(BaseInstrumentor):
19
+ """
20
+ An instrumentor for ElevenLabs's client library.
21
+ """
22
+
23
+ def instrumentation_dependencies(self) -> Collection[str]:
24
+ return _instruments
25
+
26
+ def _instrument(self, **kwargs):
27
+ application_name = kwargs.get("application_name", "default")
28
+ environment = kwargs.get("environment", "default")
29
+ tracer = kwargs.get("tracer")
30
+ metrics = kwargs.get("metrics_dict")
31
+ pricing_info = kwargs.get("pricing_info", {})
32
+ trace_content = kwargs.get("trace_content", False)
33
+ disable_metrics = kwargs.get("disable_metrics")
34
+ version = importlib.metadata.version("elevenlabs")
35
+
36
+ # sync generate
37
+ wrap_function_wrapper(
38
+ "elevenlabs.client",
39
+ "ElevenLabs.generate",
40
+ generate("elevenlabs.generate", version, environment, application_name,
41
+ tracer, pricing_info, trace_content, metrics, disable_metrics),
42
+ )
43
+
44
+ # async generate
45
+ wrap_function_wrapper(
46
+ "elevenlabs.client",
47
+ "AsyncElevenLabs.generate",
48
+ async_generate("elevenlabs.generate", version, environment, application_name,
49
+ tracer, pricing_info, trace_content, metrics, disable_metrics),
50
+ )
51
+
52
+ def _uninstrument(self, **kwargs):
53
+ # Proper uninstrumentation logic to revert patched methods
54
+ pass
@@ -0,0 +1,117 @@
1
+ # pylint: disable=duplicate-code, broad-exception-caught, too-many-statements, unused-argument, possibly-used-before-assignment
2
+ """
3
+ Module for monitoring Ollama API calls.
4
+ """
5
+
6
+ import logging
7
+ from opentelemetry.trace import SpanKind, Status, StatusCode
8
+ from opentelemetry.sdk.resources import TELEMETRY_SDK_NAME
9
+ from openlit.__helpers import get_audio_model_cost
10
+ from openlit.__helpers import handle_exception
11
+ from openlit.semcov import SemanticConvetion
12
+
13
+ # Initialize logger for logging potential issues and operations
14
+ logger = logging.getLogger(__name__)
15
+
16
+ def async_generate(gen_ai_endpoint, version, environment, application_name,
17
+ tracer, pricing_info, trace_content, metrics, disable_metrics):
18
+ """
19
+ Generates a telemetry wrapper for creating speech audio to collect metrics.
20
+
21
+ Args:
22
+ gen_ai_endpoint: Endpoint identifier for logging and tracing.
23
+ version: Version of the monitoring package.
24
+ environment: Deployment environment (e.g., production, staging).
25
+ application_name: Name of the application using the ElevenLabs API.
26
+ tracer: OpenTelemetry tracer for creating spans.
27
+ pricing_info: Information used for calculating the cost of generating speech audio.
28
+ trace_content: Flag indicating whether to trace the input text and generated audio.
29
+
30
+ Returns:
31
+ A function that wraps the speech audio creation method to add telemetry.
32
+ """
33
+
34
+ async def wrapper(wrapped, instance, args, kwargs):
35
+ """
36
+ Wraps the 'generate' API call to add telemetry.
37
+
38
+ This collects metrics such as execution time, cost, and handles errors
39
+ gracefully, adding details to the trace for observability.
40
+
41
+ Args:
42
+ wrapped: The original 'generate' method to be wrapped.
43
+ instance: The instance of the class where the original method is defined.
44
+ args: Positional arguments for the 'generate' method.
45
+ kwargs: Keyword arguments for the 'generate' method.
46
+
47
+ Returns:
48
+ The response from the original 'generate' method.
49
+ """
50
+
51
+ with tracer.start_as_current_span(gen_ai_endpoint, kind= SpanKind.CLIENT) as span:
52
+ response = await wrapped(*args, **kwargs)
53
+
54
+ try:
55
+ # Calculate cost of the operation
56
+ cost = get_audio_model_cost(kwargs.get("model", "eleven_multilingual_v2"),
57
+ pricing_info, kwargs.get("text", ""))
58
+
59
+ # Set Span attributes
60
+ span.set_attribute(TELEMETRY_SDK_NAME, "openlit")
61
+ span.set_attribute(SemanticConvetion.GEN_AI_SYSTEM,
62
+ SemanticConvetion.GEN_AI_SYSTEM_ELEVENLABS)
63
+ span.set_attribute(SemanticConvetion.GEN_AI_TYPE,
64
+ SemanticConvetion.GEN_AI_TYPE_AUDIO)
65
+ span.set_attribute(SemanticConvetion.GEN_AI_ENDPOINT,
66
+ gen_ai_endpoint)
67
+ span.set_attribute(SemanticConvetion.GEN_AI_ENVIRONMENT,
68
+ environment)
69
+ span.set_attribute(SemanticConvetion.GEN_AI_APPLICATION_NAME,
70
+ application_name)
71
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_MODEL,
72
+ kwargs.get("model", "eleven_multilingual_v2"))
73
+ if isinstance(kwargs.get("voice", "Rachel"), str):
74
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_VOICE,
75
+ kwargs.get("voice", "Rachel"))
76
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_RESPONSE_FORMAT,
77
+ kwargs.get("output_format", "mp3"))
78
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_SETTINGS,
79
+ str(kwargs.get("voice_settings", "")))
80
+ span.set_attribute(SemanticConvetion.GEN_AI_USAGE_COST,
81
+ cost)
82
+ if trace_content:
83
+ span.set_attribute(SemanticConvetion.GEN_AI_CONTENT_PROMPT,
84
+ str(kwargs.get("text", "")))
85
+
86
+ span.set_status(Status(StatusCode.OK))
87
+
88
+ if disable_metrics is False:
89
+ attributes = {
90
+ TELEMETRY_SDK_NAME:
91
+ "openlit",
92
+ SemanticConvetion.GEN_AI_APPLICATION_NAME:
93
+ application_name,
94
+ SemanticConvetion.GEN_AI_SYSTEM:
95
+ SemanticConvetion.GEN_AI_SYSTEM_ELEVENLABS,
96
+ SemanticConvetion.GEN_AI_ENVIRONMENT:
97
+ environment,
98
+ SemanticConvetion.GEN_AI_TYPE:
99
+ SemanticConvetion.GEN_AI_TYPE_AUDIO,
100
+ SemanticConvetion.GEN_AI_REQUEST_MODEL:
101
+ kwargs.get("model", "eleven_multilingual_v2")
102
+ }
103
+
104
+ metrics["genai_requests"].add(1, attributes)
105
+ metrics["genai_cost"].record(cost, attributes)
106
+
107
+ # Return original response
108
+ return response
109
+
110
+ except Exception as e:
111
+ handle_exception(span, e)
112
+ logger.error("Error in trace creation: %s", e)
113
+
114
+ # Return original response
115
+ return response
116
+
117
+ return wrapper
@@ -0,0 +1,117 @@
1
+ # pylint: disable=duplicate-code, broad-exception-caught, too-many-statements, unused-argument, possibly-used-before-assignment
2
+ """
3
+ Module for monitoring Ollama API calls.
4
+ """
5
+
6
+ import logging
7
+ from opentelemetry.trace import SpanKind, Status, StatusCode
8
+ from opentelemetry.sdk.resources import TELEMETRY_SDK_NAME
9
+ from openlit.__helpers import get_audio_model_cost
10
+ from openlit.__helpers import handle_exception
11
+ from openlit.semcov import SemanticConvetion
12
+
13
+ # Initialize logger for logging potential issues and operations
14
+ logger = logging.getLogger(__name__)
15
+
16
+ def generate(gen_ai_endpoint, version, environment, application_name,
17
+ tracer, pricing_info, trace_content, metrics, disable_metrics):
18
+ """
19
+ Generates a telemetry wrapper for creating speech audio to collect metrics.
20
+
21
+ Args:
22
+ gen_ai_endpoint: Endpoint identifier for logging and tracing.
23
+ version: Version of the monitoring package.
24
+ environment: Deployment environment (e.g., production, staging).
25
+ application_name: Name of the application using the ElevenLabs API.
26
+ tracer: OpenTelemetry tracer for creating spans.
27
+ pricing_info: Information used for calculating the cost of generating speech audio.
28
+ trace_content: Flag indicating whether to trace the input text and generated audio.
29
+
30
+ Returns:
31
+ A function that wraps the speech audio creation method to add telemetry.
32
+ """
33
+
34
+ def wrapper(wrapped, instance, args, kwargs):
35
+ """
36
+ Wraps the 'generate' API call to add telemetry.
37
+
38
+ This collects metrics such as execution time, cost, and handles errors
39
+ gracefully, adding details to the trace for observability.
40
+
41
+ Args:
42
+ wrapped: The original 'generate' method to be wrapped.
43
+ instance: The instance of the class where the original method is defined.
44
+ args: Positional arguments for the 'generate' method.
45
+ kwargs: Keyword arguments for the 'generate' method.
46
+
47
+ Returns:
48
+ The response from the original 'generate' method.
49
+ """
50
+
51
+ with tracer.start_as_current_span(gen_ai_endpoint, kind= SpanKind.CLIENT) as span:
52
+ response = wrapped(*args, **kwargs)
53
+
54
+ try:
55
+ # Calculate cost of the operation
56
+ cost = get_audio_model_cost(kwargs.get("model", "eleven_multilingual_v2"),
57
+ pricing_info, kwargs.get("text", ""))
58
+
59
+ # Set Span attributes
60
+ span.set_attribute(TELEMETRY_SDK_NAME, "openlit")
61
+ span.set_attribute(SemanticConvetion.GEN_AI_SYSTEM,
62
+ SemanticConvetion.GEN_AI_SYSTEM_ELEVENLABS)
63
+ span.set_attribute(SemanticConvetion.GEN_AI_TYPE,
64
+ SemanticConvetion.GEN_AI_TYPE_AUDIO)
65
+ span.set_attribute(SemanticConvetion.GEN_AI_ENDPOINT,
66
+ gen_ai_endpoint)
67
+ span.set_attribute(SemanticConvetion.GEN_AI_ENVIRONMENT,
68
+ environment)
69
+ span.set_attribute(SemanticConvetion.GEN_AI_APPLICATION_NAME,
70
+ application_name)
71
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_MODEL,
72
+ kwargs.get("model", "eleven_multilingual_v2"))
73
+ if isinstance(kwargs.get("voice", "Rachel"), str):
74
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_VOICE,
75
+ kwargs.get("voice", "Rachel"))
76
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_RESPONSE_FORMAT,
77
+ kwargs.get("output_format", "mp3"))
78
+ span.set_attribute(SemanticConvetion.GEN_AI_REQUEST_AUDIO_SETTINGS,
79
+ str(kwargs.get("voice_settings", "")))
80
+ span.set_attribute(SemanticConvetion.GEN_AI_USAGE_COST,
81
+ cost)
82
+ if trace_content:
83
+ span.set_attribute(SemanticConvetion.GEN_AI_CONTENT_PROMPT,
84
+ str(kwargs.get("text", "")))
85
+
86
+ span.set_status(Status(StatusCode.OK))
87
+
88
+ if disable_metrics is False:
89
+ attributes = {
90
+ TELEMETRY_SDK_NAME:
91
+ "openlit",
92
+ SemanticConvetion.GEN_AI_APPLICATION_NAME:
93
+ application_name,
94
+ SemanticConvetion.GEN_AI_SYSTEM:
95
+ SemanticConvetion.GEN_AI_SYSTEM_ELEVENLABS,
96
+ SemanticConvetion.GEN_AI_ENVIRONMENT:
97
+ environment,
98
+ SemanticConvetion.GEN_AI_TYPE:
99
+ SemanticConvetion.GEN_AI_TYPE_AUDIO,
100
+ SemanticConvetion.GEN_AI_REQUEST_MODEL:
101
+ kwargs.get("model", "eleven_multilingual_v2")
102
+ }
103
+
104
+ metrics["genai_requests"].add(1, attributes)
105
+ metrics["genai_cost"].record(cost, attributes)
106
+
107
+ # Return original response
108
+ return response
109
+
110
+ except Exception as e:
111
+ handle_exception(span, e)
112
+ logger.error("Error in trace creation: %s", e)
113
+
114
+ # Return original response
115
+ return response
116
+
117
+ return wrapper
@@ -45,6 +45,7 @@ class SemanticConvetion:
45
45
  GEN_AI_REQUEST_AUDIO_VOICE = "gen_ai.request.audio_voice"
46
46
  GEN_AI_REQUEST_AUDIO_RESPONSE_FORMAT = "gen_ai.request.audio_response_format"
47
47
  GEN_AI_REQUEST_AUDIO_SPEED = "gen_ai.request.audio_speed"
48
+ GEN_AI_REQUEST_AUDIO_SETTINGS = "gen_ai.request.audio_settings"
48
49
  GEN_AI_REQUEST_FINETUNE_STATUS = "gen_ai.request.fine_tune_status"
49
50
  GEN_AI_REQUEST_FINETUNE_MODEL_SUFFIX = "gen_ai.request.fine_tune_model_suffix"
50
51
  GEN_AI_REQUEST_FINETUNE_MODEL_EPOCHS = "gen_ai.request.fine_tune_n_epochs"
@@ -97,6 +98,7 @@ class SemanticConvetion:
97
98
  GEN_AI_SYSTEM_GROQ = "groq"
98
99
  GEN_AI_SYSTEM_OLLAMA = "ollama"
99
100
  GEN_AI_SYSTEM_GPT4ALL = "gpt4all"
101
+ GEN_AI_SYSTEM_ELEVENLABS = "elevenlabs"
100
102
  GEN_AI_SYSTEM_LANGCHAIN = "langchain"
101
103
  GEN_AI_SYSTEM_LLAMAINDEX = "llama_index"
102
104
  GEN_AI_SYSTEM_HAYSTACK = "haystack"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openlit
3
- Version: 1.14.2
3
+ Version: 1.15.0
4
4
  Summary: OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications, facilitating the integration of observability into your GenAI-driven projects
5
5
  Home-page: https://github.com/openlit/openlit/tree/main/openlit/python
6
6
  Keywords: OpenTelemetry,otel,otlp,llm,tracing,openai,anthropic,claude,cohere,llm monitoring,observability,monitoring,gpt,Generative AI,chatGPT
@@ -54,20 +54,20 @@ This project adheres to the [Semantic Conventions](https://github.com/open-telem
54
54
 
55
55
  ## Auto Instrumentation Capabilities
56
56
 
57
- | LLMs | Vector DBs | Frameworks |
58
- |-----------------------------------------------------------------|----------------------------------------------|----------------------------------------------|
59
- | [✅ OpenAI](https://docs.openlit.io/latest/integrations/openai) | [✅ ChromaDB](https://docs.openlit.io/latest/integrations/chromadb) | [✅ Langchain](https://docs.openlit.io/latest/integrations/langchain) |
60
- | [✅ Ollama](https://docs.openlit.io/latest/integrations/ollama) | [✅ Pinecone](https://docs.openlit.io/latest/integrations/pinecone) | [✅ LiteLLM](https://docs.openlit.io/latest/integrations/litellm) |
61
- | [✅ Anthropic](https://docs.openlit.io/latest/integrations/anthropic) | [✅ Qdrant](https://docs.openlit.io/latest/integrations/qdrant) | [✅ LlamaIndex](https://docs.openlit.io/latest/integrations/llama-index) |
62
- | [✅ GPT4All](https://docs.openlit.io/latest/integrations/gpt4all) | [✅ Milvus](https://docs.openlit.io/latest/integrations/milvus) | [✅ Haystack](https://docs.openlit.io/latest/integrations/haystack) |
63
- | [✅ Cohere](https://docs.openlit.io/latest/integrations/cohere) | | [✅ EmbedChain](https://docs.openlit.io/latest/integrations/embedchain) |
64
- | [✅ Mistral](https://docs.openlit.io/latest/integrations/mistral) | |
65
- | [✅ Azure OpenAI](https://docs.openlit.io/latest/integrations/azure-openai) | |
66
- | [✅ HuggingFace Transformers](https://docs.openlit.io/latest/integrations/huggingface) | |
67
- | [✅ Amazon Bedrock](https://docs.openlit.io/latest/integrations/bedrock) | |
68
- | [✅ Vertex AI](https://docs.openlit.io/latest/integrations/vertexai) | |
69
- | [✅ Groq](https://docs.openlit.io/latest/integrations/groq) |
70
-
57
+ | LLMs | Vector DBs | Frameworks | GPUs |
58
+ |-----------------------------------------------------------------|----------------------------------------------|----------------------------------------------|---------------|
59
+ | [✅ OpenAI](https://docs.openlit.io/latest/integrations/openai) | [✅ ChromaDB](https://docs.openlit.io/latest/integrations/chromadb) | [✅ Langchain](https://docs.openlit.io/latest/integrations/langchain) | [✅ NVIDIA GPUs](https://docs.openlit.io/latest/integrations/nvidia-gpu) |
60
+ | [✅ Ollama](https://docs.openlit.io/latest/integrations/ollama) | [✅ Pinecone](https://docs.openlit.io/latest/integrations/pinecone) | [✅ LiteLLM](https://docs.openlit.io/latest/integrations/litellm) | |
61
+ | [✅ Anthropic](https://docs.openlit.io/latest/integrations/anthropic) | [✅ Qdrant](https://docs.openlit.io/latest/integrations/qdrant) | [✅ LlamaIndex](https://docs.openlit.io/latest/integrations/llama-index) | |
62
+ | [✅ GPT4All](https://docs.openlit.io/latest/integrations/gpt4all) | [✅ Milvus](https://docs.openlit.io/latest/integrations/milvus) | [✅ Haystack](https://docs.openlit.io/latest/integrations/haystack) | |
63
+ | [✅ Cohere](https://docs.openlit.io/latest/integrations/cohere) | | [✅ EmbedChain](https://docs.openlit.io/latest/integrations/embedchain) | |
64
+ | [✅ Mistral](https://docs.openlit.io/latest/integrations/mistral) | | | |
65
+ | [✅ Azure OpenAI](https://docs.openlit.io/latest/integrations/azure-openai) | | | |
66
+ | [✅ HuggingFace Transformers](https://docs.openlit.io/latest/integrations/huggingface) | | | |
67
+ | [✅ Amazon Bedrock](https://docs.openlit.io/latest/integrations/bedrock) | | | |
68
+ | [✅ Vertex AI](https://docs.openlit.io/latest/integrations/vertexai) | | | |
69
+ | [✅ Groq](https://docs.openlit.io/latest/integrations/groq) | | | |
70
+ | [✅ ElevenLabs](https://docs.openlit.io/latest/integrations/elevenlabs) | | | |
71
71
  ## Supported Destinations
72
72
  - [✅ OpenTelemetry Collector](https://docs.openlit.io/latest/connections/otelcol)
73
73
  - [✅ Prometheus + Tempo](https://docs.openlit.io/latest/connections/prometheus-tempo)
@@ -1,5 +1,5 @@
1
1
  openlit/__helpers.py,sha256=lrn4PBs9owDudiCY2NBoVbAi7AU_HtUpyOj0oqPBsPY,5545
2
- openlit/__init__.py,sha256=SnF7KUs_nDeEEXHbRUEb-4hIp6u5ZWU5xRuMrxeG9F8,14823
2
+ openlit/__init__.py,sha256=eJKH1Op7wzBsuoBYuM_C022Jo7cCtRQBJxf2lpDfe_o,14981
3
3
  openlit/instrumentation/anthropic/__init__.py,sha256=oaU53BOPyfUKbEzYvLr1DPymDluurSnwo4Hernf2XdU,1955
4
4
  openlit/instrumentation/anthropic/anthropic.py,sha256=CYBui5eEfWdSfFF0xtCQjh1xO-gCVJc_V9Hli0szVZE,16026
5
5
  openlit/instrumentation/anthropic/async_anthropic.py,sha256=NW84kTQ3BkUx1zZuMRps_J7zTYkmq5BxOrqSjqWInBs,16068
@@ -9,6 +9,9 @@ openlit/instrumentation/chroma/__init__.py,sha256=61lFpHlUEQUobsUJZHXdvOViKwsOH8
9
9
  openlit/instrumentation/chroma/chroma.py,sha256=E80j_41UeZi8RzTsHbpvi1izOA_n-0-3_VdrA68AJPA,10531
10
10
  openlit/instrumentation/cohere/__init__.py,sha256=PC5T1qIg9pwLNocBP_WjG5B_6p_z019s8quk_fNLAMs,1920
11
11
  openlit/instrumentation/cohere/cohere.py,sha256=GvxIp55TJIu4YyG0_FwLBDHvAMUlAXyvMNIFhl2CQP4,20437
12
+ openlit/instrumentation/elevenlabs/__init__.py,sha256=9ybg1c3CPI6lTN1xMTgzZRO-Hk0wthddI-n3VrRnp88,1942
13
+ openlit/instrumentation/elevenlabs/async_elevenlabs.py,sha256=aDbSV5rXx-ZpBMea5DLERQDGW7uoegLMszhy-x3A1lw,5543
14
+ openlit/instrumentation/elevenlabs/elevenlabs.py,sha256=HIFLmjqwTrIOC5Lrz3MNofcCd5iNn3oyoigSpaJDGE0,5525
12
15
  openlit/instrumentation/embedchain/__init__.py,sha256=8TYk1OEbz46yF19dr-gB_x80VZMagU3kJ8-QihPXTeA,1929
13
16
  openlit/instrumentation/embedchain/embedchain.py,sha256=SLlr7qieT3kp4M6OYSRy8FaVCXQ2t3oPyIiE99ioNE4,7892
14
17
  openlit/instrumentation/gpt4all/__init__.py,sha256=-59CP2B3-HGZJ_vC-fI9Dt-0BuQXRhSCWCjnaGeU15Q,1802
@@ -47,8 +50,8 @@ openlit/instrumentation/vertexai/async_vertexai.py,sha256=PMHYyLf1J4gZpC_-KZ_ZVx
47
50
  openlit/instrumentation/vertexai/vertexai.py,sha256=UvpNKBHPoV9idVMfGigZnmWuEQiyqSwZn0zK9-U7Lzw,52125
48
51
  openlit/otel/metrics.py,sha256=O7NoaDz0bY19mqpE4-0PcKwEe-B-iJFRgOCaanAuZAc,4291
49
52
  openlit/otel/tracing.py,sha256=vL1ifMbARPBpqK--yXYsCM6y5dSu5LFIKqkhZXtYmUc,3712
50
- openlit/semcov/__init__.py,sha256=POx8gnqr4T24GD_dcwK2plTG9otorXYB_kMu7aohbRI,7233
51
- openlit-1.14.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
52
- openlit-1.14.2.dist-info/METADATA,sha256=9TzEj5jmiJ1N5kllFh0g_zRk9nwP2ERwyv-69jSuNPQ,13563
53
- openlit-1.14.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
54
- openlit-1.14.2.dist-info/RECORD,,
53
+ openlit/semcov/__init__.py,sha256=Z83zteHGuj5WrYShnDky5l8AMy3L8Okua7nD10eI2Bs,7345
54
+ openlit-1.15.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
55
+ openlit-1.15.0.dist-info/METADATA,sha256=_kwyZ761UG27K77Lv_x1rBi9V_a8X8wJPbv4SCYITv4,14120
56
+ openlit-1.15.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
57
+ openlit-1.15.0.dist-info/RECORD,,