mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-10 05:42:12 +02:00
Implementation
This commit is contained in:
parent
87ef89ef7b
commit
3d4f859aa2
8 changed files with 73 additions and 47 deletions
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue