Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dependencies = [
"openai>=1.0.0",
"pydantic>=2.12.0",
"pydantic-settings>=2.11.0",
"qdrant-client>=1.16.2",
"qdrant-client>=1.17.0",
"uvicorn>=0.34.0",
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ async def retrieve_papers_dense(self, query: str, top_k: int = 5) -> list[dict]:
"""
if self.qdrant_client.cloud_inference:
dense_vector = self.qdrant_client._define_openai_vectors(
query, dimensions=self.qdrant_client.embedding_dimension
query, mrl_dimensions=self.qdrant_client.embedding_dimension
)
else:
dense_vector = await self.qdrant_client._get_openai_vectors(
Expand Down Expand Up @@ -76,10 +76,10 @@ async def retrieve_papers_hybrid(self, query: str, top_k: int = 5) -> list[dict]
"""
if self.qdrant_client.cloud_inference:
retriever_vector = self.qdrant_client._define_openai_vectors(
query, dimensions=self.qdrant_client.embedding_dimension
query, mrl_dimensions=self.qdrant_client.embedding_dimension
)
reranker_vector = self.qdrant_client._define_openai_vectors(
query, dimensions=self.qdrant_client.reranker_embedding_dimension
query, mrl_dimensions=self.qdrant_client.reranker_embedding_dimension
)
else:
openai_vector = await self.qdrant_client._get_openai_vectors(
Expand Down Expand Up @@ -152,7 +152,7 @@ async def recommend_papers_based_on_constraints(
if positive_examples:
positive_vectors = [
self.qdrant_client._define_openai_vectors(
pos_example, dimensions=self.qdrant_client.embedding_dimension
pos_example, mrl_dimensions=self.qdrant_client.embedding_dimension
)
for pos_example in positive_examples
]
Expand All @@ -161,7 +161,7 @@ async def recommend_papers_based_on_constraints(
if negative_examples:
negative_vectors = [
self.qdrant_client._define_openai_vectors(
neg_example, dimensions=self.qdrant_client.embedding_dimension
neg_example, mrl_dimensions=self.qdrant_client.embedding_dimension
)
for neg_example in negative_examples
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,14 @@ async def _get_openai_vectors(self, text: str, dimensions: int) -> list[float]:
logger.error(f"❌ Failed to create embedding: {e}")
raise

def _define_openai_vectors(self, text: str, dimensions: int = 1536) -> models.Document:
def _define_openai_vectors(self, text: str, mrl_dimensions: int = 1536) -> models.Document:
"""
Wrap text in models.Document to handle OpenAI embeddings inference
through Qdrant's Cloud.

Args:
text (str): Input text.
dimensions (int): Number of dimensions for the embedding. https://platform.openai.com/docs/api-reference/embeddings/create#embeddings-create-dimensions
mrl_dimensions (int): Number of MRL dimensions for the embedding. https://platform.openai.com/docs/api-reference/embeddings/create#embeddings-create-dimensions
Returns:
models.Document: Document object.
"""
Expand All @@ -119,7 +119,7 @@ def _define_openai_vectors(self, text: str, dimensions: int = 1536) -> models.Do
model=f"openai/{settings.qdrant.embedding_model}",
options={
"openai-api-key": settings.openai.api_key.get_secret_value(),
"dimensions": dimensions,
"mrl": mrl_dimensions,
},
)

Expand Down Expand Up @@ -243,10 +243,10 @@ async def upsert_points(

if self.cloud_inference:
retriever_vector = self._define_openai_vectors(
abstract, dimensions=self.embedding_dimension
abstract, mrl_dimensions=self.embedding_dimension
)
reranker_vector = self._define_openai_vectors(
abstract, dimensions=self.reranker_embedding_dimension
abstract, mrl_dimensions=self.reranker_embedding_dimension
)
else:
openai_vector = await self._get_openai_vectors(abstract, dimensions=self.reranker_embedding_dimension) # MRL, https://platform.openai.com/docs/guides/embeddings#use-cases
Expand Down