langtrace-python-sdk 1.2.19__tar.gz → 1.2.21__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 (77) hide show
  1. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/PKG-INFO +1 -1
  2. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/openai/patch.py +21 -21
  3. langtrace_python_sdk-1.2.21/src/langtrace_python_sdk/version.py +1 -0
  4. langtrace_python_sdk-1.2.19/src/langtrace_python_sdk/version.py +0 -1
  5. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/.gitignore +0 -0
  6. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/LICENSE +0 -0
  7. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/README.md +0 -0
  8. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/pyproject.toml +0 -0
  9. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/__init__.py +0 -0
  10. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/__init__.py +0 -0
  11. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/anthropic_example/__init__.py +0 -0
  12. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/anthropic_example/completion.py +0 -0
  13. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/chroma_example/__init__.py +0 -0
  14. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/chroma_example/basic.py +0 -0
  15. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/langchain_example/__init__.py +0 -0
  16. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/langchain_example/basic.py +0 -0
  17. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/langchain_example/tool.py +0 -0
  18. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/llamaindex_example/__init__.py +0 -0
  19. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/llamaindex_example/basic.py +0 -0
  20. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/llamaindex_example/data/abramov.txt +0 -0
  21. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/openai/__init__.py +0 -0
  22. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/openai/chat_completion.py +0 -0
  23. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/openai/embeddings_create.py +0 -0
  24. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/openai/function_calling.py +0 -0
  25. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/openai/images_generate.py +0 -0
  26. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/pinecone_example/__init__.py +0 -0
  27. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/examples/pinecone_example/basic.py +0 -0
  28. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/__init__.py +0 -0
  29. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/__init__.py +0 -0
  30. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -0
  31. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/__init__.py +0 -0
  32. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
  33. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
  34. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
  35. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
  36. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
  37. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/extensions/__init__.py +0 -0
  38. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +0 -0
  39. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
  40. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
  41. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
  42. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +0 -0
  43. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
  44. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
  45. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +0 -0
  46. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
  47. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
  48. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +0 -0
  49. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
  50. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +0 -0
  51. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +0 -0
  52. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
  53. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +0 -0
  54. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +0 -0
  55. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
  56. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
  57. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +0 -0
  58. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
  59. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
  60. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
  61. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +0 -0
  62. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +0 -0
  63. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/langtrace.py +0 -0
  64. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/utils/__init__.py +0 -0
  65. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/utils/llm.py +0 -0
  66. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
  67. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/run_example.py +0 -0
  68. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/__init__.py +0 -0
  69. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/anthropic/test_anthropic.py +0 -0
  70. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/chroma/test_chroma.py +0 -0
  71. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/langchain/test_langchain.py +0 -0
  72. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/langchain/test_langchain_community.py +0 -0
  73. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/langchain/test_langchain_core.py +0 -0
  74. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/openai/test_chat_completion.py +0 -0
  75. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/openai/test_image_generation.py +0 -0
  76. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/pinecone/test_pinecone.py +0 -0
  77. {langtrace_python_sdk-1.2.19 → langtrace_python_sdk-1.2.21}/src/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langtrace-python-sdk
3
- Version: 1.2.19
3
+ Version: 1.2.21
4
4
  Summary: Python SDK for LangTrace
5
5
  Project-URL: Homepage, https://github.com/Scale3-Labs/langtrace-python-sdk
6
6
  Author-email: Scale3 Labs <engineering@scale3labs.com>
@@ -194,9 +194,20 @@ def chat_completions_create(original_method, version, tracer):
194
194
  span.end()
195
195
  return result
196
196
  else:
197
- prompt_tokens = calculate_prompt_tokens(
198
- json.dumps(kwargs.get("messages", {})[0]), kwargs.get("model")
199
- )
197
+ # iterate over kwargs.get("messages", {}) and calculate the prompt tokens
198
+ prompt_tokens = 0
199
+ for message in kwargs.get("messages", {}):
200
+ prompt_tokens += calculate_prompt_tokens(
201
+ json.dumps(message), kwargs.get("model")
202
+ )
203
+
204
+ # iterate over kwargs.get("functions") and calculate the prompt tokens
205
+ if kwargs.get("functions") is not None:
206
+ for function in kwargs.get("functions"):
207
+ prompt_tokens += calculate_prompt_tokens(
208
+ json.dumps(function), kwargs.get("model")
209
+ )
210
+
200
211
  return handle_streaming_response(
201
212
  result,
202
213
  span,
@@ -270,30 +281,19 @@ def chat_completions_create(original_method, version, tracer):
270
281
  }
271
282
  ),
272
283
  )
273
- if function_call is False:
274
- span.set_attribute(
275
- "llm.responses",
276
- json.dumps(
284
+ span.set_attribute(
285
+ "llm.responses",
286
+ json.dumps(
287
+ [
277
288
  {
278
289
  "message": {
279
290
  "role": "assistant",
280
291
  "content": "".join(result_content),
281
292
  }
282
293
  }
283
- ),
284
- )
285
- else:
286
- span.set_attribute(
287
- "llm.responses",
288
- json.dumps(
289
- {
290
- "message": {
291
- "role": "assistant",
292
- "function_call": "".join(result_content),
293
- }
294
- }
295
- ),
296
- )
294
+ ]
295
+ ),
296
+ )
297
297
  span.set_status(StatusCode.OK)
298
298
  span.end()
299
299
 
@@ -0,0 +1 @@
1
+ __version__ = "1.2.21"
@@ -1 +0,0 @@
1
- __version__ = "1.2.19"