Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
6 changes: 4 additions & 2 deletions comps/cores/mega/orchestrator.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ async def execute(
headers={"Content-type": "application/json", "Authorization": f"Bearer {access_token}"},
proxies={"http": None},
stream=True,
timeout=1000,
timeout=2000,
)
else:
response = requests.post(
Expand All @@ -285,7 +285,7 @@ async def execute(
},
proxies={"http": None},
stream=True,
timeout=1000,
timeout=2000,
)

downstream = runtime_graph.downstream(cur_node)
Expand Down Expand Up @@ -317,6 +317,7 @@ def generate():
"Authorization": f"Bearer {access_token}",
},
proxies={"http": None},
timeout=2000,
)
else:
res = requests.post(
Expand All @@ -326,6 +327,7 @@ def generate():
"Content-type": "application/json",
},
proxies={"http": None},
timeout=2000,
)
res_json = res.json()
if "text" in res_json:
Expand Down
23 changes: 9 additions & 14 deletions comps/embeddings/src/integrations/ovms.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from comps import CustomLogger, OpeaComponent, OpeaComponentRegistry, ServiceType
from comps.cores.mega.utils import get_access_token
from comps.cores.proto.api_protocol import EmbeddingRequest, EmbeddingResponse
from comps.cores.proto.api_protocol import EmbeddingRequest, EmbeddingResponse, EmbeddingResponseData

logger = CustomLogger("opea_ovms_embedding")
logflag = os.getenv("LOGFLAG", False)
Expand Down Expand Up @@ -45,7 +45,7 @@ def _initialize_client(self) -> AsyncInferenceClient:
)
headers = {"Authorization": f"Bearer {access_token}"} if access_token else {}
return AsyncInferenceClient(
model=MODEL_ID,
model=f"{self.base_url}/embed",
token=os.getenv("HUGGINGFACEHUB_API_TOKEN"),
headers=headers,
)
Expand All @@ -69,18 +69,13 @@ async def invoke(self, input: EmbeddingRequest) -> EmbeddingResponse:
raise ValueError("Invalid input format: Only string or list of strings are supported.")
else:
raise TypeError("Unsupported input type: input must be a string or list of strings.")
response = await self.client.post(
json={
"input": texts,
"encoding_format": input.encoding_format,
"model": self.client.model,
"user": input.user,
},
model=f"{self.base_url}/v3/embeddings",
task="text-embedding",
)
embeddings = json.loads(response.decode())
return EmbeddingResponse(**embeddings)
# feature_extraction return np.ndarray
response = await self.client.feature_extraction(text=texts, model=input.model)
# Convert np.ndarray to a list of lists (embedding)
data = [EmbeddingResponseData(index=i, embedding=embedding.tolist()) for i, embedding in enumerate(response)]
# Construct the EmbeddingResponse
response = EmbeddingResponse(data=data)
return response

def check_health(self) -> bool:
"""Checks the health of the embedding service.
Expand Down
18 changes: 9 additions & 9 deletions comps/embeddings/src/integrations/tei.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from comps import CustomLogger, OpeaComponent, OpeaComponentRegistry, ServiceType
from comps.cores.mega.utils import get_access_token
from comps.cores.proto.api_protocol import EmbeddingRequest, EmbeddingResponse
from comps.cores.proto.api_protocol import EmbeddingRequest, EmbeddingResponse, EmbeddingResponseData

logger = CustomLogger("opea_tei_embedding")
logflag = os.getenv("LOGFLAG", False)
Expand Down Expand Up @@ -44,7 +44,7 @@ def _initialize_client(self) -> AsyncInferenceClient:
)
headers = {"Authorization": f"Bearer {access_token}"} if access_token else {}
return AsyncInferenceClient(
model=f"{self.base_url}/v1/embeddings",
model=f"{self.base_url}/embed",
token=os.getenv("HUGGINGFACEHUB_API_TOKEN"),
headers=headers,
)
Expand All @@ -68,13 +68,13 @@ async def invoke(self, input: EmbeddingRequest) -> EmbeddingResponse:
raise ValueError("Invalid input format: Only string or list of strings are supported.")
else:
raise TypeError("Unsupported input type: input must be a string or list of strings.")
response = await self.client.post(
json={"input": texts, "encoding_format": input.encoding_format, "model": input.model, "user": input.user},
model=f"{self.base_url}/v1/embeddings",
task="text-embedding",
)
embeddings = json.loads(response.decode())
return EmbeddingResponse(**embeddings)
# feature_extraction return np.ndarray
response = await self.client.feature_extraction(text=texts, model=input.model)
# Convert np.ndarray to a list of lists (embedding)
data = [EmbeddingResponseData(index=i, embedding=embedding.tolist()) for i, embedding in enumerate(response)]
# Construct the EmbeddingResponse
response = EmbeddingResponse(data=data)
return response

def check_health(self) -> bool:
"""Checks the health of the embedding service.
Expand Down
1 change: 1 addition & 0 deletions comps/rerankings/src/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ aiohttp
docarray[full]
fastapi
httpx
huggingface-hub==0.30.2
opentelemetry-api
opentelemetry-exporter-otlp
opentelemetry-sdk
Expand Down
Loading