unique_toolkit 0.5.38__tar.gz → 0.5.39__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 (47) hide show
  1. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/CHANGELOG.md +6 -0
  2. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/PKG-INFO +8 -2
  3. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/pyproject.toml +2 -2
  4. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/content/service.py +15 -4
  5. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/LICENSE +0 -0
  6. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/README.md +0 -0
  7. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/__init__.py +0 -0
  8. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/_common/_base_service.py +0 -0
  9. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/_common/_time_utils.py +0 -0
  10. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/_common/exception.py +0 -0
  11. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/_common/validators.py +0 -0
  12. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/__init__.py +0 -0
  13. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/init_logging.py +0 -0
  14. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/init_sdk.py +0 -0
  15. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/performance/async_tasks.py +0 -0
  16. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  17. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/schemas.py +0 -0
  18. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/app/verification.py +0 -0
  19. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/chat/__init__.py +0 -0
  20. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/chat/schemas.py +0 -0
  21. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/chat/service.py +0 -0
  22. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/chat/state.py +0 -0
  23. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/chat/utils.py +0 -0
  24. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/content/__init__.py +0 -0
  25. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/content/schemas.py +0 -0
  26. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/content/utils.py +0 -0
  27. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/embedding/__init__.py +0 -0
  28. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/embedding/schemas.py +0 -0
  29. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/embedding/service.py +0 -0
  30. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/embedding/utils.py +0 -0
  31. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/config.py +0 -0
  32. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/context_relevancy/constants.py +0 -0
  33. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/context_relevancy/prompts.py +0 -0
  34. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/context_relevancy/service.py +0 -0
  35. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/context_relevancy/utils.py +0 -0
  36. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/exception.py +0 -0
  37. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/hallucination/constants.py +0 -0
  38. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/hallucination/prompts.py +0 -0
  39. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/hallucination/service.py +0 -0
  40. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/hallucination/utils.py +0 -0
  41. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/output_parser.py +0 -0
  42. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/evaluators/schemas.py +0 -0
  43. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/language_model/__init__.py +0 -0
  44. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/language_model/infos.py +0 -0
  45. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/language_model/schemas.py +0 -0
  46. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/language_model/service.py +0 -0
  47. {unique_toolkit-0.5.38 → unique_toolkit-0.5.39}/unique_toolkit/language_model/utils.py +0 -0
@@ -5,6 +5,12 @@ 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
+
10
+ ## [0.5.39] - 2024-12-09
11
+ - Add `contentIds` to `Search.create` and `Search.create_async`
12
+ - Use `metadata_filter` from event in `ContentService.search_content_chunks` and `ContentService.async_search_content_chunks` as default.
13
+
8
14
  ## [0.5.38] - 2024-11-26
9
15
  - Added string representation to `LanguageModelMessage` and `LanguageModelMessages` class
10
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.5.38
3
+ Version: 0.5.39
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Martin Fadler
@@ -17,7 +17,7 @@ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
17
17
  Requires-Dist: regex (>=2024.5.15,<2025.0.0)
18
18
  Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
19
19
  Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
20
- Requires-Dist: unique-sdk (>=0.9.8,<0.10.0)
20
+ Requires-Dist: unique-sdk (>=0.9.14,<0.10.0)
21
21
  Description-Content-Type: text/markdown
22
22
 
23
23
  # Unique Toolkit
@@ -100,6 +100,12 @@ All notable changes to this project will be documented in this file.
100
100
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
101
101
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
102
102
 
103
+
104
+
105
+ ## [0.5.39] - 2024-12-09
106
+ - Add `contentIds` to `Search.create` and `Search.create_async`
107
+ - Use `metadata_filter` from event in `ContentService.search_content_chunks` and `ContentService.async_search_content_chunks` as default.
108
+
103
109
  ## [0.5.38] - 2024-11-26
104
110
  - Added string representation to `LanguageModelMessage` and `LanguageModelMessages` class
105
111
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "0.5.38"
3
+ version = "0.5.39"
4
4
  description = ""
5
5
  authors = [
6
6
  "Martin Fadler <martin.fadler@unique.ch>",
@@ -20,7 +20,7 @@ numpy = "^1.26.4"
20
20
  python-dotenv = "^1.0.1"
21
21
  regex = "^2024.5.15"
22
22
  tiktoken = "^0.7.0"
23
- unique-sdk = "^0.9.8"
23
+ unique-sdk = "^0.9.14"
24
24
 
25
25
  [tool.poetry.group.dev.dependencies]
26
26
  ruff = "0.5.0"
@@ -29,6 +29,7 @@ class ContentService(BaseService):
29
29
 
30
30
  def __init__(self, event: Event, logger: Optional[logging.Logger] = None):
31
31
  super().__init__(event, logger)
32
+ self.metadata_filter = event.payload.metadata_filter
32
33
 
33
34
  DEFAULT_SEARCH_LANGUAGE = "english"
34
35
 
@@ -42,6 +43,7 @@ class ContentService(BaseService):
42
43
  scope_ids: Optional[list[str]] = None,
43
44
  chat_only: Optional[bool] = None,
44
45
  metadata_filter: Optional[dict] = None,
46
+ content_ids: Optional[list[str]] = None,
45
47
  ) -> list[ContentChunk]:
46
48
  """
47
49
  Performs a synchronous search for content chunks in the knowledge base.
@@ -54,14 +56,17 @@ class ContentService(BaseService):
54
56
  reranker_config (Optional[ContentRerankerConfig]): The reranker configuration. Defaults to None.
55
57
  scope_ids (Optional[list[str]]): The scope IDs. Defaults to None.
56
58
  chat_only (Optional[bool]): Whether to search only in the current chat. Defaults to None.
57
- metadata_filter (Optional[dict]): UniqueQL metadata filter. Defaults to None.
58
-
59
+ metadata_filter (Optional[dict]): UniqueQL metadata filter. If unspecified/None, it tries to use the metadata filter from the event. Defaults to None.
60
+ content_ids (Optional[list[str]]): The content IDs to search. Defaults to None.
59
61
  Returns:
60
62
  list[ContentChunk]: The search results.
61
63
  """
62
64
  if not scope_ids:
63
65
  self.logger.warning("No scope IDs provided for search.")
64
66
 
67
+ if metadata_filter is None:
68
+ metadata_filter = self.metadata_filter
69
+
65
70
  try:
66
71
  searches = unique_sdk.Search.create(
67
72
  user_id=self.event.user_id,
@@ -79,6 +84,7 @@ class ContentService(BaseService):
79
84
  language=search_language,
80
85
  chatOnly=chat_only,
81
86
  metaDataFilter=metadata_filter,
87
+ contentIds=content_ids,
82
88
  )
83
89
  except Exception as e:
84
90
  self.logger.error(f"Error while searching content chunks: {e}")
@@ -101,6 +107,7 @@ class ContentService(BaseService):
101
107
  scope_ids: Optional[list[str]] = None,
102
108
  chat_only: Optional[bool] = None,
103
109
  metadata_filter: Optional[dict] = None,
110
+ content_ids: Optional[list[str]] = None,
104
111
  ):
105
112
  """
106
113
  Performs an asynchronous search for content chunks in the knowledge base.
@@ -113,14 +120,17 @@ class ContentService(BaseService):
113
120
  reranker_config (Optional[ContentRerankerConfig]): The reranker configuration. Defaults to None.
114
121
  scope_ids (Optional[list[str]]): The scope IDs. Defaults to None.
115
122
  chat_only (Optional[bool]): Whether to search only in the current chat. Defaults to None.
116
- metadata_filter (Optional[dict]): UniqueQL metadata filter. Defaults to None.
117
-
123
+ metadata_filter (Optional[dict]): UniqueQL metadata filter. If unspecified/None, it tries to use the metadata filter from the event. Defaults to None.
124
+ content_ids (Optional[list[str]]): The content IDs to search. Defaults to None.
118
125
  Returns:
119
126
  list[ContentChunk]: The search results.
120
127
  """
121
128
  if not scope_ids:
122
129
  self.logger.warning("No scope IDs provided for search.")
123
130
 
131
+ if metadata_filter is None:
132
+ metadata_filter = self.metadata_filter
133
+
124
134
  try:
125
135
  searches = await unique_sdk.Search.create_async(
126
136
  user_id=self.event.user_id,
@@ -138,6 +148,7 @@ class ContentService(BaseService):
138
148
  language=search_language,
139
149
  chatOnly=chat_only,
140
150
  metaDataFilter=metadata_filter,
151
+ contentIds=content_ids,
141
152
  )
142
153
  except Exception as e:
143
154
  self.logger.error(f"Error while searching content chunks: {e}")
File without changes