Skip to content

Commit 376886a

Browse files
committed
check linting
1 parent d57816a commit 376886a

File tree

7 files changed

+43
-61
lines changed

7 files changed

+43
-61
lines changed

src/api/routers/embedding.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@
2525
ValidationError,
2626
)
2727
from src.api.dependencies import get_model_manager
28-
from src.utils.validators import extract_embedding_kwargs, validate_texts, count_tokens_batch
28+
from src.utils.validators import (
29+
extract_embedding_kwargs,
30+
validate_texts,
31+
count_tokens_batch,
32+
)
2933
from src.config.settings import get_settings
3034

3135

3236
router = APIRouter(tags=["embeddings"])
3337

3438

35-
def _ensure_model_type(
36-
config, expected_type: str, model_id: str
37-
) -> None:
39+
def _ensure_model_type(config, expected_type: str, model_id: str) -> None:
3840
"""
3941
Validate that the model configuration matches the expected type.
4042
@@ -206,4 +208,3 @@ async def create_sparse_embedding(
206208
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
207209
detail=f"Failed to create query embedding: {str(e)}",
208210
)
209-

src/api/routers/rerank.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
"""
77

88
import time
9-
from typing import List
109
from fastapi import APIRouter, Depends, HTTPException, status
1110
from loguru import logger
1211

@@ -21,7 +20,7 @@
2120
from src.api.dependencies import get_model_manager
2221
from src.utils.validators import extract_embedding_kwargs
2322

24-
router = APIRouter(prefix="/rerank",tags=["rerank"])
23+
router = APIRouter(prefix="/rerank", tags=["rerank"])
2524

2625

2726
@router.post(
@@ -91,20 +90,16 @@ async def rerank_documents(
9190
processing_time = time.time() - start
9291

9392
results = []
94-
93+
9594
for rank_result in ranking_results:
96-
doc_idx = rank_result.get('corpus_id', 0)
95+
doc_idx = rank_result.get("corpus_id", 0)
9796
if doc_idx < len(valid_docs):
9897
original_idx = valid_docs[doc_idx][0] # Original index
9998
doc_text = documents_list[doc_idx]
100-
score = rank_result['score']
101-
99+
score = rank_result["score"]
100+
102101
results.append(
103-
RerankResult(
104-
text=doc_text,
105-
score=score,
106-
index=original_idx
107-
)
102+
RerankResult(text=doc_text, score=score, index=original_idx)
108103
)
109104

110105
logger.info(
@@ -130,4 +125,4 @@ async def rerank_documents(
130125
raise HTTPException(
131126
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
132127
detail=f"Failed to rerank documents: {str(e)}",
133-
)
128+
)

src/core/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"""
77

88
from abc import ABC, abstractmethod
9-
from typing import Any, Dict, List, Optional, Union
9+
from typing import Any, Dict, List, Union
1010

1111

1212
class BaseEmbeddingModel(ABC):

src/models/embeddings/dense.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def embed(self, input: List[str], **kwargs) -> List[List[float]]:
112112

113113
try:
114114
embeddings = self.model.encode(input, **kwargs)
115-
115+
116116
return [
117117
emb.tolist() if hasattr(emb, "tolist") else list(emb)
118118
for emb in embeddings

src/models/embeddings/rank.py

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -113,22 +113,17 @@ def rank_document(
113113
"""
114114
if not self._loaded or self.model is None:
115115
self.load()
116-
116+
117117
try:
118-
ranking_results = self.model.rank(
119-
query,
120-
documents,
121-
top_k=top_k,
122-
**kwargs
123-
)
124-
118+
ranking_results = self.model.rank(query, documents, top_k=top_k, **kwargs)
119+
125120
# Normalize scores to 0-1 range for consistency
126121
normalized_results = self._normalize_rerank_scores(ranking_results)
127-
122+
128123
logger.debug(
129124
f"Reranked {len(documents)} docs, returned top {len(normalized_results)}"
130125
)
131-
126+
132127
return normalized_results
133128

134129
except Exception as e:
@@ -137,9 +132,7 @@ def rank_document(
137132
raise RerankingDocumentError(self.model_id, error_msg)
138133

139134
def _normalize_rerank_scores(
140-
self,
141-
rankings: List[Dict],
142-
target_range: tuple = (0, 1)
135+
self, rankings: List[Dict], target_range: tuple = (0, 1)
143136
) -> List[Dict]:
144137
"""
145138
Normalize reranking scores using min-max normalization.
@@ -154,35 +147,30 @@ def _normalize_rerank_scores(
154147
"""
155148
if not rankings:
156149
return []
157-
150+
158151
raw_scores = [ranking["score"] for ranking in rankings]
159-
152+
160153
min_score = min(raw_scores)
161154
max_score = max(raw_scores)
162-
155+
163156
if max_score == min_score:
164157
return [
165-
{
166-
"corpus_id": r["corpus_id"],
167-
"score": target_range[1]
168-
}
158+
{"corpus_id": r["corpus_id"], "score": target_range[1]}
169159
for r in rankings
170160
]
171-
161+
172162
target_min, target_max = target_range
173163
normalized_rankings = []
174-
164+
175165
for ranking in rankings:
176166
score = ranking["score"]
177-
normalized_score = (
178-
target_min +
179-
(score - min_score) * (target_max - target_min) / (max_score - min_score)
167+
normalized_score = target_min + (score - min_score) * (
168+
target_max - target_min
169+
) / (max_score - min_score)
170+
normalized_rankings.append(
171+
{"corpus_id": ranking["corpus_id"], "score": float(normalized_score)}
180172
)
181-
normalized_rankings.append({
182-
"corpus_id": ranking["corpus_id"],
183-
"score": float(normalized_score)
184-
})
185-
173+
186174
return normalized_rankings
187175

188176
@property
@@ -222,4 +210,4 @@ def __repr__(self) -> str:
222210
f"id={self.model_id}, "
223211
f"type={self.model_type}, "
224212
f"loaded={self.is_loaded})"
225-
)
213+
)

src/models/schemas/requests.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
class BaseEmbedRequest(BaseModel):
1414
"""
1515
OpenAI-compatible embedding request.
16-
16+
1717
Matches the format of OpenAI's embeddings API:
1818
https://platform.openai.com/docs/api-reference/embeddings
1919
"""
@@ -25,16 +25,11 @@ class BaseEmbedRequest(BaseModel):
2525
)
2626

2727
encoding_format: Optional[Literal["float", "base64"]] = Field(
28-
default="float",
29-
description="Encoding format"
28+
default="float", description="Encoding format"
3029
)
31-
dimensions: Optional[int] = Field(
32-
None,
33-
description="Output dimensions")
30+
dimensions: Optional[int] = Field(None, description="Output dimensions")
3431

35-
user: Optional[str] = Field(
36-
None,
37-
description="User identifier")
32+
user: Optional[str] = Field(None, description="User identifier")
3833

3934
options: Optional[EmbeddingOptions] = Field(
4035
None, description="Optional embedding generation parameters"

src/models/schemas/responses.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@ class BaseEmbedResponse(BaseModel):
2323

2424
class EmbeddingObject(BaseModel):
2525
"""Single embedding object."""
26+
2627
object: Literal["embedding"] = "embedding"
2728
embedding: List[float] = Field(..., description="Embedding vector")
2829
index: int = Field(..., description="Index of the embedding")
2930

3031

3132
class TokenUsage(BaseModel):
3233
"""Usage statistics."""
34+
3335
prompt_tokens: int
3436
total_tokens: int
3537

@@ -44,14 +46,15 @@ class DenseEmbedResponse(BaseEmbedResponse):
4446
data: List of generated dense embeddings
4547
model: Identifier of the model used
4648
usage: Usage statistics
47-
49+
4850
"""
51+
4952
object: Literal["list"] = "list"
5053
data: List[EmbeddingObject]
5154
model: str = Field(..., description="Model identifier used")
5255
usage: TokenUsage = Field(..., description="Usage statistics")
5356

54-
class Config:
57+
class Config:
5558
json_schema_extra = {
5659
"example": {
5760
"object": "list",

0 commit comments

Comments
 (0)