Implementation

This commit is contained in:
Cyber MacGeddon 2026-03-08 18:34:22 +00:00
parent 87ef89ef7b
commit 3d4f859aa2
8 changed files with 73 additions and 47 deletions

View file

@ -544,30 +544,29 @@ class FlowInstance:
input
)["response"]
def embeddings(self, text):
def embeddings(self, texts):
"""
Generate vector embeddings for text.
Generate vector embeddings for one or more texts.
Converts text into dense vector representations suitable for semantic
Converts texts into dense vector representations suitable for semantic
search and similarity comparison.
Args:
text: Input text to embed
texts: List of input texts to embed
Returns:
list[float]: Vector embedding
list[list[list[float]]]: Vector embeddings, one set per input text
Example:
```python
flow = api.flow().id("default")
vectors = flow.embeddings("quantum computing")
print(f"Embedding dimension: {len(vectors)}")
vectors = flow.embeddings(["quantum computing"])
print(f"Embedding dimension: {len(vectors[0][0])}")
```
"""
# The input consists of a text block
input = {
"text": text
"texts": texts
}
return self.request(

View file

@ -712,27 +712,27 @@ class SocketFlowInstance:
return self.client._send_request_sync("document-embeddings", self.flow_id, request, False)
def embeddings(self, text: str, **kwargs: Any) -> Dict[str, Any]:
def embeddings(self, texts: list, **kwargs: Any) -> Dict[str, Any]:
"""
Generate vector embeddings for text.
Generate vector embeddings for one or more texts.
Args:
text: Input text to embed
texts: List of input texts to embed
**kwargs: Additional parameters passed to the service
Returns:
dict: Response containing vectors
dict: Response containing vectors (one set per input text)
Example:
```python
socket = api.socket()
flow = socket.flow("default")
result = flow.embeddings("quantum computing")
result = flow.embeddings(["quantum computing"])
vectors = result.get("vectors", [])
```
"""
request = {"text": text}
request = {"texts": texts}
request.update(kwargs)
return self.client._send_request_sync("embeddings", self.flow_id, request, False)

View file

@ -5,15 +5,15 @@ from .base import MessageTranslator
class EmbeddingsRequestTranslator(MessageTranslator):
"""Translator for EmbeddingsRequest schema objects"""
def to_pulsar(self, data: Dict[str, Any]) -> EmbeddingsRequest:
return EmbeddingsRequest(
text=data["text"]
texts=data["texts"]
)
def from_pulsar(self, obj: EmbeddingsRequest) -> Dict[str, Any]:
return {
"text": obj.text
"texts": obj.texts
}