unique_toolkit 0.8.20__tar.gz → 0.8.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 (114) hide show
  1. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/CHANGELOG.md +10 -0
  2. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/PKG-INFO +11 -1
  3. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/pyproject.toml +1 -1
  4. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/functions.py +4 -0
  5. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/infos.py +67 -0
  6. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/service.py +3 -0
  7. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/LICENSE +0 -0
  8. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/README.md +0 -0
  9. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/default_language_model.py +0 -0
  13. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/exception.py +0 -0
  14. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  15. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/token/token_counting.py +0 -0
  16. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/validate_required_values.py +0 -0
  17. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/_common/validators.py +0 -0
  18. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/__init__.py +0 -0
  19. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/dev_util.py +0 -0
  20. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/init_logging.py +0 -0
  21. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/init_sdk.py +0 -0
  22. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/performance/async_tasks.py +0 -0
  23. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  24. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/schemas.py +0 -0
  25. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/unique_settings.py +0 -0
  26. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/app/verification.py +0 -0
  27. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/__init__.py +0 -0
  28. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/constants.py +0 -0
  29. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/functions.py +0 -0
  30. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/schemas.py +0 -0
  31. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/service.py +0 -0
  32. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/state.py +0 -0
  33. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/chat/utils.py +0 -0
  34. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/__init__.py +0 -0
  35. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/constants.py +0 -0
  36. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/functions.py +0 -0
  37. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/schemas.py +0 -0
  38. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/service.py +0 -0
  39. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/content/utils.py +0 -0
  40. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/debug_info_manager/debug_info_manager.py +0 -0
  41. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/__init__.py +0 -0
  42. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/constants.py +0 -0
  43. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/functions.py +0 -0
  44. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/schemas.py +0 -0
  45. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/service.py +0 -0
  46. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/embedding/utils.py +0 -0
  47. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/config.py +0 -0
  48. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/context_relevancy/prompts.py +0 -0
  49. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/context_relevancy/schema.py +0 -0
  50. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/context_relevancy/service.py +0 -0
  51. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/evaluation_manager.py +0 -0
  52. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/exception.py +0 -0
  53. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/hallucination/constants.py +0 -0
  54. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/hallucination/hallucination_evaluation.py +0 -0
  55. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/hallucination/prompts.py +0 -0
  56. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/hallucination/service.py +0 -0
  57. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/hallucination/utils.py +0 -0
  58. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/output_parser.py +0 -0
  59. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/schemas.py +0 -0
  60. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/tests/test_context_relevancy_service.py +0 -0
  61. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evals/tests/test_output_parser.py +0 -0
  62. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/__init__.py +0 -0
  63. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/config.py +0 -0
  64. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/constants.py +0 -0
  65. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/context_relevancy/constants.py +0 -0
  66. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/context_relevancy/prompts.py +0 -0
  67. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/context_relevancy/service.py +0 -0
  68. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/context_relevancy/utils.py +0 -0
  69. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/exception.py +0 -0
  70. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/hallucination/constants.py +0 -0
  71. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/hallucination/prompts.py +0 -0
  72. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/hallucination/service.py +0 -0
  73. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/hallucination/utils.py +0 -0
  74. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/output_parser.py +0 -0
  75. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/evaluators/schemas.py +0 -0
  76. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  77. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  78. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  79. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  80. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/framework_utilities/utils.py +0 -0
  81. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/history_manager/history_construction_with_contents.py +0 -0
  82. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/history_manager/history_manager.py +0 -0
  83. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/history_manager/loop_token_reducer.py +0 -0
  84. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/history_manager/utils.py +0 -0
  85. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/__init__.py +0 -0
  86. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/builder.py +0 -0
  87. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/constants.py +0 -0
  88. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/prompt.py +0 -0
  89. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/reference.py +0 -0
  90. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/schemas.py +0 -0
  91. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/language_model/utils.py +0 -0
  92. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/postprocessor/postprocessor_manager.py +0 -0
  93. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/protocols/support.py +0 -0
  94. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/reference_manager/reference_manager.py +0 -0
  95. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/__init__.py +0 -0
  96. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/constants.py +0 -0
  97. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/functions.py +0 -0
  98. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/persistent_short_term_memory_manager.py +0 -0
  99. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/schemas.py +0 -0
  100. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/short_term_memory/service.py +0 -0
  101. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/smart_rules/__init__.py +0 -0
  102. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/smart_rules/compile.py +0 -0
  103. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/thinking_manager/thinking_manager.py +0 -0
  104. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/config.py +0 -0
  105. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/factory.py +0 -0
  106. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/schemas.py +0 -0
  107. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/test/test_tool_progress_reporter.py +0 -0
  108. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/tool.py +0 -0
  109. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/tool_manager.py +0 -0
  110. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/tool_progress_reporter.py +0 -0
  111. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/utils/execution/execution.py +0 -0
  112. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/utils/source_handling/schema.py +0 -0
  113. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/utils/source_handling/source_formatting.py +0 -0
  114. {unique_toolkit-0.8.20 → unique_toolkit-0.8.22}/unique_toolkit/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
@@ -5,9 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+
9
+ ## [0.8.22] - 2025-08-25
10
+ - Add DeepSeek-R1, DeepSeek-V3.1, Qwen3-235B-A22B and Qwen3-235B-A22B-Thinking-2507 to supported model list
11
+
12
+ ## [0.8.21] - 2025-08-26
13
+ - Fixed old (not used) function "create_async" in language_model.functions : The function always returns "Unauthorized" --> Added "user_id" argument to fix this.
14
+
8
15
  ## [0.8.20] - 2025-08-24
9
16
  - Fixed forced-tool-calls
10
17
 
18
+ ## [0.8.20] - 2025-08-05
19
+ - Bump SDK version to support the latest features.
20
+
11
21
  ## [0.8.19] - 2025-08-24
12
22
  - Enforce usage of ruff using pipeline
13
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.8.20
3
+ Version: 0.8.22
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Martin Fadler
@@ -114,9 +114,19 @@ All notable changes to this project will be documented in this file.
114
114
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
115
115
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
116
116
 
117
+
118
+ ## [0.8.22] - 2025-08-25
119
+ - Add DeepSeek-R1, DeepSeek-V3.1, Qwen3-235B-A22B and Qwen3-235B-A22B-Thinking-2507 to supported model list
120
+
121
+ ## [0.8.21] - 2025-08-26
122
+ - Fixed old (not used) function "create_async" in language_model.functions : The function always returns "Unauthorized" --> Added "user_id" argument to fix this.
123
+
117
124
  ## [0.8.20] - 2025-08-24
118
125
  - Fixed forced-tool-calls
119
126
 
127
+ ## [0.8.20] - 2025-08-05
128
+ - Bump SDK version to support the latest features.
129
+
120
130
  ## [0.8.19] - 2025-08-24
121
131
  - Enforce usage of ruff using pipeline
122
132
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "0.8.20"
3
+ version = "0.8.22"
4
4
  description = ""
5
5
  authors = [
6
6
  "Martin Fadler <martin.fadler@unique.ch>",
@@ -94,6 +94,7 @@ def complete(
94
94
 
95
95
  async def complete_async(
96
96
  company_id: str,
97
+ user_id: str,
97
98
  messages: LanguageModelMessages | list[ChatCompletionMessageParam],
98
99
  model_name: LanguageModelName | str,
99
100
  temperature: float = DEFAULT_COMPLETE_TEMPERATURE,
@@ -142,6 +143,7 @@ async def complete_async(
142
143
  try:
143
144
  response = await unique_sdk.ChatCompletion.create_async(
144
145
  company_id=company_id,
146
+ user_id=user_id,
145
147
  model=model,
146
148
  messages=cast(
147
149
  "list[unique_sdk.Integrated.ChatCompletionRequestMessage]",
@@ -419,6 +421,7 @@ def complete_with_references(
419
421
 
420
422
  async def complete_with_references_async(
421
423
  company_id: str,
424
+ user_id: str,
422
425
  messages: LanguageModelMessages,
423
426
  model_name: LanguageModelName | str,
424
427
  content_chunks: list[ContentChunk] | None = None,
@@ -432,6 +435,7 @@ async def complete_with_references_async(
432
435
  # Use toolkit language model functions for chat completion
433
436
  response = await complete_async(
434
437
  company_id=company_id,
438
+ user_id=user_id,
435
439
  model_name=model_name,
436
440
  messages=messages,
437
441
  temperature=temperature,
@@ -48,6 +48,10 @@ class LanguageModelName(StrEnum):
48
48
  LITELLM_OPENAI_GPT_5_MINI = "litellm:openai-gpt-5-mini"
49
49
  LITELLM_OPENAI_GPT_5_NANO = "litellm:openai-gpt-5-nano"
50
50
  LITELLM_OPENAI_GPT_5_CHAT = "litellm:openai-gpt-5-chat"
51
+ LITELLM_DEEPSEEK_R1 = "litellm:deepseek-r1"
52
+ LITELLM_DEEPSEEK_V3 = "litellm:deepseek-v3-1"
53
+ LITELLM_QWEN_3 = "litellm:qwen-3-235B-A22B"
54
+ LITELLM_QWEN_3_THINKING = "litellm:qwen-3-235B-A22B-thinking"
51
55
 
52
56
 
53
57
  class EncoderName(StrEnum):
@@ -875,6 +879,69 @@ class LanguageModelInfo(BaseModel):
875
879
  deprecated_at=date(2026, 8, 7),
876
880
  retirement_at=date(2026, 8, 7),
877
881
  )
882
+ case LanguageModelName.LITELLM_DEEPSEEK_R1:
883
+ return cls(
884
+ name=model_name,
885
+ provider=LanguageModelProvider.LITELLM,
886
+ version="deepseek-r1",
887
+ capabilities=[
888
+ ModelCapabilities.FUNCTION_CALLING,
889
+ ModelCapabilities.STRUCTURED_OUTPUT,
890
+ ModelCapabilities.STREAMING,
891
+ ModelCapabilities.REASONING,
892
+ ],
893
+ token_limits=LanguageModelTokenLimits(
894
+ token_limit_input=64_000, token_limit_output=4_000
895
+ ),
896
+ published_at=date(2025, 1, 25),
897
+ )
898
+ case LanguageModelName.LITELLM_DEEPSEEK_V3:
899
+ return cls(
900
+ name=model_name,
901
+ provider=LanguageModelProvider.LITELLM,
902
+ version="deepseek-v3-1",
903
+ capabilities=[
904
+ ModelCapabilities.FUNCTION_CALLING,
905
+ ModelCapabilities.STRUCTURED_OUTPUT,
906
+ ModelCapabilities.REASONING,
907
+ ],
908
+ token_limits=LanguageModelTokenLimits(
909
+ token_limit_input=128_000, token_limit_output=4_000
910
+ ),
911
+ published_at=date(2025, 8, 1),
912
+ )
913
+ case LanguageModelName.LITELLM_QWEN_3:
914
+ return cls(
915
+ name=model_name,
916
+ provider=LanguageModelProvider.LITELLM,
917
+ version="qwen-3",
918
+ capabilities=[
919
+ ModelCapabilities.FUNCTION_CALLING,
920
+ ModelCapabilities.STRUCTURED_OUTPUT,
921
+ ModelCapabilities.STREAMING,
922
+ ModelCapabilities.REASONING,
923
+ ],
924
+ published_at=date(2025, 4, 29),
925
+ token_limits=LanguageModelTokenLimits(
926
+ token_limit_input=256_000, token_limit_output=32_768
927
+ ),
928
+ )
929
+ case LanguageModelName.LITELLM_QWEN_3_THINKING:
930
+ return cls(
931
+ name=model_name,
932
+ provider=LanguageModelProvider.LITELLM,
933
+ version="qwen-3-thinking",
934
+ capabilities=[
935
+ ModelCapabilities.FUNCTION_CALLING,
936
+ ModelCapabilities.STRUCTURED_OUTPUT,
937
+ ModelCapabilities.STREAMING,
938
+ ModelCapabilities.REASONING,
939
+ ],
940
+ token_limits=LanguageModelTokenLimits(
941
+ token_limit_input=256_000, token_limit_output=32_768
942
+ ),
943
+ published_at=date(2025, 7, 25),
944
+ )
878
945
 
879
946
  case _:
880
947
  if isinstance(model_name, LanguageModelName):
@@ -261,6 +261,7 @@ class LanguageModelService:
261
261
 
262
262
  return await complete_async(
263
263
  company_id=self._company_id,
264
+ user_id=self._user_id,
264
265
  messages=messages,
265
266
  model_name=model_name,
266
267
  temperature=temperature,
@@ -276,6 +277,7 @@ class LanguageModelService:
276
277
  async def complete_async_util(
277
278
  cls,
278
279
  company_id: str,
280
+ user_id: str,
279
281
  messages: LanguageModelMessages,
280
282
  model_name: LanguageModelName | str,
281
283
  temperature: float = DEFAULT_COMPLETE_TEMPERATURE,
@@ -291,6 +293,7 @@ class LanguageModelService:
291
293
 
292
294
  return await complete_async(
293
295
  company_id=company_id,
296
+ user_id=user_id,
294
297
  messages=messages,
295
298
  model_name=model_name,
296
299
  temperature=temperature,
File without changes