mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 16:36:21 +02:00
Base Service (trustgraph-base/trustgraph/base/embeddings_service.py): - Changed on_request to use request.texts FastEmbed Processor (trustgraph-flow/trustgraph/embeddings/fastembed/processor.py): - on_embeddings(texts, model=None) now processes full batch efficiently - Returns [[v.tolist()] for v in vecs] - list of vector sets Ollama Processor (trustgraph-flow/trustgraph/embeddings/ollama/processor.py): - on_embeddings(texts, model=None) passes list directly to Ollama - Returns [[embedding] for embedding in embeds.embeddings] EmbeddingsClient (trustgraph-base/trustgraph/base/embeddings_client.py): - embed(texts, timeout=300) accepts list of texts Tests Updated: - test_fastembed_dynamic_model.py - 4 tests updated for new interface - test_ollama_dynamic_model.py - 4 tests updated for new interface Updated CLI, SDK and APIs
31 lines
881 B
Python
31 lines
881 B
Python
|
|
from . request_response_spec import RequestResponse, RequestResponseSpec
|
|
from .. schema import EmbeddingsRequest, EmbeddingsResponse
|
|
|
|
class EmbeddingsClient(RequestResponse):
|
|
async def embed(self, texts, timeout=300):
|
|
|
|
resp = await self.request(
|
|
EmbeddingsRequest(
|
|
texts = texts
|
|
),
|
|
timeout=timeout
|
|
)
|
|
|
|
if resp.error:
|
|
raise RuntimeError(resp.error.message)
|
|
|
|
return resp.vectors
|
|
|
|
class EmbeddingsClientSpec(RequestResponseSpec):
|
|
def __init__(
|
|
self, request_name, response_name,
|
|
):
|
|
super(EmbeddingsClientSpec, self).__init__(
|
|
request_name = request_name,
|
|
request_schema = EmbeddingsRequest,
|
|
response_name = response_name,
|
|
response_schema = EmbeddingsResponse,
|
|
impl = EmbeddingsClient,
|
|
)
|
|
|