Skip to content

Commit b1110e9

Browse files
committed
fix: semantic search
1 parent cc0cbef commit b1110e9

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

videodb/collection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ def search(
101101
query: str,
102102
search_type: Optional[str] = SearchType.semantic,
103103
result_threshold: Optional[int] = None,
104-
score_threshold: Optional[int] = None,
105-
dynamic_score_percentage: Optional[int] = None,
104+
score_threshold: Optional[float] = None,
105+
dynamic_score_percentage: Optional[float] = None,
106106
) -> SearchResult:
107107
search = SearchFactory(self._connection).get_search(search_type)
108108
return search.search_inside_collection(

videodb/search.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ def search_inside_video(
110110
video_id: str,
111111
query: str,
112112
result_threshold: Optional[int] = None,
113-
score_threshold: Optional[int] = None,
114-
dynamic_score_percentage: Optional[int] = None,
113+
score_threshold: Optional[float] = None,
114+
dynamic_score_percentage: Optional[float] = None,
115115
**kwargs,
116116
):
117117
search_data = self._connection.post(
@@ -123,6 +123,8 @@ def search_inside_video(
123123
or SemanticSearchDefaultValues.score_threshold,
124124
"result_threshold": result_threshold
125125
or SemanticSearchDefaultValues.result_threshold,
126+
"dynamic_score_percentage": dynamic_score_percentage,
127+
**kwargs,
126128
},
127129
)
128130
return SearchResult(self._connection, **search_data)
@@ -132,8 +134,8 @@ def search_inside_collection(
132134
collection_id: str,
133135
query: str,
134136
result_threshold: Optional[int] = None,
135-
score_threshold: Optional[int] = None,
136-
dynamic_score_percentage: Optional[int] = None,
137+
score_threshold: Optional[float] = None,
138+
dynamic_score_percentage: Optional[float] = None,
137139
**kwargs,
138140
):
139141
search_data = self._connection.post(
@@ -145,6 +147,8 @@ def search_inside_collection(
145147
or SemanticSearchDefaultValues.score_threshold,
146148
"result_threshold": result_threshold
147149
or SemanticSearchDefaultValues.result_threshold,
150+
"dynamic_score_percentage": dynamic_score_percentage,
151+
**kwargs,
148152
},
149153
)
150154
return SearchResult(self._connection, **search_data)
@@ -159,8 +163,8 @@ def search_inside_video(
159163
video_id: str,
160164
query: str,
161165
result_threshold: Optional[int] = None,
162-
score_threshold: Optional[int] = None,
163-
dynamic_score_percentage: Optional[int] = None,
166+
score_threshold: Optional[float] = None,
167+
dynamic_score_percentage: Optional[float] = None,
164168
**kwargs,
165169
):
166170
search_data = self._connection.post(
@@ -187,8 +191,8 @@ def search_inside_video(
187191
video_id: str,
188192
query: str,
189193
result_threshold: Optional[int] = None,
190-
score_threshold: Optional[int] = None,
191-
dynamic_score_percentage: Optional[int] = None,
194+
score_threshold: Optional[float] = None,
195+
dynamic_score_percentage: Optional[float] = None,
192196
**kwargs,
193197
):
194198
search_data = self._connection.post(
@@ -198,6 +202,7 @@ def search_inside_video(
198202
"query": query,
199203
"score_threshold": score_threshold,
200204
"result_threshold": result_threshold,
205+
"dynamic_score_percentage": dynamic_score_percentage,
201206
**kwargs,
202207
},
203208
)

videodb/video.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def __init__(self, _connection, id: str, collection_id: str, **kwargs) -> None:
2828
self.transcript = kwargs.get("transcript", None)
2929
self.transcript_text = kwargs.get("transcript_text", None)
3030
self.scenes = kwargs.get("scenes", None)
31-
self.scene_collections = kwargs.get("scene_collections", None)
3231

3332
def __repr__(self) -> str:
3433
return (
@@ -51,8 +50,8 @@ def search(
5150
query: str,
5251
search_type: Optional[str] = SearchType.semantic,
5352
result_threshold: Optional[int] = None,
54-
score_threshold: Optional[int] = None,
55-
dynamic_score_percentage: Optional[int] = None,
53+
score_threshold: Optional[float] = None,
54+
dynamic_score_percentage: Optional[float] = None,
5655
**kwargs,
5756
) -> SearchResult:
5857
search = SearchFactory(self._connection).get_search(search_type)
@@ -173,9 +172,9 @@ def get_scenes(self) -> Union[list, None]:
173172
self.scenes = scene_data
174173
return scene_data if scene_data else None
175174

176-
def _format_scene_collection(self, collection_data: dict) -> SceneCollection:
175+
def _format_scene_collection(self, scene_collection_data: dict) -> SceneCollection:
177176
scenes = []
178-
for scene in collection_data.get("scenes", []):
177+
for scene in scene_collection_data.get("scenes", []):
179178
frames = []
180179
for frame in scene.get("frames", []):
181180
frame = Frame(
@@ -200,9 +199,9 @@ def _format_scene_collection(self, collection_data: dict) -> SceneCollection:
200199

201200
return SceneCollection(
202201
self._connection,
203-
collection_data.get("scene_collection_id"),
202+
scene_collection_data.get("scene_collection_id"),
204203
self.id,
205-
collection_data.get("config", {}),
204+
scene_collection_data.get("config", {}),
206205
scenes,
207206
)
208207

0 commit comments

Comments
 (0)