langtrace-python-sdk 2.3.17__py3-none-any.whl → 2.3.19__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.
- examples/dspy_example/QA_basic.py +20 -0
- examples/dspy_example/QA_basic_with_chain_of_thought.py +28 -0
- examples/dspy_example/QA_basic_with_signature.py +30 -0
- examples/dspy_example/QA_multi_step_with_chain_of_thought.py +41 -0
- langtrace_python_sdk/extensions/langtrace_exporter.py +1 -1
- langtrace_python_sdk/instrumentation/anthropic/patch.py +6 -11
- langtrace_python_sdk/instrumentation/autogen/instrumentation.py +0 -6
- langtrace_python_sdk/instrumentation/dspy/patch.py +63 -40
- langtrace_python_sdk/utils/llm.py +4 -3
- langtrace_python_sdk/version.py +1 -1
- {langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/METADATA +1 -1
- {langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/RECORD +15 -11
- {langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/WHEEL +0 -0
- {langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/entry_points.txt +0 -0
- {langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
import dspy
|
2
|
+
from langtrace_python_sdk import langtrace
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
|
5
|
+
load_dotenv()
|
6
|
+
|
7
|
+
langtrace.init(disable_instrumentations={"all_except": ["dspy", "anthropic"]})
|
8
|
+
|
9
|
+
# configure the language model to be used by dspy
|
10
|
+
|
11
|
+
llm = dspy.Claude()
|
12
|
+
dspy.settings.configure(lm=llm)
|
13
|
+
|
14
|
+
# create a prompt format that says that the llm will take a question and give back an answer
|
15
|
+
predict = dspy.Predict("question -> answer")
|
16
|
+
prediction = predict(
|
17
|
+
question="who scored the final goal in football world cup finals in 2014?"
|
18
|
+
)
|
19
|
+
|
20
|
+
print(prediction.answer)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import dspy
|
2
|
+
from langtrace_python_sdk import langtrace
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
|
5
|
+
load_dotenv()
|
6
|
+
|
7
|
+
langtrace.init(disable_instrumentations={"all_except": ["dspy", "anthropic"]})
|
8
|
+
|
9
|
+
# configure the language model to be used by dspy
|
10
|
+
llm = dspy.Claude()
|
11
|
+
dspy.settings.configure(lm=llm)
|
12
|
+
|
13
|
+
|
14
|
+
# create a signature for basic question answering
|
15
|
+
class BasicQA(dspy.Signature):
|
16
|
+
"""Given a question, generate the answer."""
|
17
|
+
|
18
|
+
question = dspy.InputField(desc="User's question")
|
19
|
+
answer = dspy.OutputField(desc="often between 1 and 5 words")
|
20
|
+
|
21
|
+
|
22
|
+
# create a prompt format that says that the llm will take a question and give back an answer
|
23
|
+
predict = dspy.ChainOfThought(BasicQA)
|
24
|
+
prediction = predict(
|
25
|
+
question="Who provided the assist for the final goal in the 2014 FIFA World Cup final?"
|
26
|
+
)
|
27
|
+
|
28
|
+
print(prediction.answer)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import dspy
|
2
|
+
from langtrace_python_sdk import langtrace
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
|
5
|
+
load_dotenv()
|
6
|
+
|
7
|
+
langtrace.init(disable_instrumentations={"all_except": ["dspy", "anthropic"]})
|
8
|
+
|
9
|
+
# configure the language model to be used by dspy
|
10
|
+
llm = dspy.Claude()
|
11
|
+
dspy.settings.configure(lm=llm)
|
12
|
+
|
13
|
+
|
14
|
+
# create a signature for basic question answering
|
15
|
+
class BasicQA(dspy.Signature):
|
16
|
+
"""Answer questions with short factoid answers."""
|
17
|
+
|
18
|
+
question = dspy.InputField(
|
19
|
+
desc="A question that can be answered with a short factoid answer"
|
20
|
+
)
|
21
|
+
answer = dspy.OutputField(desc="often between 1 and 5 words")
|
22
|
+
|
23
|
+
|
24
|
+
# create a prompt format that says that the llm will take a question and give back an answer
|
25
|
+
predict = dspy.Predict(BasicQA)
|
26
|
+
prediction = predict(
|
27
|
+
question="Sarah has 5 apples. She buys 7 more apples from the store. How many apples does Sarah have now?"
|
28
|
+
)
|
29
|
+
|
30
|
+
print(prediction.answer)
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import dspy
|
2
|
+
from langtrace_python_sdk import langtrace, with_langtrace_root_span
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
|
5
|
+
load_dotenv()
|
6
|
+
|
7
|
+
langtrace.init(disable_instrumentations={"all_except": ["dspy", "anthropic"]})
|
8
|
+
|
9
|
+
# configure the language model to be used by dspy
|
10
|
+
llm = dspy.Claude()
|
11
|
+
dspy.settings.configure(lm=llm)
|
12
|
+
|
13
|
+
|
14
|
+
# create a signature for basic question answering
|
15
|
+
class BasicQA(dspy.Signature):
|
16
|
+
"""Given a question, generate the answer."""
|
17
|
+
|
18
|
+
question = dspy.InputField(desc="User's question")
|
19
|
+
answer = dspy.OutputField(desc="often between 1 and 5 words")
|
20
|
+
|
21
|
+
|
22
|
+
class DoubleChainOfThought(dspy.Module):
|
23
|
+
def __init__(self):
|
24
|
+
self.cot1 = dspy.ChainOfThought("question -> step_by_step_thought")
|
25
|
+
self.cot2 = dspy.ChainOfThought("question, thought -> one_word_answer")
|
26
|
+
|
27
|
+
def forward(self, question):
|
28
|
+
thought = self.cot1(question=question).step_by_step_thought
|
29
|
+
answer = self.cot2(question=question, thought=thought).one_word_answer
|
30
|
+
return dspy.Prediction(thought=thought, answer=answer)
|
31
|
+
|
32
|
+
|
33
|
+
@with_langtrace_root_span(name="Double Chain Of thought")
|
34
|
+
def main():
|
35
|
+
multi_step_question = "what is the capital of the birth state of the person who provided the assist for the Mario Gotze's in football world cup in 2014?"
|
36
|
+
double_cot = DoubleChainOfThought()
|
37
|
+
result = double_cot(question=multi_step_question)
|
38
|
+
print(result)
|
39
|
+
|
40
|
+
|
41
|
+
main()
|
@@ -14,10 +14,8 @@ See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
15
15
|
"""
|
16
16
|
|
17
|
-
from typing import Any, Callable,
|
18
|
-
from langtrace.trace_attributes import
|
19
|
-
from langtrace_python_sdk.utils import set_span_attribute
|
20
|
-
from langtrace_python_sdk.utils.silently_fail import silently_fail
|
17
|
+
from typing import Any, Callable, List, Iterator, Union
|
18
|
+
from langtrace.trace_attributes import SpanAttributes, LLMSpanAttributes
|
21
19
|
import json
|
22
20
|
|
23
21
|
from langtrace_python_sdk.utils.llm import (
|
@@ -28,6 +26,7 @@ from langtrace_python_sdk.utils.llm import (
|
|
28
26
|
get_llm_url,
|
29
27
|
get_span_name,
|
30
28
|
set_event_completion,
|
29
|
+
set_span_attributes,
|
31
30
|
set_usage_attributes,
|
32
31
|
set_span_attribute,
|
33
32
|
)
|
@@ -39,8 +38,6 @@ from langtrace_python_sdk.instrumentation.anthropic.types import (
|
|
39
38
|
StreamingResult,
|
40
39
|
ResultType,
|
41
40
|
MessagesCreateKwargs,
|
42
|
-
ContentItem,
|
43
|
-
Usage,
|
44
41
|
)
|
45
42
|
|
46
43
|
|
@@ -62,13 +59,12 @@ def messages_create(version: str, tracer: Tracer) -> Callable[..., Any]:
|
|
62
59
|
prompts = [{"role": "system", "content": system}] + kwargs.get(
|
63
60
|
"messages", []
|
64
61
|
)
|
65
|
-
extraAttributes = get_extra_attributes()
|
66
62
|
span_attributes = {
|
67
63
|
**get_langtrace_attributes(version, service_provider),
|
68
64
|
**get_llm_request_attributes(kwargs, prompts=prompts),
|
69
65
|
**get_llm_url(instance),
|
70
66
|
SpanAttributes.LLM_PATH: APIS["MESSAGES_CREATE"]["ENDPOINT"],
|
71
|
-
**
|
67
|
+
**get_extra_attributes(),
|
72
68
|
}
|
73
69
|
|
74
70
|
attributes = LLMSpanAttributes(**span_attributes)
|
@@ -76,8 +72,7 @@ def messages_create(version: str, tracer: Tracer) -> Callable[..., Any]:
|
|
76
72
|
span = tracer.start_span(
|
77
73
|
name=get_span_name(APIS["MESSAGES_CREATE"]["METHOD"]), kind=SpanKind.CLIENT
|
78
74
|
)
|
79
|
-
|
80
|
-
set_span_attribute(span, field, value)
|
75
|
+
set_span_attributes(span, attributes)
|
81
76
|
try:
|
82
77
|
# Attempt to call the original method
|
83
78
|
result = wrapped(*args, **kwargs)
|
@@ -112,7 +107,7 @@ def messages_create(version: str, tracer: Tracer) -> Callable[..., Any]:
|
|
112
107
|
if typ == "text":
|
113
108
|
content = result.content[0].text
|
114
109
|
set_event_completion(
|
115
|
-
span, [{"type": typ, role: role, content: content}]
|
110
|
+
span, [{"type": typ, "role": role, "content": content}]
|
116
111
|
)
|
117
112
|
|
118
113
|
if (
|
@@ -10,15 +10,9 @@ class AutogenInstrumentation(BaseInstrumentor):
|
|
10
10
|
return ["autogen >= 0.1.0"]
|
11
11
|
|
12
12
|
def _instrument(self, **kwargs):
|
13
|
-
print("Instrumneting autogen")
|
14
13
|
tracer_provider = kwargs.get("tracer_provider")
|
15
14
|
tracer = get_tracer(__name__, "", tracer_provider)
|
16
15
|
version = v("autogen")
|
17
|
-
# conversable_agent.intiate_chat
|
18
|
-
# conversable_agent.register_function
|
19
|
-
# agent.Agent
|
20
|
-
# AgentCreation
|
21
|
-
# Tools --> Register_for_llm, register_for_execution, register_for_function
|
22
16
|
try:
|
23
17
|
_W(
|
24
18
|
module="autogen.agentchat.conversable_agent",
|
@@ -2,6 +2,12 @@ import json
|
|
2
2
|
from importlib_metadata import version as v
|
3
3
|
from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
|
4
4
|
from langtrace_python_sdk.utils import set_span_attribute
|
5
|
+
from langtrace_python_sdk.utils.llm import (
|
6
|
+
get_extra_attributes,
|
7
|
+
get_langtrace_attributes,
|
8
|
+
get_span_name,
|
9
|
+
set_span_attributes,
|
10
|
+
)
|
5
11
|
from langtrace_python_sdk.utils.silently_fail import silently_fail
|
6
12
|
from langtrace_python_sdk.constants.instrumentation.common import (
|
7
13
|
LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
|
@@ -39,25 +45,29 @@ def patch_bootstrapfewshot_optimizer(operation_name, version, tracer):
|
|
39
45
|
),
|
40
46
|
}
|
41
47
|
span_attributes["dspy.optimizer.module.prog"] = json.dumps(prog)
|
42
|
-
if hasattr(instance,
|
43
|
-
span_attributes["dspy.optimizer.metric"] = getattr(
|
48
|
+
if hasattr(instance, "metric"):
|
49
|
+
span_attributes["dspy.optimizer.metric"] = getattr(
|
50
|
+
instance, "metric"
|
51
|
+
).__name__
|
44
52
|
if kwargs.get("trainset") and len(kwargs.get("trainset")) > 0:
|
45
53
|
span_attributes["dspy.optimizer.trainset"] = str(kwargs.get("trainset"))
|
46
54
|
config = {}
|
47
|
-
if hasattr(instance,
|
48
|
-
config["metric_threshold"] = getattr(instance,
|
49
|
-
if hasattr(instance,
|
50
|
-
config["teacher_settings"] = getattr(instance,
|
51
|
-
if hasattr(instance,
|
52
|
-
config["max_bootstrapped_demos"] = getattr(
|
53
|
-
|
54
|
-
|
55
|
-
if hasattr(instance,
|
56
|
-
config["
|
57
|
-
if hasattr(instance,
|
58
|
-
config["
|
59
|
-
if hasattr(instance,
|
60
|
-
config["
|
55
|
+
if hasattr(instance, "metric_threshold"):
|
56
|
+
config["metric_threshold"] = getattr(instance, "metric_threshold")
|
57
|
+
if hasattr(instance, "teacher_settings"):
|
58
|
+
config["teacher_settings"] = getattr(instance, "teacher_settings")
|
59
|
+
if hasattr(instance, "max_bootstrapped_demos"):
|
60
|
+
config["max_bootstrapped_demos"] = getattr(
|
61
|
+
instance, "max_bootstrapped_demos"
|
62
|
+
)
|
63
|
+
if hasattr(instance, "max_labeled_demos"):
|
64
|
+
config["max_labeled_demos"] = getattr(instance, "max_labeled_demos")
|
65
|
+
if hasattr(instance, "max_rounds"):
|
66
|
+
config["max_rounds"] = getattr(instance, "max_rounds")
|
67
|
+
if hasattr(instance, "max_steps"):
|
68
|
+
config["max_errors"] = getattr(instance, "max_errors")
|
69
|
+
if hasattr(instance, "error_count"):
|
70
|
+
config["error_count"] = getattr(instance, "error_count")
|
61
71
|
if config and len(config) > 0:
|
62
72
|
span_attributes["dspy.optimizer.config"] = json.dumps(config)
|
63
73
|
|
@@ -96,37 +106,36 @@ def patch_signature(operation_name, version, tracer):
|
|
96
106
|
def traced_method(wrapped, instance, args, kwargs):
|
97
107
|
|
98
108
|
service_provider = SERVICE_PROVIDERS["DSPY"]
|
99
|
-
extra_attributes = baggage.get_baggage(LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY)
|
100
109
|
span_attributes = {
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
**(
|
110
|
+
**get_langtrace_attributes(
|
111
|
+
service_provider=service_provider,
|
112
|
+
version=version,
|
113
|
+
vendor_type="framework",
|
114
|
+
),
|
115
|
+
**get_extra_attributes(),
|
107
116
|
}
|
108
117
|
|
109
|
-
# passed operation name
|
110
|
-
opname = operation_name
|
111
|
-
if extra_attributes is not None and "langtrace.span.name" in extra_attributes:
|
112
|
-
# append the operation name to the span name
|
113
|
-
opname = f"{operation_name}-{extra_attributes['langtrace.span.name']}"
|
114
|
-
|
115
118
|
if instance.__class__.__name__:
|
116
119
|
span_attributes["dspy.signature.name"] = instance.__class__.__name__
|
117
|
-
span_attributes["dspy.signature"] = str(instance)
|
120
|
+
span_attributes["dspy.signature"] = str(instance.signature)
|
118
121
|
|
119
122
|
if kwargs and len(kwargs) > 0:
|
120
123
|
span_attributes["dspy.signature.args"] = str(kwargs)
|
121
124
|
|
122
125
|
attributes = FrameworkSpanAttributes(**span_attributes)
|
123
|
-
with tracer.start_as_current_span(
|
124
|
-
|
126
|
+
with tracer.start_as_current_span(
|
127
|
+
get_span_name(operation_name=operation_name), kind=SpanKind.CLIENT
|
128
|
+
) as span:
|
129
|
+
set_span_attributes(span, attributes)
|
125
130
|
|
126
131
|
try:
|
127
132
|
result = wrapped(*args, **kwargs)
|
128
133
|
if result:
|
129
|
-
set_span_attribute(
|
134
|
+
set_span_attribute(
|
135
|
+
span,
|
136
|
+
"dspy.signature.result",
|
137
|
+
json.dumps(result.toDict()),
|
138
|
+
)
|
130
139
|
span.set_status(Status(StatusCode.OK))
|
131
140
|
|
132
141
|
span.end()
|
@@ -168,27 +177,41 @@ def patch_evaluate(operation_name, version, tracer):
|
|
168
177
|
if hasattr(instance, "devset"):
|
169
178
|
span_attributes["dspy.evaluate.devset"] = str(getattr(instance, "devset"))
|
170
179
|
if hasattr(instance, "trainset"):
|
171
|
-
span_attributes["dspy.evaluate.display"] = str(
|
180
|
+
span_attributes["dspy.evaluate.display"] = str(
|
181
|
+
getattr(instance, "trainset")
|
182
|
+
)
|
172
183
|
if hasattr(instance, "num_threads"):
|
173
|
-
span_attributes["dspy.evaluate.num_threads"] = str(
|
184
|
+
span_attributes["dspy.evaluate.num_threads"] = str(
|
185
|
+
getattr(instance, "num_threads")
|
186
|
+
)
|
174
187
|
if hasattr(instance, "return_outputs"):
|
175
188
|
span_attributes["dspy.evaluate.return_outputs"] = str(
|
176
189
|
getattr(instance, "return_outputs")
|
177
190
|
)
|
178
191
|
if hasattr(instance, "display_table"):
|
179
|
-
span_attributes["dspy.evaluate.display_table"] = str(
|
192
|
+
span_attributes["dspy.evaluate.display_table"] = str(
|
193
|
+
getattr(instance, "display_table")
|
194
|
+
)
|
180
195
|
if hasattr(instance, "display_progress"):
|
181
196
|
span_attributes["dspy.evaluate.display_progress"] = str(
|
182
197
|
getattr(instance, "display_progress")
|
183
198
|
)
|
184
199
|
if hasattr(instance, "metric"):
|
185
|
-
span_attributes["dspy.evaluate.metric"] = getattr(
|
200
|
+
span_attributes["dspy.evaluate.metric"] = getattr(
|
201
|
+
instance, "metric"
|
202
|
+
).__name__
|
186
203
|
if hasattr(instance, "error_count"):
|
187
|
-
span_attributes["dspy.evaluate.error_count"] = str(
|
204
|
+
span_attributes["dspy.evaluate.error_count"] = str(
|
205
|
+
getattr(instance, "error_count")
|
206
|
+
)
|
188
207
|
if hasattr(instance, "error_lock"):
|
189
|
-
span_attributes["dspy.evaluate.error_lock"] = str(
|
208
|
+
span_attributes["dspy.evaluate.error_lock"] = str(
|
209
|
+
getattr(instance, "error_lock")
|
210
|
+
)
|
190
211
|
if hasattr(instance, "max_errors"):
|
191
|
-
span_attributes["dspy.evaluate.max_errors"] = str(
|
212
|
+
span_attributes["dspy.evaluate.max_errors"] = str(
|
213
|
+
getattr(instance, "max_errors")
|
214
|
+
)
|
192
215
|
if args and len(args) > 0:
|
193
216
|
span_attributes["dspy.evaluate.args"] = str(args)
|
194
217
|
|
@@ -18,7 +18,6 @@ from typing import Any, Dict, Union
|
|
18
18
|
from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
|
19
19
|
from langtrace_python_sdk.utils import set_span_attribute
|
20
20
|
from langtrace_python_sdk.types import NOT_GIVEN
|
21
|
-
from tiktoken import get_encoding
|
22
21
|
from tiktoken import get_encoding, list_encoding_names
|
23
22
|
|
24
23
|
from langtrace_python_sdk.constants.instrumentation.common import (
|
@@ -26,7 +25,7 @@ from langtrace_python_sdk.constants.instrumentation.common import (
|
|
26
25
|
TIKTOKEN_MODEL_MAPPING,
|
27
26
|
)
|
28
27
|
from langtrace_python_sdk.constants.instrumentation.openai import OPENAI_COST_TABLE
|
29
|
-
from langtrace.trace_attributes import SpanAttributes
|
28
|
+
from langtrace.trace_attributes import SpanAttributes
|
30
29
|
from importlib_metadata import version as v
|
31
30
|
import json
|
32
31
|
from opentelemetry import baggage
|
@@ -142,7 +141,9 @@ def get_llm_request_attributes(kwargs, prompts=None, model=None, operation_name=
|
|
142
141
|
SpanAttributes.LLM_FREQUENCY_PENALTY: kwargs.get("frequency_penalty"),
|
143
142
|
SpanAttributes.LLM_REQUEST_SEED: kwargs.get("seed"),
|
144
143
|
SpanAttributes.LLM_TOOLS: json.dumps(tools) if tools else None,
|
145
|
-
SpanAttributes.LLM_TOOL_CHOICE:
|
144
|
+
SpanAttributes.LLM_TOOL_CHOICE: (
|
145
|
+
json.dumps(tool_choice) if tool_choice else None
|
146
|
+
),
|
146
147
|
SpanAttributes.LLM_REQUEST_LOGPROPS: kwargs.get("logprobs"),
|
147
148
|
SpanAttributes.LLM_REQUEST_LOGITBIAS: kwargs.get("logit_bias"),
|
148
149
|
SpanAttributes.LLM_REQUEST_TOP_LOGPROPS: kwargs.get("top_logprobs"),
|
langtrace_python_sdk/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.3.
|
1
|
+
__version__ = "2.3.19"
|
@@ -31,6 +31,10 @@ examples/crewai_example/trip_planner/main.py,sha256=dwEh60RABqaBodhkPr3lB7KS83f7
|
|
31
31
|
examples/crewai_example/trip_planner/tasks.py,sha256=ZGRaTAgkA66IN7q9EYbJqM8xWhUTxcF4ynnqTyBcSL4,5667
|
32
32
|
examples/crewai_example/trip_planner/tools/calculator.py,sha256=bMfxJDAwbn6D26pe880S4BB3rcFeyvEyb15QR00T8kI,522
|
33
33
|
examples/crewai_example/trip_planner/tools/search_tools.py,sha256=p8qZe_bi45OjBwiwwrH0lhTaQI_ZiLThSTEEN5dWxF0,2700
|
34
|
+
examples/dspy_example/QA_basic.py,sha256=8qlHC8FcDAHIxns7Xax8e5tMUNgppbF1RdRbZwxZGAs,553
|
35
|
+
examples/dspy_example/QA_basic_with_chain_of_thought.py,sha256=u0yxUSiAWbSe-pXxXU5pKORc7kaTRgBdFUcA6cqTiOk,814
|
36
|
+
examples/dspy_example/QA_basic_with_signature.py,sha256=iGVhm-pIutBWLQDbviSmH38etTAxxbz1ouBmT66beW4,890
|
37
|
+
examples/dspy_example/QA_multi_step_with_chain_of_thought.py,sha256=mIUiG1Y7tuKi_Y6ZHk_b9WskjyklR-Ar4OUbpqtCNmw,1382
|
34
38
|
examples/dspy_example/math_problems_cot.py,sha256=Z98nB6myt8WJse2dWS6Ap7CFUhC27lBNb37R1Gg80VQ,1282
|
35
39
|
examples/dspy_example/math_problems_cot_parallel.py,sha256=5clw-IIVA0mWm0N0xWNDMQaSY07YVYW8R1mcyCJJ1_8,1764
|
36
40
|
examples/dspy_example/program_of_thought_basic.py,sha256=oEbtJdeKENMUbex25-zyStWwurRWW6OdP0KDs-jUkko,984
|
@@ -92,7 +96,7 @@ examples/weaviate_example/__init__.py,sha256=8JMDBsRSEV10HfTd-YC7xb4txBjD3la56sn
|
|
92
96
|
examples/weaviate_example/query_text.py,sha256=wPHQTc_58kPoKTZMygVjTj-2ZcdrIuaausJfMxNQnQc,127162
|
93
97
|
langtrace_python_sdk/__init__.py,sha256=VZM6i71NR7pBQK6XvJWRelknuTYUhqwqE7PlicKa5Wg,1166
|
94
98
|
langtrace_python_sdk/langtrace.py,sha256=sNCOHq5dBsNAHkNLB9VsR-FgbnrQ_2Tjo7jiyR8svgk,8218
|
95
|
-
langtrace_python_sdk/version.py,sha256=
|
99
|
+
langtrace_python_sdk/version.py,sha256=UgFVQHHCwNbEJUac-AaH2Q_JZJPlxrEZiAuyZ9dlqyo,23
|
96
100
|
langtrace_python_sdk/constants/__init__.py,sha256=3CNYkWMdd1DrkGqzLUgNZXjdAlM6UFMlf_F-odAToyc,146
|
97
101
|
langtrace_python_sdk/constants/exporter/langtrace_exporter.py,sha256=5MNjnAOg-4am78J3gVMH6FSwq5N8TOj72ugkhsw4vi0,46
|
98
102
|
langtrace_python_sdk/constants/instrumentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -111,15 +115,15 @@ langtrace_python_sdk/constants/instrumentation/qdrant.py,sha256=yL7BopNQTXW7L7Z-
|
|
111
115
|
langtrace_python_sdk/constants/instrumentation/vertexai.py,sha256=0s2vX3Y0iwjOPkUg5lAKi-7o3LaNivDSBBbF-o695Ok,1266
|
112
116
|
langtrace_python_sdk/constants/instrumentation/weaviate.py,sha256=gtv-JBxvNGClEMxClmRKzjJ1khgOonsli4D_k9IagSE,2601
|
113
117
|
langtrace_python_sdk/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
114
|
-
langtrace_python_sdk/extensions/langtrace_exporter.py,sha256=
|
118
|
+
langtrace_python_sdk/extensions/langtrace_exporter.py,sha256=UFupNL03zklVd5penpsfXjbWSb5qB39mEv2BY2wczSs,6307
|
115
119
|
langtrace_python_sdk/extensions/langtrace_filesystem.py,sha256=34fZutG28EJ66l67OvTGsydAH3ZpXgikdE7hVLqBpG4,7863
|
116
120
|
langtrace_python_sdk/instrumentation/__init__.py,sha256=2ZSUFvF1Lv15PQvPGk8a_RiukjFKWOM5esDot5ZOkbo,1622
|
117
121
|
langtrace_python_sdk/instrumentation/anthropic/__init__.py,sha256=donrurJAGYlxrSRA3BIf76jGeUcAx9Tq8CVpah68S0Y,101
|
118
122
|
langtrace_python_sdk/instrumentation/anthropic/instrumentation.py,sha256=ndXdruI0BG7n75rsuEpKjfzePxrZxg40gZ39ONmD_v4,1845
|
119
|
-
langtrace_python_sdk/instrumentation/anthropic/patch.py,sha256=
|
123
|
+
langtrace_python_sdk/instrumentation/anthropic/patch.py,sha256=ztPN4VZujoxYOKhTbFnup7Ibms9NAzYCPAJY43NUgKw,4935
|
120
124
|
langtrace_python_sdk/instrumentation/anthropic/types.py,sha256=WdeXe2tkjAisMLK38STKwVe7MJS5SLoETJ_aKhA_-UU,2463
|
121
125
|
langtrace_python_sdk/instrumentation/autogen/__init__.py,sha256=unDhpqWQIdHFw24lRsRu1Mm1NCZxZgyBrPRZrAJL3Lo,90
|
122
|
-
langtrace_python_sdk/instrumentation/autogen/instrumentation.py,sha256=
|
126
|
+
langtrace_python_sdk/instrumentation/autogen/instrumentation.py,sha256=MVDUCBi6XzLQYmZd6myAounI0HeM8QWX5leuul5Hj0Q,1262
|
123
127
|
langtrace_python_sdk/instrumentation/autogen/patch.py,sha256=mp6WxHYVqTXvqZOi6CnZNN0MmzoG5v9LPMU2fjkivsY,4650
|
124
128
|
langtrace_python_sdk/instrumentation/chroma/__init__.py,sha256=pNZ5UO8Q-d5VkXSobBf79reB6AmEl_usnnTp5Itv818,95
|
125
129
|
langtrace_python_sdk/instrumentation/chroma/instrumentation.py,sha256=nT6PS6bsrIOO9kLV5GuUeRjMe6THHHAZGvqWBP1dYog,1807
|
@@ -132,7 +136,7 @@ langtrace_python_sdk/instrumentation/crewai/instrumentation.py,sha256=5Umzq8zjEn
|
|
132
136
|
langtrace_python_sdk/instrumentation/crewai/patch.py,sha256=C2OKKPC-pzfzZWxPc74kHdYsKTX9yRhOgVY47WY9KN8,9109
|
133
137
|
langtrace_python_sdk/instrumentation/dspy/__init__.py,sha256=tM1srfi_QgyCzrde4izojMrRq2Wm7Dj5QUvVQXIJzkk,84
|
134
138
|
langtrace_python_sdk/instrumentation/dspy/instrumentation.py,sha256=o8URiDvCbZ8LL0I-4xKHkn_Ms2sETBRpn-gOliv3xzQ,2929
|
135
|
-
langtrace_python_sdk/instrumentation/dspy/patch.py,sha256=
|
139
|
+
langtrace_python_sdk/instrumentation/dspy/patch.py,sha256=8vDa3SAlo4Z0X-BOVO-wYxXPwHtISi4k7NwWwL-LOV4,9978
|
136
140
|
langtrace_python_sdk/instrumentation/embedchain/__init__.py,sha256=5L6n8-brMnRWZ0CMmHEuN1mrhIxrYLNtxRy0Ujc-hOY,103
|
137
141
|
langtrace_python_sdk/instrumentation/embedchain/instrumentation.py,sha256=dShwm0duy25IvL7g9I_v-2oYuyh2fadeiJqXtXBay-8,1987
|
138
142
|
langtrace_python_sdk/instrumentation/embedchain/patch.py,sha256=ovvBrtqUDwGSmSgK_S3pOOrDa4gkPSFG-HvmsxqmJE8,3627
|
@@ -182,7 +186,7 @@ langtrace_python_sdk/instrumentation/weaviate/patch.py,sha256=aWLDbNGz35V6XQUv4l
|
|
182
186
|
langtrace_python_sdk/types/__init__.py,sha256=VnfLV5pVHIB9VRIpEwIDQjWSPEAqQKnq6VNbqsm9W3Q,4287
|
183
187
|
langtrace_python_sdk/utils/__init__.py,sha256=O-Ra9IDd1MnxihdQUC8HW_wYFhk7KbTCK2BIl02yacQ,2935
|
184
188
|
langtrace_python_sdk/utils/langtrace_sampler.py,sha256=BupNndHbU9IL_wGleKetz8FdcveqHMBVz1bfKTTW80w,1753
|
185
|
-
langtrace_python_sdk/utils/llm.py,sha256=
|
189
|
+
langtrace_python_sdk/utils/llm.py,sha256=mA7nEpndjKwPY3LfYV8hv-83xrDlD8MSTW8mItp5tXI,14953
|
186
190
|
langtrace_python_sdk/utils/misc.py,sha256=LaQr5LOmZMiuwVdjYh7aIu6o2C_Xb1wgpQGNOVmRzfE,1918
|
187
191
|
langtrace_python_sdk/utils/prompt_registry.py,sha256=n5dQMVLBw8aJZY8Utvf67bncc25ELf6AH9BYw8_hSzo,2619
|
188
192
|
langtrace_python_sdk/utils/sdk_version_checker.py,sha256=F-VVVH7Fmhr5LcY0IIe-34zIi5RQcx26uuxFpPzZesM,1782
|
@@ -231,8 +235,8 @@ tests/pinecone/cassettes/test_query.yaml,sha256=b5v9G3ssUy00oG63PlFUR3JErF2Js-5A
|
|
231
235
|
tests/pinecone/cassettes/test_upsert.yaml,sha256=neWmQ1v3d03V8WoLl8FoFeeCYImb8pxlJBWnFd_lITU,38607
|
232
236
|
tests/qdrant/conftest.py,sha256=9n0uHxxIjWk9fbYc4bx-uP8lSAgLBVx-cV9UjnsyCHM,381
|
233
237
|
tests/qdrant/test_qdrant.py,sha256=pzjAjVY2kmsmGfrI2Gs2xrolfuaNHz7l1fqGQCjp5_o,3353
|
234
|
-
langtrace_python_sdk-2.3.
|
235
|
-
langtrace_python_sdk-2.3.
|
236
|
-
langtrace_python_sdk-2.3.
|
237
|
-
langtrace_python_sdk-2.3.
|
238
|
-
langtrace_python_sdk-2.3.
|
238
|
+
langtrace_python_sdk-2.3.19.dist-info/METADATA,sha256=ax4B75ZAAGFpbgai3ZNRLIAJZ9Rrp6P4JcsOQm7Pzvk,15380
|
239
|
+
langtrace_python_sdk-2.3.19.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
240
|
+
langtrace_python_sdk-2.3.19.dist-info/entry_points.txt,sha256=1_b9-qvf2fE7uQNZcbUei9vLpFZBbbh9LrtGw95ssAo,70
|
241
|
+
langtrace_python_sdk-2.3.19.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
242
|
+
langtrace_python_sdk-2.3.19.dist-info/RECORD,,
|
File without changes
|
{langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/entry_points.txt
RENAMED
File without changes
|
{langtrace_python_sdk-2.3.17.dist-info → langtrace_python_sdk-2.3.19.dist-info}/licenses/LICENSE
RENAMED
File without changes
|