Skip to content

Commit 3e0ab3b

Browse files
committed
Simplifying embedding service
1 parent 60737fc commit 3e0ab3b

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

backend/src/app/services/embedding/openai_embedding_service.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import logging
44
from typing import List
55

6-
from langchain_openai import OpenAIEmbeddings
6+
from openai import OpenAI
77

88
from app.core.config import Settings
99
from app.services.embedding.base import EmbeddingService
@@ -16,20 +16,22 @@ class OpenAIEmbeddingService(EmbeddingService):
1616

1717
def __init__(self, settings: Settings) -> None:
1818
self.settings = settings
19+
self.client = OpenAI(api_key=settings.openai_api_key)
20+
self.model = settings.embedding_model
1921
if not settings.openai_api_key:
2022
raise ValueError("OpenAI API key is required but not set")
21-
22-
self.embeddings = OpenAIEmbeddings(
23-
api_key=settings.openai_api_key,
24-
model=settings.embedding_model
25-
)
2623

2724
async def get_embeddings(self, texts: List[str]) -> List[List[float]]:
2825
"""Get embeddings for text."""
29-
if self.embeddings is None:
26+
if self.client is None:
3027
logger.warning(
3128
"OpenAI client is not initialized. Skipping embeddings."
3229
)
3330
return []
3431

35-
return self.embeddings.embed_documents(texts)
32+
return [
33+
embedding.embedding
34+
for embedding in self.client.embeddings.create(
35+
input=texts, model=self.model
36+
).data
37+
]

0 commit comments

Comments
 (0)